Module sapio::contract[][src]

Expand description

Functionality comprising the language base, macros, and compiler internals.

Re-exports

pub use abi::object;
pub use error::CompilationError;
pub use compiler::Compilable;
pub use context::Context;
pub use object::Object as Compiled;

Modules

ABI contains the output formats of Sapio Compilatios

The different types of functionality a contract can define.

The primary compilation traits and types

general non-parameter compilation state required by all contracts

error types that can be returned from Sapio. Where possible, concrete error types are wrapped, but in order to handle errors created by the user we allow boxing an error trait.

macros for making defining Sapio contracts less verbose.

Structs

DynamicContract wraps a struct S with a set of methods (that can be constructed dynamically) to form a contract. DynamicContract owns all its methods.

Traits

AnyContract is a generic API for types which can be compiled, encapsulating default static Contracts as well as DynamicContracts/DynamicContractRefs.

A catch-all type for any function that is a FinishOrFunc. Unfortunately, because type signatures must all match, it’s not possible to have differing types across FinishOrFunc for a contract at compile time. Use an enum if need be.

Catch all trait for things StatefulArguments must be required to do.

Functions

Creates an empty TxTmplIt

Type Definitions

An Iterator which yields TransactionTemplates. It is boxed to permit flexibility when returning.