From efe12e2a62132dae4ed0c6d6a2ac779079d8b5bf Mon Sep 17 00:00:00 2001 From: Marco Stronati Date: Wed, 28 Nov 2018 11:03:47 +0100 Subject: [PATCH] Doc: remove rpc_proposal, include p2p --- docs/api/rpc_proposal.rst | 9588 ------------------------------------- docs/doc_gen/p2p_doc.ml | 8 +- docs/index.rst | 1 + docs/tutorials/rpc.rst | 3 - 4 files changed, 5 insertions(+), 9595 deletions(-) delete mode 100644 docs/api/rpc_proposal.rst diff --git a/docs/api/rpc_proposal.rst b/docs/api/rpc_proposal.rst deleted file mode 100644 index 7de05d60d..000000000 --- a/docs/api/rpc_proposal.rst +++ /dev/null @@ -1,9588 +0,0 @@ -.. raw:: html - - - - - - -.. raw:: html - - - - - -.. _rpc_changes_june_2018: - -RPC API changes, pre-Betanet (June 2018) -######################################## - -This document describes the changes made to RPC services provided by the Tezos node in June 2018. - -Summary -******* - -* Usage of GET requests and query-string parameters when possible -* Easy access to the protocol-specific part of block headers and of operations -* New metadata for block headers (e.g. baker, ...) and for operations (e.g. internal transfers, ...) -* Easy access to delegate's data (list of delegating contracts, frozen balance, ...) -* Prefixed `/blocks` by `/chains/` for easier testing of protocol updates -* Explicit distinction between the listing RPCs and the monitoring RPCs -* Homogeneous error handling - -Detailled changes -***************** - -Modified RPCs -============= - -Some RPCs were simply renamed but some has significant changes in the expected arguments or the returned JSON object. See the notes for details. - -In the follwing table: - -* `chain_id` is a symbolic chain identifier, e.g. `main` or `test`, or their equivalent Base58-encoded hash, e. g. `NetXzGDuYoAawjv`. -* `block_id` is a symbolic block identifier, e.g. `head` of `genesis`, or any Base58-encoded block hash, e.g. `BKicMfwtgtAL28iD2uZk12PpuS6i2pFysC3syVT44nMNLkGb4QA`. It might also be `head~n` or `~n` to denotes the `n`-th predecessor of `head` or ``. -* `contract_id` is either a implicit contract identifier, i.e. a Base58-encoded public jye hash `tz1btz2tcu8dTwPrtMpyzh1irGdGkAaSE4bY`, or an originated contract identifier, e.g. `KT1fyLSGZ7n2QRynStXUf9ihQtH7k4t4vTLe`. -* `peer_id` is a cryptographic peer identifier, e.g. `idtpXYaRSBXe6KJU6rk1X9ninWt8Bz`. - -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| Old path | Notes | New path | -+=========================================================================+==================+==========================================================================+ -| | [#blocks_list]_ | GET /chains//blocks | -+ +------------------+--------------------------------------------------------------------------+ -| /blocks | [#blocks_mon]_ | GET /monitor/valid_blocks | -+ +------------------+--------------------------------------------------------------------------+ -| | [#heads_mon]_ | GET /monitor/heads/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks/ | [#blocks]_ | GET /chains//blocks/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//chain_id | | GET /chains//chain_id | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//complete/ | | GET /chains//blocks//helpers/complete/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//fitness | | GET /chains//blocks//header/shell/fitness | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//hash | | GET /chains//blocks//hash | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//level | | GET /chains//blocks//header/shell/level | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//operations | [#operations]_ | GET /chains//blocks//operations | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//preapply | [#preapply]_ | POST /chains//blocks//helpers/preapply/block | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//predecessor | | GET /chains//blocks//header/shell/predecessor | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//predecessors | [#predecessors]_ | GET /chains//blocks | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| | | GET /chains//blocks//metadata/protocol_hash | -+ /blocks//protocol + [#protocol]_ +--------------------------------------------------------------------------+ -| | | GET /chains//blocks//metadata/next_protocol_hash | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/constants | | GET /chains//blocks//context/constants | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/context/contracts | | GET /chains//blocks//context/contracts | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/context/contracts/ | | GET /chains//blocks//context/contracts/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/context/level | [#level]_ | GET /chains//blocks//metadata/protocol_data | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/context/next_level | [#next_level]_ | GET /chains//blocks//helpers/current_level | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/context/nonce/ | | GET /chains//blocks//context/nonces/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/context/voting_period_kind | [#level]_ | GET /chains//blocks//metadata/protocol_data | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/header | | GET /chains//blocks//header/protocol_data | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/apply_operation | [#apply_op]_ | POST /chains//blocks//helpers/preapply/operations | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/forge/operations | | POST /chains//blocks//helpers/forge/operations | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/forge/protocol_data | | POST /chains//blocks//helpers/forge/protocol_data | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/hash_data | | POST /chains//blocks//helpers/scripts/hash_data | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/level/ | [#proto_level]_ | GET /chains//blocks//helpers/current_level | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/levels/ | [#proto_levels]_ | GET /chains//blocks//helpers/levels_in_current_cycle | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/minimal_timestamp | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/parse/block | | POST /chains//blocks//helpers/parse/block | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/parse/operations | | POST /chains//blocks//helpers/parse/operations | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/rights/baking | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/rights/baking/delegate/ | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/rights/baking/level/ | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/rights/endorsement | [#rights_end]_ | GET /chains//blocks//helpers/endorsing_rights | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/rights/endorsement/delegate/ | [#rights_end]_ | GET /chains//blocks//helpers/endorsing_rights | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/rights/endorsement/level/ | [#rights_end]_ | GET /chains//blocks//helpers/endorsing_rights | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/run_code | | POST /chains//blocks//helpers/scripts/run_code | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/trace_code | | POST /chains//blocks//helpers/scripts/trace_code | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/typecheck_code | | POST /chains//blocks//helpers/scripts/typecheck_code | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/helpers/typecheck_data | | POST /chains//blocks//helpers/scripts/typecheck_data | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//proto/operations | [#operations]_ | GET /chains//blocks//operations | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//raw_context | | GET /chains//blocks//context/raw | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//test_chain | | GET /chains//blocks//metadata/test_chain_status | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /blocks//timestamp | | GET /chains//blocks//header/shell/timestamp | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /bootstrapped | | GET /monitor/bootstrapped | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /complete/ | | GET /chains/main/blocks/head/helpers/complete/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /describe | | GET /describe | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /errors | | GET /errors | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /forge_block_header | | POST /chains/main/blocks/head/helpers/forge/block_header | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /inject_block | | POST /injection/block | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /inject_operation | | POST /injection/operation | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /inject_protocol | | POST /injection/protocol | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /invalid_blocks | | GET /chains//invalid_blocks | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /invalid_blocks/ | | GET /chains//invalid_blocks/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /invalid_blocks//unmark | | DELETE /chains//invalid_blocks/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /mempool/pending_operations | | GET /chains//mempool/pending_operations | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/connections | | GET /network/connections | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/connections/ | | GET /network/connections/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/connections//kick | | DELETE /network/connections/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/connect/ | | PUT /network/points/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/log | | GET /network/log | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/peers | | GET /network/peers/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/peers/ | | GET /network/peers/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/peers//log | | GET /network/peers//log | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /networks/point | | GET /network/points | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/points/ | | GET /network/points/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/points//log | | GET /network/points//log | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/stat | | GET /network/stat | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /p2p/versions | | GET /network/versions | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /protocols | | GET /protocols | -+ + [#protocols]_ +--------------------------------------------------------------------------+ -| | | GET /monitor/protocols | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /protocols/ | | GET /protocols/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /workers/block_validator | | GET /workers/block_validator | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /workers/chain_validators | | GET /workers/chain_validators | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /workers/chain_validators/ | | GET /workers/chain_validators/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /workers/peer_validators/ | | GET /workers/chain_validators//peers_validators | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /workers/peer_validators// | | GET /workers/chain_validators//peers_validators/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /workers/prevalidators | | GET /workers/prevalidators | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ -| /workers/prevalidators/ | | GET /workers/prevalidators/ | -+-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ - -.. [#blocks] The return type of `/chain//blocks/` has changed. It now returns more informations: - - * the protocol-specific part of the block header is now fully parsed, instead of being returned as hex-encoded bytes. This allows for instance direct access to the block priority. - - * some metadata is also added: the baker, the current cycle, the current voting period, ... - * the operations are also fully parsed, in the same way than the previous RPC `/blocks//proto/operations` - * some metadata is also added to the operations. For instance, the list of created contracts, the list of internal transfers, the delegate associated to a endorsement, etc. - - The returned JSON being more detailled than previously, new RPCs for fetching partial information are added: - - * `/chain//blocks//header` - * `/chain//blocks//metadata` - * `/chain//blocks//operations//` - * `/chain//blocks//operation_hashes//` - -.. [#operations] Like the operations listed in `/chain//blocks/` [#blocks]_, the protocol-specific part of operations is now fully-parsed, instead of being returned as hex-encoded bytes. - - The same metadata is added: the list of created contracts, the list of internal transfers, the delegate associated to a endorsement, etc. - -.. [#blocks_list] The old RPC `/blocks` has been splitted in three: one RPCs for listing heads and blocks, and two RPCs for monitoring new blocks. - - The new list RPCs only returns the hash of the current head. - -.. [#blocks_mon] This new RPCs allows to monitor all valid blocks. It only returns the hash of the new blocks. - -.. [#heads_mon] This new RPCs allows to only monitor the head changes in a given chain. It only returns the hash of the new heads. - -.. [#level] The detailled level of a block (i.e. with the cycle and voting period details) is now included in the block metadata. - -.. [#next_level] For the same behaviour, this RPC should be called with the `offset` query parameter: e.g. `/chains/main/blocks/head/helpers/current_level?offset=1`. - -.. [#preapply] This function now expects a readable JSON object for the block header and the operations, instead of the hex-encoded sequence of bytes it was previously expecting. - -.. [#apply_op] This function now expects a readable JSON object for the operation instead of the hex-encoded sequence of bytes it was previously expecting. It also accepts to apply a list of operation in sequence instead of a single operations. - - When the operations apply succesfully, this RPC now returns all the metadata associated to operation (the list of created contracts, the list of internal operations, ...) instead of just "success". - -.. [#predecessors] For the same behaviour, this RPC should be called with the `length` query parameter: e.g. `/chains/main/blocks?head=&length=12`. - -.. [#proto_level] Instead of taking a level as parameter, this RPCs now expects the difference between the expected level and the current level. For instance, for querying the level details for the next block: `/chains/main/blocks/head/helpers/current_level?offset=1`. - -.. [#proto_levels] Instead of taking a cycle as parameter, this RPCs now expects the difference between the expected cycle and the current cycle. For instance, for querying the levels in the previous cycle: `/chains/main/blocks/head/helpers/levels_in_current_cycle?offset=-1`. - -.. [#protocol] To avoid confusion `protocol_hash` is the hash of protocol used to bake and validate the current block. And `next_protocol_hash` is the hash of the protocol that should be used to bake the next block. The previous RPC `protocol` was returning the `next_protocol_hash`. - -.. [#protocols] The old RPC `/protocols` has been splitted in two: one RPCs for listing the known economic protocols, and one RPCs for monitoring new economic protocols. In both cases the new RPCs only returns hash of protocols instead of the protocol sources. - -.. [#rights_bake] All the three RPCs used to query baking rights are now grouped in one RPCs. By default, this RPCs returns the first allowed bakers for the next block, in their priority order and with the time at which they are allowed to bake. - - Some additional query arguments allow to filter the answer with a given list of delegates, or to query informations for other levels or cycles (in that case the provided timestamp will only be an estimation). - -.. [#rights_end] All the three RPCs used to query endorsing rights are now grouped in one RPCs. By default, this RPCs returns the list of allowed endorsers for the next block. - - Some additional query arguments allow to filter the answer with a limited list of delegates, or to query informations for others level or cycles. - - -New RPCs -======== - -* **GET /chains//blocks//context/delegates** - - List all registered delegates. - -* **GET /chains//blocks//context/delegates/** - - List all information about a given delegate. This includes: - - * **GET /chains//blocks//context/delegates//balance** - - The full balance of a delegate: i.e. the balance of its delegate account plus the total amount of frozen deposits/rewards/fees. - - * **GET /chains//blocks//context/delegates//frozen_balance** - - The total amount of frozen deposits/rewards/fees. - - * **GET /chains//blocks//context/delegates//frozen_balance_by_cycle** - - The details of frozen deposits/rewards/fees indexed by the cycle at the end of which they will be unfrozen. - - * **GET /chains//blocks//context/delegates//staking_balance** - - The total amount of tokens the delegate stakes for. This includes the balance of all contracts delegated to , but also the delegate own account and the frozen deposits and fees. This does not include the frozen rewards. - - * **GET /chains//blocks//context/delegates//delegated_contracts** - - The list of contracts that are delegated to . - - * **GET /chains//blocks//context/delegates//delegated_balance** - - The total balance of all the contracts that delegates to . This excludes the delegate own balance and its frozen balances. - - * **GET /chains//blocks//context/delegates//deactivated** - - Tells whether the delegate has been tagged as inactive by the system or not, i.e. a delegate is inactive when she did not baked or endorsed any block in the last 5 cycles. - - A deactivated delegate won't receive any baking or endorsing rights until she registers itself again as a delegate. No rolls were lost in the process, except if delegating contracts changed their delegate in the meantime of course. - - * **GET /chains//blocks//context/delegates//grace_period** - - The cycle by the end of which the delegate will be tagged as deactivated if she did not bake or endorse until then. - -* **GET /chains//blocks//header** - - Simple accessor to a block header, or to its shell-specific or version-specific fragments. - - * **GET /chains//blocks//header/shell** - - * **GET /chains//blocks//header/protocol_data** - -* **GET /chains//blocks//metadata** - - Simple accessor to the metadata associated to a block header. - - * **GET /chains//blocks//metadata/protocol_data** - - The version-specific part of the metadata. For the protocol Alpha this includes, for instance, the baker of the block. - - * **GET /chains//blocks//metadata/protocol_hash** - - The hash of the protocol used to bake the block. - - * **GET /chains//blocks//metadata/next_protocol_hash** - - The hash of the protocol that should be used to bake the next block. - -* **GET /chains//blocks//operation_hashes** - - The list of the hash of the operations included in the block. - - Also direct accessor to the `n-th` hash in the `m-th` validation pass. - - * **GET /chains//blocks//operation_hashes/** - - * **GET /chains//blocks//operation_hashes//** - -* **GET /chains//blocks//operations** - - The list of the operations included in the block, with their metadata. - - Also direct accessor to the `n-th` operation in the `m-th` validation pass. - - * **GET /chains//blocks//operations/** - - * **GET /chains//blocks//operations//** - -* **GET /chains//blocks//context/contracts//manager_key** - - The public key of the contract's manager, if it has been revealed. - - - -Consolidated Index -****************** - -Shell -===== - -* / - - * /chains - - * /chains/ - - * /chains//blocks (`GET `_) - - * /chains//blocks/ () - - * /chains//chain_id (`GET `_) - - * /chains//invalid_blocks (`GET `_) - - * /chains//invalid_blocks/ (`GET `_ `DELETE `_) - - * /chains//mempool (`GET `_) - - * /describe (`GET `_) - - * /errors (`GET `_) - - * /injection - - * /injection/block (`POST `_) - - * /injection/operation (`POST `_) - - * /injection/protocol (`POST `_) - - * /monitor - - * /monitor/bootstrapped (`GET `_) - - * /monitor/heads - - * /monitor/heads/ (`GET `_) - - * /monitor/protocols (`GET `_) - - * /monitor/valid_blocks (`GET `_) - - * /network - - * /network/connections (`GET `_) - - * /network/connections/ (`GET `_ `DELETE `_) - - * /network/greylist - - * /network/greylist/clear (`GET `_) - - * /network/log (`GET `_) - - * /network/peers (`GET `_) - - * /network/peers/ (`GET `_) - - * /network/peers//ban (`GET `_) - - * /network/peers//banned (`GET `_) - - * /network/peers//log (`GET `_) - - * /network/peers//trust (`GET `_) - - * /network/points (`GET `_) - - * /network/points/ (`GET `_ `PUT `_) - - * /network/points//ban (`GET `_) - - * /network/points//banned (`GET `_) - - * /network/points//log (`GET `_) - - * /network/points//trust (`GET `_) - - * /network/stat (`GET `_) - - * /network/versions (`GET `_) - - * /protocols (`GET `_) - - * /protocols/ (`GET `_) - - * /workers - - * /workers/block_validator (`GET `_) - - * /workers/chain_validators (`GET `_) - - * /workers/chain_validators/ (`GET `_) - - * /workers/chain_validators//peers_validators (`GET `_) - - * /workers/chain_validators//peers_validators/ (`GET `_) - - * /workers/prevalidators (`GET `_) - - * /workers/prevalidators/ (`GET `_) - -Protocol Alpha -============== - -* ../ (`GET `_) - - * ..//context - - * ..//context/constants (`GET `_) - - * ..//context/constants/block_reward (`GET `_) - - * ..//context/constants/block_security_deposit (`GET `_) - - * ..//context/constants/blocks_per_commitment (`GET `_) - - * ..//context/constants/blocks_per_cycle (`GET `_) - - * ..//context/constants/blocks_per_roll_snapshot (`GET `_) - - * ..//context/constants/blocks_per_voting_period (`GET `_) - - * ..//context/constants/cost_per_byte (`GET `_) - - * ..//context/constants/endorsement_reward (`GET `_) - - * ..//context/constants/endorsement_security_deposit (`GET `_) - - * ..//context/constants/endorsers_per_block (`GET `_) - - * ..//context/constants/errors (`GET `_) - - * ..//context/constants/first_free_baking_slot (`GET `_) - - * ..//context/constants/hard_gas_limits (`GET `_) - - * ..//context/constants/hard_storage_limits (`GET `_) - - * ..//context/constants/origination_burn (`GET `_) - - * ..//context/constants/preserved_cycles (`GET `_) - - * ..//context/constants/proof_of_work_threshold (`GET `_) - - * ..//context/constants/seed_nonce_revelation_tip (`GET `_) - - * ..//context/constants/time_between_slots (`GET `_) - - * ..//context/contracts (`GET `_) - - * ..//context/contracts/ (`GET `_) - - * ..//context/contracts//balance (`GET `_) - - * ..//context/contracts//counter (`GET `_) - - * ..//context/contracts//delegatable (`GET `_) - - * ..//context/contracts//delegate (`GET `_) - - * ..//context/contracts//manager (`GET `_) - - * ..//context/contracts//manager_key (`GET `_) - - * ..//context/contracts//script (`GET `_) - - * ..//context/contracts//spendable (`GET `_) - - * ..//context/contracts//storage (`GET `_) - - * ..//context/delegates (`GET `_) - - * ..//context/delegates/ (`GET `_) - - * ..//context/delegates//balance (`GET `_) - - * ..//context/delegates//deactivated (`GET `_) - - * ..//context/delegates//delegated_balance (`GET `_) - - * ..//context/delegates//delegated_contracts (`GET `_) - - * ..//context/delegates//frozen_balance (`GET `_) - - * ..//context/delegates//frozen_balance_by_cycle (`GET `_) - - * ..//context/delegates//grace_period (`GET `_) - - * ..//context/delegates//staking_balance (`GET `_) - - * ..//context/nonces - - * ..//context/nonces/ (`GET `_) - - * ..//context/raw - - * ..//context/raw/bytes (`GET `_) - - * ..//context/raw/json () - - * ..//hash (`GET `_) - - * ..//header (`GET `_) - - * ..//header/protocol_data (`GET `_) - - * ..//header/shell (`GET `_) - - * ..//header/shell/context_hash (`GET `_) - - * ..//header/shell/fitness (`GET `_) - - * ..//header/shell/level (`GET `_) - - * ..//header/shell/operations_hash (`GET `_) - - * ..//header/shell/predecessor (`GET `_) - - * ..//header/shell/proto_level (`GET `_) - - * ..//header/shell/timestamp (`GET `_) - - * ..//header/shell/validation_passes (`GET `_) - - * ..//helpers - - * ..//helpers/baking_rights (`GET `_) - - * ..//helpers/complete - - * ..//helpers/complete/ (`GET `_) - - * ..//helpers/current_level (`GET `_) - - * ..//helpers/endorsing_rights (`GET `_) - - * ..//helpers/forge - - * ..//helpers/forge/operations (`POST `_) - - * ..//helpers/forge/protocol_data (`POST `_) - - * ..//helpers/forge_block_header (`POST `_) - - * ..//helpers/levels_in_current_cycle (`GET `_) - - * ..//helpers/parse - - * ..//helpers/parse/block (`POST `_) - - * ..//helpers/parse/operations (`POST `_) - - * ..//helpers/preapply - - * ..//helpers/preapply/block (`POST `_) - - * ..//helpers/preapply/operations (`POST `_) - - * ..//helpers/scripts - - * ..//helpers/scripts/hash_data (`POST `_) - - * ..//helpers/scripts/run_code (`POST `_) - - * ..//helpers/scripts/trace_code (`POST `_) - - * ..//helpers/scripts/typecheck_code (`POST `_) - - * ..//helpers/scripts/typecheck_data (`POST `_) - - * ..//metadata (`GET `_) - - * ..//metadata/max_block_header_length (`GET `_) - - * ..//metadata/max_operation_data_length (`GET `_) - - * ..//metadata/max_operations_ttl (`GET `_) - - * ..//metadata/next_protocol_hash (`GET `_) - - * ..//metadata/operation_list_quota (`GET `_) - - * ..//metadata/protocol_data (`GET `_) - - * ..//metadata/protocol_hash (`GET `_) - - * ..//metadata/test_chain_status (`GET `_) - - * ..//operation_hashes (`GET `_) - - * ..//operation_hashes/ (`GET `_) - - * ..//operation_hashes// (`GET `_) - - * ..//operations (`GET `_) - - * ..//operations/ (`GET `_) - - * ..//operations// (`GET `_) - -Consolidated descriptions -************************* - -Shell -===== - -.. _GET_--chains--chain_id--blocks : - -**GET /chains//blocks?[length=]&(head=)\*&[min_date=]** - -.. raw:: html - -
- -
-

