Skip to content

Commit

Permalink
Deployed b83b5ad with MkDocs version: 1.4.2
Browse files Browse the repository at this point in the history
  • Loading branch information
GitHub Action committed Apr 9, 2024
1 parent 66f8428 commit 0b9bdd1
Show file tree
Hide file tree
Showing 4 changed files with 241 additions and 207 deletions.
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

122 changes: 78 additions & 44 deletions serializations/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3528,8 +3528,8 @@
</li>

<li class="md-nav__item">
<a href="#instructions" class="md-nav__link">
Instructions
<a href="#basic-blocks" class="md-nav__link">
Basic Blocks
</a>

</li>
Expand Down Expand Up @@ -3606,15 +3606,15 @@
</li>

<li class="md-nav__item">
<a href="#address" class="md-nav__link">
Address
<a href="#account" class="md-nav__link">
Account
</a>

</li>

<li class="md-nav__item">
<a href="#contractaddress" class="md-nav__link">
ContractAddress
<a href="#contract" class="md-nav__link">
Contract
</a>

</li>
Expand Down Expand Up @@ -3680,6 +3680,13 @@
Type
</a>

</li>

<li class="md-nav__item">
<a href="#contractbytearray" class="md-nav__link">
ContractBytearray
</a>

</li>

</ul>
Expand Down Expand Up @@ -4409,8 +4416,8 @@
</li>

<li class="md-nav__item">
<a href="#instructions" class="md-nav__link">
Instructions
<a href="#basic-blocks" class="md-nav__link">
Basic Blocks
</a>

</li>
Expand Down Expand Up @@ -4487,15 +4494,15 @@
</li>

<li class="md-nav__item">
<a href="#address" class="md-nav__link">
Address
<a href="#account" class="md-nav__link">
Account
</a>

</li>

<li class="md-nav__item">
<a href="#contractaddress" class="md-nav__link">
ContractAddress
<a href="#contract" class="md-nav__link">
Contract
</a>

</li>
Expand Down Expand Up @@ -4561,6 +4568,13 @@
Type
</a>

</li>

<li class="md-nav__item">
<a href="#contractbytearray" class="md-nav__link">
ContractBytearray
</a>

</li>

</ul>
Expand Down Expand Up @@ -5936,7 +5950,14 @@ <h3 id="fate-top-level">FATE top level</h3>
RLP(Code),
RLP(Symbols),
RLP(Annotations)

Symbols ::=
Map(Symbols)

Annotations ::=
Map(Annotations)
</code></pre></div></p>
<p><code>Symbols</code> and <code>Annotations</code> are serialized as FATE maps.</p>
<h3 id="code">Code</h3>
<p>Functions are sorted on their name (a name in this setting is the 4 first bytes of the blake2b
hash of the program level readable name). Only one function of each name is allowed.
Expand All @@ -5950,7 +5971,7 @@ <h3 id="function">Function</h3>
Id,
Attributes,
Type Signature,
Instructions
Basic Blocks
</code></pre></div>
<h3 id="id">Id</h3>
<p>The Id is four bytes. The convention used by the reference compiler and
Expand Down Expand Up @@ -5988,13 +6009,20 @@ <h3 id="type-signature">Type Signature</h3>
Type({tuple, Args}),
Type(RetType)
</code></pre></div>
<h3 id="instructions">Instructions</h3>
<p>The code itself is encoded as a series of instructions that
can be broken up into basic blocks.
<div class="highlight"><pre><span></span><code>Instructions ::=
<h3 id="basic-blocks">Basic Blocks</h3>
<p>The code itself is encoded as a series of instructions that are broken up into
basic blocks.</p>
<div class="highlight"><pre><span></span><code>Basic Blocks ::=
Basic Block
| Basic Block, Basic Blocks

Basic Block ::=
Instructions

