Spivee 80e80f9f9e Complex AACI type coercion (#3)
* build complex and indirected types into AACI

* break up coerce and coerce_step

coerce_step handles the looping and accumulation logic, whereas coerce
just handles one term, and returns {ok, _} or {error, _}. This way
coerce can become recursive, and even without recursion becomes easier
to read, due to fewer nested tuples.

Pretty insignificant change, but it'll be nice to have something to diff
off of more cleanly.

* coerce some more types

Still haven't covered lists or tuples, but these were enough to cover a
real contract that I want to test properly, once I have a node to test
on.

* process types from all contracts in ACI

This includes the contract itself, which is added as an alias for
`contract`. This way the ACI can describe and use contract interfaces,
and `ct_*` contracts can be passed into vanillae.

* coerce lists and tuples
2023-05-09 20:11:31 +09:00
2022-10-05 23:30:49 +09:00
2022-10-05 23:30:49 +09:00
2022-10-05 23:30:49 +09:00
2022-10-05 23:30:49 +09:00
2022-10-05 23:30:49 +09:00
2022-10-05 23:30:49 +09:00

Vanillae

Vanillae is an Aeternity tool suite meant for small business use cases. Focus is placed on simplicity, code quality, and good documentation.

About

Applications

  • Jaeck Russell (Erlang)

    A minimal browser wallet extension.

  • jex (Erlang)

    A TypeScript/JavaScript package manager that avoids a large class of NPM-related security issues.

  • vlogd (Erlang)

    NOT FOR PRODUCTION USAGE

    Simple HTTP server that just logs requests it gets.

Erlang Libraries

  • vanillae

TypeScript Libraries

  • awcp

    Aepp/waellet communication protocol

    This is just type definitions, what data the wallet expects from the Aepp, and what data the aepp expects from the waellet.

  • libjr

    This is the complement to sidekick. It essentially is sidekick from the perspective of the waellet.

  • sidekick

    This a TypeScript/JavaScript library for talking to Aeternity browser wallets (e.g. Superhero, Jaeck Russell) from the perspective of an "aepp" (i.e. your website's JavaScript).

Documentation

  • base64 versus base58 explainer
S
Description
No description provided
Readme
16 MiB
Languages
Python 88.2%
HTML 10.1%
TypeScript 1%
Erlang 0.6%
CSS 0.1%