- Lists known heads of the blockchain sorted with decreasing fitness. Optional arguments allows to returns the list of predecessors for known heads or the list of predecessors for a given list of blocks.

Optional query arguments :

  • length = <int> : The requested number of predecessors to returns (per requested head).
  • head = <block_hash> : An empty argument requests blocks from the current heads. A non empty list allow to request specific fragment of the chain.
  • min_date = <date> : When `min_date` is provided, heads with a timestamp before `min_date` are filtered out

-
-
-
-    [ [ string
-    /* A block identifier (Base58Check-encoded) */ ... ] ... ]
-
- - - -.. _GET_--chains--chain_id--chain_id : - -**GET /chains//chain_id** - -.. raw:: html - -
- -
-

- The chain unique identifier.

-
-
-
-    string
-    /* Network identifier (Base58Check-encoded) */
-
- - - -.. _GET_--chains--chain_id--invalid_blocks : - -**GET /chains//invalid_blocks** - -.. raw:: html - -
- -
-

- Lists blocks that have been declared invalid along with the errors that led to them being declared invalid.

-
-
-
-    [ { "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "errors":
-          any
-          /* The full list of error is available with the global RPC `GET
-             errors` */ } ... ]
-
- - -.. _GET_--chains--chain_id--invalid_blocks--block_hash : - -**GET /chains//invalid_blocks/** - -.. raw:: html - -
- -
-

- The errors that appears during the block (in)validation.

-
-
-
-    { "block": string /* A block identifier (Base58Check-encoded) */,
-      "level": integer ∈ [-2^31-2, 2^31+2],
-      "errors":
-        any
-        /* The full list of error is available with the global RPC `GET errors` */ }
-
- - -.. _DELETE_--chains--chain_id--invalid_blocks--block_hash : - -**DELETE /chains//invalid_blocks/** - -.. raw:: html - -
- -
-

- Remove an invalid block for the tezos storage

-
-
-
-    {  }
-
- - - -.. _GET_--chains--chain_id--mempool : - -**GET /chains//mempool** - -.. raw:: html - -
- -
-

- List the not-yet-prevalidated operations.

-
-
-
-    { "applied":
-        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-            "branch": string /* A block identifier (Base58Check-encoded) */,
-            "data": /^[a-zA-Z0-9]+$/ } ... ],
-      "refused":
-        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-            "branch": string /* A block identifier (Base58Check-encoded) */,
-            "data": /^[a-zA-Z0-9]+$/,
-            "error":
-              any
-              /* The full list of error is available with the global RPC `GET
-                 errors` */ } ... ],
-      "branch_refused":
-        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-            "branch": string /* A block identifier (Base58Check-encoded) */,
-            "data": /^[a-zA-Z0-9]+$/,
-            "error":
-              any
-              /* The full list of error is available with the global RPC `GET
-                 errors` */ } ... ],
-      "branch_delayed":
-        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-            "branch": string /* A block identifier (Base58Check-encoded) */,
-            "data": /^[a-zA-Z0-9]+$/,
-            "error":
-              any
-              /* The full list of error is available with the global RPC `GET
-                 errors` */ } ... ],
-      "unprocessed":
-        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-            "branch": string /* A block identifier (Base58Check-encoded) */,
-            "data": /^[a-zA-Z0-9]+$/ } ... ] }
-
- - - -.. _GET_--describe : - -**GET /describe?[recurse=]** - -.. raw:: html - -
- -
-

- RPCs documentation and input/output schema

Optional query arguments :

  • recurse = <bool>