Instructions ::=
Instruction
| Instruction, Instructions
</code></pre></div></p>
</code></pre></div>
<h3 id="instruction">Instruction</h3>
<p>Each instruction is encoded by its opcode and for opcodes taking
an argument the addressing mode it uses followed by the argument.
Expand Down Expand Up @@ -6146,7 +6174,7 @@ <h3 id="addressingmode">AddressingMode</h3>
<div class="highlight"><pre><span></span><code>AddressingMode ::=
&lt; &gt;
| LowAddressingMode
| HighAddressingMode | LowAddressingMode
| HighAddressingMode, LowAddressingMode

LowAddressingMode ::=
&lt;&lt;&lt; Mode, Mode, Mode, Mode &gt;&gt;&gt; ; Arg3 Arg2 Arg1 Arg0
Expand Down Expand Up @@ -6176,8 +6204,8 @@ <h3 id="data">Data</h3>
| String
| Bytes
| Bits
| Address
| ContractAddress
| Account
| Contract
| Oracle
| OracleQuery
| Channel
Expand All @@ -6187,6 +6215,7 @@ <h3 id="data">Data</h3>
| StoreMap
| Variant
| Type
| ContractBytearray
</code></pre></div>
<h4 id="boolean">Boolean</h4>
<div class="highlight"><pre><span></span><code>Boolean ::=
Expand All @@ -6203,7 +6232,7 @@ <h4 id="integer">Integer</h4>
LargeInt(I) ::=
RLP(Unsigned(I))

;; Encode an unsigned int
;; Encode an unsigned int as a big endian binary representation.
;; where &#39;shr&#39; is bitwise shift right, and &#39;band&#39; is bitwise and.
Unsigned(I) ::=
&lt;&lt; 0 &gt;&gt; ;; When I = 0
Expand All @@ -6228,12 +6257,12 @@ <h4 id="bytes">Bytes</h4>
<div class="highlight"><pre><span></span><code>Bytes(B) ::=
&lt;&lt;&lt;10011111&gt;&gt;&gt;, &lt;&lt;&lt;00000001&gt;&gt;&gt;, String(B)
</code></pre></div>
<h4 id="address">Address</h4>
<div class="highlight"><pre><span></span><code>Address(A) ::=
<h4 id="account">Account</h4>
<div class="highlight"><pre><span></span><code>Account(A) ::=
&lt;&lt;&lt;10011111&gt;&gt;&gt;, &lt;&lt;&lt;00000000&gt;&gt;&gt;, RLP(A)
</code></pre></div>
<h4 id="contractaddress">ContractAddress</h4>
<div class="highlight"><pre><span></span><code>ContractAddress(C) ::=
<h4 id="contract">Contract</h4>
<div class="highlight"><pre><span></span><code>Contract(C) ::=
&lt;&lt;&lt;10011111&gt;&gt;&gt;, &lt;&lt;&lt;00000010&gt;&gt;&gt;, RLP(C)
</code></pre></div>
<h4 id="oracle">Oracle</h4>
Expand All @@ -6254,7 +6283,7 @@ <h4 id="tuple">Tuple</h4>
<div class="highlight"><pre><span></span><code>Tuple(T) ::=
&lt;&lt;&lt; 00111111 &gt;&gt;&gt; ; for the empty tuple (Unit)
| &lt;&lt;&lt; tuple_size(T), 1011 &gt;&gt;&gt;, Elements ; when tuple_size(T) &lt; 16
| &lt;&lt;&lt; 00001011 &gt;&gt;&gt;, Integer(tuple_size(T) - 16), Elements ; Otherwise
| &lt;&lt;&lt; 00001011 &gt;&gt;&gt;, RLP(tuple_size(T) - 16), Elements ; Otherwise

Elements ::=
Data
Expand Down Expand Up @@ -6310,7 +6339,7 @@ <h4 id="type">Type</h4>
| BooleanType
| ListType(list_element_type(T))
| TupleType(tuple_element_types(T))
| AddressType
| AccountType
| ContractType
| OracleType
| OracleQueryType
Expand All @@ -6323,27 +6352,32 @@ <h4 id="type">Type</h4>
| AnyType
| VarType(var_type_id(T))

