「RPC API」の版間の差分

提供: tezos-wiki
移動先: 案内検索
(ページの作成:「.. raw:: html <style>.tab {overflow: hidden;border: 1px solid #ccc;background-color: #f1f1f1;}.tab button {background-color: inherit;float: left;border: none;outline: no...」)
 
(内容を「http://doc.tzalpha.net/api/rpc.html」で置換)
 
1行目: 1行目:
.. raw:: html
+
http://doc.tzalpha.net/api/rpc.html
 
 
<style>.tab {overflow: hidden;border: 1px solid #ccc;background-color: #f1f1f1;}.tab button {background-color: inherit;float: left;border: none;outline: none;cursor: pointer;padding: 5px 10px;}.tab button:hover {background-color: #ddd;}.tab button.active {background-color: #ccc;}.tabcontent {display: none;padding: 6px 12px;border: 1px solid #ccc;border-top: none;margin-bottom: 20px;}pre {font-size: 12px}</style>
 
.. raw:: html
 
 
 
<script>function showTab(elt, tab, ref) {var i, tabcontent, tablinks;tabcontent = document.getElementsByClassName(ref);for (i = 0; i < tabcontent.length; i++) {tabcontent[i].style.display = 'none';}tablinks = elt.parentNode.children;for (i = 0; i < tablinks.length; i++) {tablinks[i].className = tablinks[i].className.replace(' active', '');}document.getElementById(tab).style.display = 'block';elt.className += ' active';}document.addEventListener('DOMContentLoaded', function(){var a = document.getElementsByClassName('defaultOpen');for (i = 0; i < a.length; i++) { a[i].click() }})</script>
 
RPC API #######
 
 
 
This document contains the list of RPC services provided by the Tezos node. It is generated from the OCaml source code (master branch).
 
 
 
Usage *****
 
 
 
In order to interact with a Tezos node, you may use RPC calls through the client using this command <code>tezos-admin-client rpc call &lt;url&gt;</code>.
 
 
 
For instance, if you wish to request the current balance of a given block and contract, you can call the associated RPC via the command : <code>$ tezos-admin-client rpc call /blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/balance</code>.
 
 
 
A RPC may takes an ''input'' and generates an ''output'' both in JSON format. For example, the previous RPC call, that does not require an input, would display on the standard output : <code>{ &quot;balance&quot;: &quot;4000000000000&quot; }</code>. When calling a RPC that requires an input through command-line, you will be prompted to provide the JSON input in your default configured text editor. Alternatively, you can provide the JSON input using command <code>$ tezos-admin-client rpc call &lt;url&gt; with &lt;JSON&gt;</code>. Don't forget to quote the JSON according to your shell rules.
 
 
 
You can also obtain the list of RPCs on the command line with <code>tezos-admin-client rpc list /</code>, and the description of each service using <code>tezos-admin-client rpc format &lt;url&gt;</code>.
 
 
 
Of course, you can use your standard HTTP tool or library as well to perform all these tasks.
 
 
 
Client RPCs - Index *******************
 
 
 
.. raw:: html
 
 
 
<style>#client-rpcs-index * { margin-bottom:0px }#client-rpcs-index > *:last-child { margin-bottom:15px }#client-rpcs-index > h2 { margin-bottom:15px}</style>
 
<code>/blocks &lt;ref2_&gt;</code>_
 
 
 
<pre>`/blocks/&lt;block_id&gt; &lt;ref3_&gt;`_
 
   
 
    `/blocks/&lt;block_id&gt;/chain_id &lt;ref4_&gt;`_
 
       
 
    \/blocks/&lt;block_id&gt;/complete
 
     
 
      `/blocks/&lt;block_id&gt;/complete/&lt;prefix&gt; &lt;ref5_&gt;`_
 
         
 
    `/blocks/&lt;block_id&gt;/fitness &lt;ref6_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/hash &lt;ref7_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/level &lt;ref8_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/operations &lt;ref9_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/preapply &lt;ref10_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/predecessor &lt;ref11_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/predecessors &lt;ref12_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/proto &lt;ref13_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/protocol &lt;ref14_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/raw_context &lt;ref15_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/test_chain &lt;ref16_&gt;`_
 
       
 
    `/blocks/&lt;block_id&gt;/timestamp &lt;ref17_&gt;`_
 
        </pre>
 
<code>/bootstrapped &lt;ref18_&gt;</code>_
 
 
 
/complete
 
 
 
<code>/complete/&lt;prefix&gt; &lt;ref19_&gt;</code>_
 
 
 
<code>/errors &lt;ref20_&gt;</code>_
 
 
 
<code>/forge_block_header &lt;ref21_&gt;</code>_
 
 
 
<code>/inject_block &lt;ref22_&gt;</code>_
 
 
 
<code>/inject_operation &lt;ref23_&gt;</code>_
 
 
 
<code>/inject_protocol &lt;ref24_&gt;</code>_
 
 
 
<code>/invalid_blocks &lt;ref25_&gt;</code>_
 
 
 
<pre>\/invalid_blocks/&lt;Block_hash&gt;
 
 
 
  `/invalid_blocks/&lt;Block_hash&gt;/unmark &lt;ref26_&gt;`_
 
      </pre>
 
/mempool
 
 
 
<code>/mempool/pending_operations &lt;ref27_&gt;</code>_
 
 
 
/networks
 
 
 
<code>/networks/point &lt;ref28_&gt;</code>_
 
 
 
/p2p
 
 
 
/p2p/connect
 
 
 
<pre>`/p2p/connect/&lt;point&gt; &lt;ref29_&gt;`_
 
    </pre>
 
<code>/p2p/connections &lt;ref30_&gt;</code>_
 
 
 
<pre>  `/p2p/connections/&lt;Crypto_box.Public_key_hash&gt; &lt;ref31_&gt;`_
 
     
 
      `/p2p/connections/&lt;Crypto_box.Public_key_hash&gt;/kick &lt;ref32_&gt;`_
 
          </pre>
 
<code>/p2p/log &lt;ref33_&gt;</code>_
 
 
 
<code>/p2p/peers &lt;ref34_&gt;</code>_
 
 
 
<pre>  `/p2p/peers/&lt;Crypto_box.Public_key_hash&gt; &lt;ref35_&gt;`_
 
     
 
      `/p2p/peers/&lt;Crypto_box.Public_key_hash&gt;/log &lt;ref36_&gt;`_
 
          </pre>
 
/p2p/points
 
 
 
<pre>`/p2p/points/&lt;point&gt; &lt;ref37_&gt;`_
 
   
 
    `/p2p/points/&lt;point&gt;/log &lt;ref38_&gt;`_
 
        </pre>
 
<code>/p2p/stat &lt;ref39_&gt;</code>_
 
 
 
<code>/p2p/versions &lt;ref40_&gt;</code>_
 
 
 
<code>/protocols &lt;ref41_&gt;</code>_
 
 
 
<pre>`/protocols/&lt;Protocol_hash&gt; &lt;ref42_&gt;`_
 
    </pre>
 
/workers
 
 
 
<code>/workers/block_validator &lt;ref43_&gt;</code>_
 
 
 
<code>/workers/chain_validators &lt;ref44_&gt;</code>_
 
 
 
<pre>  `/workers/chain_validators/&lt;chain_id&gt; &lt;ref45_&gt;`_
 
      </pre>
 
/workers/peer_validators
 
 
 
<pre>`/workers/peer_validators/&lt;chain_id&gt; &lt;ref46_&gt;`_
 
   
 
    `/workers/peer_validators/&lt;chain_id&gt;/&lt;peer_id&gt; &lt;ref47_&gt;`_
 
        </pre>
 
<code>/workers/prevalidators &lt;ref48_&gt;</code>_
 
 
 
<pre>  `/workers/prevalidators/&lt;Chain_id&gt; &lt;ref49_&gt;`_
 
      </pre>
 
Client RPCs - Full description ******************************
 
 
 
.. _ref2 :
 
 
 
'''POST /blocks'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref2descr', 'ref2')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref2input', 'ref2')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref2output', 'ref2')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref2descr" class="ref2 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
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.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref2input" class="ref2 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;include_ops&quot;?:
 
    boolean
 
    /* Whether the resulting block informations should include the list
 
      of operations' hashes. Default false. */,
 
  &quot;length&quot;?:
 
    integer ∈ ]-2^30-2, 2^30+2[
 
    /* The requested number of predecessors to returns (per requested
 
      head). */,
 
  &quot;heads&quot;?:
 
    [ string
 
    /* A Tezos block ID (Base58Check-encoded) */ ... ]
 
    /* An empty argument requests blocks from the current heads. A non
 
      empty list allow to request specific fragment of the chain. */,
 
  &quot;monitor&quot;?:
 
    boolean
 
    /* When true, the socket is &quot;kept alive&quot; after the first answer and
 
      new heads are streamed when discovered. */,
 
  &quot;delay&quot;?:
 
    integer ∈ ]-2^30-2, 2^30+2[
 
    /* By default only the blocks that were validated by the node are
 
      considered. When this optional argument is 0, only blocks with a
 
      timestamp in the past are considered. Other values allows to
 
      adjust the current time. */,
 
  &quot;min_date&quot;?:
 
    /* When `min_date` is provided, heads with a timestamp before
 
      `min_date` are filtered ouf */
 
    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;min_heads&quot;?:
 
    integer ∈ ]-2^30-2, 2^30+2[
 
    /* When `min_date` is provided, returns at least `min_heads` even
 
      when their timestamp is before `min_date`. */ }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref2output" class="ref2 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;blocks&quot;:
 
    [ [ { &quot;hash&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;chain_id&quot;:
 
            string
 
            /* Network identifier (Base58Check-encoded) */,
 
          &quot;operations&quot;?:
 
            [ [ { &quot;hash&quot;:
 
                    string
 
                    /* A Tezos operation ID (Base58Check-encoded) */,
 
                  &quot;branch&quot;:
 
                    string
 
                    /* A Tezos block ID (Base58Check-encoded) */,
 
                  &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ] ... ],
 
          &quot;protocol&quot;:
 
            string
 
            /* A Tezos protocol ID (Base58Check-encoded) */,
 
          &quot;test_chain&quot;?:
 
            { &quot;status&quot;: &quot;not_running&quot; }
 
            || { &quot;status&quot;: &quot;forking&quot;,
 
                &quot;protocol&quot;:
 
                  string
 
                  /* A Tezos protocol ID (Base58Check-encoded) */,
 
                &quot;expiration&quot;:
 
                  $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
            || { &quot;status&quot;: &quot;running&quot;,
 
                &quot;chain_id&quot;:
 
                  string
 
                  /* Network identifier (Base58Check-encoded) */,
 
                &quot;genesis&quot;:
 
                  string
 
                  /* A Tezos block ID (Base58Check-encoded) */,
 
                &quot;protocol&quot;:
 
                  string
 
                  /* A Tezos protocol ID (Base58Check-encoded) */,
 
                &quot;expiration&quot;:
 
                  $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string },
 
          &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
          &quot;proto&quot;: integer ∈ ]0, 255[,
 
          &quot;predecessor&quot;:
 
            string
 
            /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;timestamp&quot;:
 
            $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
          &quot;operations_hash&quot;:
 
            string
 
            /* A list of list of operations (Base58Check-encoded) */,
 
          &quot;fitness&quot;: [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
 
          &quot;context&quot;: string /* A hash of context (Base58Check-encoded) */,
 
          &quot;protocol_data&quot;: /^[a-zA-Z0-9]+$/ } ... ] ... ] }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref3 :
 
 
 
'''POST /blocks/<block_id>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref3descr', 'ref3')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref3input', 'ref3')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref3output', 'ref3')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref3descr" class="ref3 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
All the information about a block.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref3input" class="ref3 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;operations&quot;?: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref3output" class="ref3 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;hash&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;chain_id&quot;: string /* Network identifier (Base58Check-encoded) */,
 
  &quot;operations&quot;?:
 
    [ [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
          &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ] ... ],
 
  &quot;protocol&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
  &quot;test_chain&quot;?:
 
    { &quot;status&quot;: &quot;not_running&quot; }
 
    || { &quot;status&quot;: &quot;forking&quot;,
 
        &quot;protocol&quot;:
 
          string
 
          /* A Tezos protocol ID (Base58Check-encoded) */,
 
        &quot;expiration&quot;:
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;status&quot;: &quot;running&quot;,
 
        &quot;chain_id&quot;:
 
          string
 
          /* Network identifier (Base58Check-encoded) */,
 
        &quot;genesis&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;protocol&quot;:
 
          string
 
          /* A Tezos protocol ID (Base58Check-encoded) */,
 
        &quot;expiration&quot;:
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string },
 
  &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;proto&quot;: integer ∈ ]0, 255[,
 
  &quot;predecessor&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;timestamp&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
  &quot;operations_hash&quot;:
 
    string
 
    /* A list of list of operations (Base58Check-encoded) */,
 
  &quot;fitness&quot;: [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
 
  &quot;context&quot;: string /* A hash of context (Base58Check-encoded) */,
 
  &quot;protocol_data&quot;: /^[a-zA-Z0-9]+$/ }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref4 :
 
 
 
'''POST /blocks/<block_id>/chain_id'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref4descr', 'ref4')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref4output', 'ref4')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref4descr" class="ref4 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the chain in which the block belongs.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref4output" class="ref4 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;chain_id&quot;: string /* Network identifier (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref5 :
 
 
 
'''POST /blocks/<block_id>/complete/<prefix>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref5descr', 'ref5')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref5output', 'ref5')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref5descr" class="ref5 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
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.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref5output" class="ref5 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ string ... ]&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref6 :
 
 
 
'''POST /blocks/<block_id>/fitness'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref6descr', 'ref6')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref6output', 'ref6')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref6descr" class="ref6 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the block's fitness.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref6output" class="ref6 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;fitness&quot;: [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref7 :
 
 
 
'''POST /blocks/<block_id>/hash'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref7descr', 'ref7')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref7output', 'ref7')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref7descr" class="ref7 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the block's id.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref7output" class="ref7 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;hash&quot;: string /* A Tezos block ID (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref8 :
 
 
 
'''POST /blocks/<block_id>/level'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref8descr', 'ref8')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref8output', 'ref8')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref8descr" class="ref8 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the block's level.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref8output" class="ref8 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref9 :
 
 
 
'''POST /blocks/<block_id>/operations'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref9descr', 'ref9')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref9input', 'ref9')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref9output', 'ref9')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref9descr" class="ref9 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List the block operations.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref9input" class="ref9 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;contents&quot;?: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref9output" class="ref9 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;operations&quot;:
 
    [ [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
          &quot;contents&quot;?:
 
            { &quot;branch&quot;:
 
                string
 
                /* A Tezos block ID (Base58Check-encoded) */,
 
              &quot;data&quot;: /^[a-zA-Z0-9]+$/ } } ... ] ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref10 :
 
 
 