-
-
-
-    $service_tree
-    $service_tree:
-      { "static":
-          { "get_service"?:
-              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
-                "path":
-                  [ string
-                    || { "id": "single",
-                         "name": string,
-                         "descr"?: string }
-                    || { "id": "multiple",
-                         "name": string,
-                         "descr"?: string } ... ],
-                "description"?: string,
-                "query":
-                  [ { "name": string,
-                      "description"?: string,
-                      "kind":
-                        { "single":
-                            { "id": "single",
-                              "name": string,
-                              "descr"?: string } }
-                        || { "optional":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } }
-                        || { "flag": {  } }
-                        || { "multi":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } } } ... ],
-                "input"?: any,
-                "output": any,
-                "erro": any },
-            "post_service"?:
-              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
-                "path":
-                  [ string
-                    || { "id": "single",
-                         "name": string,
-                         "descr"?: string }
-                    || { "id": "multiple",
-                         "name": string,
-                         "descr"?: string } ... ],
-                "description"?: string,
-                "query":
-                  [ { "name": string,
-                      "description"?: string,
-                      "kind":
-                        { "single":
-                            { "id": "single",
-                              "name": string,
-                              "descr"?: string } }
-                        || { "optional":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } }
-                        || { "flag": {  } }
-                        || { "multi":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } } } ... ],
-                "input"?: any,
-                "output": any,
-                "erro": any },
-            "delete_service"?:
-              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
-                "path":
-                  [ string
-                    || { "id": "single",
-                         "name": string,
-                         "descr"?: string }
-                    || { "id": "multiple",
-                         "name": string,
-                         "descr"?: string } ... ],
-                "description"?: string,
-                "query":
-                  [ { "name": string,
-                      "description"?: string,
-                      "kind":
-                        { "single":
-                            { "id": "single",
-                              "name": string,
-                              "descr"?: string } }
-                        || { "optional":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } }
-                        || { "flag": {  } }
-                        || { "multi":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } } } ... ],
-                "input"?: any,
-                "output": any,
-                "erro": any },
-            "put_service"?:
-              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
-                "path":
-                  [ string
-                    || { "id": "single",
-                         "name": string,
-                         "descr"?: string }
-                    || { "id": "multiple",
-                         "name": string,
-                         "descr"?: string } ... ],
-                "description"?: string,
-                "query":
-                  [ { "name": string,
-                      "description"?: string,
-                      "kind":
-                        { "single":
-                            { "id": "single",
-                              "name": string,
-                              "descr"?: string } }
-                        || { "optional":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } }
-                        || { "flag": {  } }
-                        || { "multi":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } } } ... ],
-                "input"?: any,
-                "output": any,
-                "erro": any },
-            "patch_service"?:
-              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
-                "path":
-                  [ string
-                    || { "id": "single",
-                         "name": string,
-                         "descr"?: string }
-                    || { "id": "multiple",
-                         "name": string,
-                         "descr"?: string } ... ],
-                "description"?: string,
-                "query":
-                  [ { "name": string,
-                      "description"?: string,
-                      "kind":
-                        { "single":
-                            { "id": "single",
-                              "name": string,
-                              "descr"?: string } }
-                        || { "optional":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } }
-                        || { "flag": {  } }
-                        || { "multi":
-                               { "id": "single",
-                                 "name": string,
-                                 "descr"?: string } } } ... ],
-                "input"?: any,
-                "output": any,
-                "erro": any },
-            "subdirs"?:
-              { "suffixes": [ { "name": string,
-                                "tree": $service_tree } ... ] }
-              || { "dynamic_dispatch":
-                     { "arg":
-                         { "id": "single",
-                           "name": string,
-                           "descr"?: string },
-                       "tree": $service_tree } } } }
-      || { "dynamic": string || null }
-
- - - -.. _GET_--errors : - -**GET /errors** - -.. raw:: html - -
- -
-

- Schema for all the RPC errors from the shell

-
-
-
-    any
-
- - - -.. _POST_--injection--block : - -**POST /injection/block?[async]&[force]&[chain=]** - -.. raw:: html - -
- - -
-

- Inject a block in the node and broadcast it. The `operations` embedded in `blockHeader` might be pre-validated using a contextual RPCs from the latest block (e.g. '/blocks/head/context/preapply'). Returns the ID of the block. By default, the RPC will wait for the block to be validated before answering.

Optional query arguments :

  • async
  • force
  • chain = <chain_id>

-
-
-
-    { "data": /^[a-zA-Z0-9]+$/,
-      "operations":
-        [ [ { "branch": string /* A block identifier (Base58Check-encoded) */,
-              "data": /^[a-zA-Z0-9]+$/ } ... ] ... ] }
-
-
-
-    string
-    /* A block identifier (Base58Check-encoded) */
-
- - - -.. _POST_--injection--operation : - -**POST /injection/operation?[async]&[chain=]** - -.. raw:: html - -
- - -
-

- Inject an operation in node and broadcast it. Returns the ID of the operation. The `signedOperationContents` should be constructed using a contextual RPCs from the latest block and signed by the client. By default, the RPC will wait for the operation to be (pre-)validated before answering. See RPCs under /blocks/prevalidation for more details on the prevalidation context.

Optional query arguments :

  • async
  • chain = <chain_id>

-
-
-
-    /^[a-zA-Z0-9]+$/
-
-
-
-    string
-    /* A Tezos operation ID (Base58Check-encoded) */
-
- - - -.. _POST_--injection--protocol : - -**POST /injection/protocol?[async]&[force]** - -.. raw:: html - -
- - -
-

- Inject a protocol in node. Returns the ID of the protocol.

Optional query arguments :

  • async
  • force

-
-
-
-    { "expected_env_version": integer ∈ [-2^15, 2^15-1],
-      "components":
-        [ { "name": string,
-            "interface"?: /^[a-zA-Z0-9]+$/,
-            "implementation": /^[a-zA-Z0-9]+$/ } ... ] }
-
-
-
-    string
-    /* A Tezos protocol ID (Base58Check-encoded) */
-
- - - -.. _GET_--monitor--bootstrapped : - -**GET /monitor/bootstrapped** - -.. raw:: html - -
- -
-

-

-
-
-
-    { "block": string /* A block identifier (Base58Check-encoded) */,
-      "timestamp":
-        /* timestamp */
-        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _GET_--monitor--heads--chain_id : - -**GET /monitor/heads/?(next_protocol=)\*** - -.. raw:: html - -
- -
-

-

Optional query arguments :

  • next_protocol = <Protocol_hash>

-
-
-
-    string
-    /* A block identifier (Base58Check-encoded) */
-
- - - -.. _GET_--monitor--protocols : - -**GET /monitor/protocols** - -.. raw:: html - -
- -
-

- ...FIXME...

-
-
-
-    string
-    /* A Tezos protocol ID (Base58Check-encoded) */
-
- - - -.. _GET_--monitor--valid_blocks : - -**GET /monitor/valid_blocks?(protocol=)\*&(next_protocol=)\*&(chain=)\*** - -.. raw:: html - -
- -
-

-

Optional query arguments :

  • protocol = <Protocol_hash>
  • next_protocol = <Protocol_hash>
  • chain = <chain_id>

-
-
-
-    { "chain_id": string /* Network identifier (Base58Check-encoded) */,
-      "hash": string /* A block identifier (Base58Check-encoded) */ }
-
- - - -.. _GET_--network--connections : - -**GET /network/connections** - -.. raw:: html - -
- -
-

- List the running P2P connection.

-
-
-
-    [ { "incoming": boolean,
-        "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */,
-        "id_point": { "addr": string,
-                      "port"?: integer ∈ [0, 2^16-1] },
-        "remote_socket_port": integer ∈ [0, 2^16-1],
-        "versions":
-          [ { "name": string,
-              "major": integer ∈ [0, 2^16-1],
-              "minor": integer ∈ [0, 2^16-1] } ... ] } ... ]
-
- - -.. _GET_--network--connections--peer_id : - -**GET /network/connections/** - -.. raw:: html - -
- -
-

- Details about the current P2P connection to the given peer.

-
-
-
-    { "incoming": boolean,
-      "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */,
-      "id_point": { "addr": string,
-                    "port"?: integer ∈ [0, 2^16-1] },
-      "remote_socket_port": integer ∈ [0, 2^16-1],
-      "versions":
-        [ { "name": string,
-            "major": integer ∈ [0, 2^16-1],
-            "minor": integer ∈ [0, 2^16-1] } ... ] }
-
- - -.. _DELETE_--network--connections--peer_id : - -**DELETE /network/connections/?[wait]** - -.. raw:: html - -
- -
-

- Forced close of the current P2P connection to the given peer.

Optional query arguments :

  • wait

-
-
-
-    {  }
-
- - - -.. _GET_--network--greylist--clear : - -**GET /network/greylist/clear** - -.. raw:: html - -
- -
-

- Clear all greylists tables.

-
-
-
-    {  }
-
- - - -.. _GET_--network--log : - -**GET /network/log** - -.. raw:: html - -
- -
-

- Stream of all network events