IntegerType ::= &lt;&lt;&lt; 00000111 &gt;&gt;&gt;
BooleanType ::= &lt;&lt;&lt; 00010111 &gt;&gt;&gt;
ListType(ET) ::= &lt;&lt;&lt; 00100111 &gt;&gt;&gt;, Type(ET)
TupleType(ETs) ::= &lt;&lt;&lt; 00110111 &gt;&gt;&gt;, length(ETs), TupleElementTypes(ETs)
AddressType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000000 &gt;&gt;&gt;
ContractType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000010 &gt;&gt;&gt;
OracleType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000011 &gt;&gt;&gt;
OracleQueryType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000100 &gt;&gt;&gt;
ChannelType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000101 &gt;&gt;&gt;
BitsType ::= &lt;&lt;&lt; 01010111 &gt;&gt;&gt;
MapType(T) ::= &lt;&lt;&lt; 01100111 &gt;&gt;&gt;, Type(key_type(T)), Type(value_type(T))
StringType ::= &lt;&lt;&lt; 01110111 &gt;&gt;&gt;
VariantType(T) ::= &lt;&lt;&lt; 10000111 &gt;&gt;&gt;, &lt;&lt; size(type_arities(T)) &gt;&gt;, VariantTypes(variant_type_elements(T))
BytesType(N) ::= &lt;&lt;&lt; 10010111 &gt;&gt;&gt;, Integer(N)
AnyType ::= &lt;&lt;&lt; 11110111 &gt;&gt;&gt;
VarType(N) ::= &lt;&lt;&lt; 11100111 &gt;&gt;&gt;, &lt;&lt; N &gt;&gt;
IntegerType ::= &lt;&lt;&lt; 00000111 &gt;&gt;&gt;
BooleanType ::= &lt;&lt;&lt; 00010111 &gt;&gt;&gt;
ListType(ET) ::= &lt;&lt;&lt; 00100111 &gt;&gt;&gt;, Type(ET)
TupleType(ETs) ::= &lt;&lt;&lt; 00110111 &gt;&gt;&gt;, length(ETs), TupleElementTypes(ETs)
AccountType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000000 &gt;&gt;&gt;
ContractType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000010 &gt;&gt;&gt;
OracleType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000011 &gt;&gt;&gt;
OracleQueryType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000100 &gt;&gt;&gt;
ChannelType ::= &lt;&lt;&lt; 01000111 &gt;&gt;&gt;, &lt;&lt;&lt; 00000101 &gt;&gt;&gt;
BitsType ::= &lt;&lt;&lt; 01010111 &gt;&gt;&gt;
MapType(T) ::= &lt;&lt;&lt; 01100111 &gt;&gt;&gt;, Type(key_type(T)), Type(value_type(T))
StringType ::= &lt;&lt;&lt; 01110111 &gt;&gt;&gt;
VariantType(T) ::= &lt;&lt;&lt; 10000111 &gt;&gt;&gt;, &lt;&lt; size(type_arities(T)) &gt;&gt;, VariantTypes(variant_type_elements(T))
BytesType(N) ::= &lt;&lt;&lt; 10010111 &gt;&gt;&gt;, Integer(N)
AnyType ::= &lt;&lt;&lt; 11110111 &gt;&gt;&gt;
VarType(N) ::= &lt;&lt;&lt; 11100111 &gt;&gt;&gt;, &lt;&lt; N &gt;&gt;
ContractBytearrayType ::= &lt;&lt;&lt; 10001111 &gt;&gt;&gt;

TupleElementTypes(T) ::= &lt; &gt; | Type, TupleElementTypes

VariantTypes(T) ::= &lt; &gt; | Type, VariantTypes
</code></pre></div>
<h4 id="contractbytearray">ContractBytearray</h4>
<div class="highlight"><pre><span></span><code>ContractBytearray(C) ::=
&lt;&lt;&lt; 10001111 &gt;&gt;&gt;, Integer(size(C)), C
</code></pre></div>



Expand Down
Loading

0 comments on commit 0b9bdd1

Please sign in to comment.