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.