-
-
-
-    { "event": "too_few_connections" }
-    || { "event": "too_many_connections" }
-    || { "event": "new_point",
-         "point": string }
-    || { "event": "new_peer",
-         "peer_id":
-           string
-           /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "incoming_connection",
-         "point": string }
-    || { "event": "outgoing_connection",
-         "point": string }
-    || { "event": "authentication_failed",
-         "point": string }
-    || { "event": "accepting_request",
-         "point": string,
-         "id_point": { "addr": string,
-                       "port"?: integer ∈ [0, 2^16-1] },
-         "peer_id":
-           string
-           /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "rejecting_request",
-         "point": string,
-         "id_point": { "addr": string,
-                       "port"?: integer ∈ [0, 2^16-1] },
-         "peer_id":
-           string
-           /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "request_rejected",
-         "point": string,
-         "identity"?:
-           [ { "addr": string,
-               "port"?: integer ∈ [0, 2^16-1] },
-             string
-             /* A Cryptobox public key ID (Base58Check-encoded) */ ] }
-    || { "event": "connection_established",
-         "id_point": { "addr": string,
-                       "port"?: integer ∈ [0, 2^16-1] },
-         "peer_id":
-           string
-           /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "disconnection",
-         "peer_id":
-           string
-           /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "external_disconnection",
-         "peer_id":
-           string
-           /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "gc_points" }
-    || { "event": "gc_peer_ids" }
-    || { "event": "swap_request_received",
-         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "swap_ack_received",
-         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "swap_request_sent",
-         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "swap_ack_sent",
-         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "swap_request_ignored",
-         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "swap_success",
-         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
-    || { "event": "swap_failure",
-         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
-
- - - -.. _GET_--network--peers : - -**GET /network/peers?(filter=)\*** - -.. raw:: html - -
- -
-

- List the peers the node ever met.

Optional query arguments :

  • filter = <p2p.point.state_filter>

-
-
-
-    [ [ string
-        /* A Cryptobox public key ID (Base58Check-encoded) */,
-        { "score": number,
-          "trusted": boolean,
-          "state": "running" | "accepted" | "disconnected",
-          "reachable_at"?: { "addr": string,
-                             "port"?: integer ∈ [0, 2^16-1] },
-          "stat":
-            { "total_sent": integer ∈ [-2^31-2, 2^31+2] || string,
-              "total_recv": integer ∈ [-2^31-2, 2^31+2] || string,
-              "current_inflow": integer ∈ [-2^30-2, 2^30+2],
-              "current_outflow": integer ∈ [-2^30-2, 2^30+2] },
-          "last_failed_connection"?:
-            [ { "addr": string,
-                "port"?: integer ∈ [0, 2^16-1] },
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_rejected_connection"?:
-            [ { "addr": string,
-                "port"?: integer ∈ [0, 2^16-1] },
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_established_connection"?:
-            [ { "addr": string,
-                "port"?: integer ∈ [0, 2^16-1] },
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_disconnection"?:
-            [ { "addr": string,
-                "port"?: integer ∈ [0, 2^16-1] },
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_seen"?:
-            [ { "addr": string,
-                "port"?: integer ∈ [0, 2^16-1] },
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_miss"?:
-            [ { "addr": string,
-                "port"?: integer ∈ [0, 2^16-1] },
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ] } ] ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_--network--peers--peer_id : - -**GET /network/peers/** - -.. raw:: html - -
- -
-

- Details about a given peer.

-
-
-
-    { "score": number,
-      "trusted": boolean,
-      "state": "running" | "accepted" | "disconnected",
-      "reachable_at"?: { "addr": string,
-                         "port"?: integer ∈ [0, 2^16-1] },
-      "stat":
-        { "total_sent": integer ∈ [-2^31-2, 2^31+2] || string,
-          "total_recv": integer ∈ [-2^31-2, 2^31+2] || string,
-          "current_inflow": integer ∈ [-2^30-2, 2^30+2],
-          "current_outflow": integer ∈ [-2^30-2, 2^30+2] },
-      "last_failed_connection"?:
-        [ { "addr": string,
-            "port"?: integer ∈ [0, 2^16-1] },
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_rejected_connection"?:
-        [ { "addr": string,
-            "port"?: integer ∈ [0, 2^16-1] },
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_established_connection"?:
-        [ { "addr": string,
-            "port"?: integer ∈ [0, 2^16-1] },
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_disconnection"?:
-        [ { "addr": string,
-            "port"?: integer ∈ [0, 2^16-1] },
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_seen"?:
-        [ { "addr": string,
-            "port"?: integer ∈ [0, 2^16-1] },
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_miss"?:
-        [ { "addr": string,
-            "port"?: integer ∈ [0, 2^16-1] },
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ] }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_--network--peers--peer_id--ban : - -**GET /network/peers//ban** - -.. raw:: html - -
- -
-

- Blacklist the given peer.

-
-
-
-    {  }
-
- - - -.. _GET_--network--peers--peer_id--banned : - -**GET /network/peers//banned** - -.. raw:: html - -
- -
-

- Check if a given peer is blacklisted or greylisted.

-
-
-
-    boolean
-
- - - -.. _GET_--network--peers--peer_id--log : - -**GET /network/peers//log?[monitor]** - -.. raw:: html - -
- -
-

- Monitor network events related to a given peer.

Optional query arguments :

  • monitor

-
-
-
-    [ { "kind":
-          "rejecting_request"
-          | "incoming_request"
-          | "disconnection"
-          | "external_disconnection"
-          | "connection_established"
-          | "request_rejected",
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "addr": string,
-        "port"?: integer ∈ [-2^15, 2^15-1] } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _GET_--network--peers--peer_id--trust : - -**GET /network/peers//trust** - -.. raw:: html - -
- -
-

- Trust a given peer permanently: the peer cannot be blocked (but its host IP still can).

-
-
-
-    {  }
-
- - - -.. _GET_--network--points : - -**GET /network/points?(filter=)\*** - -.. raw:: html - -
- -
-

- List the pool of known `IP:port` used for establishing P2P connections.

Optional query arguments :

  • filter = <p2p.point.state_filter>

-
-
-
-    [ [ string,
-        { "trusted": boolean,
-          "greylisted_until"?:
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "state":
-            { "event_kind": "requested" }
-            || { "event_kind": "accepted",
-                 "p2p_peer_id":
-                   string
-                   /* A Cryptobox public key ID (Base58Check-encoded) */ }
-            || { "event_kind": "running",
-                 "p2p_peer_id":
-                   string
-                   /* A Cryptobox public key ID (Base58Check-encoded) */ }
-            || { "event_kind": "disconnected" },
-          "p2p_peer_id"?:
-            string
-            /* A Cryptobox public key ID (Base58Check-encoded) */,
-          "last_failed_connection"?:
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "last_rejected_connection"?:
-            [ string
-              /* A Cryptobox public key ID (Base58Check-encoded) */,
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_established_connection"?:
-            [ string
-              /* A Cryptobox public key ID (Base58Check-encoded) */,
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_disconnection"?:
-            [ string
-              /* A Cryptobox public key ID (Base58Check-encoded) */,
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_seen"?:
-            [ string
-              /* A Cryptobox public key ID (Base58Check-encoded) */,
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-          "last_miss"?:
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ] ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_--network--points--point : - -**GET /network/points/** - -.. raw:: html - -
- -
-

- Details about a given `IP:addr`.

-
-
-
-    { "trusted": boolean,
-      "greylisted_until"?:
-        /* timestamp */
-        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-      "state":
-        { "event_kind": "requested" }
-        || { "event_kind": "accepted",
-             "p2p_peer_id":
-               string
-               /* A Cryptobox public key ID (Base58Check-encoded) */ }
-        || { "event_kind": "running",
-             "p2p_peer_id":
-               string
-               /* A Cryptobox public key ID (Base58Check-encoded) */ }
-        || { "event_kind": "disconnected" },
-      "p2p_peer_id"?:
-        string
-        /* A Cryptobox public key ID (Base58Check-encoded) */,
-      "last_failed_connection"?:
-        /* timestamp */
-        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-      "last_rejected_connection"?:
-        [ string
-          /* A Cryptobox public key ID (Base58Check-encoded) */,
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_established_connection"?:
-        [ string
-          /* A Cryptobox public key ID (Base58Check-encoded) */,
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_disconnection"?:
-        [ string
-          /* A Cryptobox public key ID (Base58Check-encoded) */,
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_seen"?:
-        [ string
-          /* A Cryptobox public key ID (Base58Check-encoded) */,
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
-      "last_miss"?:
-        /* timestamp */
-        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _PUT_--network--points--point : - -**PUT /network/points/?[timeout=]** - -.. raw:: html - -
- - -
-

- Connect to a peer

Optional query arguments :

  • timeout = <float>

-
-
-
-    {  }
-
-
-
-    {  }
-
- - -.. _GET_--network--points--point--ban : - -**GET /network/points//ban** - -.. raw:: html - -
- -
-

- Blacklist the given address.

-
-
-
-    {  }
-
- - - -.. _GET_--network--points--point--banned : - -**GET /network/points//banned** - -.. raw:: html - -
- -
-

- Check is a given address is blacklisted or greylisted.

-
-
-
-    boolean
-
- - - -.. _GET_--network--points--point--log : - -**GET /network/points//log?[monitor]** - -.. raw:: html - -
- -
-

- Monitor network events related to an `IP:addr`.

Optional query arguments :

  • monitor

-
-
-
-    [ { "kind":
-          { "event_kind": "outgoing_request" }
-          || { "event_kind": "accepting_request",
-               "p2p_peer_id":
-                 string
-                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
-          || { "event_kind": "rejecting_request",
-               "p2p_peer_id":
-                 string
-                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
-          || { "event_kind": "request_rejected",
-               "p2p_peer_id"?:
-                 string
-                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
-          || { "event_kind": "rejecting_request",
-               "p2p_peer_id":
-                 string
-                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
-          || { "event_kind": "rejecting_request",
-               "p2p_peer_id":
-                 string
-                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
-          || { "event_kind": "rejecting_request",
-               "p2p_peer_id":
-                 string
-                 /* A Cryptobox public key ID (Base58Check-encoded) */ },
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _GET_--network--points--point--trust : - -**GET /network/points//trust** - -.. raw:: html - -
- -
-

- Trust a given address permanently. Connections from this address can still be closed on authentication if the peer is blacklisted or greylisted.

-
-
-
-    {  }
-
- - - -.. _GET_--network--stat : - -**GET /network/stat** - -.. raw:: html - -
- -
-

- Global network bandwidth statistics in B/s.

-
-
-
-    { "total_sent": integer ∈ [-2^31-2, 2^31+2] || string,
-      "total_recv": integer ∈ [-2^31-2, 2^31+2] || string,
-      "current_inflow": integer ∈ [-2^30-2, 2^30+2],
-      "current_outflow": integer ∈ [-2^30-2, 2^30+2] }
-
- - - -.. _GET_--network--versions : - -**GET /network/versions** - -.. raw:: html - -
- -
-

- Supported network layer versions.

-
-
-
-    [ { "name": string,
-        "major": integer ∈ [0, 2^16-1],
-        "minor": integer ∈ [0, 2^16-1] } ... ]
-
- - - -.. _GET_--protocols : - -**GET /protocols** - -.. raw:: html - -
- -
-

-

-
-
-
-    [ string
-    /* A Tezos protocol ID (Base58Check-encoded) */ ... ]
-
- - -.. _GET_--protocols--Protocol_hash : - -**GET /protocols/** - -.. raw:: html - -
- -
-

-

-
-
-
-    { "expected_env_version": integer ∈ [-2^15, 2^15-1],
-      "components":
-        [ { "name": string,
-            "interface"?: /^[a-zA-Z0-9]+$/,
-            "implementation": /^[a-zA-Z0-9]+$/ } ... ] }
-
- - - -.. _GET_--workers--block_validator : - -**GET /workers/block_validator** - -.. raw:: html - -
- -
-

- Introspect the state of the block_validator worker.

-
-
-
-    { "status":
-        { "phase": "launching",
-          "since":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "running",
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closing",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "crashed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "errors":
-               any
-               /* The full list of error is available with the global RPC `GET
-                  errors` */ },
-      "pending_requests":
-        [ { "pushed":
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-            "request":
-              { "block": string /* A block identifier (Base58Check-encoded) */,
-                "chain_id":
-                  string
-                  /* Network identifier (Base58Check-encoded) */,
-                "peer"?:
-                  string
-                  /* A Cryptobox public key ID (Base58Check-encoded) */ } } ... ],
-      "backlog":
-        [ { "level": string,
-            "events":
-              [ /* Event state */
-              { "message": string }
-              || { "successful_validation":
-                     { "block":
-                         string
-                         /* A block identifier (Base58Check-encoded) */,
-                       "chain_id":
-                         string
-                         /* Network identifier (Base58Check-encoded) */,
-                       "peer"?:
-                         string
-                         /* A Cryptobox public key ID (Base58Check-encoded) */ },
-                   "status":
-                     { "pushed":
-                         /* timestamp */
-                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-                       "treated":
-                         /* timestamp */
-                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-                       "completed":
-                         /* timestamp */
-                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } }
-              || { "failed_validation":
-                     { "block":
-                         string
-                         /* A block identifier (Base58Check-encoded) */,
-                       "chain_id":
-                         string
-                         /* Network identifier (Base58Check-encoded) */,
-                       "peer"?:
-                         string
-                         /* A Cryptobox public key ID (Base58Check-encoded) */ },
-                   "status":
-                     { "pushed":
-                         /* timestamp */
-                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-                       "treated":
-                         /* timestamp */
-                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-                       "completed":
-                         /* timestamp */
-                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string },
-                   "errors"?:
-                     any
-                     /* The full list of error is available with the global RPC
-                        `GET errors` */ } ... ] } ... ],
-      "current_request"?:
-        { "pushed":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "treated":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "request":
-            { "block": string /* A block identifier (Base58Check-encoded) */,
-              "chain_id": string /* Network identifier (Base58Check-encoded) */,
-              "peer"?:
-                string
-                /* A Cryptobox public key ID (Base58Check-encoded) */ } } }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _GET_--workers--chain_validators : - -**GET /workers/chain_validators** - -.. raw:: html - -
- -
-

- Lists the chain validator workers and their status.

-
-
-
-    [ { "chain_id": string /* Network identifier (Base58Check-encoded) */,
-        "status":
-          { "phase": "launching",
-            "since":
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "running",
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "closing",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "closed",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "crashed",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "errors":
-                 any
-                 /* The full list of error is available with the global RPC
-                    `GET errors` */ } } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_--workers--chain_validators--chain_id : - -**GET /workers/chain_validators/** - -.. raw:: html - -
- -
-

- Introspect the state of a chain validator worker.

-
-
-
-    { "status":
-        { "phase": "launching",
-          "since":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "running",
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closing",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "crashed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "errors":
-               any
-               /* The full list of error is available with the global RPC `GET
-                  errors` */ },
-      "pending_requests":
-        [ { "pushed":
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-            "request": string /* A block identifier (Base58Check-encoded) */ } ... ],
-      "backlog":
-        [ { "level": string,
-            "events":
-              [ { "request":
-                    string
-                    /* A block identifier (Base58Check-encoded) */,
-                  "status":
-                    { "pushed":
-                        /* timestamp */
-                        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-                      "treated":
-                        /* timestamp */
-                        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-                      "completed":
-                        /* timestamp */
-                        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string },
-                  "outcome": "branch" | "ignored" | "increment",
-                  "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */ }
-                || any
-                /* The full list of error is available with the global RPC `GET
-                   errors` */ ... ] } ... ],
-      "current_request"?:
-        { "pushed":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "treated":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "request": string /* A block identifier (Base58Check-encoded) */ } }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_--workers--chain_validators--chain_id--peers_validators : - -**GET /workers/chain_validators//peers_validators** - -.. raw:: html - -
- -
-

- Lists the peer validator workers and their status.

-
-
-
-    [ { "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */,
-        "status":
-          { "phase": "launching",
-            "since":
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "running",
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "closing",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "closed",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "crashed",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "errors":
-                 any
-                 /* The full list of error is available with the global RPC
-                    `GET errors` */ } } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_--workers--chain_validators--chain_id--peers_validators--peer_id : - -**GET /workers/chain_validators//peers_validators/** - -.. raw:: html - -
- -
-

- Introspect the state of a peer validator worker.

-
-
-
-    { "status":
-        { "phase": "launching",
-          "since":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "running",
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closing",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "crashed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "errors":
-               any
-               /* The full list of error is available with the global RPC `GET
-                  errors` */ },
-      "pending_requests":
-        [ { "pushed":
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-            "request":
-              { "request": "new_head",
-                "block": string /* A block identifier (Base58Check-encoded) */ }
-              || { "request": "new_branch",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "locator_length": integer ∈ [0, 2^16-1] } } ... ],
-      "backlog":
-        [ { "level": string,
-            "events":
-              [ { "message": string }
-                || { "request":
-                       { "request": "new_head",
-                         "block":
-                           string
-                           /* A block identifier (Base58Check-encoded) */ }
-                       || { "request": "new_branch",
-                            "block":
-                              string
-                              /* A block identifier (Base58Check-encoded) */,
-                            "locator_length": integer ∈ [0, 2^16-1] },
-                     "status":
-                       { "pushed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "treated":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "completed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string } }
-                || { "error":
-                       any
-                       /* The full list of error is available with the global
-                          RPC `GET errors` */,
-                     "failed_request":
-                       { "request": "new_head",
-                         "block":
-                           string
-                           /* A block identifier (Base58Check-encoded) */ }
-                       || { "request": "new_branch",
-                            "block":
-                              string
-                              /* A block identifier (Base58Check-encoded) */,
-                            "locator_length": integer ∈ [0, 2^16-1] },
-                     "status":
-                       { "pushed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "treated":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "completed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string } } ... ] } ... ],
-      "current_request"?:
-        { "pushed":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "treated":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "request":
-            { "request": "new_head",
-              "block": string /* A block identifier (Base58Check-encoded) */ }
-            || { "request": "new_branch",
-                 "block": string /* A block identifier (Base58Check-encoded) */,
-                 "locator_length": integer ∈ [0, 2^16-1] } } }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _GET_--workers--prevalidators : - -**GET /workers/prevalidators** - -.. raw:: html - -
- -
-

- Lists the Prevalidator workers and their status.

-
-
-
-    [ { "chain_id": string /* Network identifier (Base58Check-encoded) */,
-        "status":
-          { "phase": "launching",
-            "since":
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "running",
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "closing",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "closed",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "phase": "crashed",
-               "birth":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "since":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-               "errors":
-                 any
-                 /* The full list of error is available with the global RPC
-                    `GET errors` */ } } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_--workers--prevalidators--chain_id : - -**GET /workers/prevalidators/** - -.. raw:: html - -
- -
-

- Introspect the state of a prevalidator worker.

-
-
-
-    { "status":
-        { "phase": "launching",
-          "since":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "running",
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closing",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "closed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "phase": "crashed",
-             "birth":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "since":
-               /* timestamp */
-               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-             "errors":
-               any
-               /* The full list of error is available with the global RPC `GET
-                  errors` */ },
-      "pending_requests":
-        [ { "pushed":
-              /* timestamp */
-              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-            "request":
-              { "request": "flush",
-                "block": string /* A block identifier (Base58Check-encoded) */ }
-              || { "request": "notify",
-                   "peer":
-                     string
-                     /* A Cryptobox public key ID (Base58Check-encoded) */,
-                   "mempool":
-                     { "known_valid":
-                         [ string
-                         /* A Tezos operation ID (Base58Check-encoded) */ ... ],
-                       "pending":
-                         [ string
-                         /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
-              || { "request": "inject",
-                   "operation":
-                     { "branch":
-                         string
-                         /* A block identifier (Base58Check-encoded) */,
-                       "data": /^[a-zA-Z0-9]+$/ } }
-              || { "request": "arrived",
-                   "operation_hash":
-                     string
-                     /* A Tezos operation ID (Base58Check-encoded) */,
-                   "operation":
-                     { "branch":
-                         string
-                         /* A block identifier (Base58Check-encoded) */,
-                       "data": /^[a-zA-Z0-9]+$/ } }
-              || { "request": "advertise" } } ... ],
-      "backlog":
-        [ { "level": string,
-            "events":
-              [ { "message": string }
-                || { "request":
-                       { "request": "flush",
-                         "block":
-                           string
-                           /* A block identifier (Base58Check-encoded) */ }
-                       || { "request": "notify",
-                            "peer":
-                              string
-                              /* A Cryptobox public key ID
-                                 (Base58Check-encoded) */,
-                            "mempool":
-                              { "known_valid":
-                                  [ string
-                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ],
-                                "pending":
-                                  [ string
-                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
-                       || { "request": "inject",
-                            "operation":
-                              { "branch":
-                                  string
-                                  /* A block identifier (Base58Check-encoded) */,
-                                "data": /^[a-zA-Z0-9]+$/ } }
-                       || { "request": "arrived",
-                            "operation_hash":
-                              string
-                              /* A Tezos operation ID (Base58Check-encoded) */,
-                            "operation":
-                              { "branch":
-                                  string
-                                  /* A block identifier (Base58Check-encoded) */,
-                                "data": /^[a-zA-Z0-9]+$/ } }
-                       || { "request": "advertise" },
-                     "status":
-                       { "pushed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "treated":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "completed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string } }
-                || { "error":
-                       any
-                       /* The full list of error is available with the global
-                          RPC `GET errors` */,
-                     "failed_request":
-                       { "request": "flush",
-                         "block":
-                           string
-                           /* A block identifier (Base58Check-encoded) */ }
-                       || { "request": "notify",
-                            "peer":
-                              string
-                              /* A Cryptobox public key ID
-                                 (Base58Check-encoded) */,
-                            "mempool":
-                              { "known_valid":
-                                  [ string
-                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ],
-                                "pending":
-                                  [ string
-                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
-                       || { "request": "inject",
-                            "operation":
-                              { "branch":
-                                  string
-                                  /* A block identifier (Base58Check-encoded) */,
-                                "data": /^[a-zA-Z0-9]+$/ } }
-                       || { "request": "arrived",
-                            "operation_hash":
-                              string
-                              /* A Tezos operation ID (Base58Check-encoded) */,
-                            "operation":
-                              { "branch":
-                                  string
-                                  /* A block identifier (Base58Check-encoded) */,
-                                "data": /^[a-zA-Z0-9]+$/ } }
-                       || { "request": "advertise" },
-                     "status":
-                       { "pushed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "treated":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string,
-                         "completed":
-                           /* timestamp */
-                           $timestamp
-                           || integer ∈ [-2^31-2, 2^31+2] || string } } ... ] } ... ],
-      "current_request"?:
-        { "pushed":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "treated":
-            /* timestamp */
-            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-          "request":
-            { "request": "flush",
-              "block": string /* A block identifier (Base58Check-encoded) */ }
-            || { "request": "notify",
-                 "peer":
-                   string
-                   /* A Cryptobox public key ID (Base58Check-encoded) */,
-                 "mempool":
-                   { "known_valid":
-                       [ string
-                       /* A Tezos operation ID (Base58Check-encoded) */ ... ],
-                     "pending":
-                       [ string
-                       /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
-            || { "request": "inject",
-                 "operation":
-                   { "branch":
-                       string
-                       /* A block identifier (Base58Check-encoded) */,
-                     "data": /^[a-zA-Z0-9]+$/ } }
-            || { "request": "arrived",
-                 "operation_hash":
-                   string
-                   /* A Tezos operation ID (Base58Check-encoded) */,
-                 "operation":
-                   { "branch":
-                       string
-                       /* A block identifier (Base58Check-encoded) */,
-                     "data": /^[a-zA-Z0-9]+$/ } }
-            || { "request": "advertise" } } }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - - -Protocol Alpha -============== - -.. _GET_..--block_id : - -**GET ../** - -.. raw:: html - -
- -
-

- All the information about a block.

-
-
-
-    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-      "chain_id": string /* Network identifier (Base58Check-encoded) */,
-      "hash": string /* A block identifier (Base58Check-encoded) */,
-      "header": $raw_block_header,
-      "metadata": $block_header_metadata,
-      "operations": [ [ $operation ... ] ... ] }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $block_header_metadata:
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "next_protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "test_chain_status":
-          /* Test chain status */
-          { "status": "not_running" }
-          || { "status": "forking",
-               "protocol":
-                 string
-                 /* A Tezos protocol ID (Base58Check-encoded) */,
-               "expiration":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
-          || { "status": "running",
-               "chain_id":
-                 string
-                 /* Network identifier (Base58Check-encoded) */,
-               "genesis": string /* A block identifier (Base58Check-encoded) */,
-               "protocol":
-                 string
-                 /* A Tezos protocol ID (Base58Check-encoded) */,
-               "expiration":
-                 /* timestamp */
-                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string },
-        "max_operations_ttl": integer ∈ [-2^30-2, 2^30+2],
-        "max_operation_data_length": integer ∈ [-2^30-2, 2^30+2],
-        "max_block_header_length": integer ∈ [-2^30-2, 2^30+2],
-        "max_operation_list_length":
-          [ { "max_size": integer ∈ [-2^30-2, 2^30+2],
-              "max_op"?: integer ∈ [-2^30-2, 2^30+2] } ... ],
-        "baker":
-          string
-          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-        "level":
-          { "level": integer ∈ [-2^31-2, 2^31+2],
-            "level_position": integer ∈ [-2^31-2, 2^31+2],
-            "cycle": integer ∈ [-2^31-2, 2^31+2],
-            "cycle_position": integer ∈ [-2^31-2, 2^31+2],
-            "voting_period": integer ∈ [-2^31-2, 2^31+2],
-            "voting_period_position": integer ∈ [-2^31-2, 2^31+2],
-            "expected_commitment": boolean },
-        "voting_period_kind":
-          "proposal" || "testing_vote" || "testing" || "promotion_vote" }
-    $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. */
-      string
-    $error:
-      /* ... FIXME ... */
-      any
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation:
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "chain_id": string /* Network identifier (Base58Check-encoded) */,
-        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-        "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.operation_contents_and_result ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $operation.alpha.internal_operation_result:
-      { "kind": "reveal",
-        "source": $contract_id,
-        "nonce": integer ∈ [0, 2^16-1],
-        "public_key":
-          string
-          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-        "result": $operation.alpha.operation_result.reveal }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "result": $operation.alpha.operation_result.transaction }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "result": $operation.alpha.operation_result.origination }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "result": $operation.alpha.operation_result.delegation }
-    $operation.alpha.operation_contents_and_result:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
-        "metadata":
-          { "delegate":
-              string
-              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-            "slots": [ integer ∈ [0, 255] ... ] } }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
-           "metadata": {  } }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-    $operation.alpha.operation_result.delegation:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.origination:
-      { "status": "applied",
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.reveal:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.transaction:
-      { "status": "applied",
-        "storage"?: $micheline.michelson_v1.expression,
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation_metadata.alpha.balance_updates:
-      [ { "kind": "contract",
-          "contract": $contract_id,
-          "credited":
-            /* Amount in mutez */
-            integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "contract",
-             "contract": $contract_id,
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $raw_block_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _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_revelations_per_block": integer ∈ [0, 255],
-      "preserved_cycles": integer ∈ [0, 255],
-      "blocks_per_cycle": integer ∈ [-2^31-2, 2^31+2],
-      "blocks_per_commitment": integer ∈ [-2^31-2, 2^31+2],
-      "blocks_per_roll_snapshot": integer ∈ [-2^31-2, 2^31+2],
-      "blocks_per_voting_period": integer ∈ [-2^31-2, 2^31+2],
-      "time_between_blocks": [ integer ∈ [-2^31-2, 2^31+2] || string ... ],
-      "first_free_baking_slot": integer ∈ [0, 2^16-1],
-      "endorsers_per_block": integer ∈ [0, 2^16-1],
-      "hard_gas_limit_per_operation": $bignum,
-      "hard_gas_limit_per_block": $bignum,
-      "proof_of_work_threshold": integer ∈ [-2^31-2, 2^31+2] || string,
-      "max_operation_data_length": integer ∈ [-2^30-2, 2^30+2],
-      "tokens_per_roll":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "michelson_maximum_type_size": integer ∈ [0, 2^16-1],
-      "seed_nonce_revelation_tip":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "origination_burn":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "block_security_deposit":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "endorsement_security_deposit":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "block_reward":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "endorsement_reward":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "cost_per_byte":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "hard_storage_limit_per_operation":
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "hard_storage_limit_per_block": integer ∈ [-2^31-2, 2^31+2] || string }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
- - -.. _GET_..--block_id--context--constants--block_reward : - -**GET ..//context/constants/block_reward** - -.. raw:: html - -
- -
-

- block_reward

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--constants--block_security_deposit : - -**GET ..//context/constants/block_security_deposit** - -.. raw:: html - -
- -
-

- block_security_deposit

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--constants--blocks_per_commitment : - -**GET ..//context/constants/blocks_per_commitment** - -.. raw:: html - -
- -
-

- How many blocks between random seed's nonce commitment

-
-
-
-    integer ∈ [-2^31-2, 2^31+2]
-
- - - -.. _GET_..--block_id--context--constants--blocks_per_cycle : - -**GET ..//context/constants/blocks_per_cycle** - -.. raw:: html - -
- -
-

- Cycle length

-
-
-
-    integer ∈ [-2^31-2, 2^31+2]
-
- - - -.. _GET_..--block_id--context--constants--blocks_per_roll_snapshot : - -**GET ..//context/constants/blocks_per_roll_snapshot** - -.. raw:: html - -
- -
-

- How many blocks between roll snapshots

-
-
-
-    integer ∈ [-2^31-2, 2^31+2]
-
- - - -.. _GET_..--block_id--context--constants--blocks_per_voting_period : - -**GET ..//context/constants/blocks_per_voting_period** - -.. raw:: html - -
- -
-

- Length of the voting period

-
-
-
-    integer ∈ [-2^31-2, 2^31+2]
-
- - - -.. _GET_..--block_id--context--constants--cost_per_byte : - -**GET ..//context/constants/cost_per_byte** - -.. raw:: html - -
- -
-

- The cost per bytes added to the storage

-
-
-
-    { "cost_per_byte":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string }
-
- - - -.. _GET_..--block_id--context--constants--endorsement_reward : - -**GET ..//context/constants/endorsement_reward** - -.. raw:: html - -
- -
-

- endorsement_reward

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--constants--endorsement_security_deposit : - -**GET ..//context/constants/endorsement_security_deposit** - -.. raw:: html - -
- -
-

- endorsement_security_deposit

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--constants--endorsers_per_block : - -**GET ..//context/constants/endorsers_per_block** - -.. raw:: html - -
- -
-

- Max signing slot

-
-
-
-    integer ∈ [0, 2^16-1]
-
- - - -.. _GET_..--block_id--context--constants--errors : - -**GET ..//context/constants/errors** - -.. raw:: html - -
- -
-

- Schema for all the RPC errors from this protocol version

-
-
-
-    any
-
- - - -.. _GET_..--block_id--context--constants--first_free_baking_slot : - -**GET ..//context/constants/first_free_baking_slot** - -.. raw:: html - -
- -
-

- First free baking slot

-
-
-
-    integer ∈ [0, 2^16-1]
-
- - - -.. _GET_..--block_id--context--constants--hard_gas_limits : - -**GET ..//context/constants/hard_gas_limits** - -.. raw:: html - -
- -
-

- Hard maximum amount of gas per operation and per block

-
-
-
-    { "per_block": $bignum,
-      "per_operation": $bignum }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
- - - -.. _GET_..--block_id--context--constants--hard_storage_limits : - -**GET ..//context/constants/hard_storage_limits** - -.. raw:: html - -
- -
-

- Hard maximum amount of bytes stored per operation and per block

-
-
-
-    { "per_block": integer ∈ [-2^31-2, 2^31+2] || string,
-      "per_operation": integer ∈ [-2^31-2, 2^31+2] || string }
-
- - - -.. _GET_..--block_id--context--constants--origination_burn : - -**GET ..//context/constants/origination_burn** - -.. raw:: html - -
- -
-

- origination_burn

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--constants--preserved_cycles : - -**GET ..//context/constants/preserved_cycles** - -.. raw:: html - -
- -
-

- How many cycle before the 'no-automatic-fork point'

-
-
-
-    integer ∈ [-2^30-2, 2^30+2]
-
- - - -.. _GET_..--block_id--context--constants--proof_of_work_threshold : - -**GET ..//context/constants/proof_of_work_threshold** - -.. raw:: html - -
- -
-

- Stamp threshold

-
-
-
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--constants--seed_nonce_revelation_tip : - -**GET ..//context/constants/seed_nonce_revelation_tip** - -.. raw:: html - -
- -
-

- seed_nonce_revelation_tip

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--constants--time_between_slots : - -**GET ..//context/constants/time_between_slots** - -.. raw:: html - -
- -
-

- Slot durations

-
-
-
-    [ integer ∈ [-2^31-2, 2^31+2] || string ... ]
-
- - - -.. _GET_..--block_id--context--contracts : - -**GET ..//context/contracts** - -.. raw:: html - -
- -
-

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

-
-
-
-    [ $contract_id ... ]
-    $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. */
-      string
-
- - -.. _GET_..--block_id--context--contracts--contract_id : - -**GET ..//context/contracts/** - -.. raw:: html - -
- -
-

- Access the complete status of a contract.

-
-
-
-    { "manager":
-        string
-        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-      "balance": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-      "spendable": boolean,
-      "delegate":
-        { "setable": boolean,
-          "value"?:
-            string
-            /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ },
-      "script"?:
-        { "code": $micheline.michelson_v1.expression,
-          "storage": $micheline.michelson_v1.expression },
-      "counter": integer ∈ [-2^31-2, 2^31+2] }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
- - -.. _GET_..--block_id--context--contracts--contract_id--balance : - -**GET ..//context/contracts//balance** - -.. raw:: html - -
- -
-

- Access the balance of a contract.

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--counter : - -**GET ..//context/contracts//counter** - -.. raw:: html - -
- -
-

- Access the counter of a contract, if any.

-
-
-
-    integer ∈ [-2^31-2, 2^31+2]
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--delegatable : - -**GET ..//context/contracts//delegatable** - -.. raw:: html - -
- -
-

- Tells if the contract delegate can be changed.

-
-
-
-    boolean
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--delegate : - -**GET ..//context/contracts//delegate** - -.. raw:: html - -
- -
-

- Access the delegate of a contract, if any.

-
-
-
-    string
-    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--manager : - -**GET ..//context/contracts//manager** - -.. raw:: html - -
- -
-

- Access the manager of a contract.

-
-
-
-    string
-    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--manager_key : - -**GET ..//context/contracts//manager_key** - -.. raw:: html - -
- -
-

- Access the manager of a contract.

-
-
-
-    { "manager":
-        string
-        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-      "key"?:
-        string
-        /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--script : - -**GET ..//context/contracts//script** - -.. raw:: html - -
- -
-

- Access the code and data of the contract.

-
-
-
-    { "code": $micheline.michelson_v1.expression,
-      "storage": $micheline.michelson_v1.expression }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--spendable : - -**GET ..//context/contracts//spendable** - -.. raw:: html - -
- -
-

- Tells if the contract tokens can be spent by the manager.

-
-
-
-    boolean
-
- - - -.. _GET_..--block_id--context--contracts--contract_id--storage : - -**GET ..//context/contracts//storage** - -.. raw:: html - -
- -
-

- Access the data of the contract.

-
-
-
-    $micheline.michelson_v1.expression
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
- - - -.. _GET_..--block_id--context--delegates : - -**GET ..//context/delegates?[active]&[inactive]** - -.. raw:: html - -
- -
-

- List all registred delegates.

Optional query arguments :

  • active
  • inactive

-
-
-
-    [ string
-    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ ... ]
-
- - -.. _GET_..--block_id--context--delegates--pkh : - -**GET ..//context/delegates/** - -.. raw:: html - -
- -
-

- Everything about a delegate.

-
-
-
-    { "balance": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-      "frozen_balance":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "frozen_balance_by_cycle":
-        [ { "cycle": integer ∈ [-2^31-2, 2^31+2],
-            "deposit":
-              /* Amount in mutez */
-              integer ∈ [-2^31-2, 2^31+2] || string,
-            "fees":
-              /* Amount in mutez */
-              integer ∈ [-2^31-2, 2^31+2] || string,
-            "rewards":
-              /* Amount in mutez */
-              integer ∈ [-2^31-2, 2^31+2] || string } ... ],
-      "staking_balance":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "delegated_contracts":
-        [ string
-        /* A contract ID (Base58Check-encoded) */ ... ],
-      "delegated_balance":
-        /* Amount in mutez */
-        integer ∈ [-2^31-2, 2^31+2] || string,
-      "deactivated": boolean,
-      "grace_period": integer ∈ [-2^31-2, 2^31+2] }
-
- - -.. _GET_..--block_id--context--delegates--pkh--balance : - -**GET ..//context/delegates//balance** - -.. raw:: html - -
- -
-

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

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--delegates--pkh--deactivated : - -**GET ..//context/delegates//deactivated** - -.. raw:: html - -
- -
-

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

-
-
-
-    boolean
-
- - - -.. _GET_..--block_id--context--delegates--pkh--delegated_balance : - -**GET ..//context/delegates//delegated_balance** - -.. raw:: html - -
- -
-

- The includes the balance of all the contracts that delegates to it. This excludes the delegate own balance and its frozen balances.

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--delegates--pkh--delegated_contracts : - -**GET ..//context/delegates//delegated_contracts** - -.. raw:: html - -
- -
-

- Returns the list of contract that delegates to a given delegate.

-
-
-
-    [ string
-    /* A contract ID (Base58Check-encoded) */ ... ]
-
- - - -.. _GET_..--block_id--context--delegates--pkh--frozen_balance : - -**GET ..//context/delegates//frozen_balance** - -.. raw:: html - -
- -
-

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

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--delegates--pkh--frozen_balance_by_cycle : - -**GET ..//context/delegates//frozen_balance_by_cycle** - -.. raw:: html - -
- -
-

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

-
-
-
-    [ { "cycle": integer ∈ [-2^31-2, 2^31+2],
-        "deposit": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-        "fees": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-        "rewards": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-
- - - -.. _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, whether should she failed to execute any delegate action until then. A deactivated delegate might be reactivated (without loosing any rolls) by simply re-register as a delegate. For deactivated delegate this value contains the cycle by which they were deactivated.

-
-
-
-    integer ∈ [-2^31-2, 2^31+2]
-
- - - -.. _GET_..--block_id--context--delegates--pkh--staking_balance : - -**GET ..//context/delegates//staking_balance** - -.. raw:: html - -
- -
-

- Returns the total amount of token delegated to a given delegate. This includes the balance of all the contracts that delegates to it, but also the balance of the delegate itself and its frozen fees and deposits. The rewards do not count in the delegated balance until they are unfrozen.

-
-
-
-    /* Amount in mutez */
-    integer ∈ [-2^31-2, 2^31+2] || string
-
- - - -.. _GET_..--block_id--context--nonces--block_level : - -**GET ..//context/nonces/** - -.. raw:: html - -
- -
-

- Info about the nonce of a previous block.

-
-
-
-    { "nonce": /^[a-zA-Z0-9]+$/ }
-    || { "hash": string /* A nonce hash (Base58Check-encoded) */ }
-    || {  }
-
- - - -.. _GET_..--block_id--context--raw--bytes : - -**GET ..//context/raw/bytes?[depth=]** - -.. raw:: html - -
- -
-

- Returns the raw context.

Optional query arguments :

  • depth = <int>

-
-
-
-    $raw_context
-    $raw_context: /^[a-zA-Z0-9]+$/ || { *: $raw_context } || null
-
- - - -.. _GET_..--block_id--hash : - -**GET ..//hash** - -.. raw:: html - -
- -
-

- The block's hash, its unique identifier.

-
-
-
-    string
-    /* A block identifier (Base58Check-encoded) */
-
- - - -.. _GET_..--block_id--header : - -**GET ..//header** - -.. raw:: html - -
- -
-

- The whole block header.

-
-
-
-    $block_header
-    $block_header:
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "chain_id": string /* Network identifier (Base58Check-encoded) */,
-        "hash": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_..--block_id--header--protocol_data : - -**GET ..//header/protocol_data** - -.. raw:: html - -
- -
-

- The version-specific fragment of the block header.

-
-
-
-    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-      "priority": integer ∈ [0, 2^16-1],
-      "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-      "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-      "signature":
-        string
-        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-
- - - -.. _GET_..--block_id--header--shell : - -**GET ..//header/shell** - -.. raw:: html - -
- -
-

- The shell-specific fragment of the block header.

-
-
-
-    $block_header.shell
-    $block_header.shell:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_..--block_id--header--shell--context_hash : - -**GET ..//header/shell/context_hash** - -.. raw:: html - -
- -
-

- The hash of the resulting validation context.

-
-
-
-    string
-    /* A hash of context (Base58Check-encoded) */
-
- - - -.. _GET_..--block_id--header--shell--fitness : - -**GET ..//header/shell/fitness** - -.. raw:: html - -
- -
-

- The block's fitness.

-
-
-
-    [ /^[a-zA-Z0-9]+$/ ... ]
-    /* Tezos block fitness */
-
- - - -.. _GET_..--block_id--header--shell--level : - -**GET ..//header/shell/level** - -.. raw:: html - -
- -
-

- The block's level.

-
-
-
-    integer ∈ [-2^31-2, 2^31+2]
-
- - - -.. _GET_..--block_id--header--shell--operations_hash : - -**GET ..//header/shell/operations_hash** - -.. raw:: html - -
- -
-

- The hash of merkle tree of the operations included in the block.

-
-
-
-    string
-    /* A list of list of operations (Base58Check-encoded) */
-
- - - -.. _GET_..--block_id--header--shell--predecessor : - -**GET ..//header/shell/predecessor** - -.. raw:: html - -
- -
-

- The previous block's id.

-
-
-
-    string
-    /* A block identifier (Base58Check-encoded) */
-
- - - -.. _GET_..--block_id--header--shell--proto_level : - -**GET ..//header/shell/proto_level** - -.. raw:: html - -
- -
-

- The block's protocol level (modulo 256).

-
-
-
-    integer ∈ [0, 255]
-
- - - -.. _GET_..--block_id--header--shell--timestamp : - -**GET ..//header/shell/timestamp** - -.. raw:: html - -
- -
-

- The block's timestamp.

-
-
-
-    /* timestamp */
-    $timestamp || integer ∈ [-2^31-2, 2^31+2] || string
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _GET_..--block_id--header--shell--validation_passes : - -**GET ..//header/shell/validation_passes** - -.. raw:: html - -
- -
-

- The number of validation passes for the block.

-
-
-
-    integer ∈ [0, 255]
-
- - - -.. _GET_..--block_id--helpers--baking_rights : - -**GET ..//helpers/baking_rights?(level=)\*&(cycle=)\*&(delegate=)\*&[max_priority=]&[all]** - -.. raw:: html - -
- -
-

- ...FIXME...

Optional query arguments :

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

-
-
-
-    [ { "level": integer ∈ [-2^31-2, 2^31+2],
-        "delegate":
-          string
-          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "timestamp"?:
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _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.

-
-
-
-    [ string ... ]
-
- - - -.. _GET_..--block_id--helpers--current_level : - -**GET ..//helpers/current_level?[offset=]** - -.. raw:: html - -
- -
-

- ...

Optional query arguments :

  • offset = <int32>

-
-
-
-    { "level": integer ∈ [-2^31-2, 2^31+2],
-      "level_position": integer ∈ [-2^31-2, 2^31+2],
-      "cycle": integer ∈ [-2^31-2, 2^31+2],
-      "cycle_position": integer ∈ [-2^31-2, 2^31+2],
-      "voting_period": integer ∈ [-2^31-2, 2^31+2],
-      "voting_period_position": integer ∈ [-2^31-2, 2^31+2],
-      "expected_commitment": boolean }
-
- - - -.. _GET_..--block_id--helpers--endorsing_rights : - -**GET ..//helpers/endorsing_rights?(level=)\*&(cycle=)\*&(delegate=)\*** - -.. raw:: html - -
- -
-

- ...FIXME...

Optional query arguments :

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

-
-
-
-    [ { "level": integer ∈ [-2^31-2, 2^31+2],
-        "delegate":
-          string
-          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-        "slots": [ integer ∈ [0, 2^16-1] ... ],
-        "estimated_time"?:
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _POST_..--block_id--helpers--forge--operations : - -**POST ..//helpers/forge/operations** - -.. raw:: html - -
- - -
-

- Forge an operation

-
-
-
-    $operation.alpha.unsigned_operation
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation.alpha.contents:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass" }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-    $operation.alpha.unsigned_operation:
-      /* Unsigned Alpha operation */
-      { "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.contents ... ] }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
-
-
-    /^[a-zA-Z0-9]+$/
-
- - - -.. _POST_..--block_id--helpers--forge--protocol_data : - -**POST ..//helpers/forge/protocol_data** - -.. raw:: html - -
- - -
-

- Forge the protocol-specific part of a block header

-
-
-
-    { "priority": integer ∈ [0, 2^16-1],
-      "nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-      "proof_of_work_nonce"?: /^[a-zA-Z0-9]+$/ }
-
-
-
-    { "protocol_data": /^[a-zA-Z0-9]+$/ }
-
- - - -.. _POST_..--block_id--helpers--forge_block_header : - -**POST ..//helpers/forge_block_header** - -.. raw:: html - -
- - -
-

- Forge a block header

-
-
-
-    { "level": integer ∈ [-2^31-2, 2^31+2],
-      "proto": integer ∈ [0, 255],
-      "predecessor": string /* A block identifier (Base58Check-encoded) */,
-      "timestamp":
-        /* timestamp */
-        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-      "validation_pass": integer ∈ [0, 255],
-      "operations_hash":
-        string
-        /* A list of list of operations (Base58Check-encoded) */,
-      "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-      "context": string /* A hash of context (Base58Check-encoded) */,
-      "protocol_data": /^[a-zA-Z0-9]+$/ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
-
-
-    { "block": /^[a-zA-Z0-9]+$/ }
-
- - - -.. _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>

-
-
-
-    { /* levels of a cycle */
-      "first": integer ∈ [-2^31-2, 2^31+2],
-      "last": integer ∈ [-2^31-2, 2^31+2] }
-
- - - -.. _POST_..--block_id--helpers--parse--block : - -**POST ..//helpers/parse/block** - -.. raw:: html - -
- - -
-

- Parse a block

-
-
-
-    { "level": integer ∈ [-2^31-2, 2^31+2],
-      "proto": integer ∈ [0, 255],
-      "predecessor": string /* A block identifier (Base58Check-encoded) */,
-      "timestamp":
-        /* timestamp */
-        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-      "validation_pass": integer ∈ [0, 255],
-      "operations_hash":
-        string
-        /* A list of list of operations (Base58Check-encoded) */,
-      "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-      "context": string /* A hash of context (Base58Check-encoded) */,
-      "protocol_data": /^[a-zA-Z0-9]+$/ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
-
-
-    $block_header.alpha.signed_contents
-    $block_header.alpha.signed_contents:
-      { "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-
- - - -.. _POST_..--block_id--helpers--parse--operations : - -**POST ..//helpers/parse/operations** - -.. raw:: html - -
- - -
-

- Parse operations

-
-
-
-    { "operations":
-        [ { "branch": string /* A block identifier (Base58Check-encoded) */,
-            "data": /^[a-zA-Z0-9]+$/ } ... ],
-      "check_signature"?: boolean }
-
-
-
-    [ { "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.contents ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } ... ]
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation.alpha.contents:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass" }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _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": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-          "priority": integer ∈ [0, 2^16-1],
-          "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-          "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-          "signature":
-            string
-            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-      "operations": [ [ $next_operation ... ] ... ] }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $next_operation:
-      /* Operations param */
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.contents ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $operation.alpha.contents:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass" }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
-
-
-    { "shell_header": $block_header.shell,
-      "operations":
-        [ { "applied":
-              [ { "hash":
-                    string
-                    /* A Tezos operation ID (Base58Check-encoded) */,
-                  "branch":
-                    string
-                    /* A block identifier (Base58Check-encoded) */,
-                  "data": /^[a-zA-Z0-9]+$/ } ... ],
-            "refused":
-              [ { "hash":
-                    string
-                    /* A Tezos operation ID (Base58Check-encoded) */,
-                  "branch":
-                    string
-                    /* A block identifier (Base58Check-encoded) */,
-                  "data": /^[a-zA-Z0-9]+$/,
-                  "error":
-                    any
-                    /* The full list of error is available with the global RPC
-                       `GET errors` */ } ... ],
-            "branch_refused":
-              [ { "hash":
-                    string
-                    /* A Tezos operation ID (Base58Check-encoded) */,
-                  "branch":
-                    string
-                    /* A block identifier (Base58Check-encoded) */,
-                  "data": /^[a-zA-Z0-9]+$/,
-                  "error":
-                    any
-                    /* The full list of error is available with the global RPC
-                       `GET errors` */ } ... ],
-            "branch_delayed":
-              [ { "hash":
-                    string
-                    /* A Tezos operation ID (Base58Check-encoded) */,
-                  "branch":
-                    string
-                    /* A block identifier (Base58Check-encoded) */,
-                  "data": /^[a-zA-Z0-9]+$/,
-                  "error":
-                    any
-                    /* The full list of error is available with the global RPC
-                       `GET errors` */ } ... ] } ... ] }
-    $block_header.shell:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _POST_..--block_id--helpers--preapply--operations : - -**POST ..//helpers/preapply/operations** - -.. raw:: html - -
- - -
-

- Simulate the validation of an operation.

-
-
-
-    [ $next_operation ... ]
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $next_operation:
-      /* Operations param */
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.contents ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $operation.alpha.contents:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/ }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass" }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
-
-
-    [ $operation.alpha.operation_with_metadata ... ]
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $error:
-      /* ... FIXME ... */
-      any
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation.alpha.internal_operation_result:
-      { "kind": "reveal",
-        "source": $contract_id,
-        "nonce": integer ∈ [0, 2^16-1],
-        "public_key":
-          string
-          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-        "result": $operation.alpha.operation_result.reveal }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "result": $operation.alpha.operation_result.transaction }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "result": $operation.alpha.operation_result.origination }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "result": $operation.alpha.operation_result.delegation }
-    $operation.alpha.operation_contents_and_result:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
-        "metadata":
-          { "delegate":
-              string
-              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-            "slots": [ integer ∈ [0, 255] ... ] } }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
-           "metadata": {  } }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-    $operation.alpha.operation_result.delegation:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.origination:
-      { "status": "applied",
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.reveal:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.transaction:
-      { "status": "applied",
-        "storage"?: $micheline.michelson_v1.expression,
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_with_metadata:
-      { "contents": [ $operation.alpha.operation_contents_and_result ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $operation_metadata.alpha.balance_updates:
-      [ { "kind": "contract",
-          "contract": $contract_id,
-          "credited":
-            /* Amount in mutez */
-            integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "contract",
-             "contract": $contract_id,
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - -.. _POST_..--block_id--helpers--scripts--hash_data : - -**POST ..//helpers/scripts/hash_data** - -.. raw:: html - -
- - -
-

- Computes the hash of some data expression using the same algorithm as script instruction H

-
-
-
-    { "data": $micheline.michelson_v1.expression,
-      "type": $micheline.michelson_v1.expression,
-      "gas"?: $bignum }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
-
-
-    { "hash": string,
-      "gas": $bignum || "unaccounted" }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
- - - -.. _POST_..--block_id--helpers--scripts--run_code : - -**POST ..//helpers/scripts/run_code** - -.. raw:: html - -
- - -
-

- Run a piece of code in the current context

-
-
-
-    { "script": $micheline.michelson_v1.expression,
-      "storage": $micheline.michelson_v1.expression,
-      "input": $micheline.michelson_v1.expression,
-      "amount": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-      "contract": $contract_id }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $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. */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
-
-
-    { "storage": $micheline.michelson_v1.expression,
-      "operations": [ $operation.alpha.internal_operation ... ],
-      "big_map_diff"?:
-        [ [ string, $micheline.michelson_v1.expression || null ] ... ] }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $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. */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation.alpha.internal_operation:
-      { "source": $contract_id,
-        "nonce": integer ∈ [0, 2^16-1],
-        "kind": "reveal",
-        "public_key":
-          string
-          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
-      || { "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "transaction",
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression }
-      || { "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "origination",
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression } }
-      || { "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "delegation",
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
-
- - - -.. _POST_..--block_id--helpers--scripts--trace_code : - -**POST ..//helpers/scripts/trace_code** - -.. raw:: html - -
- - -
-

- Run a piece of code in the current context, keeping a trace

-
-
-
-    { "script": $micheline.michelson_v1.expression,
-      "storage": $micheline.michelson_v1.expression,
-      "input": $micheline.michelson_v1.expression,
-      "amount": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-      "contract": $contract_id }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $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. */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
-
-
-    { "storage": $micheline.michelson_v1.expression,
-      "operations": [ $operation.alpha.internal_operation ... ],
-      "trace":
-        [ { "location": $micheline.location,
-            "gas": $bignum || "unaccounted",
-            "stack": [ $micheline.michelson_v1.expression ... ] } ... ],
-      "big_map_diff"?:
-        [ [ string, $micheline.michelson_v1.expression || null ] ... ] }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $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. */
-      string
-    $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, 2^30+2]
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation.alpha.internal_operation:
-      { "source": $contract_id,
-        "nonce": integer ∈ [0, 2^16-1],
-        "kind": "reveal",
-        "public_key":
-          string
-          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
-      || { "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "transaction",
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression }
-      || { "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "origination",
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression } }
-      || { "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "kind": "delegation",
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
-
- - - -.. _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.michelson_v1.expression,
-      "gas"?: $bignum }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
-
-
-    { "type_map":
-        [ { "location": $micheline.location,
-            "stack_before": [ $micheline.michelson_v1.expression ... ],
-            "stack_after": [ $micheline.michelson_v1.expression ... ] } ... ],
-      "gas": $bignum || "unaccounted" }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $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, 2^30+2]
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
- - - -.. _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.michelson_v1.expression,
-      "type": $micheline.michelson_v1.expression,
-      "gas"?: $bignum }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-
-
-
-    { "gas": $bignum || "unaccounted" }
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-
- - - -.. _GET_..--block_id--metadata : - -**GET ..//metadata** - -.. raw:: html - -
- -
- - - -.. _GET_..--block_id--metadata--max_block_header_length : - -**GET ..//metadata/max_block_header_length** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--metadata--max_operation_data_length : - -**GET ..//metadata/max_operation_data_length** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--metadata--max_operations_ttl : - -**GET ..//metadata/max_operations_ttl** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--metadata--next_protocol_hash : - -**GET ..//metadata/next_protocol_hash** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--metadata--operation_list_quota : - -**GET ..//metadata/operation_list_quota** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--metadata--protocol_data : - -**GET ..//metadata/protocol_data** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--metadata--protocol_hash : - -**GET ..//metadata/protocol_hash** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--metadata--test_chain_status : - -**GET ..//metadata/test_chain_status** - -.. raw:: html - -
- -
- - - - -.. _GET_..--block_id--operation_hashes : - -**GET ..//operation_hashes** - -.. raw:: html - -
- -
-

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

-
-
-
-    [ [ string
-    /* A Tezos operation ID (Base58Check-encoded) */ ... ] ... ]
-
- - -.. _GET_..--block_id--operation_hashes--list_offset : - -**GET ..//operation_hashes/** - -.. raw:: html - -
- -
-

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

-
-
-
-    [ string
-    /* A Tezos operation ID (Base58Check-encoded) */ ... ]
-
- - -.. _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.

-
-
-
-    string
-    /* A Tezos operation ID (Base58Check-encoded) */
-
- - - -.. _GET_..--block_id--operations : - -**GET ..//operations** - -.. raw:: html - -
- -
-

- All the operations included in the block.

-
-
-
-    [ [ $operation ... ] ... ]
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $error:
-      /* ... FIXME ... */
-      any
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation:
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "chain_id": string /* Network identifier (Base58Check-encoded) */,
-        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-        "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.operation_contents_and_result ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $operation.alpha.internal_operation_result:
-      { "kind": "reveal",
-        "source": $contract_id,
-        "nonce": integer ∈ [0, 2^16-1],
-        "public_key":
-          string
-          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-        "result": $operation.alpha.operation_result.reveal }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "result": $operation.alpha.operation_result.transaction }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "result": $operation.alpha.operation_result.origination }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "result": $operation.alpha.operation_result.delegation }
-    $operation.alpha.operation_contents_and_result:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
-        "metadata":
-          { "delegate":
-              string
-              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-            "slots": [ integer ∈ [0, 255] ... ] } }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
-           "metadata": {  } }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-    $operation.alpha.operation_result.delegation:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.origination:
-      { "status": "applied",
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.reveal:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.transaction:
-      { "status": "applied",
-        "storage"?: $micheline.michelson_v1.expression,
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation_metadata.alpha.balance_updates:
-      [ { "kind": "contract",
-          "contract": $contract_id,
-          "credited":
-            /* Amount in mutez */
-            integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "contract",
-             "contract": $contract_id,
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_..--block_id--operations--list_offset : - -**GET ..//operations/** - -.. raw:: html - -
- -
-

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

-
-
-
-    [ $operation ... ]
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $error:
-      /* ... FIXME ... */
-      any
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation:
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "chain_id": string /* Network identifier (Base58Check-encoded) */,
-        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-        "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.operation_contents_and_result ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $operation.alpha.internal_operation_result:
-      { "kind": "reveal",
-        "source": $contract_id,
-        "nonce": integer ∈ [0, 2^16-1],
-        "public_key":
-          string
-          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-        "result": $operation.alpha.operation_result.reveal }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "result": $operation.alpha.operation_result.transaction }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "result": $operation.alpha.operation_result.origination }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "result": $operation.alpha.operation_result.delegation }
-    $operation.alpha.operation_contents_and_result:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
-        "metadata":
-          { "delegate":
-              string
-              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-            "slots": [ integer ∈ [0, 255] ... ] } }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
-           "metadata": {  } }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-    $operation.alpha.operation_result.delegation:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.origination:
-      { "status": "applied",
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.reveal:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.transaction:
-      { "status": "applied",
-        "storage"?: $micheline.michelson_v1.expression,
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation_metadata.alpha.balance_updates:
-      [ { "kind": "contract",
-          "contract": $contract_id,
-          "credited":
-            /* Amount in mutez */
-            integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "contract",
-             "contract": $contract_id,
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - -.. _GET_..--block_id--operations--list_offset--operation_offset : - -**GET ..//operations//** - -.. raw:: html - -
- -
-

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

-
-
-
-    $operation
-    $bignum:
-      /* Big number
-         Decimal representation of a big number */
-      string
-    $block_header.alpha.full_header:
-      { "level": integer ∈ [-2^31-2, 2^31+2],
-        "proto": integer ∈ [0, 255],
-        "predecessor": string /* A block identifier (Base58Check-encoded) */,
-        "timestamp":
-          /* timestamp */
-          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
-        "validation_pass": integer ∈ [0, 255],
-        "operations_hash":
-          string
-          /* A list of list of operations (Base58Check-encoded) */,
-        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
-        "context": string /* A hash of context (Base58Check-encoded) */,
-        "priority": integer ∈ [0, 2^16-1],
-        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
-        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
-        "signature":
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $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. */
-      string
-    $error:
-      /* ... FIXME ... */
-      any
-    $micheline.michelson_v1.expression:
-      /* Micheline expression (michelson_v1 variant) */
-      { "int": $bignum }
-      || { "string": string }
-      || [ $micheline.michelson_v1.expression ... ]
-      || { "prim":
-             "CAR"
-             | "LSR"
-             | "ADDRESS"
-             | "CREATE_CONTRACT"
-             | "LSL"
-             | "MANAGER"
-             | "Elt"
-             | "EDIV"
-             | "OR"
-             | "address"
-             | "operation"
-             | "ADD"
-             | "AMOUNT"
-             | "ISNAT"
-             | "list"
-             | "NEG"
-             | "LOOP_LEFT"
-             | "EMPTY_MAP"
-             | "H"
-             | "unit"
-             | "SELF"
-             | "Right"
-             | "set"
-             | "LAMBDA"
-             | "MEM"
-             | "ITER"
-             | "storage"
-             | "CONTRACT"
-             | "CONS"
-             | "XOR"
-             | "STEPS_TO_QUOTA"
-             | "False"
-             | "AND"
-             | "CREATE_ACCOUNT"
-             | "COMPARE"
-             | "or"
-             | "GE"
-             | "UPDATE"
-             | "NEQ"
-             | "SOURCE"
-             | "int"
-             | "timestamp"
-             | "IMPLICIT_ACCOUNT"
-             | "string"
-             | "Unit"
-             | "Some"
-             | "ABS"
-             | "PAIR"
-             | "LT"
-             | "CDR"
-             | "EMPTY_SET"
-             | "BALANCE"
-             | "map"
-             | "IF"
-             | "SOME"
-             | "MUL"
-             | "NOT"
-             | "NONE"
-             | "None"
-             | "DIP"
-             | "GT"
-             | "NOW"
-             | "key_hash"
-             | "NIL"
-             | "contract"
-             | "EXEC"
-             | "SET_DELEGATE"
-             | "UNIT"
-             | "LOOP"
-             | "SUB"
-             | "CONCAT"
-             | "DROP"
-             | "MAP"
-             | "RIGHT"
-             | "LEFT"
-             | "TRANSFER_TOKENS"
-             | "INT"
-             | "Left"
-             | "big_map"
-             | "signature"
-             | "SWAP"
-             | "mutez"
-             | "EQ"
-             | "GET"
-             | "PUSH"
-             | "option"
-             | "IF_CONS"
-             | "pair"
-             | "nat"
-             | "True"
-             | "IF_LEFT"
-             | "parameter"
-             | "LE"
-             | "HASH_KEY"
-             | "SIZE"
-             | "bool"
-             | "Pair"
-             | "lambda"
-             | "FAIL"
-             | "DUP"
-             | "IF_NONE"
-             | "key"
-             | "code"
-             | "CHECK_SIGNATURE",
-           "args": [ $micheline.michelson_v1.expression ... ],
-           "annot"?: string }
-    $operation:
-      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
-        "chain_id": string /* Network identifier (Base58Check-encoded) */,
-        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
-        "branch": string /* A block identifier (Base58Check-encoded) */,
-        "contents": [ $operation.alpha.operation_contents_and_result ... ],
-        "signature"?:
-          string
-          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
-    $operation.alpha.internal_operation_result:
-      { "kind": "reveal",
-        "source": $contract_id,
-        "nonce": integer ∈ [0, 2^16-1],
-        "public_key":
-          string
-          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-        "result": $operation.alpha.operation_result.reveal }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "result": $operation.alpha.operation_result.transaction }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "result": $operation.alpha.operation_result.origination }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "nonce": integer ∈ [0, 2^16-1],
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "result": $operation.alpha.operation_result.delegation }
-    $operation.alpha.operation_contents_and_result:
-      { "kind": "endorsement",
-        "block": string /* A block identifier (Base58Check-encoded) */,
-        "level": integer ∈ [-2^31-2, 2^31+2],
-        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
-        "metadata":
-          { "delegate":
-              string
-              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-            "slots": [ integer ∈ [0, 255] ... ] } }
-      || { "kind": "seed_nonce_revelation",
-           "level": integer ∈ [-2^31-2, 2^31+2],
-           "nonce": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_endorsement_evidence",
-           "op1":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "op2":
-             { "branch": string /* A block identifier (Base58Check-encoded) */,
-               "operations":
-                 { "kind": "endorsement",
-                   "block":
-                     string
-                     /* A block identifier (Base58Check-encoded) */,
-                   "level": integer ∈ [-2^31-2, 2^31+2],
-                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
-               "signature"?:
-                 string
-                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "double_baking_evidence",
-           "bh1": $block_header.alpha.full_header,
-           "bh2": $block_header.alpha.full_header,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "activate_account",
-           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
-           "secret": /^[a-zA-Z0-9]+$/,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates } }
-      || { "kind": "proposals",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposals":
-             [ string
-             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
-           "metadata": {  } }
-      || { "kind": "ballot",
-           "source":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "period": integer ∈ [-2^31-2, 2^31+2],
-           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "ballot": "nay" | "yay" | "pass",
-           "metadata": {  } }
-      || { "kind": "reveal",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "public_key":
-             string
-             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.reveal,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "transaction",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "amount":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "destination": $contract_id,
-           "parameters"?: $micheline.michelson_v1.expression,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.transaction,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "origination",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "manager_pubkey":
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "balance":
-             /* Amount in mutez */
-             integer ∈ [-2^31-2, 2^31+2] || string,
-           "spendable"?: boolean,
-           "delegatable"?: boolean,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "script"?:
-             { "code": $micheline.michelson_v1.expression,
-               "storage": $micheline.michelson_v1.expression },
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result":
-                 $operation.alpha.operation_result.origination,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "delegation",
-           "source": $contract_id,
-           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
-           "counter": integer ∈ [-2^31-2, 2^31+2],
-           "gas_limit": $bignum,
-           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
-           "delegate"?:
-             string
-             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-           "metadata":
-             { "balance_updates": $operation_metadata.alpha.balance_updates,
-               "operation_result": $operation.alpha.operation_result.delegation,
-               "internal_operation_results"?:
-                 [ $operation.alpha.internal_operation_result ... ] } }
-      || { "kind": "activate_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-      || { "kind": "activate_test_protocol",
-           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
-           "metadata": {  } }
-    $operation.alpha.operation_result.delegation:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.origination:
-      { "status": "applied",
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.reveal:
-      { "status": "applied" }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation.alpha.operation_result.transaction:
-      { "status": "applied",
-        "storage"?: $micheline.michelson_v1.expression,
-        "balance_updates"?: $operation_metadata.alpha.balance_updates,
-        "originated_contracts"?: [ $contract_id ... ],
-        "consumed_gas"?: $bignum,
-        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
-      || { "status": "failed",
-           "errors": [ $error ... ] }
-      || { "status": "skipped" }
-    $operation_metadata.alpha.balance_updates:
-      [ { "kind": "contract",
-          "contract": $contract_id,
-          "credited":
-            /* Amount in mutez */
-            integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "contract",
-             "contract": $contract_id,
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "rewards",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "fees",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "credited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string }
-        || { "kind": "freezer",
-             "category": "deposits",
-             "delegate":
-               string
-               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
-             "level": integer ∈ [-2^31-2, 2^31+2],
-             "debited":
-               /* Amount in mutez */
-               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
-    $timestamp:
-      /* RFC 3339 formatted timestamp
-         A date in human readble form as specified in RFC 3339. */
-      string
-
- - - - diff --git a/docs/doc_gen/p2p_doc.ml b/docs/doc_gen/p2p_doc.ml index 0e13a41b5..8925b2e71 100644 --- a/docs/doc_gen/p2p_doc.ml +++ b/docs/doc_gen/p2p_doc.ml @@ -43,11 +43,11 @@ let main _node = Format.printf "@\n" ; (* Data *) Format.printf "%a@\n@\n%a@\n@." - Rst.pp_h1 "Block header (shell)" + Rst.pp_h2 "Block header (shell)" Data_encoding.Binary_schema.pp (Data_encoding.Binary.describe Block_header.encoding) ; Format.printf "%a@\n@\n%a@\n@." - Rst.pp_h1 "Operation (shell)" + Rst.pp_h2 "Operation (shell)" Data_encoding.Binary_schema.pp (Data_encoding.Binary.describe Operation.encoding) ; List.iter @@ -55,11 +55,11 @@ let main _node = let hash = Protocol_hash.of_b58check_exn hash in let (module Proto) = Registered_protocol.get_exn hash in Format.printf "%a@\n@\n%a@\n@." - Rst.pp_h1 "Block_header (alpha-specific)" + Rst.pp_h2 "Block_header (alpha-specific)" Data_encoding.Binary_schema.pp (Data_encoding.Binary.describe Proto.block_header_data_encoding) ; Format.printf "%a@\n@\n%a@\n@." - Rst.pp_h1 "Operation (alpha-specific)" + Rst.pp_h2 "Operation (alpha-specific)" Data_encoding.Binary_schema.pp (Data_encoding.Binary.describe Proto.operation_data_encoding) ; ) diff --git a/docs/index.rst b/docs/index.rst index 866a7e1b2..3d0c71a79 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -149,6 +149,7 @@ in the :ref:`introduction `. api/cli-commands api/rpc api/errors + api/p2p Indices and tables ================== diff --git a/docs/tutorials/rpc.rst b/docs/tutorials/rpc.rst index 671aded6d..686d03f51 100644 --- a/docs/tutorials/rpc.rst +++ b/docs/tutorials/rpc.rst @@ -48,9 +48,6 @@ simple HTTP request: An online :ref:`index ` of RPC calls is also available. -The changes made in June 2018 for pre-Betanet are recapitulated in -:ref:`this page`. - The general call of an RPC from the client is ``tezos-admin-client rpc (get|post) ``.