Deployed cfcf0a8 to master with MkDocs 1.2.4 and mike 1.0.1

This commit is contained in:
GitHub Action 2022-03-28 10:09:57 +00:00
parent 64bd702e83
commit ed59f97a76
13 changed files with 77 additions and 70 deletions

View File

@ -10,7 +10,7 @@
<link rel="icon" href="/favicon.png"> <link rel="icon" href="/favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">
@ -1308,6 +1308,9 @@ and this project adheres to <a href="https://semver.org/spec/v2.0.0.html">Semant
<li>Compiler warnings for the follwing: shadowing, negative spends, division by zero, unused functions, unused includes, unused stateful annotations, unused variables, unused parameters, unused user-defined type, dead return value.</li> <li>Compiler warnings for the follwing: shadowing, negative spends, division by zero, unused functions, unused includes, unused stateful annotations, unused variables, unused parameters, unused user-defined type, dead return value.</li>
</ul> </ul>
<h3 id="changed">Changed</h3> <h3 id="changed">Changed</h3>
<ul>
<li>Error messages have been restructured (less newlines) to provide more unified errors. Also <code>pp_oneline/1</code> has been added.</li>
</ul>
<h3 id="removed">Removed</h3> <h3 id="removed">Removed</h3>
<h2 id="610-2021-10-20"><a href="https://github.com/aeternity/aesophia/compare/v6.0.2...v6.1.0">6.1.0</a> - 2021-10-20</h2> <h2 id="610-2021-10-20"><a href="https://github.com/aeternity/aesophia/compare/v6.0.2...v6.1.0">6.1.0</a> - 2021-10-20</h2>
<h3 id="added_1">Added</h3> <h3 id="added_1">Added</h3>

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">
@ -465,9 +465,9 @@ interface. As yet the interface is very basic.</p>
function new_answer : (string, int) =&gt; map(string, int) function new_answer : (string, int) =&gt; map(string, int)
</code></pre></div> </code></pre></div>
<h3 id="types">Types</h3> <h3 id="types">Types</h3>
<div class="highlight"><pre><span></span><code><span class="p">-</span><span class="ni">type</span> <span class="n">aci_type</span><span class="p">()</span> <span class="p">::</span> <span class="n">json</span> <span class="p">|</span> <span class="n">string</span><span class="p">.</span> <div class="highlight"><pre><span></span><code><span class="p">-</span><span class="ni">type</span><span class="w"> </span><span class="n">aci_type</span><span class="p">()</span><span class="w"> </span><span class="p">::</span><span class="w"> </span><span class="n">json</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="n">string</span><span class="p">.</span><span class="w"></span>
<span class="p">-</span><span class="ni">type</span> <span class="n">json</span><span class="p">()</span> <span class="p">::</span> <span class="nn">jsx</span><span class="p">:</span><span class="nf">json_term</span><span class="p">().</span> <span class="p">-</span><span class="ni">type</span><span class="w"> </span><span class="n">json</span><span class="p">()</span><span class="w"> </span><span class="p">::</span><span class="w"> </span><span class="nn">jsx</span><span class="p">:</span><span class="nf">json_term</span><span class="p">().</span><span class="w"></span>
<span class="p">-</span><span class="ni">type</span> <span class="n">json_text</span><span class="p">()</span> <span class="p">::</span> <span class="n">binary</span><span class="p">().</span> <span class="p">-</span><span class="ni">type</span><span class="w"> </span><span class="n">json_text</span><span class="p">()</span><span class="w"> </span><span class="p">::</span><span class="w"> </span><span class="n">binary</span><span class="p">().</span><span class="w"></span>
</code></pre></div> </code></pre></div>
<h3 id="exports">Exports</h3> <h3 id="exports">Exports</h3>
<h4 id="contract_interfaceaci_type-string-ok-json-string-error-term">contract_interface(aci_type(), string()) -&gt; {ok, json() | string()} | {error, term()}</h4> <h4 id="contract_interfaceaci_type-string-ok-json-string-error-term">contract_interface(aci_type(), string()) -&gt; {ok, json() | string()} | {error, term()}</h4>
@ -482,35 +482,35 @@ called <code>aci_test.aes</code> contains the contract in the description from w
want to generate files <code>aci_test.json</code> which is the JSON encoding of the want to generate files <code>aci_test.json</code> which is the JSON encoding of the
contract interface and <code>aci_test.include</code> which is the contract definition to contract interface and <code>aci_test.include</code> which is the contract definition to
be included inside another contract.</p> be included inside another contract.</p>
<div class="highlight"><pre><span></span><code><span class="mi">1</span><span class="o">&gt;</span> <span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">Contract</span><span class="p">}</span> <span class="o">=</span> <span class="nn">file</span><span class="p">:</span><span class="nf">read_file</span><span class="p">(</span><span class="s">&quot;aci_test.aes&quot;</span><span class="p">).</span> <div class="highlight"><pre><span></span><code><span class="mi">1</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">Contract</span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nn">file</span><span class="p">:</span><span class="nf">read_file</span><span class="p">(</span><span class="s">&quot;aci_test.aes&quot;</span><span class="p">).</span><span class="w"></span>
<span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;contract Answers =</span><span class="se">\n</span><span class="s"> record state = { a : answers }</span><span class="se">\n</span><span class="s"> type answers() = map(string, int)</span><span class="se">\n\n</span><span class="s"> stateful function&quot;</span><span class="p">...</span><span class="o">&gt;&gt;</span><span class="p">}</span> <span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;contract Answers =</span><span class="se">\n</span><span class="s"> record state = { a : answers }</span><span class="se">\n</span><span class="s"> type answers() = map(string, int)</span><span class="se">\n\n</span><span class="s"> stateful function&quot;</span><span class="p">...</span><span class="o">&gt;&gt;</span><span class="p">}</span><span class="w"></span>
<span class="mi">2</span><span class="o">&gt;</span> <span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">JsonACI</span><span class="p">}</span> <span class="o">=</span> <span class="nn">aeso_aci</span><span class="p">:</span><span class="nf">contract_interface</span><span class="p">(</span><span class="n">json</span><span class="p">,</span> <span class="nv">Contract</span><span class="p">).</span> <span class="mi">2</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">JsonACI</span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nn">aeso_aci</span><span class="p">:</span><span class="nf">contract_interface</span><span class="p">(</span><span class="n">json</span><span class="p">,</span><span class="w"> </span><span class="nv">Contract</span><span class="p">).</span><span class="w"></span>
<span class="p">{</span><span class="n">ok</span><span class="p">,[#{</span><span class="n">contract</span> <span class="o">=&gt;</span> <span class="p">{</span><span class="n">ok</span><span class="p">,[#{</span><span class="n">contract</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"></span>
<span class="p">#{</span><span class="n">functions</span> <span class="o">=&gt;</span> <span class="w"> </span><span class="p">#{</span><span class="n">functions</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"></span>
<span class="p">[#{</span><span class="n">arguments</span> <span class="o">=&gt;</span> <span class="p">[],</span><span class="n">name</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;init&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span> <span class="w"> </span><span class="p">[#{</span><span class="n">arguments</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">[],</span><span class="n">name</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;init&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="w"></span>
<span class="n">returns</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;Answers.state&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">stateful</span> <span class="o">=&gt;</span> <span class="n">true</span><span class="p">},</span> <span class="w"> </span><span class="n">returns</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;Answers.state&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">stateful</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">true</span><span class="p">},</span><span class="w"></span>
<span class="p">#{</span><span class="n">arguments</span> <span class="o">=&gt;</span> <span class="w"> </span><span class="p">#{</span><span class="n">arguments</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"></span>
<span class="p">[#{</span><span class="n">name</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;q&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">type</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;string&quot;</span><span class="o">&gt;&gt;</span><span class="p">},</span> <span class="w"> </span><span class="p">[#{</span><span class="n">name</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;q&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">type</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;string&quot;</span><span class="o">&gt;&gt;</span><span class="p">},</span><span class="w"></span>
<span class="p">#{</span><span class="n">name</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;a&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">type</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;int&quot;</span><span class="o">&gt;&gt;</span><span class="p">}],</span> <span class="w"> </span><span class="p">#{</span><span class="n">name</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;a&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">type</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;int&quot;</span><span class="o">&gt;&gt;</span><span class="p">}],</span><span class="w"></span>
<span class="n">name</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;new_answer&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span> <span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;new_answer&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="w"></span>
<span class="n">returns</span> <span class="o">=&gt;</span> <span class="p">#{</span><span class="o">&lt;&lt;</span><span class="s">&quot;map&quot;</span><span class="o">&gt;&gt;</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="o">&lt;&lt;</span><span class="s">&quot;string&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;int&quot;</span><span class="o">&gt;&gt;</span><span class="p">]},</span> <span class="w"> </span><span class="n">returns</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">#{</span><span class="o">&lt;&lt;</span><span class="s">&quot;map&quot;</span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">[</span><span class="o">&lt;&lt;</span><span class="s">&quot;string&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;int&quot;</span><span class="o">&gt;&gt;</span><span class="p">]},</span><span class="w"></span>
<span class="n">stateful</span> <span class="o">=&gt;</span> <span class="n">false</span><span class="p">}],</span> <span class="w"> </span><span class="n">stateful</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">false</span><span class="p">}],</span><span class="w"></span>
<span class="n">name</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;Answers&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span> <span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;Answers&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="w"></span>
<span class="n">state</span> <span class="o">=&gt;</span> <span class="w"> </span><span class="n">state</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"></span>
<span class="p">#{</span><span class="n">record</span> <span class="o">=&gt;</span> <span class="w"> </span><span class="p">#{</span><span class="n">record</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"></span>
<span class="p">[#{</span><span class="n">name</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;a&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">type</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;Answers.answers&quot;</span><span class="o">&gt;&gt;</span><span class="p">}]},</span> <span class="w"> </span><span class="p">[#{</span><span class="n">name</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;a&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="n">type</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;Answers.answers&quot;</span><span class="o">&gt;&gt;</span><span class="p">}]},</span><span class="w"></span>
<span class="n">type_defs</span> <span class="o">=&gt;</span> <span class="w"> </span><span class="n">type_defs</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"></span>
<span class="p">[#{</span><span class="n">name</span> <span class="o">=&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;answers&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span> <span class="w"> </span><span class="p">[#{</span><span class="n">name</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="s">&quot;answers&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="w"></span>
<span class="n">typedef</span> <span class="o">=&gt;</span> <span class="p">#{</span><span class="o">&lt;&lt;</span><span class="s">&quot;map&quot;</span><span class="o">&gt;&gt;</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="o">&lt;&lt;</span><span class="s">&quot;string&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;int&quot;</span><span class="o">&gt;&gt;</span><span class="p">]},</span> <span class="w"> </span><span class="n">typedef</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">#{</span><span class="o">&lt;&lt;</span><span class="s">&quot;map&quot;</span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">[</span><span class="o">&lt;&lt;</span><span class="s">&quot;string&quot;</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;int&quot;</span><span class="o">&gt;&gt;</span><span class="p">]},</span><span class="w"></span>
<span class="n">vars</span> <span class="o">=&gt;</span> <span class="p">[]}]}}]}</span> <span class="w"> </span><span class="n">vars</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">[]}]}}]}</span><span class="w"></span>
<span class="mi">3</span><span class="o">&gt;</span> <span class="nn">file</span><span class="p">:</span><span class="nf">write_file</span><span class="p">(</span><span class="s">&quot;aci_test.aci&quot;</span><span class="p">,</span> <span class="nn">jsx</span><span class="p">:</span><span class="nf">encode</span><span class="p">(</span><span class="nv">JsonACI</span><span class="p">)).</span> <span class="mi">3</span><span class="o">&gt;</span><span class="w"> </span><span class="nn">file</span><span class="p">:</span><span class="nf">write_file</span><span class="p">(</span><span class="s">&quot;aci_test.aci&quot;</span><span class="p">,</span><span class="w"> </span><span class="nn">jsx</span><span class="p">:</span><span class="nf">encode</span><span class="p">(</span><span class="nv">JsonACI</span><span class="p">)).</span><span class="w"></span>
<span class="n">ok</span> <span class="n">ok</span><span class="w"></span>
<span class="mi">4</span><span class="o">&gt;</span> <span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">InterfaceStub</span><span class="p">}</span> <span class="o">=</span> <span class="nn">aeso_aci</span><span class="p">:</span><span class="nf">render_aci_json</span><span class="p">(</span><span class="nv">JsonACI</span><span class="p">).</span> <span class="mi">4</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">InterfaceStub</span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nn">aeso_aci</span><span class="p">:</span><span class="nf">render_aci_json</span><span class="p">(</span><span class="nv">JsonACI</span><span class="p">).</span><span class="w"></span>
<span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;contract Answers =</span><span class="se">\n</span><span class="s"> record state = {a : Answers.answers}</span><span class="se">\n</span><span class="s"> type answers = map(string, int)</span><span class="se">\n</span><span class="s"> function init &quot;</span><span class="p">...</span><span class="o">&gt;&gt;</span><span class="p">}</span> <span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="o">&lt;&lt;</span><span class="s">&quot;contract Answers =</span><span class="se">\n</span><span class="s"> record state = {a : Answers.answers}</span><span class="se">\n</span><span class="s"> type answers = map(string, int)</span><span class="se">\n</span><span class="s"> function init &quot;</span><span class="p">...</span><span class="o">&gt;&gt;</span><span class="p">}</span><span class="w"></span>
<span class="mi">5</span><span class="o">&gt;</span> <span class="nn">file</span><span class="p">:</span><span class="nf">write_file</span><span class="p">(</span><span class="s">&quot;aci_test.include&quot;</span><span class="p">,</span> <span class="nv">InterfaceStub</span><span class="p">).</span> <span class="mi">5</span><span class="o">&gt;</span><span class="w"> </span><span class="nn">file</span><span class="p">:</span><span class="nf">write_file</span><span class="p">(</span><span class="s">&quot;aci_test.include&quot;</span><span class="p">,</span><span class="w"> </span><span class="nv">InterfaceStub</span><span class="p">).</span><span class="w"></span>
<span class="n">ok</span> <span class="n">ok</span><span class="w"></span>
<span class="mi">6</span><span class="o">&gt;</span> <span class="nn">jsx</span><span class="p">:</span><span class="nf">prettify</span><span class="p">(</span><span class="nn">jsx</span><span class="p">:</span><span class="nf">encode</span><span class="p">(</span><span class="nv">JsonACI</span><span class="p">)).</span> <span class="mi">6</span><span class="o">&gt;</span><span class="w"> </span><span class="nn">jsx</span><span class="p">:</span><span class="nf">prettify</span><span class="p">(</span><span class="nn">jsx</span><span class="p">:</span><span class="nf">encode</span><span class="p">(</span><span class="nv">JsonACI</span><span class="p">)).</span><span class="w"></span>
<span class="o">&lt;&lt;</span><span class="s">&quot;[</span><span class="se">\n</span><span class="s"> {</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">contract</span><span class="se">\&quot;</span><span class="s">: {</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">functions</span><span class="se">\&quot;</span><span class="s">: [</span><span class="se">\n</span><span class="s"> {</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">arguments</span><span class="se">\&quot;</span><span class="s">: [],</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">name</span><span class="se">\&quot;</span><span class="s">: </span><span class="se">\&quot;</span><span class="s">init</span><span class="se">\&quot;</span><span class="s">,</span><span class="se">\n</span><span class="s"> &quot;</span><span class="p">...</span><span class="o">&gt;&gt;</span> <span class="o">&lt;&lt;</span><span class="s">&quot;[</span><span class="se">\n</span><span class="s"> {</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">contract</span><span class="se">\&quot;</span><span class="s">: {</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">functions</span><span class="se">\&quot;</span><span class="s">: [</span><span class="se">\n</span><span class="s"> {</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">arguments</span><span class="se">\&quot;</span><span class="s">: [],</span><span class="se">\n</span><span class="s"> </span><span class="se">\&quot;</span><span class="s">name</span><span class="se">\&quot;</span><span class="s">: </span><span class="se">\&quot;</span><span class="s">init</span><span class="se">\&quot;</span><span class="s">,</span><span class="se">\n</span><span class="s"> &quot;</span><span class="p">...</span><span class="o">&gt;&gt;</span><span class="w"></span>
</code></pre></div> </code></pre></div>
<p>The final call to <code>jsx:prettify(jsx:encode(JsonACI))</code> returns the encoding in a <p>The final call to <code>jsx:prettify(jsx:encode(JsonACI))</code> returns the encoding in a
more easily readable form. This is what is shown in the description above.</p> more easily readable form. This is what is shown in the description above.</p>

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">
@ -386,24 +386,24 @@
<p>This module provides the interface to the standard Sophia compiler. It <p>This module provides the interface to the standard Sophia compiler. It
returns the compiled module in a map which can then be loaded.</p> returns the compiled module in a map which can then be loaded.</p>
<h3 id="types">Types</h3> <h3 id="types">Types</h3>
<div class="highlight"><pre><span></span><code><span class="nf">contract_string</span><span class="p">()</span> <span class="o">=</span> <span class="n">string</span><span class="p">()</span> <span class="p">|</span> <span class="n">binary</span><span class="p">()</span> <div class="highlight"><pre><span></span><code><span class="nf">contract_string</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">string</span><span class="p">()</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="n">binary</span><span class="p">()</span><span class="w"></span>
<span class="nf">contract_map</span><span class="p">()</span> <span class="o">=</span> <span class="p">#{</span><span class="n">bytecode</span> <span class="o">=&gt;</span> <span class="n">binary</span><span class="p">(),</span> <span class="nf">contract_map</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">#{</span><span class="n">bytecode</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">binary</span><span class="p">(),</span><span class="w"></span>
<span class="n">compiler_version</span> <span class="o">=&gt;</span> <span class="n">binary</span><span class="p">(),</span> <span class="w"> </span><span class="n">compiler_version</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">binary</span><span class="p">(),</span><span class="w"></span>
<span class="n">contract_souce</span> <span class="o">=&gt;</span> <span class="n">string</span><span class="p">(),</span> <span class="w"> </span><span class="n">contract_souce</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">string</span><span class="p">(),</span><span class="w"></span>
<span class="n">type_info</span> <span class="o">=&gt;</span> <span class="n">type_info</span><span class="p">()}</span> <span class="w"> </span><span class="n">type_info</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">type_info</span><span class="p">()}</span><span class="w"></span>
<span class="nf">type_info</span><span class="p">()</span> <span class="nf">type_info</span><span class="p">()</span><span class="w"></span>
<span class="nf">errorstring</span><span class="p">()</span> <span class="o">=</span> <span class="n">binary</span><span class="p">()</span> <span class="nf">errorstring</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">binary</span><span class="p">()</span><span class="w"></span>
</code></pre></div> </code></pre></div>
<h3 id="exports">Exports</h3> <h3 id="exports">Exports</h3>
<h4 id="filefile">file(File)</h4> <h4 id="filefile">file(File)</h4>
<h4 id="filefile-options-compret">file(File, Options) -&gt; CompRet</h4> <h4 id="filefile-options-compret">file(File, Options) -&gt; CompRet</h4>
<h4 id="from_stringcontractstring-options-compret">from_string(ContractString, Options) -&gt; CompRet</h4> <h4 id="from_stringcontractstring-options-compret">from_string(ContractString, Options) -&gt; CompRet</h4>
<p>Types</p> <p>Types</p>
<div class="highlight"><pre><span></span><code><span class="nv">ContractString</span> <span class="o">=</span> <span class="n">contract_string</span><span class="p">()</span> <div class="highlight"><pre><span></span><code><span class="nv">ContractString</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">contract_string</span><span class="p">()</span><span class="w"></span>
<span class="nv">Options</span> <span class="o">=</span> <span class="p">[</span><span class="nv">Option</span><span class="p">]</span> <span class="nv">Options</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nv">Option</span><span class="p">]</span><span class="w"></span>
<span class="nv">CompRet</span> <span class="o">=</span> <span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">ContractMap</span><span class="p">}</span> <span class="p">|</span> <span class="p">{</span><span class="n">error</span><span class="p">,</span><span class="nv">ErrorString</span><span class="p">}</span> <span class="nv">CompRet</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">ContractMap</span><span class="p">}</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">{</span><span class="n">error</span><span class="p">,</span><span class="nv">ErrorString</span><span class="p">}</span><span class="w"></span>
<span class="nv">ContractMap</span> <span class="o">=</span> <span class="n">contract_map</span><span class="p">()</span> <span class="nv">ContractMap</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">contract_map</span><span class="p">()</span><span class="w"></span>
<span class="nv">ErrorString</span> <span class="o">=</span> <span class="n">errorstring</span><span class="p">()</span> <span class="nv">ErrorString</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">errorstring</span><span class="p">()</span><span class="w"></span>
</code></pre></div> </code></pre></div>
<p>Compile a contract defined in a file or in a string.</p> <p>Compile a contract defined in a file or in a string.</p>
<p>The <strong>pp_</strong> options all print to standard output the following:</p> <p>The <strong>pp_</strong> options all print to standard output the following:</p>
@ -424,12 +424,12 @@ Type = term()
Check a call in contract through the <code>__call</code> function.</p> Check a call in contract through the <code>__call</code> function.</p>
<h4 id="sophia_type_to_typerepstring-typerep">sophia_type_to_typerep(String) -&gt; TypeRep</h4> <h4 id="sophia_type_to_typerepstring-typerep">sophia_type_to_typerep(String) -&gt; TypeRep</h4>
<p>Types <p>Types
<div class="highlight"><pre><span></span><code> <span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">TypeRep</span><span class="p">}</span> <span class="p">|</span> <span class="p">{</span><span class="n">error</span><span class="p">,</span> <span class="n">badtype</span><span class="p">}</span> <div class="highlight"><pre><span></span><code><span class="w"> </span><span class="p">{</span><span class="n">ok</span><span class="p">,</span><span class="nv">TypeRep</span><span class="p">}</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">{</span><span class="n">error</span><span class="p">,</span><span class="w"> </span><span class="n">badtype</span><span class="p">}</span><span class="w"></span>
</code></pre></div></p> </code></pre></div></p>
<p>Get the type representation of a type declaration.</p> <p>Get the type representation of a type declaration.</p>
<h4 id="version-ok-version-error-term">version() -&gt; {ok, Version} | {error, term()}</h4> <h4 id="version-ok-version-error-term">version() -&gt; {ok, Version} | {error, term()}</h4>
<p>Types</p> <p>Types</p>
<div class="highlight"><pre><span></span><code><span class="nv">Version</span> <span class="o">=</span> <span class="n">binary</span><span class="p">()</span> <div class="highlight"><pre><span></span><code><span class="nv">Version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">binary</span><span class="p">()</span><span class="w"></span>
</code></pre></div> </code></pre></div>
<p>Get the current version of the Sophia compiler.</p> <p>Get the current version of the Sophia compiler.</p>

View File

@ -10,7 +10,7 @@
<link rel="icon" href="favicon.png"> <link rel="icon" href="favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">

File diff suppressed because one or more lines are too long

View File

@ -2,47 +2,47 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2022-01-05</lastmod> <lastmod>2022-03-28</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
</urlset> </urlset>

Binary file not shown.

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">
@ -968,16 +968,20 @@ the <code>pubkey</code></p>
<h4 id="ecverify_secp256k1">ecverify_secp256k1</h4> <h4 id="ecverify_secp256k1">ecverify_secp256k1</h4>
<div class="highlight"><pre><span></span><code>Crypto.ecverify_secp256k1(msg : hash, addr : bytes(20), sig : bytes(65)) : bool <div class="highlight"><pre><span></span><code>Crypto.ecverify_secp256k1(msg : hash, addr : bytes(20), sig : bytes(65)) : bool
</code></pre></div> </code></pre></div>
<p>Verifies a signature for a msg against an Ethereum style address</p> <p>Verifies a signature for a msg against an Ethereum style address. Note that the
signature should be 65 bytes and include the recovery identifier byte <code>V</code>. The
expected organization of the signature is (<code>V || R || S</code>).</p>
<h4 id="ecrecover_secp256k1">ecrecover_secp256k1</h4> <h4 id="ecrecover_secp256k1">ecrecover_secp256k1</h4>
<div class="highlight"><pre><span></span><code>Crypto.ecrecover_secp256k1(msg : hash, sig : bytes(65)) : option(bytes(20)) <div class="highlight"><pre><span></span><code>Crypto.ecrecover_secp256k1(msg : hash, sig : bytes(65)) : option(bytes(20))
</code></pre></div> </code></pre></div>
<p>Recovers the Ethereum style address from a msg hash and respective signature</p> <p>Recovers the Ethereum style address from a msg hash and respective
ECDSA-signature. Note that the signature should be 65 bytes and include the
recovery identifier byte <code>V</code>. The expected organization of the signature is (<code>V
|| R || S</code>).</p>
<h4 id="verify_sig_secp256k1">verify_sig_secp256k1</h4> <h4 id="verify_sig_secp256k1">verify_sig_secp256k1</h4>
<div class="highlight"><pre><span></span><code>Crypto.verify_sig_secp256k1(msg : hash, pubkey : bytes(64), sig : bytes(64)) : bool <div class="highlight"><pre><span></span><code>Crypto.verify_sig_secp256k1(msg : hash, pubkey : bytes(64), sig : bytes(64)) : bool
</code></pre></div> </code></pre></div>
<!-- TODO --> <p>Verifies a standard 64-byte ECDSA signature (<code>R || S</code>).</p>
<h3 id="auth">Auth</h3> <h3 id="auth">Auth</h3>
<h4 id="tx">tx</h4> <h4 id="tx">tx</h4>
<div class="highlight"><pre><span></span><code>Auth.tx : option(Chain.tx) <div class="highlight"><pre><span></span><code>Auth.tx : option(Chain.tx)

View File

@ -10,7 +10,7 @@
<link rel="icon" href="../favicon.png"> <link rel="icon" href="../favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-7.1.9"> <meta name="generator" content="mkdocs-1.2.4, mkdocs-material-7.1.9">