'''POST /blocks/<block_id>/preapply'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref10descr', 'ref10')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref10input', 'ref10')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref10output', 'ref10')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref10descr" class="ref10 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Simulate the validation of a block that would contain the given operations and return the resulting fitness.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref10input" class="ref10 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;timestamp&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;protocol_data&quot;: /^[a-zA-Z0-9]+$/,
 
  &quot;operations&quot;:
 
    [ [ { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ] ... ],
 
  &quot;sort_operations&quot;?: boolean }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref10output" class="ref10 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;shell_header&quot;:
 
    { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;proto&quot;: integer ∈ ]0, 255[,
 
      &quot;predecessor&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;timestamp&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
      &quot;operations_hash&quot;:
 
        string
 
        /* A list of list of operations (Base58Check-encoded) */,
 
      &quot;fitness&quot;: [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
 
      &quot;context&quot;: string /* A hash of context (Base58Check-encoded) */ },
 
  &quot;operations&quot;:
 
    [ { &quot;applied&quot;:
 
          [ { &quot;hash&quot;:
 
                string
 
                /* A Tezos operation ID (Base58Check-encoded) */,
 
              &quot;branch&quot;:
 
                string
 
                /* A Tezos block ID (Base58Check-encoded) */,
 
              &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ],
 
        &quot;refused&quot;:
 
          [ { &quot;hash&quot;:
 
                string
 
                /* A Tezos operation ID (Base58Check-encoded) */,
 
              &quot;branch&quot;:
 
                string
 
                /* A Tezos block ID (Base58Check-encoded) */,
 
              &quot;data&quot;: /^[a-zA-Z0-9]+$/,
 
              &quot;error&quot;:
 
                any
 
                /* The full list of error is available with the global
 
                  RPC `POST errors` */ } ... ],
 
        &quot;branch_refused&quot;:
 
          [ { &quot;hash&quot;:
 
                string
 
                /* A Tezos operation ID (Base58Check-encoded) */,
 
              &quot;branch&quot;:
 
                string
 
                /* A Tezos block ID (Base58Check-encoded) */,
 
              &quot;data&quot;: /^[a-zA-Z0-9]+$/,
 
              &quot;error&quot;:
 
                any
 
                /* The full list of error is available with the global
 
                  RPC `POST errors` */ } ... ],
 
        &quot;branch_delayed&quot;:
 
          [ { &quot;hash&quot;:
 
                string
 
                /* A Tezos operation ID (Base58Check-encoded) */,
 
              &quot;branch&quot;:
 
                string
 
                /* A Tezos block ID (Base58Check-encoded) */,
 
              &quot;data&quot;: /^[a-zA-Z0-9]+$/,
 
              &quot;error&quot;:
 
                any
 
                /* The full list of error is available with the global
 
                  RPC `POST errors` */ } ... ] } ... ] }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref11 :
 
 
 
'''POST /blocks/<block_id>/predecessor'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref11descr', 'ref11')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref11output', 'ref11')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref11descr" class="ref11 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the previous block's id.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref11output" class="ref11 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;predecessor&quot;: string /* A Tezos block ID (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref12 :
 
 
 
'''POST /blocks/<block_id>/predecessors'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref12descr', 'ref12')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref12input', 'ref12')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref12output', 'ref12')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref12descr" class="ref12 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
....&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref12input" class="ref12 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;length&quot;: integer ∈ ]0, 2^16-1[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref12output" class="ref12 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;blocks&quot;: [ string /* A Tezos block ID (Base58Check-encoded) */ ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref13 :
 
 
 
'''POST /blocks/<block_id>/proto'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref13descr', 'ref13')&quot;&gt;Description&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref13descr" class="ref13 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
All the RPCs which are specific to the protocol version.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
.. _ref14 :
 
 
 
'''POST /blocks/<block_id>/protocol'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref14descr', 'ref14')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref14output', 'ref14')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref14descr" class="ref14 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List the block protocol.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref14output" class="ref14 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;protocol&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref15 :
 
 
 
'''POST /blocks/<block_id>/raw_context'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref15descr', 'ref15')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref15output', 'ref15')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref15descr" class="ref15 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the raw context.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref15output" class="ref15 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;content&quot;: $context_tree }
 
$context_tree: /^[a-zA-Z0-9]+$/ || { *: $context_tree } || null&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref16 :
 
 
 
'''POST /blocks/<block_id>/test_chain'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref16descr', 'ref16')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref16output', 'ref16')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref16descr" class="ref16 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the status of the associated test chain.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref16output" class="ref16 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;status&quot;: &quot;not_running&quot; }
 
|| { &quot;status&quot;: &quot;forking&quot;,
 
    &quot;protocol&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
    &quot;expiration&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
|| { &quot;status&quot;: &quot;running&quot;,
 
    &quot;chain_id&quot;: string /* Network identifier (Base58Check-encoded) */,
 
    &quot;genesis&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;protocol&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
    &quot;expiration&quot;: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref17 :
 
 
 
'''POST /blocks/<block_id>/timestamp'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref17descr', 'ref17')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref17output', 'ref17')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref17descr" class="ref17 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the block's timestamp.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref17output" class="ref17 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;timestamp&quot;: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref18 :
 
 
 
'''POST /bootstrapped'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref18descr', 'ref18')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref18output', 'ref18')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref18descr" class="ref18 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
No description&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref18output" class="ref18 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;timestamp&quot;: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref19 :
 
 
 
'''POST /complete/<prefix>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref19descr', 'ref19')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref19output', 'ref19')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref19descr" class="ref19 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Try to complete a prefix of a Base58Check-encoded data. This RPC is actually able to complete hashes of block and hashes of operations.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref19output" class="ref19 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ string ... ]&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref20 :
 
 
 
'''POST /errors'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref20descr', 'ref20')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref20output', 'ref20')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref20descr" class="ref20 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Schema for all the RPC errors from the shell&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref20output" class="ref20 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
any&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref21 :
 
 
 
'''POST /forge_block_header'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref21descr', 'ref21')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref21input', 'ref21')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref21output', 'ref21')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref21descr" class="ref21 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Forge a block header&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref21input" class="ref21 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;proto&quot;: integer ∈ ]0, 255[,
 
  &quot;predecessor&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;timestamp&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
  &quot;operations_hash&quot;:
 
    string
 
    /* A list of list of operations (Base58Check-encoded) */,
 
  &quot;fitness&quot;: [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
 
  &quot;context&quot;: string /* A hash of context (Base58Check-encoded) */,
 
  &quot;protocol_data&quot;: /^[a-zA-Z0-9]+$/ }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref21output" class="ref21 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;block&quot;: /^[a-zA-Z0-9]+$/ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref22 :
 
 
 
'''POST /inject_block'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref22descr', 'ref22')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref22input', 'ref22')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref22output', 'ref22')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref22descr" class="ref22 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
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/&lt;block_id&gt;/context/preapply'). Returns the ID of the block. By default, the RPC will wait for the block to be validated before answering.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref22input" class="ref22 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;data&quot;: /^[a-zA-Z0-9]+$/,
 
  &quot;blocking&quot;?:
 
    boolean
 
    /* Should the RPC wait for the block to be validated before
 
      answering. (default: true) */,
 
  &quot;force&quot;?:
 
    boolean
 
    /* Should we inject the block when its fitness is below the current
 
      head. (default: false) */,
 
  &quot;chain_id&quot;?: string /* Network identifier (Base58Check-encoded) */,
 
  &quot;operations&quot;:
 
    [ [ { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ] ... ]
 
    /* ... */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref22output" class="ref22 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;block_hash&quot;: string /* A Tezos block ID (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref23 :
 
 
 
'''POST /inject_operation'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref23descr', 'ref23')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref23input', 'ref23')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref23output', 'ref23')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref23descr" class="ref23 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
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.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref23input" class="ref23 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;signedOperationContents&quot;:
 
    /^[a-zA-Z0-9]+$/
 
    /* Tezos signed operation (hex encoded) */,
 
  &quot;blocking&quot;?:
 
    boolean
 
    /* Should the RPC wait for the operation to be (pre-)validated before
 
      answering. (default: true) */,
 
  &quot;chain_id&quot;?: string /* Network identifier (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref23output" class="ref23 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ /* Hash of the injected operation */
 
  &quot;injectedOperation&quot;:
 
    string
 
    /* A Tezos operation ID (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref24 :
 
 
 
'''POST /inject_protocol'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref24descr', 'ref24')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref24input', 'ref24')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref24output', 'ref24')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref24descr" class="ref24 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Inject a protocol in node. Returns the ID of the protocol.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref24input" class="ref24 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;protocol&quot;:
 
    { /* Tezos protocol */
 
      &quot;expected_env_version&quot;: integer ∈ ]-2^15, 2^15-1[,
 
      &quot;components&quot;:
 
        [ { &quot;name&quot;: string,
 
            &quot;interface&quot;?: /^[a-zA-Z0-9]+$/,
 
            &quot;implementation&quot;: /^[a-zA-Z0-9]+$/ } ... ] },
 
  &quot;blocking&quot;?:
 
    boolean
 
    /* Should the RPC wait for the protocol to be validated before
 
      answering. (default: true) */,
 
  &quot;force&quot;?:
 
    boolean
 
    /* Should we inject protocol that is invalid. (default: false) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref24output" class="ref24 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ /* Hash of the injected protocol */
 
  &quot;injectedProtocol&quot;:
 
    string
 
    /* A Tezos protocol ID (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref25 :
 
 
 
'''POST /invalid_blocks'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref25descr', 'ref25')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref25output', 'ref25')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref25descr" class="ref25 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Lists blocks that have been declared invalid along with the errorsthat led to them being declared invalid&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref25output" class="ref25 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;errors&quot;:
 
      any
 
      /* The full list of error is available with the global RPC `POST
 
        errors` */ } ... ]&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref26 :
 
 
 
'''POST /invalid_blocks/<Block_hash>/unmark'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref26descr', 'ref26')&quot;&gt;Description&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref26descr" class="ref26 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Unmark an invalid block&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
.. _ref27 :
 
 
 
'''POST /mempool/pending_operations'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref27descr', 'ref27')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref27output', 'ref27')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref27descr" class="ref27 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List the not-yet-prevalidated operations.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref27output" class="ref27 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;applied&quot;:
 
    [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ],
 
  &quot;refused&quot;:
 
    [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;data&quot;: /^[a-zA-Z0-9]+$/,
 
        &quot;error&quot;:
 
          any
 
          /* The full list of error is available with the global RPC
 
            `POST errors` */ } ... ],
 
  &quot;branch_refused&quot;:
 
    [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;data&quot;: /^[a-zA-Z0-9]+$/,
 
        &quot;error&quot;:
 
          any
 
          /* The full list of error is available with the global RPC
 
            `POST errors` */ } ... ],
 
  &quot;branch_delayed&quot;:
 
    [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;data&quot;: /^[a-zA-Z0-9]+$/,
 
        &quot;error&quot;:
 
          any
 
          /* The full list of error is available with the global RPC
 
            `POST errors` */ } ... ],
 
  &quot;unprocessed&quot;:
 
    [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref28 :
 
 
 
'''POST /networks/point'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref28descr', 'ref28')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref28input', 'ref28')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref28output', 'ref28')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref28descr" class="ref28 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List the pool of known `IP:port` used for establishing P2P connections .&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref28input" class="ref28 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;filter&quot;?:
 
    [ { &quot;event_kind&quot;: &quot;requested&quot; }
 
      || { &quot;event_kind&quot;: &quot;accepted&quot;,
 
          &quot;p2p_peer_id&quot;:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
      || { &quot;event_kind&quot;: &quot;running&quot;,
 
          &quot;p2p_peer_id&quot;:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
      || { &quot;event_kind&quot;: &quot;disconnected&quot; } ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref28output" class="ref28 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ [ string,
 
    { &quot;trusted&quot;: boolean,
 
      &quot;greylisted_until&quot;?:
 
        $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;state&quot;:
 
        { &quot;event_kind&quot;: &quot;requested&quot; }
 
        || { &quot;event_kind&quot;: &quot;accepted&quot;,
 
            &quot;p2p_peer_id&quot;:
 
              string
 
              /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
        || { &quot;event_kind&quot;: &quot;running&quot;,
 
            &quot;p2p_peer_id&quot;:
 
              string
 
              /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
        || { &quot;event_kind&quot;: &quot;disconnected&quot; },
 
      &quot;p2p_peer_id&quot;?:
 
        string
 
        /* A Cryptobox public key ID (Base58Check-encoded) */,
 
      &quot;last_failed_connection&quot;?:
 
        $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;last_rejected_connection&quot;?:
 
        [ string
 
          /* A Cryptobox public key ID (Base58Check-encoded) */,
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_established_connection&quot;?:
 
        [ string
 
          /* A Cryptobox public key ID (Base58Check-encoded) */,
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_disconnection&quot;?:
 
        [ string
 
          /* A Cryptobox public key ID (Base58Check-encoded) */,
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_seen&quot;?:
 
        [ string
 
          /* A Cryptobox public key ID (Base58Check-encoded) */,
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_miss&quot;?: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref29 :
 
 
 
'''POST /p2p/connect/<point>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref29descr', 'ref29')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref29input', 'ref29')&quot;&gt;Input format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref29descr" class="ref29 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Connect to a peer&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref29input" class="ref29 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;timeout&quot;?: number }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref30 :
 
 
 
'''POST /p2p/connections'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref30descr', 'ref30')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref30output', 'ref30')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref30descr" class="ref30 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List the running P2P connection.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref30output" class="ref30 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;incoming&quot;: boolean,
 
    &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */,
 
    &quot;id_point&quot;: { &quot;addr&quot;: string,
 
                  &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
    &quot;remote_socket_port&quot;: integer ∈ ]0, 2^16-1[,
 
    &quot;versions&quot;:
 
      [ { &quot;name&quot;: string,
 
          &quot;major&quot;: integer ∈ ]0, 2^16-1[,
 
          &quot;minor&quot;: integer ∈ ]0, 2^16-1[ } ... ] } ... ]&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref31 :
 
 
 
'''POST /p2p/connections/&lt;Crypto_box.Public_key_hash&gt;'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref31descr', 'ref31')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref31output', 'ref31')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref31descr" class="ref31 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Details about the current P2P connection to the given peer.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref31output" class="ref31 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;incoming&quot;: boolean,
 
  &quot;peer_id&quot;: string /* A Cryptobox public key ID (Base58Check-encoded) */,
 
  &quot;id_point&quot;: { &quot;addr&quot;: string,
 
                &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
  &quot;remote_socket_port&quot;: integer ∈ ]0, 2^16-1[,
 
  &quot;versions&quot;:
 
    [ { &quot;name&quot;: string,
 
        &quot;major&quot;: integer ∈ ]0, 2^16-1[,
 
        &quot;minor&quot;: integer ∈ ]0, 2^16-1[ } ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref32 :
 
 
 
'''POST /p2p/connections/&lt;Crypto_box.Public_key_hash&gt;/kick'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref32descr', 'ref32')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref32input', 'ref32')&quot;&gt;Input format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref32descr" class="ref32 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Forced close of the current P2P connection to the given peer.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref32input" class="ref32 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;wait&quot;: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref33 :
 
 
 
'''POST /p2p/log'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref33descr', 'ref33')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref33output', 'ref33')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref33descr" class="ref33 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Stream of all network events&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref33output" class="ref33 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;event&quot;: &quot;too_few_connections&quot; }
 
|| { &quot;event&quot;: &quot;too_many_connections&quot; }
 
|| { &quot;event&quot;: &quot;new_point&quot;,
 
    &quot;point&quot;: string }
 
|| { &quot;event&quot;: &quot;new_peer&quot;,
 
    &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;incoming_connection&quot;,
 
    &quot;point&quot;: string }
 
|| { &quot;event&quot;: &quot;outgoing_connection&quot;,
 
    &quot;point&quot;: string }
 
|| { &quot;event&quot;: &quot;authentication_failed&quot;,
 
    &quot;point&quot;: string }
 
|| { &quot;event&quot;: &quot;accepting_request&quot;,
 
    &quot;point&quot;: string,
 
    &quot;id_point&quot;: { &quot;addr&quot;: string,
 
                  &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
    &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;rejecting_request&quot;,
 
    &quot;point&quot;: string,
 
    &quot;id_point&quot;: { &quot;addr&quot;: string,
 
                  &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
    &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;request_rejected&quot;,
 
    &quot;point&quot;: string,
 
    &quot;identity&quot;?:
 
      [ { &quot;addr&quot;: string,
 
          &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
        string
 
        /* A Cryptobox public key ID (Base58Check-encoded) */ ] }
 
|| { &quot;event&quot;: &quot;connection_established&quot;,
 
    &quot;id_point&quot;: { &quot;addr&quot;: string,
 
                  &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
    &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;disconnection&quot;,
 
    &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;external_disconnection&quot;,
 
    &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;gc_points&quot; }
 
|| { &quot;event&quot;: &quot;gc_peer_ids&quot; }
 
|| { &quot;event&quot;: &quot;swap_request_received&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;swap_ack_received&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;swap_request_sent&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;swap_ack_sent&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;swap_request_ignored&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;swap_success&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
|| { &quot;event&quot;: &quot;swap_failure&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref34 :
 
 
 
'''POST /p2p/peers'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref34descr', 'ref34')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref34input', 'ref34')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref34output', 'ref34')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref34descr" class="ref34 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List the peers the node ever met.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref34input" class="ref34 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;filter&quot;?: [ &quot;running&quot; | &quot;accepted&quot; | &quot;disconnected&quot; ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref34output" class="ref34 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ [ string
 
    /* A Cryptobox public key ID (Base58Check-encoded) */,
 
    { &quot;score&quot;: number,
 
      &quot;trusted&quot;: boolean,
 
      &quot;state&quot;: &quot;running&quot; | &quot;accepted&quot; | &quot;disconnected&quot;,
 
      &quot;reachable_at&quot;?:
 
        { &quot;addr&quot;: string,
 
          &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
      &quot;stat&quot;:
 
        { &quot;total_sent&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;total_recv&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;current_inflow&quot;: integer ∈ ]-2^30-2, 2^30+2[,
 
          &quot;current_outflow&quot;: integer ∈ ]-2^30-2, 2^30+2[ },
 
      &quot;last_failed_connection&quot;?:
 
        [ { &quot;addr&quot;: string,
 
            &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_rejected_connection&quot;?:
 
        [ { &quot;addr&quot;: string,
 
            &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_established_connection&quot;?:
 
        [ { &quot;addr&quot;: string,
 
            &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_disconnection&quot;?:
 
        [ { &quot;addr&quot;: string,
 
            &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_seen&quot;?:
 
        [ { &quot;addr&quot;: string,
 
            &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
          $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
      &quot;last_miss&quot;?:
 
        [ { &quot;addr&quot;: string,
 
            &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
          $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref35 :
 
 
 
'''POST /p2p/peers/&lt;Crypto_box.Public_key_hash&gt;'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref35descr', 'ref35')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref35output', 'ref35')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref35descr" class="ref35 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Details about a given peer.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref35output" class="ref35 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;score&quot;: number,
 
  &quot;trusted&quot;: boolean,
 
  &quot;state&quot;: &quot;running&quot; | &quot;accepted&quot; | &quot;disconnected&quot;,
 
  &quot;reachable_at&quot;?: { &quot;addr&quot;: string,
 
                    &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
  &quot;stat&quot;:
 
    { &quot;total_sent&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;total_recv&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;current_inflow&quot;: integer ∈ ]-2^30-2, 2^30+2[,
 
      &quot;current_outflow&quot;: integer ∈ ]-2^30-2, 2^30+2[ },
 
  &quot;last_failed_connection&quot;?:
 
    [ { &quot;addr&quot;: string,
 
        &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_rejected_connection&quot;?:
 
    [ { &quot;addr&quot;: string,
 
        &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_established_connection&quot;?:
 
    [ { &quot;addr&quot;: string,
 
        &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_disconnection&quot;?:
 
    [ { &quot;addr&quot;: string,
 
        &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_seen&quot;?:
 
    [ { &quot;addr&quot;: string,
 
        &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_miss&quot;?:
 
    [ { &quot;addr&quot;: string,
 
        &quot;port&quot;?: integer ∈ ]0, 2^16-1[ },
 
      $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref36 :
 
 
 
'''POST /p2p/peers/&lt;Crypto_box.Public_key_hash&gt;/log'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref36descr', 'ref36')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref36input', 'ref36')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref36output', 'ref36')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref36descr" class="ref36 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Monitor network events related to a given peer.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref36input" class="ref36 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;monitor&quot;?: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref36output" class="ref36 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;kind&quot;:
 
      &quot;rejecting_request&quot;
 
      | &quot;incoming_request&quot;
 
      | &quot;disconnection&quot;
 
      | &quot;external_disconnection&quot;
 
      | &quot;connection_established&quot;
 
      | &quot;request_rejected&quot;,
 
    &quot;timestamp&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
    &quot;addr&quot;: string,
 
    &quot;port&quot;?: integer ∈ ]-2^15, 2^15-1[ } ... ]
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref37 :
 
 
 
'''POST /p2p/points/<point>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref37descr', 'ref37')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref37output', 'ref37')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref37descr" class="ref37 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Details about a given `IP:addr`.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref37output" class="ref37 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;trusted&quot;: boolean,
 
  &quot;greylisted_until&quot;?:
 
    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;state&quot;:
 
    { &quot;event_kind&quot;: &quot;requested&quot; }
 
    || { &quot;event_kind&quot;: &quot;accepted&quot;,
 
        &quot;p2p_peer_id&quot;:
 
          string
 
          /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
    || { &quot;event_kind&quot;: &quot;running&quot;,
 
        &quot;p2p_peer_id&quot;:
 
          string
 
          /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
    || { &quot;event_kind&quot;: &quot;disconnected&quot; },
 
  &quot;p2p_peer_id&quot;?:
 
    string
 
    /* A Cryptobox public key ID (Base58Check-encoded) */,
 
  &quot;last_failed_connection&quot;?:
 
    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;last_rejected_connection&quot;?:
 
    [ string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */,
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_established_connection&quot;?:
 
    [ string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */,
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_disconnection&quot;?:
 
    [ string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */,
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_seen&quot;?:
 
    [ string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */,
 
      $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string ],
 
  &quot;last_miss&quot;?: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref38 :
 
 
 
'''POST /p2p/points/<point>/log'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref38descr', 'ref38')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref38input', 'ref38')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref38output', 'ref38')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref38descr" class="ref38 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Monitor network events related to an `IP:addr`.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref38input" class="ref38 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;monitor&quot;?: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref38output" class="ref38 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;kind&quot;:
 
      { &quot;event_kind&quot;: &quot;outgoing_request&quot; }
 
      || { &quot;event_kind&quot;: &quot;accepting_request&quot;,
 
          &quot;p2p_peer_id&quot;:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
      || { &quot;event_kind&quot;: &quot;rejecting_request&quot;,
 
          &quot;p2p_peer_id&quot;:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
      || { &quot;event_kind&quot;: &quot;request_rejected&quot;,
 
          &quot;p2p_peer_id&quot;?:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
      || { &quot;event_kind&quot;: &quot;rejecting_request&quot;,
 
          &quot;p2p_peer_id&quot;:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
      || { &quot;event_kind&quot;: &quot;rejecting_request&quot;,
 
          &quot;p2p_peer_id&quot;:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ }
 
      || { &quot;event_kind&quot;: &quot;rejecting_request&quot;,
 
          &quot;p2p_peer_id&quot;:
 
            string
 
            /* A Cryptobox public key ID (Base58Check-encoded) */ },
 
    &quot;timestamp&quot;: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref39 :
 
 
 
'''POST /p2p/stat'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref39descr', 'ref39')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref39output', 'ref39')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref39descr" class="ref39 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Global network bandwidth statistics in B/s.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref39output" class="ref39 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;total_sent&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;total_recv&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;current_inflow&quot;: integer ∈ ]-2^30-2, 2^30+2[,
 
  &quot;current_outflow&quot;: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref40 :
 
 
 
'''POST /p2p/versions'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref40descr', 'ref40')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref40output', 'ref40')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref40descr" class="ref40 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Supported network layer versions.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref40output" class="ref40 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;name&quot;: string,
 
    &quot;major&quot;: integer ∈ ]0, 2^16-1[,
 
    &quot;minor&quot;: integer ∈ ]0, 2^16-1[ } ... ]&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref41 :
 
 
 
'''POST /protocols'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref41descr', 'ref41')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref41input', 'ref41')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref41output', 'ref41')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref41descr" class="ref41 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
No description&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref41input" class="ref41 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;contents&quot;?: boolean,
 
  &quot;monitor&quot;?: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref41output" class="ref41 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;protocols&quot;:
 
    [ { &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
        &quot;contents&quot;?:
 
          { &quot;expected_env_version&quot;: integer ∈ ]-2^15, 2^15-1[,
 
            &quot;components&quot;:
 
              [ { &quot;name&quot;: string,
 
                  &quot;interface&quot;?: /^[a-zA-Z0-9]+$/,
 
                  &quot;implementation&quot;: /^[a-zA-Z0-9]+$/ } ... ] } } ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref42 :
 
 
 
'''POST /protocols/<Protocol_hash>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref42descr', 'ref42')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref42output', 'ref42')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref42descr" class="ref42 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
No description&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref42output" class="ref42 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;data&quot;:
 
    { /* Tezos protocol */
 
      &quot;expected_env_version&quot;: integer ∈ ]-2^15, 2^15-1[,
 
      &quot;components&quot;:
 
        [ { &quot;name&quot;: string,
 
            &quot;interface&quot;?: /^[a-zA-Z0-9]+$/,
 
            &quot;implementation&quot;: /^[a-zA-Z0-9]+$/ } ... ] } }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref43 :
 
 
 
'''POST /workers/block_validator'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref43descr', 'ref43')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref43output', 'ref43')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref43descr" class="ref43 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Introspect the state of the block_validator worker.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref43output" class="ref43 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;status&quot;:
 
    { &quot;phase&quot;: &quot;launching&quot;,
 
      &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;running&quot;,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closing&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;crashed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;errors&quot;:
 
          any
 
          /* The full list of error is available with the global RPC
 
              `POST errors` */ },
 
  &quot;pending_requests&quot;:
 
    [ { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;request&quot;:
 
          { &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
            &quot;chain_id&quot;:
 
              string
 
              /* Network identifier (Base58Check-encoded) */,
 
            &quot;peer&quot;?:
 
              string
 
              /* A Cryptobox public key ID (Base58Check-encoded) */ } } ... ],
 
  &quot;backlog&quot;:
 
    [ { &quot;level&quot;: string,
 
        &quot;events&quot;:
 
          [ { &quot;message&quot;: string }
 
            || { &quot;successful_validation&quot;:
 
                  { &quot;block&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;chain_id&quot;:
 
                      string
 
                      /* Network identifier (Base58Check-encoded) */,
 
                    &quot;peer&quot;?:
 
                      string
 
                      /* A Cryptobox public key ID (Base58Check-encoded) */ },
 
                &quot;status&quot;:
 
                  { &quot;pushed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;treated&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;completed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string } }
 
            || { &quot;failed_validation&quot;:
 
                  { &quot;block&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;chain_id&quot;:
 
                      string
 
                      /* Network identifier (Base58Check-encoded) */,
 
                    &quot;peer&quot;?:
 
                      string
 
                      /* A Cryptobox public key ID (Base58Check-encoded) */ },
 
                &quot;status&quot;:
 
                  { &quot;pushed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;treated&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;completed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string },
 
                &quot;errors&quot;?:
 
                  any
 
                  /* The full list of error is available with the global
 
                      RPC `POST errors` */ } ... ] } ... ],
 
  &quot;current_request&quot;?:
 
    { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;treated&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;request&quot;:
 
        { &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;chain_id&quot;:
 
            string
 
            /* Network identifier (Base58Check-encoded) */,
 
          &quot;peer&quot;?:
 
            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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref44 :
 
 
 
'''POST /workers/chain_validators'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref44descr', 'ref44')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref44output', 'ref44')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref44descr" class="ref44 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Lists the chain validator workers and their status.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref44output" class="ref44 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;chain_id&quot;: string /* Network identifier (Base58Check-encoded) */,
 
    &quot;status&quot;:
 
      { &quot;phase&quot;: &quot;launching&quot;,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;running&quot;,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;closing&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;closed&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;crashed&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;errors&quot;:
 
            any
 
            /* The full list of error is available with the global RPC
 
                `POST errors` */ } } ... ]
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref45 :
 
 
 
'''POST /workers/chain_validators/<chain_id>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref45descr', 'ref45')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref45output', 'ref45')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref45descr" class="ref45 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Introspect the state of a chain validator worker.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref45output" class="ref45 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;status&quot;:
 
    { &quot;phase&quot;: &quot;launching&quot;,
 
      &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;running&quot;,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closing&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;crashed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;errors&quot;:
 
          any
 
          /* The full list of error is available with the global RPC
 
              `POST errors` */ },
 
  &quot;pending_requests&quot;:
 
    [ { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;request&quot;: string /* A Tezos block ID (Base58Check-encoded) */ } ... ],
 
  &quot;backlog&quot;:
 
    [ { &quot;level&quot;: string,
 
        &quot;events&quot;:
 
          [ { &quot;request&quot;:
 
                string
 
                /* A Tezos block ID (Base58Check-encoded) */,
 
              &quot;status&quot;:
 
                { &quot;pushed&quot;:
 
                    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                  &quot;treated&quot;:
 
                    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                  &quot;completed&quot;:
 
                    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string },
 
              &quot;outcome&quot;: &quot;branch&quot; | &quot;ignored&quot; | &quot;increment&quot;,
 
              &quot;fitness&quot;:
 
                [ /^[a-zA-Z0-9]+$/ ... ]
 
                /* Tezos block fitness */ }
 
            || any
 
            /* The full list of error is available with the global RPC
 
              `POST errors` */ ... ] } ... ],
 
  &quot;current_request&quot;?:
 
    { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;treated&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;request&quot;: string /* A Tezos block ID (Base58Check-encoded) */ } }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref46 :
 
 
 
'''POST /workers/peer_validators/<chain_id>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref46descr', 'ref46')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref46output', 'ref46')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref46descr" class="ref46 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Lists the peer validator workers and their status.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref46output" class="ref46 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;peer_id&quot;:
 
      string
 
      /* A Cryptobox public key ID (Base58Check-encoded) */,
 
    &quot;status&quot;:
 
      { &quot;phase&quot;: &quot;launching&quot;,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;running&quot;,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;closing&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;closed&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;crashed&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;errors&quot;:
 
            any
 
            /* The full list of error is available with the global RPC
 
                `POST errors` */ } } ... ]
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref47 :
 
 
 
'''POST /workers/peer_validators/<chain_id>/<peer_id>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref47descr', 'ref47')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref47output', 'ref47')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref47descr" class="ref47 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Introspect the state of a peer validator worker.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref47output" class="ref47 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;status&quot;:
 
    { &quot;phase&quot;: &quot;launching&quot;,
 
      &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;running&quot;,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closing&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;crashed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;errors&quot;:
 
          any
 
          /* The full list of error is available with the global RPC
 
              `POST errors` */ },
 
  &quot;pending_requests&quot;:
 
    [ { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;request&quot;:
 
          { &quot;request&quot;: &quot;new_head&quot;,
 
            &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */ }
 
          || { &quot;request&quot;: &quot;new_branch&quot;,
 
              &quot;block&quot;:
 
                string
 
                /* A Tezos block ID (Base58Check-encoded) */,
 
              &quot;locator_length&quot;: integer ∈ ]0, 2^16-1[ } } ... ],
 
  &quot;backlog&quot;:
 
    [ { &quot;level&quot;: string,
 
        &quot;events&quot;:
 
          [ { &quot;message&quot;: string }
 
            || { &quot;request&quot;:
 
                  { &quot;request&quot;: &quot;new_head&quot;,
 
                    &quot;block&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */ }
 
                  || { &quot;request&quot;: &quot;new_branch&quot;,
 
                        &quot;block&quot;:
 
                          string
 
                          /* A Tezos block ID (Base58Check-encoded) */,
 
                        &quot;locator_length&quot;: integer ∈ ]0, 2^16-1[ },
 
                &quot;status&quot;:
 
                  { &quot;pushed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;treated&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;completed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string } }
 
            || { &quot;error&quot;:
 
                  any
 
                  /* The full list of error is available with the global
 
                      RPC `POST errors` */,
 
                &quot;failed_request&quot;:
 
                  { &quot;request&quot;: &quot;new_head&quot;,
 
                    &quot;block&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */ }
 
                  || { &quot;request&quot;: &quot;new_branch&quot;,
 
                        &quot;block&quot;:
 
                          string
 
                          /* A Tezos block ID (Base58Check-encoded) */,
 
                        &quot;locator_length&quot;: integer ∈ ]0, 2^16-1[ },
 
                &quot;status&quot;:
 
                  { &quot;pushed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;treated&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;completed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string } } ... ] } ... ],
 
  &quot;current_request&quot;?:
 
    { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;treated&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;request&quot;:
 
        { &quot;request&quot;: &quot;new_head&quot;,
 
          &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */ }
 
        || { &quot;request&quot;: &quot;new_branch&quot;,
 
            &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
            &quot;locator_length&quot;: integer ∈ ]0, 2^16-1[ } } }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref48 :
 
 
 
'''POST /workers/prevalidators'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref48descr', 'ref48')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref48output', 'ref48')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref48descr" class="ref48 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Lists the Prevalidator workers and their status.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref48output" class="ref48 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;chain_id&quot;: string /* Network identifier (Base58Check-encoded) */,
 
    &quot;status&quot;:
 
      { &quot;phase&quot;: &quot;launching&quot;,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;running&quot;,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;closing&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;closed&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
      || { &quot;phase&quot;: &quot;crashed&quot;,
 
          &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
          &quot;errors&quot;:
 
            any
 
            /* The full list of error is available with the global RPC
 
                `POST errors` */ } } ... ]
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref49 :
 
 
 
'''POST /workers/prevalidators/<Chain_id>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref49descr', 'ref49')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref49output', 'ref49')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref49descr" class="ref49 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Introspect the state of a prevalidator worker.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref49output" class="ref49 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;status&quot;:
 
    { &quot;phase&quot;: &quot;launching&quot;,
 
      &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;running&quot;,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closing&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;closed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string }
 
    || { &quot;phase&quot;: &quot;crashed&quot;,
 
        &quot;birth&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;since&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;errors&quot;:
 
          any
 
          /* The full list of error is available with the global RPC
 
              `POST errors` */ },
 
  &quot;pending_requests&quot;:
 
    [ { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;request&quot;:
 
          { &quot;request&quot;: &quot;flush&quot;,
 
            &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */ }
 
          || { &quot;request&quot;: &quot;notify&quot;,
 
              &quot;peer&quot;:
 
                string
 
                /* A Cryptobox public key ID (Base58Check-encoded) */,
 
              &quot;mempool&quot;:
 
                { &quot;known_valid&quot;:
 
                    [ string
 
                    /* A Tezos operation ID (Base58Check-encoded) */ ... ],
 
                  &quot;pending&quot;:
 
                    [ string
 
                    /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
 
          || { &quot;request&quot;: &quot;inject&quot;,
 
              &quot;operation&quot;:
 
                { &quot;branch&quot;:
 
                    string
 
                    /* A Tezos block ID (Base58Check-encoded) */,
 
                  &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
          || { &quot;request&quot;: &quot;arrived&quot;,
 
              &quot;operation_hash&quot;:
 
                string
 
                /* A Tezos operation ID (Base58Check-encoded) */,
 
              &quot;operation&quot;:
 
                { &quot;branch&quot;:
 
                    string
 
                    /* A Tezos block ID (Base58Check-encoded) */,
 
                  &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
          || { &quot;request&quot;: &quot;advertise&quot; } } ... ],
 
  &quot;backlog&quot;:
 
    [ { &quot;level&quot;: string,
 
        &quot;events&quot;:
 
          [ { &quot;message&quot;: string }
 
            || { &quot;request&quot;:
 
                  { &quot;request&quot;: &quot;flush&quot;,
 
                    &quot;block&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */ }
 
                  || { &quot;request&quot;: &quot;notify&quot;,
 
                        &quot;peer&quot;:
 
                          string
 
                          /* A Cryptobox public key ID
 
                            (Base58Check-encoded) */,
 
                        &quot;mempool&quot;:
 
                          { &quot;known_valid&quot;:
 
                              [ string
 
                              /* A Tezos operation ID
 
                                (Base58Check-encoded) */ ... ],
 
                            &quot;pending&quot;:
 
                              [ string
 
                              /* A Tezos operation ID
 
                                (Base58Check-encoded) */ ... ] } }
 
                  || { &quot;request&quot;: &quot;inject&quot;,
 
                        &quot;operation&quot;:
 
                          { &quot;branch&quot;:
 
                              string
 
                              /* A Tezos block ID (Base58Check-encoded) */,
 
                            &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
                  || { &quot;request&quot;: &quot;arrived&quot;,
 
                        &quot;operation_hash&quot;:
 
                          string
 
                          /* A Tezos operation ID (Base58Check-encoded) */,
 
                        &quot;operation&quot;:
 
                          { &quot;branch&quot;:
 
                              string
 
                              /* A Tezos block ID (Base58Check-encoded) */,
 
                            &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
                  || { &quot;request&quot;: &quot;advertise&quot; },
 
                &quot;status&quot;:
 
                  { &quot;pushed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;treated&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;completed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string } }
 
            || { &quot;error&quot;:
 
                  any
 
                  /* The full list of error is available with the global
 
                      RPC `POST errors` */,
 
                &quot;failed_request&quot;:
 
                  { &quot;request&quot;: &quot;flush&quot;,
 
                    &quot;block&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */ }
 
                  || { &quot;request&quot;: &quot;notify&quot;,
 
                        &quot;peer&quot;:
 
                          string
 
                          /* A Cryptobox public key ID
 
                            (Base58Check-encoded) */,
 
                        &quot;mempool&quot;:
 
                          { &quot;known_valid&quot;:
 
                              [ string
 
                              /* A Tezos operation ID
 
                                (Base58Check-encoded) */ ... ],
 
                            &quot;pending&quot;:
 
                              [ string
 
                              /* A Tezos operation ID
 
                                (Base58Check-encoded) */ ... ] } }
 
                  || { &quot;request&quot;: &quot;inject&quot;,
 
                        &quot;operation&quot;:
 
                          { &quot;branch&quot;:
 
                              string
 
                              /* A Tezos block ID (Base58Check-encoded) */,
 
                            &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
                  || { &quot;request&quot;: &quot;arrived&quot;,
 
                        &quot;operation_hash&quot;:
 
                          string
 
                          /* A Tezos operation ID (Base58Check-encoded) */,
 
                        &quot;operation&quot;:
 
                          { &quot;branch&quot;:
 
                              string
 
                              /* A Tezos block ID (Base58Check-encoded) */,
 
                            &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
                  || { &quot;request&quot;: &quot;advertise&quot; },
 
                &quot;status&quot;:
 
                  { &quot;pushed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;treated&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;completed&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string } } ... ] } ... ],
 
  &quot;current_request&quot;?:
 
    { &quot;pushed&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;treated&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;request&quot;:
 
        { &quot;request&quot;: &quot;flush&quot;,
 
          &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */ }
 
        || { &quot;request&quot;: &quot;notify&quot;,
 
            &quot;peer&quot;:
 
              string
 
              /* A Cryptobox public key ID (Base58Check-encoded) */,
 
            &quot;mempool&quot;:
 
              { &quot;known_valid&quot;:
 
                  [ string
 
                  /* A Tezos operation ID (Base58Check-encoded) */ ... ],
 
                &quot;pending&quot;:
 
                  [ string
 
                  /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
 
        || { &quot;request&quot;: &quot;inject&quot;,
 
            &quot;operation&quot;:
 
              { &quot;branch&quot;:
 
                  string
 
                  /* A Tezos block ID (Base58Check-encoded) */,
 
                &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
        || { &quot;request&quot;: &quot;arrived&quot;,
 
            &quot;operation_hash&quot;:
 
              string
 
              /* A Tezos operation ID (Base58Check-encoded) */,
 
            &quot;operation&quot;:
 
              { &quot;branch&quot;:
 
                  string
 
                  /* A Tezos block ID (Base58Check-encoded) */,
 
                &quot;data&quot;: /^[a-zA-Z0-9]+$/ } }
 
        || { &quot;request&quot;: &quot;advertise&quot; } } }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
Protocol Alpha RPCs - Index ***************************
 
 
 
.. raw:: html
 
 
 
<style>#protocol-alpha-rpcs-index * { margin-bottom:0px }#protocol-alpha-rpcs-index > *:last-child { margin-bottom:15px }#protocol-alpha-rpcs-index > h2 { margin-bottom:15px}</style>
 
/blocks/<block_id>/proto
 
 
 
<code>/blocks/&lt;block_id&gt;/proto/constants &lt;ref50_&gt;</code>_
 
 
 
<pre>  `/blocks/&lt;block_id&gt;/proto/constants/    block_reward &lt;ref51_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/ endorsement_reward &lt;ref52_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/block_security_deposit &lt;ref53_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/blocks_per_commitment &lt;ref54_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/blocks_per_cycle &lt;ref55_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/blocks_per_roll_snapshot &lt;ref56_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/blocks_per_voting_period &lt;ref57_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/endorsement_security_deposit &lt;ref58_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/endorsers_per_block &lt;ref59_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/errors &lt;ref60_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/first_free_baking_slot &lt;ref61_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/max_gas &lt;ref62_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/origination_burn &lt;ref63_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/preserved_cycles &lt;ref64_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/proof_of_work_threshold &lt;ref65_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/seed_nonce_revelation_tip &lt;ref66_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/constants/time_between_slots &lt;ref67_&gt;`_
 
      </pre>
 
/blocks/<block_id>/proto/context
 
 
 
<pre>`/blocks/&lt;block_id&gt;/proto/context/contracts &lt;ref68_&gt;`_
 
   
 
    `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt; &lt;ref69_&gt;`_
 
       
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/balance &lt;ref70_&gt;`_
 
           
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/counter &lt;ref71_&gt;`_
 
           
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/delegatable &lt;ref72_&gt;`_
 
           
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/delegate &lt;ref73_&gt;`_
 
           
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/manager &lt;ref74_&gt;`_
 
           
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/script &lt;ref75_&gt;`_
 
           
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/spendable &lt;ref76_&gt;`_
 
           
 
        `/blocks/&lt;block_id&gt;/proto/context/contracts/&lt;contract_id&gt;/storage &lt;ref77_&gt;`_
 
           
 
`/blocks/&lt;block_id&gt;/proto/context/level &lt;ref78_&gt;`_
 
   
 
`/blocks/&lt;block_id&gt;/proto/context/next_level &lt;ref79_&gt;`_
 
   
 
`/blocks/&lt;block_id&gt;/proto/context/nonce &lt;ref80_&gt;`_
 
   
 
    `/blocks/&lt;block_id&gt;/proto/context/nonce/&lt;block_level&gt; &lt;ref81_&gt;`_
 
       
 
`/blocks/&lt;block_id&gt;/proto/context/voting_period_kind &lt;ref82_&gt;`_
 
    </pre>
 
/blocks/<block_id>/proto/delegate
 
 
 
<pre>\/blocks/&lt;block_id&gt;/proto/delegate/&lt;Signature.Public_key_hash&gt;
 
 
 
  `/blocks/&lt;block_id&gt;/proto/delegate/&lt;Signature.Public_key_hash&gt;/frozen_balances &lt;ref83_&gt;`_
 
      </pre>
 
<code>/blocks/&lt;block_id&gt;/proto/header &lt;ref84_&gt;</code>_
 
 
 
<pre>  `/blocks/&lt;block_id&gt;/proto/header/priority &lt;ref85_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/header/seed_nonce_hash &lt;ref86_&gt;`_
 
      </pre>
 
/blocks/<block_id>/proto/helpers
 
 
 
<pre>`/blocks/&lt;block_id&gt;/proto/helpers/apply_operation &lt;ref87_&gt;`_
 
   
 
\/blocks/&lt;block_id&gt;/proto/helpers/forge
 
 
 
  `/blocks/&lt;block_id&gt;/proto/helpers/forge/operations &lt;ref88_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/helpers/forge/protocol_data &lt;ref89_&gt;`_
 
     
 
`/blocks/&lt;block_id&gt;/proto/helpers/hash_data &lt;ref90_&gt;`_
 
   
 
\/blocks/&lt;block_id&gt;/proto/helpers/level
 
 
 
  `/blocks/&lt;block_id&gt;/proto/helpers/level/&lt;block_level&gt; &lt;ref91_&gt;`_
 
     
 
\/blocks/&lt;block_id&gt;/proto/helpers/levels
 
 
 
  `/blocks/&lt;block_id&gt;/proto/helpers/levels/&lt;block_cycle&gt; &lt;ref92_&gt;`_
 
     
 
`/blocks/&lt;block_id&gt;/proto/helpers/minimal_timestamp &lt;ref93_&gt;`_
 
   
 
\/blocks/&lt;block_id&gt;/proto/helpers/parse
 
 
 
  `/blocks/&lt;block_id&gt;/proto/helpers/parse/block &lt;ref94_&gt;`_
 
     
 
  `/blocks/&lt;block_id&gt;/proto/helpers/parse/operations &lt;ref95_&gt;`_
 
     
 
\/blocks/&lt;block_id&gt;/proto/helpers/rights
 
 
 
  `/blocks/&lt;block_id&gt;/proto/helpers/rights/baking &lt;ref96_&gt;`_
 
     
 
      \/blocks/&lt;block_id&gt;/proto/helpers/rights/baking/delegate
 
       
 
        `/blocks/&lt;block_id&gt;/proto/helpers/rights/baking/delegate/&lt;Signature.Public_key_hash&gt; &lt;ref97_&gt;`_
 
           
 
      \/blocks/&lt;block_id&gt;/proto/helpers/rights/baking/level
 
       
 
        `/blocks/&lt;block_id&gt;/proto/helpers/rights/baking/level/&lt;block_level&gt; &lt;ref98_&gt;`_
 
           
 
  `/blocks/&lt;block_id&gt;/proto/helpers/rights/endorsement &lt;ref99_&gt;`_
 
     
 
      \/blocks/&lt;block_id&gt;/proto/helpers/rights/endorsement/delegate
 
       
 
        `/blocks/&lt;block_id&gt;/proto/helpers/rights/endorsement/delegate/&lt;Signature.Public_key_hash&gt; &lt;ref100_&gt;`_
 
           
 
      \/blocks/&lt;block_id&gt;/proto/helpers/rights/endorsement/level
 
       
 
        `/blocks/&lt;block_id&gt;/proto/helpers/rights/endorsement/level/&lt;block_level&gt; &lt;ref101_&gt;`_
 
           
 
`/blocks/&lt;block_id&gt;/proto/helpers/run_code &lt;ref102_&gt;`_
 
   
 
`/blocks/&lt;block_id&gt;/proto/helpers/trace_code &lt;ref103_&gt;`_
 
   
 
`/blocks/&lt;block_id&gt;/proto/helpers/typecheck_code &lt;ref104_&gt;`_
 
   
 
`/blocks/&lt;block_id&gt;/proto/helpers/typecheck_data &lt;ref105_&gt;`_
 
    </pre>
 
<code>/blocks/&lt;block_id&gt;/proto/operations &lt;ref106_&gt;</code>_
 
 
 
Protocol Alpha RPCs - Full description **************************************
 
 
 
.. _ref50 :
 
 
 
'''POST /blocks/<block_id>/proto/constants'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref50descr', 'ref50')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref50output', 'ref50')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref50descr" class="ref50 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
All constants&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref50output" class="ref50 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;proof_of_work_nonce_size&quot;: integer ∈ ]0, 255[,
 
  &quot;nonce_length&quot;: integer ∈ ]0, 255[,
 
  &quot;max_revelations_per_block&quot;: integer ∈ ]0, 255[,
 
  &quot;preserved_cycles&quot;: integer ∈ ]0, 255[,
 
  &quot;blocks_per_cycle&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;blocks_per_commitment&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;blocks_per_roll_snapshot&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;blocks_per_voting_period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;time_between_blocks&quot;: [ integer ∈ ]-2^31-2, 2^31+2[ || string ... ],
 
  &quot;first_free_baking_slot&quot;: integer ∈ ]0, 2^16-1[,
 
  &quot;endorsers_per_block&quot;: integer ∈ ]0, 2^16-1[,
 
  &quot;instructions_per_transaction&quot;: integer ∈ ]-2^30-2, 2^30+2[,
 
  &quot;proof_of_work_threshold&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;dictator_pubkey&quot;:
 
    string
 
    /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
 
  &quot;max_operation_data_length&quot;: integer ∈ ]-2^30-2, 2^30+2[,
 
  &quot;tokens_per_roll&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;michelson_maximum_type_size&quot;: integer ∈ ]0, 2^16-1[,
 
  &quot;seed_nonce_revelation_tip&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;origination_burn&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;block_security_deposit&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;endorsement_security_deposit&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;block_reward&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;endorsement_reward&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref51 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/ block_reward'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref51descr', 'ref51')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref51output', 'ref51')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref51descr" class="ref51 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
    block_reward&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref51output" class="ref51 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;    block_reward&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref52 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/ endorsement_reward'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref52descr', 'ref52')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref52output', 'ref52')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref52descr" class="ref52 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
endorsement_reward&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref52output" class="ref52 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot; endorsement_reward&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref53 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/block_security_deposit'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref53descr', 'ref53')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref53output', 'ref53')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref53descr" class="ref53 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
block_security_deposit&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref53output" class="ref53 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;block_security_deposit&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref54 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/blocks_per_commitment'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref54descr', 'ref54')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref54output', 'ref54')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref54descr" class="ref54 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
How many blocks between random seed's nonce commitment&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref54output" class="ref54 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;blocks_per_commitment&quot;: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref55 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/blocks_per_cycle'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref55descr', 'ref55')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref55output', 'ref55')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref55descr" class="ref55 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Cycle length&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref55output" class="ref55 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;blocks_per_cycle&quot;: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref56 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/blocks_per_roll_snapshot'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref56descr', 'ref56')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref56output', 'ref56')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref56descr" class="ref56 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
How many blocks between roll snapshots&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref56output" class="ref56 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;blocks_per_roll_snapshot&quot;: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref57 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/blocks_per_voting_period'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref57descr', 'ref57')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref57output', 'ref57')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref57descr" class="ref57 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Length of the voting period&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref57output" class="ref57 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;blocks_per_voting_period&quot;: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref58 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/endorsement_security_deposit'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref58descr', 'ref58')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref58output', 'ref58')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref58descr" class="ref58 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
endorsement_security_deposit&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref58output" class="ref58 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;endorsement_security_deposit&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref59 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/endorsers_per_block'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref59descr', 'ref59')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref59output', 'ref59')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref59descr" class="ref59 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Max signing slot&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref59output" class="ref59 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;endorsers_per_block&quot;: integer ∈ ]0, 2^16-1[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref60 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/errors'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref60descr', 'ref60')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref60output', 'ref60')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref60descr" class="ref60 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Schema for all the RPC errors from this protocol version&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref60output" class="ref60 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
any&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref61 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/first_free_baking_slot'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref61descr', 'ref61')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref61output', 'ref61')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref61descr" class="ref61 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
First free baking slot&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref61output" class="ref61 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;first_free_baking_slot&quot;: integer ∈ ]0, 2^16-1[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref62 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/max_gas'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref62descr', 'ref62')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref62output', 'ref62')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref62descr" class="ref62 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Instructions per transaction&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref62output" class="ref62 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;instructions_per_transaction&quot;: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref63 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/origination_burn'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref63descr', 'ref63')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref63output', 'ref63')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref63descr" class="ref63 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
origination_burn&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref63output" class="ref63 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;origination_burn&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref64 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/preserved_cycles'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref64descr', 'ref64')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref64output', 'ref64')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref64descr" class="ref64 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
How many cycle before the 'no-automatic-fork point'&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref64output" class="ref64 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;preserved_cycles&quot;: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref65 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/proof_of_work_threshold'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref65descr', 'ref65')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref65output', 'ref65')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref65descr" class="ref65 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Stamp threshold&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref65output" class="ref65 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;proof_of_work_threshold&quot;: integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref66 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/seed_nonce_revelation_tip'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref66descr', 'ref66')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref66output', 'ref66')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref66descr" class="ref66 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
seed_nonce_revelation_tip&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref66output" class="ref66 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;seed_nonce_revelation_tip&quot;:
 
    /* Amount in mutez */
 
    integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref67 :
 
 
 
'''POST /blocks/<block_id>/proto/constants/time_between_slots'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref67descr', 'ref67')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref67output', 'ref67')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref67descr" class="ref67 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Slot durations&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref67output" class="ref67 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;time_between_slots&quot;: [ integer ∈ ]-2^31-2, 2^31+2[ || string ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref68 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref68descr', 'ref68')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref68output', 'ref68')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref68descr" class="ref68 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
All existing contracts (including non-empty default contracts).&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref68output" class="ref68 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ string
 
/* A contract handle
 
  A contract notation as given to an RPC or inside scripts. Can be a
 
  base58 public key hash, representing the implicit contract of this
 
  identity, or a base58 originated contract hash. */ ... ]&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref69 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref69descr', 'ref69')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref69output', 'ref69')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref69descr" class="ref69 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Access the complete status of a contract.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref69output" class="ref69 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;manager&quot;:
 
    string
 
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
 
  &quot;balance&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;spendable&quot;: boolean,
 
  &quot;delegate&quot;:
 
    { &quot;setable&quot;: boolean,
 
      &quot;value&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ },
 
  &quot;script&quot;?:
 
    { &quot;code&quot;: $micheline.michelson_v1.expression,
 
      &quot;storage&quot;: $micheline.michelson_v1.expression },
 
  &quot;storage&quot;?: $micheline.michelson_v1.expression,
 
  &quot;counter&quot;: integer ∈ ]-2^31-2, 2^31+2[ }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref70 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/balance'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref70descr', 'ref70')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref70output', 'ref70')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref70descr" class="ref70 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Access the balance of a contract.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref70output" class="ref70 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;balance&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref71 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/counter'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref71descr', 'ref71')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref71output', 'ref71')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref71descr" class="ref71 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Access the counter of a contract, if any.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref71output" class="ref71 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;counter&quot;: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref72 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/delegatable'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref72descr', 'ref72')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref72output', 'ref72')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref72descr" class="ref72 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Tells if the contract delegate can be changed.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref72output" class="ref72 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;delegatable&quot;: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref73 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/delegate'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref73descr', 'ref73')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref73output', 'ref73')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref73descr" class="ref73 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Access the delegate of a contract, if any.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref73output" class="ref73 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;delegate&quot;:
 
    string
 
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref74 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/manager'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref74descr', 'ref74')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref74output', 'ref74')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref74descr" class="ref74 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Access the manager of a contract.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref74output" class="ref74 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;manager&quot;:
 
    string
 
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref75 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/script'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref75descr', 'ref75')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref75output', 'ref75')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref75descr" class="ref75 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Access the code and data of the contract.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref75output" class="ref75 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;code&quot;: $micheline.michelson_v1.expression,
 
  &quot;storage&quot;: $micheline.michelson_v1.expression }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref76 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/spendable'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref76descr', 'ref76')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref76output', 'ref76')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref76descr" class="ref76 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Tells if the contract tokens can be spent by the manager.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref76output" class="ref76 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;spendable&quot;: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref77 :
 
 
 
'''POST /blocks/<block_id>/proto/context/contracts/<contract_id>/storage'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref77descr', 'ref77')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref77output', 'ref77')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref77descr" class="ref77 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Access the data of the contract.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref77output" class="ref77 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
$micheline.michelson_v1.expression
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref78 :
 
 
 
'''POST /blocks/<block_id>/proto/context/level'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref78descr', 'ref78')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref78output', 'ref78')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref78descr" class="ref78 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Detailled level information for the current block&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref78output" class="ref78 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;level_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;cycle&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;cycle_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;voting_period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;voting_period_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;expected_commitment&quot;: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref79 :
 
 
 
'''POST /blocks/<block_id>/proto/context/next_level'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref79descr', 'ref79')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref79output', 'ref79')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref79descr" class="ref79 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Detailled level information for the next block&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref79output" class="ref79 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;level_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;cycle&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;cycle_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;voting_period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;voting_period_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;expected_commitment&quot;: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref80 :
 
 
 
'''POST /blocks/<block_id>/proto/context/nonce'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref80descr', 'ref80')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref80output', 'ref80')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref80descr" class="ref80 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Hash of the current block's nonce.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref80output" class="ref80 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
string
 
/* A nonce hash (Base58Check-encoded) */&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref81 :
 
 
 
'''POST /blocks/<block_id>/proto/context/nonce/<block_level>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref81descr', 'ref81')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref81output', 'ref81')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref81descr" class="ref81 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Info about the nonce of a previous block.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref81output" class="ref81 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;nonce&quot;: /^[a-zA-Z0-9]+$/ }
 
|| { &quot;hash&quot;: string /* A nonce hash (Base58Check-encoded) */ }
 
|| {  }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref82 :
 
 
 
'''POST /blocks/<block_id>/proto/context/voting_period_kind'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref82descr', 'ref82')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref82output', 'ref82')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref82descr" class="ref82 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Voting period kind for the current block&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref82output" class="ref82 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;voting_period_kind&quot;:
 
    &quot;proposal&quot; || &quot;testing_vote&quot; || &quot;testing&quot; || &quot;promotion_vote&quot; }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref83 :
 
 
 
'''POST /blocks/<block_id>/proto/delegate/&lt;Signature.Public_key_hash&gt;/frozen_balances'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref83descr', 'ref83')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref83output', 'ref83')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref83descr" class="ref83 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Returns the amount of frozen tokens associated to a given key.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref83output" class="ref83 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;deposit&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;fees&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;rewards&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref84 :
 
 
 
'''POST /blocks/<block_id>/proto/header'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref84descr', 'ref84')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref84output', 'ref84')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref84descr" class="ref84 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
The header of the block (fully decoded).&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref84output" class="ref84 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;proto&quot;: integer ∈ ]0, 255[,
 
  &quot;predecessor&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;timestamp&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
  &quot;operations_hash&quot;:
 
    string
 
    /* A list of list of operations (Base58Check-encoded) */,
 
  &quot;fitness&quot;: [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
 
  &quot;context&quot;: string /* A hash of context (Base58Check-encoded) */,
 
  &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
  &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
  &quot;seed_nonce_hash&quot;?: string /* A nonce hash (Base58Check-encoded) */,
 
  &quot;signature&quot;:
 
    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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref85 :
 
 
 
'''POST /blocks/<block_id>/proto/header/priority'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref85descr', 'ref85')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref85output', 'ref85')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref85descr" class="ref85 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Baking priority of the block.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref85output" class="ref85 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;priority&quot;: integer ∈ ]0, 2^16-1[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref86 :
 
 
 
'''POST /blocks/<block_id>/proto/header/seed_nonce_hash'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref86descr', 'ref86')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref86output', 'ref86')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref86descr" class="ref86 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Hash of the seed nonce of the block.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref86output" class="ref86 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
string
 
/* A nonce hash (Base58Check-encoded) */&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref87 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/apply_operation'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref87descr', 'ref87')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref87input', 'ref87')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref87output', 'ref87')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref87descr" class="ref87 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Applies an operation in the current context&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref87input" class="ref87 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;pred_block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;operation_hash&quot;:
 
    string
 
    /* A Tezos operation ID (Base58Check-encoded) */,
 
  &quot;forged_operation&quot;: /^[a-zA-Z0-9]+$/,
 
  &quot;signature&quot;?:
 
    string
 
    /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref87output" class="ref87 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;contracts&quot;:
 
    [ string
 
    /* A contract handle
 
      A contract notation as given to an RPC or inside scripts. Can be a
 
      base58 public key hash, representing the implicit contract of this
 
      identity, or a base58 originated contract hash. */ ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref88 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/forge/operations'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref88descr', 'ref88')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref88input', 'ref88')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref88output', 'ref88')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref88descr" class="ref88 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Forge an operation&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref88input" class="ref88 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;kind&quot;: &quot;endorsement&quot;,
 
  &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;slots&quot;: [ integer ∈ ]-2^30-2, 2^30+2[ ... ] }
 
|| { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;source&quot;:
 
      string
 
      /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
 
    &quot;kind&quot;: &quot;proposal&quot;,
 
    &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;proposals&quot;:
 
      [ string
 
      /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;source&quot;:
 
          string
 
          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
 
        &quot;kind&quot;: &quot;ballot&quot;,
 
        &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
        &quot;proposal&quot;:
 
          string
 
          /* A Tezos protocol ID (Base58Check-encoded) */,
 
        &quot;ballot&quot;: &quot;nay&quot; | &quot;yay&quot; | &quot;pass&quot; }
 
|| { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;kind&quot;: &quot;manager&quot;,
 
    &quot;source&quot;:
 
      string
 
      /* A contract handle
 
          A contract notation as given to an RPC or inside scripts. Can
 
          be a base58 public key hash, representing the implicit contract
 
          of this identity, or a base58 originated contract hash. */,
 
    &quot;fee&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string,
 
    &quot;counter&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;operations&quot;:
 
      [ { &quot;kind&quot;: &quot;reveal&quot;,
 
          &quot;public_key&quot;:
 
            string
 
            /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
 
        || { &quot;kind&quot;: &quot;transaction&quot;,
 
              &quot;amount&quot;:
 
                /* Amount in mutez */
 
                integer ∈ ]-2^31-2, 2^31+2[ || string,
 
              &quot;destination&quot;:
 
                string
 
                /* A contract handle
 
                  A contract notation as given to an RPC or inside
 
                  scripts. Can be a base58 public key hash, representing
 
                  the implicit contract of this identity, or a base58
 
                  originated contract hash. */,
 
              &quot;parameters&quot;?: $micheline.michelson_v1.expression }
 
        || { &quot;kind&quot;: &quot;origination&quot;,
 
              &quot;managerPubkey&quot;:
 
                string
 
                /* A Secp256k1 or Ed25519 public key hash
 
                  (Base58Check-encoded) */,
 
              &quot;balance&quot;:
 
                /* Amount in mutez */
 
                integer ∈ ]-2^31-2, 2^31+2[ || string,
 
              &quot;spendable&quot;?: boolean,
 
              &quot;delegatable&quot;?: boolean,
 
              &quot;delegate&quot;?:
 
                string
 
                /* A Secp256k1 or Ed25519 public key hash
 
                  (Base58Check-encoded) */,
 
              &quot;script&quot;?:
 
                { &quot;code&quot;: $micheline.michelson_v1.expression,
 
                  &quot;storage&quot;: $micheline.michelson_v1.expression } }
 
        || { &quot;kind&quot;: &quot;delegation&quot;,
 
              &quot;delegate&quot;?:
 
                string
 
                /* A Secp256k1 or Ed25519 public key hash
 
                  (Base58Check-encoded) */ } ... ] }
 
|| { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;chain&quot;: &quot;activate&quot;,
 
    &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;chain&quot;: &quot;activate_testchain&quot;,
 
        &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */ }
 
|| { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;operations&quot;:
 
      [ { &quot;kind&quot;: &quot;seed_nonce_revelation&quot;,
 
          &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
          &quot;nonce&quot;: /^[a-zA-Z0-9]+$/ }
 
        || { &quot;kind&quot;: &quot;double_endorsement_evidence&quot;,
 
              &quot;op1&quot;: $operation,
 
              &quot;op2&quot;: $operation }
 
        || { &quot;kind&quot;: &quot;double_baking_evidence&quot;,
 
              &quot;op1&quot;:
 
                { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                  &quot;proto&quot;: integer ∈ ]0, 255[,
 
                  &quot;predecessor&quot;:
 
                    string
 
                    /* A Tezos block ID (Base58Check-encoded) */,
 
                  &quot;timestamp&quot;:
 
                    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                  &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                  &quot;operations_hash&quot;:
 
                    string
 
                    /* A list of list of operations (Base58Check-encoded) */,
 
                  &quot;fitness&quot;:
 
                    [ /^[a-zA-Z0-9]+$/ ... ]
 
                    /* Tezos block fitness */,
 
                  &quot;context&quot;:
 
                    string
 
                    /* A hash of context (Base58Check-encoded) */,
 
                  &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                  &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                  &quot;seed_nonce_hash&quot;?:
 
                    string
 
                    /* A nonce hash (Base58Check-encoded) */,
 
                  &quot;signature&quot;:
 
                    string
 
                    /* A Secp256k1 or Ed25519 signature
 
                      (Base58Check-encoded) */ },
 
              &quot;op2&quot;:
 
                { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                  &quot;proto&quot;: integer ∈ ]0, 255[,
 
                  &quot;predecessor&quot;:
 
                    string
 
                    /* A Tezos block ID (Base58Check-encoded) */,
 
                  &quot;timestamp&quot;:
 
                    $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                  &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                  &quot;operations_hash&quot;:
 
                    string
 
                    /* A list of list of operations (Base58Check-encoded) */,
 
                  &quot;fitness&quot;:
 
                    [ /^[a-zA-Z0-9]+$/ ... ]
 
                    /* Tezos block fitness */,
 
                  &quot;context&quot;:
 
                    string
 
                    /* A hash of context (Base58Check-encoded) */,
 
                  &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                  &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                  &quot;seed_nonce_hash&quot;?:
 
                    string
 
                    /* A nonce hash (Base58Check-encoded) */,
 
                  &quot;signature&quot;:
 
                    string
 
                    /* A Secp256k1 or Ed25519 signature
 
                      (Base58Check-encoded) */ } }
 
        || { &quot;kind&quot;: &quot;activation&quot;,
 
              &quot;pkh&quot;:
 
                string
 
                /* An Ed25519 public key hash (Base58Check-encoded) */,
 
              &quot;secret&quot;: /^[a-zA-Z0-9]+$/ } ... ] }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }
 
$operation:
 
  { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;kind&quot;: &quot;endorsement&quot;,
 
    &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;slots&quot;: [ integer ∈ ]-2^30-2, 2^30+2[ ... ],
 
    &quot;signature&quot;?:
 
      string
 
      /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;source&quot;:
 
        string
 
        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
 
      &quot;kind&quot;: &quot;proposal&quot;,
 
      &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;proposals&quot;:
 
        [ string
 
        /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;source&quot;:
 
            string
 
            /* A Secp256k1 or Ed25519 public key hash
 
              (Base58Check-encoded) */,
 
          &quot;kind&quot;: &quot;ballot&quot;,
 
          &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
          &quot;proposal&quot;:
 
            string
 
            /* A Tezos protocol ID (Base58Check-encoded) */,
 
          &quot;ballot&quot;: &quot;nay&quot; | &quot;yay&quot; | &quot;pass&quot;,
 
          &quot;signature&quot;?:
 
            string
 
            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;kind&quot;: &quot;manager&quot;,
 
      &quot;source&quot;:
 
        string
 
        /* A contract handle
 
            A contract notation as given to an RPC or inside scripts. Can
 
            be a base58 public key hash, representing the implicit
 
            contract of this identity, or a base58 originated contract
 
            hash. */,
 
      &quot;fee&quot;:
 
        /* Amount in mutez */
 
        integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;counter&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;operations&quot;:
 
        [ { &quot;kind&quot;: &quot;reveal&quot;,
 
            &quot;public_key&quot;:
 
              string
 
              /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
 
          || { &quot;kind&quot;: &quot;transaction&quot;,
 
                &quot;amount&quot;:
 
                  /* Amount in mutez */
 
                  integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                &quot;destination&quot;:
 
                  string
 
                  /* A contract handle
 
                    A contract notation as given to an RPC or inside
 
                    scripts. Can be a base58 public key hash,
 
                    representing the implicit contract of this identity,
 
                    or a base58 originated contract hash. */,
 
                &quot;parameters&quot;?: $micheline.michelson_v1.expression }
 
          || { &quot;kind&quot;: &quot;origination&quot;,
 
                &quot;managerPubkey&quot;:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */,
 
                &quot;balance&quot;:
 
                  /* Amount in mutez */
 
                  integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                &quot;spendable&quot;?: boolean,
 
                &quot;delegatable&quot;?: boolean,
 
                &quot;delegate&quot;?:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */,
 
                &quot;script&quot;?:
 
                  { &quot;code&quot;: $micheline.michelson_v1.expression,
 
                    &quot;storage&quot;: $micheline.michelson_v1.expression } }
 
          || { &quot;kind&quot;: &quot;delegation&quot;,
 
                &quot;delegate&quot;?:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */ } ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;chain&quot;: &quot;activate&quot;,
 
      &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;chain&quot;: &quot;activate_testchain&quot;,
 
          &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
          &quot;signature&quot;?:
 
            string
 
            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;operations&quot;:
 
        [ { &quot;kind&quot;: &quot;seed_nonce_revelation&quot;,
 
            &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
            &quot;nonce&quot;: /^[a-zA-Z0-9]+$/ }
 
          || { &quot;kind&quot;: &quot;double_endorsement_evidence&quot;,
 
                &quot;op1&quot;: $operation,
 
                &quot;op2&quot;: $operation }
 
          || { &quot;kind&quot;: &quot;double_baking_evidence&quot;,
 
                &quot;op1&quot;:
 
                  { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                    &quot;proto&quot;: integer ∈ ]0, 255[,
 
                    &quot;predecessor&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;timestamp&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                    &quot;operations_hash&quot;:
 
                      string
 
                      /* A list of list of operations
 
                        (Base58Check-encoded) */,
 
                    &quot;fitness&quot;:
 
                      [ /^[a-zA-Z0-9]+$/ ... ]
 
                      /* Tezos block fitness */,
 
                    &quot;context&quot;:
 
                      string
 
                      /* A hash of context (Base58Check-encoded) */,
 
                    &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                    &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                    &quot;seed_nonce_hash&quot;?:
 
                      string
 
                      /* A nonce hash (Base58Check-encoded) */,
 
                    &quot;signature&quot;:
 
                      string
 
                      /* A Secp256k1 or Ed25519 signature
 
                        (Base58Check-encoded) */ },
 
                &quot;op2&quot;:
 
                  { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                    &quot;proto&quot;: integer ∈ ]0, 255[,
 
                    &quot;predecessor&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;timestamp&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                    &quot;operations_hash&quot;:
 
                      string
 
                      /* A list of list of operations
 
                        (Base58Check-encoded) */,
 
                    &quot;fitness&quot;:
 
                      [ /^[a-zA-Z0-9]+$/ ... ]
 
                      /* Tezos block fitness */,
 
                    &quot;context&quot;:
 
                      string
 
                      /* A hash of context (Base58Check-encoded) */,
 
                    &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                    &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                    &quot;seed_nonce_hash&quot;?:
 
                      string
 
                      /* A nonce hash (Base58Check-encoded) */,
 
                    &quot;signature&quot;:
 
                      string
 
                      /* A Secp256k1 or Ed25519 signature
 
                        (Base58Check-encoded) */ } }
 
          || { &quot;kind&quot;: &quot;activation&quot;,
 
                &quot;pkh&quot;:
 
                  string
 
                  /* An Ed25519 public key hash (Base58Check-encoded) */,
 
                &quot;secret&quot;: /^[a-zA-Z0-9]+$/ } ... ],
 
      &quot;signature&quot;?:
 
        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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref88output" class="ref88 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;operation&quot;: /^[a-zA-Z0-9]+$/ /* hex encoded operation */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref89 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/forge/protocol_data'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref89descr', 'ref89')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref89input', 'ref89')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref89output', 'ref89')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref89descr" class="ref89 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Forge the protocol-specific part of a block header&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref89input" class="ref89 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
  &quot;nonce_hash&quot;?: string /* A nonce hash (Base58Check-encoded) */,
 
  &quot;proof_of_work_nonce&quot;?: /^[a-zA-Z0-9]+$/ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref89output" class="ref89 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;protocol_data&quot;: /^[a-zA-Z0-9]+$/ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref90 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/hash_data'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref90descr', 'ref90')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref90input', 'ref90')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref90output', 'ref90')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref90descr" class="ref90 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Computes the hash of some data expression using the same algorithm as script instruction H&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref90input" class="ref90 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;data&quot;: $micheline.michelson_v1.expression,
 
  &quot;type&quot;: $micheline.michelson_v1.expression }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref90output" class="ref90 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;hash&quot;: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref91 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/level/<block_level>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref91descr', 'ref91')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref91input', 'ref91')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref91output', 'ref91')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref91descr" class="ref91 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
...&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref91input" class="ref91 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;offset&quot;?: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref91output" class="ref91 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;level_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;cycle&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;cycle_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;voting_period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;voting_period_position&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;expected_commitment&quot;: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref92 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/levels/<block_cycle>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref92descr', 'ref92')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref92output', 'ref92')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref92descr" class="ref92 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Levels of a cycle&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref92output" class="ref92 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ /* levels of a cycle */
 
  &quot;first&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;last&quot;: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref93 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/minimal_timestamp'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref93descr', 'ref93')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref93input', 'ref93')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref93output', 'ref93')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref93descr" class="ref93 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Minimal timestamp for the next block.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref93input" class="ref93 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;priority&quot;?: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref93output" class="ref93 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;timestamp&quot;: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref94 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/parse/block'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref94descr', 'ref94')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref94input', 'ref94')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref94output', 'ref94')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref94descr" class="ref94 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Parse a block&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref94input" class="ref94 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;proto&quot;: integer ∈ ]0, 255[,
 
  &quot;predecessor&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
  &quot;timestamp&quot;: $timestamp || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
  &quot;operations_hash&quot;:
 
    string
 
    /* A list of list of operations (Base58Check-encoded) */,
 
  &quot;fitness&quot;: [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
 
  &quot;context&quot;: string /* A hash of context (Base58Check-encoded) */,
 
  &quot;protocol_data&quot;: /^[a-zA-Z0-9]+$/ }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref94output" class="ref94 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
  &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
  &quot;seed_nonce_hash&quot;?: string /* A nonce hash (Base58Check-encoded) */ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref95 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/parse/operations'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref95descr', 'ref95')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref95input', 'ref95')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref95output', 'ref95')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref95descr" class="ref95 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Parse operations&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref95input" class="ref95 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;operations&quot;:
 
    [ { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;data&quot;: /^[a-zA-Z0-9]+$/ } ... ],
 
  &quot;check_signature&quot;?: boolean }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref95output" class="ref95 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ $operation ... ]
 
$operation:
 
  { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;kind&quot;: &quot;endorsement&quot;,
 
    &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;slots&quot;: [ integer ∈ ]-2^30-2, 2^30+2[ ... ],
 
    &quot;signature&quot;?:
 
      string
 
      /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;source&quot;:
 
        string
 
        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
 
      &quot;kind&quot;: &quot;proposal&quot;,
 
      &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;proposals&quot;:
 
        [ string
 
        /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;source&quot;:
 
            string
 
            /* A Secp256k1 or Ed25519 public key hash
 
              (Base58Check-encoded) */,
 
          &quot;kind&quot;: &quot;ballot&quot;,
 
          &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
          &quot;proposal&quot;:
 
            string
 
            /* A Tezos protocol ID (Base58Check-encoded) */,
 
          &quot;ballot&quot;: &quot;nay&quot; | &quot;yay&quot; | &quot;pass&quot;,
 
          &quot;signature&quot;?:
 
            string
 
            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;kind&quot;: &quot;manager&quot;,
 
      &quot;source&quot;:
 
        string
 
        /* A contract handle
 
            A contract notation as given to an RPC or inside scripts. Can
 
            be a base58 public key hash, representing the implicit
 
            contract of this identity, or a base58 originated contract
 
            hash. */,
 
      &quot;fee&quot;:
 
        /* Amount in mutez */
 
        integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;counter&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;operations&quot;:
 
        [ { &quot;kind&quot;: &quot;reveal&quot;,
 
            &quot;public_key&quot;:
 
              string
 
              /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
 
          || { &quot;kind&quot;: &quot;transaction&quot;,
 
                &quot;amount&quot;:
 
                  /* Amount in mutez */
 
                  integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                &quot;destination&quot;:
 
                  string
 
                  /* A contract handle
 
                    A contract notation as given to an RPC or inside
 
                    scripts. Can be a base58 public key hash,
 
                    representing the implicit contract of this identity,
 
                    or a base58 originated contract hash. */,
 
                &quot;parameters&quot;?: $micheline.michelson_v1.expression }
 
          || { &quot;kind&quot;: &quot;origination&quot;,
 
                &quot;managerPubkey&quot;:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */,
 
                &quot;balance&quot;:
 
                  /* Amount in mutez */
 
                  integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                &quot;spendable&quot;?: boolean,
 
                &quot;delegatable&quot;?: boolean,
 
                &quot;delegate&quot;?:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */,
 
                &quot;script&quot;?:
 
                  { &quot;code&quot;: $micheline.michelson_v1.expression,
 
                    &quot;storage&quot;: $micheline.michelson_v1.expression } }
 
          || { &quot;kind&quot;: &quot;delegation&quot;,
 
                &quot;delegate&quot;?:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */ } ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;chain&quot;: &quot;activate&quot;,
 
      &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;chain&quot;: &quot;activate_testchain&quot;,
 
          &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
          &quot;signature&quot;?:
 
            string
 
            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;operations&quot;:
 
        [ { &quot;kind&quot;: &quot;seed_nonce_revelation&quot;,
 
            &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
            &quot;nonce&quot;: /^[a-zA-Z0-9]+$/ }
 
          || { &quot;kind&quot;: &quot;double_endorsement_evidence&quot;,
 
                &quot;op1&quot;: $operation,
 
                &quot;op2&quot;: $operation }
 
          || { &quot;kind&quot;: &quot;double_baking_evidence&quot;,
 
                &quot;op1&quot;:
 
                  { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                    &quot;proto&quot;: integer ∈ ]0, 255[,
 
                    &quot;predecessor&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;timestamp&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                    &quot;operations_hash&quot;:
 
                      string
 
                      /* A list of list of operations
 
                        (Base58Check-encoded) */,
 
                    &quot;fitness&quot;:
 
                      [ /^[a-zA-Z0-9]+$/ ... ]
 
                      /* Tezos block fitness */,
 
                    &quot;context&quot;:
 
                      string
 
                      /* A hash of context (Base58Check-encoded) */,
 
                    &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                    &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                    &quot;seed_nonce_hash&quot;?:
 
                      string
 
                      /* A nonce hash (Base58Check-encoded) */,
 
                    &quot;signature&quot;:
 
                      string
 
                      /* A Secp256k1 or Ed25519 signature
 
                        (Base58Check-encoded) */ },
 
                &quot;op2&quot;:
 
                  { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                    &quot;proto&quot;: integer ∈ ]0, 255[,
 
                    &quot;predecessor&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;timestamp&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                    &quot;operations_hash&quot;:
 
                      string
 
                      /* A list of list of operations
 
                        (Base58Check-encoded) */,
 
                    &quot;fitness&quot;:
 
                      [ /^[a-zA-Z0-9]+$/ ... ]
 
                      /* Tezos block fitness */,
 
                    &quot;context&quot;:
 
                      string
 
                      /* A hash of context (Base58Check-encoded) */,
 
                    &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                    &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                    &quot;seed_nonce_hash&quot;?:
 
                      string
 
                      /* A nonce hash (Base58Check-encoded) */,
 
                    &quot;signature&quot;:
 
                      string
 
                      /* A Secp256k1 or Ed25519 signature
 
                        (Base58Check-encoded) */ } }
 
          || { &quot;kind&quot;: &quot;activation&quot;,
 
                &quot;pkh&quot;:
 
                  string
 
                  /* An Ed25519 public key hash (Base58Check-encoded) */,
 
                &quot;secret&quot;: /^[a-zA-Z0-9]+$/ } ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }
 
$timestamp:
 
  /* RFC 3339 formatted timestamp
 
    A date in human readble form as specified in RFC 3339. */
 
  string&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref96 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/rights/baking'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref96descr', 'ref96')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref96input', 'ref96')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref96output', 'ref96')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref96descr" class="ref96 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List delegates allowed to bake for the next level, ordered by priority.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref96input" class="ref96 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;max_priority&quot;?: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref96output" class="ref96 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;baking_rights&quot;:
 
    [ { &quot;delegate&quot;:
 
          string
 
          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
 
        &quot;timestamp&quot;:
 
          $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref97 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/rights/baking/delegate/&lt;Signature.Public_key_hash&gt;'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref97descr', 'ref97')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref97input', 'ref97')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref97output', 'ref97')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref97descr" class="ref97 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Future baking rights for a given delegate.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref97input" class="ref97 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;max_priority&quot;?: integer ∈ ]-2^30-2, 2^30+2[,
 
  &quot;first_level&quot;?: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;last_level&quot;?: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref97output" class="ref97 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;priority&quot;: integer ∈ ]-2^30-2, 2^30+2[,
 
    &quot;timestamp&quot;: $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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref98 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/rights/baking/level/<block_level>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref98descr', 'ref98')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref98input', 'ref98')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref98output', 'ref98')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref98descr" class="ref98 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List delegate allowed to bake for a given level, ordered by priority.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref98input" class="ref98 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;max_priority&quot;?: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref98output" class="ref98 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;delegates&quot;:
 
    [ string
 
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref99 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/rights/endorsement'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref99descr', 'ref99')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref99input', 'ref99')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref99output', 'ref99')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref99descr" class="ref99 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List delegates allowed to endorse for the current block.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref99input" class="ref99 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;max_priority&quot;?: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref99output" class="ref99 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;delegates&quot;:
 
    [ string
 
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref100 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/rights/endorsement/delegate/&lt;Signature.Public_key_hash&gt;'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref100descr', 'ref100')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref100input', 'ref100')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref100output', 'ref100')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref100descr" class="ref100 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Compute endorsement rights for a given delegate.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref100input" class="ref100 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;max_priority&quot;?: integer ∈ ]-2^30-2, 2^30+2[,
 
  &quot;first_level&quot;?: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;last_level&quot;?: integer ∈ ]-2^31-2, 2^31+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref100output" class="ref100 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;priority&quot;: integer ∈ ]-2^30-2, 2^30+2[ } ... ]&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref101 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/rights/endorsement/level/<block_level>'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref101descr', 'ref101')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref101input', 'ref101')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref101output', 'ref101')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref101descr" class="ref101 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
List delegates allowed to endorse blocks for a given level.&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref101input" class="ref101 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;max_priority&quot;?: integer ∈ ]-2^30-2, 2^30+2[ }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref101output" class="ref101 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
  &quot;delegates&quot;:
 
    [ string
 
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ ... ] }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref102 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/run_code'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref102descr', 'ref102')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref102input', 'ref102')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref102output', 'ref102')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref102descr" class="ref102 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Run a piece of code in the current context&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref102input" class="ref102 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;script&quot;: $micheline.michelson_v1.expression,
 
  &quot;storage&quot;: $micheline.michelson_v1.expression,
 
  &quot;input&quot;: $micheline.michelson_v1.expression,
 
  &quot;amount&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;contract&quot;:
 
    string
 
    /* A contract handle
 
      A contract notation as given to an RPC or inside scripts. Can be a
 
      base58 public key hash, representing the implicit contract of this
 
      identity, or a base58 originated contract hash. */,
 
  &quot;origination_nonce&quot;?:
 
    { &quot;operation&quot;:
 
        string
 
        /* A Tezos operation ID (Base58Check-encoded) */,
 
      &quot;index&quot;?: integer ∈ ]-2^31-2, 2^31+2[ } }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref102output" class="ref102 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;storage&quot;: $micheline.michelson_v1.expression,
 
  &quot;output&quot;: $micheline.michelson_v1.expression,
 
  &quot;big_map_diff&quot;?:
 
    [ [ $micheline.michelson_v1.expression,
 
        $micheline.michelson_v1.expression || {  } ] ... ] }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref103 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/trace_code'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref103descr', 'ref103')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref103input', 'ref103')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref103output', 'ref103')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref103descr" class="ref103 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Run a piece of code in the current context, keeping a trace&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref103input" class="ref103 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;script&quot;: $micheline.michelson_v1.expression,
 
  &quot;storage&quot;: $micheline.michelson_v1.expression,
 
  &quot;input&quot;: $micheline.michelson_v1.expression,
 
  &quot;amount&quot;: /* Amount in mutez */integer ∈ ]-2^31-2, 2^31+2[ || string,
 
  &quot;contract&quot;:
 
    string
 
    /* A contract handle
 
      A contract notation as given to an RPC or inside scripts. Can be a
 
      base58 public key hash, representing the implicit contract of this
 
      identity, or a base58 originated contract hash. */,
 
  &quot;origination_nonce&quot;?:
 
    { &quot;operation&quot;:
 
        string
 
        /* A Tezos operation ID (Base58Check-encoded) */,
 
      &quot;index&quot;?: integer ∈ ]-2^31-2, 2^31+2[ } }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref103output" class="ref103 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;storage&quot;: $micheline.michelson_v1.expression,
 
  &quot;output&quot;: $micheline.michelson_v1.expression,
 
  &quot;trace&quot;:
 
    [ { &quot;location&quot;: $micheline.location,
 
        &quot;gas&quot;: integer ∈ ]-2^30-2, 2^30+2[,
 
        &quot;stack&quot;: [ $micheline.michelson_v1.expression ... ] } ... ],
 
  &quot;big_map_diff&quot;?:
 
    [ [ $micheline.michelson_v1.expression,
 
        $micheline.michelson_v1.expression || {  } ] ... ] }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: 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[&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref104 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/typecheck_code'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref104descr', 'ref104')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref104input', 'ref104')&quot;&gt;Input format&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref104output', 'ref104')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref104descr" class="ref104 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Typecheck a piece of code in the current context&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref104input" class="ref104 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
$micheline.michelson_v1.expression
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref104output" class="ref104 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ { &quot;location&quot;: $micheline.location,
 
    &quot;stackBefore&quot;: [ $micheline.michelson_v1.expression ... ],
 
    &quot;stackAfter&quot;: [ $micheline.michelson_v1.expression ... ] } ... ]
 
$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) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref105 :
 
 
 
'''POST /blocks/<block_id>/proto/helpers/typecheck_data'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref105descr', 'ref105')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref105input', 'ref105')&quot;&gt;Input format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref105descr" class="ref105 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
Check that some data expression is well formed and of a given type in the current context&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref105input" class="ref105 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
{ &quot;data&quot;: $micheline.michelson_v1.expression,
 
  &quot;type&quot;: $micheline.michelson_v1.expression }
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 
.. _ref106 :
 
 
 
'''POST /blocks/<block_id>/proto/operations'''
 
 
 
.. raw:: html
 
 
 
<div class="tab">
 
<pre>&lt;button class=&quot;tablinks defaultOpen&quot; onclick=&quot;showTab(this, 'ref106descr', 'ref106')&quot;&gt;Description&lt;/button&gt;
 
&lt;button class=&quot;tablinks&quot; onclick=&quot;showTab(this, 'ref106output', 'ref106')&quot;&gt;Output format&lt;/button&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref106descr" class="ref106 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;p&gt;
 
All the operations of the block (fully decoded).&lt;/p&gt;
 
&lt;/div&gt;</pre>
 
<div id="ref106output" class="ref106 tabcontent" style="max-height:200px; overflow:auto" >
 
<pre>&lt;pre&gt;
 
[ [ { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
      &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;kind&quot;: &quot;endorsement&quot;,
 
      &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;slots&quot;: [ integer ∈ ]-2^30-2, 2^30+2[ ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;source&quot;:
 
          string
 
          /* A Secp256k1 or Ed25519 public key hash
 
              (Base58Check-encoded) */,
 
        &quot;kind&quot;: &quot;proposal&quot;,
 
        &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
        &quot;proposals&quot;:
 
          [ string
 
          /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
 
        &quot;signature&quot;?:
 
          string
 
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;source&quot;:
 
          string
 
          /* A Secp256k1 or Ed25519 public key hash
 
              (Base58Check-encoded) */,
 
        &quot;kind&quot;: &quot;ballot&quot;,
 
        &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
        &quot;proposal&quot;:
 
          string
 
          /* A Tezos protocol ID (Base58Check-encoded) */,
 
        &quot;ballot&quot;: &quot;nay&quot; | &quot;yay&quot; | &quot;pass&quot;,
 
        &quot;signature&quot;?:
 
          string
 
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;kind&quot;: &quot;manager&quot;,
 
        &quot;source&quot;:
 
          string
 
          /* A contract handle
 
              A contract notation as given to an RPC or inside scripts.
 
              Can be a base58 public key hash, representing the implicit
 
              contract of this identity, or a base58 originated contract
 
              hash. */,
 
        &quot;fee&quot;:
 
          /* Amount in mutez */
 
          integer ∈ ]-2^31-2, 2^31+2[ || string,
 
        &quot;counter&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
        &quot;operations&quot;:
 
          [ { &quot;kind&quot;: &quot;reveal&quot;,
 
              &quot;public_key&quot;:
 
                string
 
                /* A Secp256k1 or Ed25519 public key
 
                    (Base58Check-encoded) */ }
 
            || { &quot;kind&quot;: &quot;transaction&quot;,
 
                  &quot;amount&quot;:
 
                    /* Amount in mutez */
 
                    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                  &quot;destination&quot;:
 
                    string
 
                    /* A contract handle
 
                      A contract notation as given to an RPC or inside
 
                      scripts. Can be a base58 public key hash,
 
                      representing the implicit contract of this
 
                      identity, or a base58 originated contract hash. */,
 
                  &quot;parameters&quot;?: $micheline.michelson_v1.expression }
 
            || { &quot;kind&quot;: &quot;origination&quot;,
 
                  &quot;managerPubkey&quot;:
 
                    string
 
                    /* A Secp256k1 or Ed25519 public key hash
 
                      (Base58Check-encoded) */,
 
                  &quot;balance&quot;:
 
                    /* Amount in mutez */
 
                    integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                  &quot;spendable&quot;?: boolean,
 
                  &quot;delegatable&quot;?: boolean,
 
                  &quot;delegate&quot;?:
 
                    string
 
                    /* A Secp256k1 or Ed25519 public key hash
 
                      (Base58Check-encoded) */,
 
                  &quot;script&quot;?:
 
                    { &quot;code&quot;: $micheline.michelson_v1.expression,
 
                      &quot;storage&quot;: $micheline.michelson_v1.expression } }
 
            || { &quot;kind&quot;: &quot;delegation&quot;,
 
                  &quot;delegate&quot;?:
 
                    string
 
                    /* A Secp256k1 or Ed25519 public key hash
 
                      (Base58Check-encoded) */ } ... ],
 
        &quot;signature&quot;?:
 
          string
 
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;chain&quot;: &quot;activate&quot;,
 
        &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
        &quot;signature&quot;?:
 
          string
 
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;chain&quot;: &quot;activate_testchain&quot;,
 
        &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
        &quot;signature&quot;?:
 
          string
 
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;hash&quot;: string /* A Tezos operation ID (Base58Check-encoded) */,
 
        &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
        &quot;operations&quot;:
 
          [ { &quot;kind&quot;: &quot;seed_nonce_revelation&quot;,
 
              &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
              &quot;nonce&quot;: /^[a-zA-Z0-9]+$/ }
 
            || { &quot;kind&quot;: &quot;double_endorsement_evidence&quot;,
 
                  &quot;op1&quot;: $operation,
 
                  &quot;op2&quot;: $operation }
 
            || { &quot;kind&quot;: &quot;double_baking_evidence&quot;,
 
                  &quot;op1&quot;:
 
                    { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                      &quot;proto&quot;: integer ∈ ]0, 255[,
 
                      &quot;predecessor&quot;:
 
                        string
 
                        /* A Tezos block ID (Base58Check-encoded) */,
 
                      &quot;timestamp&quot;:
 
                        $timestamp
 
                        || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                      &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                      &quot;operations_hash&quot;:
 
                        string
 
                        /* A list of list of operations
 
                          (Base58Check-encoded) */,
 
                      &quot;fitness&quot;:
 
                        [ /^[a-zA-Z0-9]+$/ ... ]
 
                        /* Tezos block fitness */,
 
                      &quot;context&quot;:
 
                        string
 
                        /* A hash of context (Base58Check-encoded) */,
 
                      &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                      &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                      &quot;seed_nonce_hash&quot;?:
 
                        string
 
                        /* A nonce hash (Base58Check-encoded) */,
 
                      &quot;signature&quot;:
 
                        string
 
                        /* A Secp256k1 or Ed25519 signature
 
                          (Base58Check-encoded) */ },
 
                  &quot;op2&quot;:
 
                    { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                      &quot;proto&quot;: integer ∈ ]0, 255[,
 
                      &quot;predecessor&quot;:
 
                        string
 
                        /* A Tezos block ID (Base58Check-encoded) */,
 
                      &quot;timestamp&quot;:
 
                        $timestamp
 
                        || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                      &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                      &quot;operations_hash&quot;:
 
                        string
 
                        /* A list of list of operations
 
                          (Base58Check-encoded) */,
 
                      &quot;fitness&quot;:
 
                        [ /^[a-zA-Z0-9]+$/ ... ]
 
                        /* Tezos block fitness */,
 
                      &quot;context&quot;:
 
                        string
 
                        /* A hash of context (Base58Check-encoded) */,
 
                      &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                      &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                      &quot;seed_nonce_hash&quot;?:
 
                        string
 
                        /* A nonce hash (Base58Check-encoded) */,
 
                      &quot;signature&quot;:
 
                        string
 
                        /* A Secp256k1 or Ed25519 signature
 
                          (Base58Check-encoded) */ } }
 
            || { &quot;kind&quot;: &quot;activation&quot;,
 
                  &quot;pkh&quot;:
 
                    string
 
                    /* An Ed25519 public key hash (Base58Check-encoded) */,
 
                  &quot;secret&quot;: /^[a-zA-Z0-9]+$/ } ... ],
 
        &quot;signature&quot;?:
 
          string
 
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } ... ] ... ]
 
$micheline.michelson_v1.expression:
 
  /* Micheline expression (michelson_v1 variant) */
 
  { &quot;int&quot;: string }
 
  || { &quot;string&quot;: string }
 
  || [ $micheline.michelson_v1.expression ... ]
 
  || { &quot;prim&quot;:
 
        &quot;BALANCE&quot;
 
        | &quot;LSL&quot;
 
        | &quot;LOOP_LEFT&quot;
 
        | &quot;CREATE_ACCOUNT&quot;
 
        | &quot;LOOP&quot;
 
        | &quot;LT&quot;
 
        | &quot;False&quot;
 
        | &quot;DUP&quot;
 
        | &quot;NOW&quot;
 
        | &quot;ABS&quot;
 
        | &quot;ADD&quot;
 
        | &quot;contract&quot;
 
        | &quot;big_map&quot;
 
        | &quot;MUL&quot;
 
        | &quot;ITER&quot;
 
        | &quot;EDIV&quot;
 
        | &quot;Unit&quot;
 
        | &quot;SOME&quot;
 
        | &quot;Pair&quot;
 
        | &quot;string&quot;
 
        | &quot;INT&quot;
 
        | &quot;MAP&quot;
 
        | &quot;XOR&quot;
 
        | &quot;return&quot;
 
        | &quot;bool&quot;
 
        | &quot;CONCAT&quot;
 
        | &quot;UPDATE&quot;
 
        | &quot;SOURCE&quot;
 
        | &quot;code&quot;
 
        | &quot;AMOUNT&quot;
 
        | &quot;CONS&quot;
 
        | &quot;CHECK_SIGNATURE&quot;
 
        | &quot;set&quot;
 
        | &quot;FAIL&quot;
 
        | &quot;UNIT&quot;
 
        | &quot;NEG&quot;
 
        | &quot;SIZE&quot;
 
        | &quot;key_hash&quot;
 
        | &quot;CREATE_CONTRACT&quot;
 
        | &quot;timestamp&quot;
 
        | &quot;True&quot;
 
        | &quot;Right&quot;
 
        | &quot;H&quot;
 
        | &quot;OR&quot;
 
        | &quot;LSR&quot;
 
        | &quot;CAR&quot;
 
        | &quot;EMPTY_MAP&quot;
 
        | &quot;AND&quot;
 
        | &quot;nat&quot;
 
        | &quot;HASH_KEY&quot;
 
        | &quot;RIGHT&quot;
 
        | &quot;MEM&quot;
 
        | &quot;NONE&quot;
 
        | &quot;NIL&quot;
 
        | &quot;Left&quot;
 
        | &quot;DEFAULT_ACCOUNT&quot;
 
        | &quot;GET&quot;
 
        | &quot;NOT&quot;
 
        | &quot;list&quot;
 
        | &quot;NEQ&quot;
 
        | &quot;key&quot;
 
        | &quot;EQ&quot;
 
        | &quot;SWAP&quot;
 
        | &quot;TRANSFER_TOKENS&quot;
 
        | &quot;LEFT&quot;
 
        | &quot;SELF&quot;
 
        | &quot;COMPARE&quot;
 
        | &quot;DIP&quot;
 
        | &quot;MANAGER&quot;
 
        | &quot;PUSH&quot;
 
        | &quot;LE&quot;
 
        | &quot;SUB&quot;
 
        | &quot;IF_NONE&quot;
 
        | &quot;Elt&quot;
 
        | &quot;option&quot;
 
        | &quot;tez&quot;
 
        | &quot;STEPS_TO_QUOTA&quot;
 
        | &quot;unit&quot;
 
        | &quot;EMPTY_SET&quot;
 
        | &quot;GE&quot;
 
        | &quot;PAIR&quot;
 
        | &quot;pair&quot;
 
        | &quot;IF&quot;
 
        | &quot;signature&quot;
 
        | &quot;or&quot;
 
        | &quot;Some&quot;
 
        | &quot;IF_CONS&quot;
 
        | &quot;parameter&quot;
 
        | &quot;LAMBDA&quot;
 
        | &quot;GT&quot;
 
        | &quot;REDUCE&quot;
 
        | &quot;int&quot;
 
        | &quot;None&quot;
 
        | &quot;map&quot;
 
        | &quot;EXEC&quot;
 
        | &quot;DROP&quot;
 
        | &quot;IF_LEFT&quot;
 
        | &quot;lambda&quot;
 
        | &quot;storage&quot;
 
        | &quot;CDR&quot;,
 
      &quot;args&quot;: [ $micheline.michelson_v1.expression ... ],
 
      &quot;annot&quot;?: string }
 
$operation:
 
  { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;kind&quot;: &quot;endorsement&quot;,
 
    &quot;block&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
    &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
    &quot;slots&quot;: [ integer ∈ ]-2^30-2, 2^30+2[ ... ],
 
    &quot;signature&quot;?:
 
      string
 
      /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;source&quot;:
 
        string
 
        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
 
      &quot;kind&quot;: &quot;proposal&quot;,
 
      &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;proposals&quot;:
 
        [ string
 
        /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;source&quot;:
 
            string
 
            /* A Secp256k1 or Ed25519 public key hash
 
              (Base58Check-encoded) */,
 
          &quot;kind&quot;: &quot;ballot&quot;,
 
          &quot;period&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
          &quot;proposal&quot;:
 
            string
 
            /* A Tezos protocol ID (Base58Check-encoded) */,
 
          &quot;ballot&quot;: &quot;nay&quot; | &quot;yay&quot; | &quot;pass&quot;,
 
          &quot;signature&quot;?:
 
            string
 
            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;kind&quot;: &quot;manager&quot;,
 
      &quot;source&quot;:
 
        string
 
        /* A contract handle
 
            A contract notation as given to an RPC or inside scripts. Can
 
            be a base58 public key hash, representing the implicit
 
            contract of this identity, or a base58 originated contract
 
            hash. */,
 
      &quot;fee&quot;:
 
        /* Amount in mutez */
 
        integer ∈ ]-2^31-2, 2^31+2[ || string,
 
      &quot;counter&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
      &quot;operations&quot;:
 
        [ { &quot;kind&quot;: &quot;reveal&quot;,
 
            &quot;public_key&quot;:
 
              string
 
              /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
 
          || { &quot;kind&quot;: &quot;transaction&quot;,
 
                &quot;amount&quot;:
 
                  /* Amount in mutez */
 
                  integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                &quot;destination&quot;:
 
                  string
 
                  /* A contract handle
 
                    A contract notation as given to an RPC or inside
 
                    scripts. Can be a base58 public key hash,
 
                    representing the implicit contract of this identity,
 
                    or a base58 originated contract hash. */,
 
                &quot;parameters&quot;?: $micheline.michelson_v1.expression }
 
          || { &quot;kind&quot;: &quot;origination&quot;,
 
                &quot;managerPubkey&quot;:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */,
 
                &quot;balance&quot;:
 
                  /* Amount in mutez */
 
                  integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                &quot;spendable&quot;?: boolean,
 
                &quot;delegatable&quot;?: boolean,
 
                &quot;delegate&quot;?:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */,
 
                &quot;script&quot;?:
 
                  { &quot;code&quot;: $micheline.michelson_v1.expression,
 
                    &quot;storage&quot;: $micheline.michelson_v1.expression } }
 
          || { &quot;kind&quot;: &quot;delegation&quot;,
 
                &quot;delegate&quot;?:
 
                  string
 
                  /* A Secp256k1 or Ed25519 public key hash
 
                    (Base58Check-encoded) */ } ... ],
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;chain&quot;: &quot;activate&quot;,
 
      &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
      &quot;signature&quot;?:
 
        string
 
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
    || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
          &quot;chain&quot;: &quot;activate_testchain&quot;,
 
          &quot;hash&quot;: string /* A Tezos protocol ID (Base58Check-encoded) */,
 
          &quot;signature&quot;?:
 
            string
 
            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
 
  || { &quot;branch&quot;: string /* A Tezos block ID (Base58Check-encoded) */,
 
      &quot;operations&quot;:
 
        [ { &quot;kind&quot;: &quot;seed_nonce_revelation&quot;,
 
            &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
            &quot;nonce&quot;: /^[a-zA-Z0-9]+$/ }
 
          || { &quot;kind&quot;: &quot;double_endorsement_evidence&quot;,
 
                &quot;op1&quot;: $operation,
 
                &quot;op2&quot;: $operation }
 
          || { &quot;kind&quot;: &quot;double_baking_evidence&quot;,
 
                &quot;op1&quot;:
 
                  { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                    &quot;proto&quot;: integer ∈ ]0, 255[,
 
                    &quot;predecessor&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;timestamp&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                    &quot;operations_hash&quot;:
 
                      string
 
                      /* A list of list of operations
 
                        (Base58Check-encoded) */,
 
                    &quot;fitness&quot;:
 
                      [ /^[a-zA-Z0-9]+$/ ... ]
 
                      /* Tezos block fitness */,
 
                    &quot;context&quot;:
 
                      string
 
                      /* A hash of context (Base58Check-encoded) */,
 
                    &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                    &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                    &quot;seed_nonce_hash&quot;?:
 
                      string
 
                      /* A nonce hash (Base58Check-encoded) */,
 
                    &quot;signature&quot;:
 
                      string
 
                      /* A Secp256k1 or Ed25519 signature
 
                        (Base58Check-encoded) */ },
 
                &quot;op2&quot;:
 
                  { &quot;level&quot;: integer ∈ ]-2^31-2, 2^31+2[,
 
                    &quot;proto&quot;: integer ∈ ]0, 255[,
 
                    &quot;predecessor&quot;:
 
                      string
 
                      /* A Tezos block ID (Base58Check-encoded) */,
 
                    &quot;timestamp&quot;:
 
                      $timestamp
 
                      || integer ∈ ]-2^31-2, 2^31+2[ || string,
 
                    &quot;validation_pass&quot;: integer ∈ ]0, 255[,
 
                    &quot;operations_hash&quot;:
 
                      string
 
                      /* A list of list of operations
 
                        (Base58Check-encoded) */,
 
                    &quot;fitness&quot;:
 
                      [ /^[a-zA-Z0-9]+$/ ... ]
 
                      /* Tezos block fitness */,
 
                    &quot;context&quot;:
 
                      string
 
                      /* A hash of context (Base58Check-encoded) */,
 
                    &quot;priority&quot;: integer ∈ ]0, 2^16-1[,
 
                    &quot;proof_of_work_nonce&quot;: /^[a-zA-Z0-9]+$/,
 
                    &quot;seed_nonce_hash&quot;?:
 
                      string
 
                      /* A nonce hash (Base58Check-encoded) */,
 
                    &quot;signature&quot;:
 
                      string
 
                      /* A Secp256k1 or Ed25519 signature
 
                        (Base58Check-encoded) */ } }
 
          || { &quot;kind&quot;: &quot;activation&quot;,
 
                &quot;pkh&quot;:
 
                  string
 
                  /* An Ed25519 public key hash (Base58Check-encoded) */,
 
                &quot;secret&quot;: /^[a-zA-Z0-9]+$/ } ... ],
 
      &quot;signature&quot;?:
 
        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&lt;/pre&gt;
 
&lt;/div&gt;</pre>
 

2018年4月30日 (月) 21:04時点における最新版