Crate sapio[][src]

Expand description

The Sapio Compiler Core Crate. Sapio is used to create multi-transaction Bitcoin Smart Contracts.

Re-exports

pub use contract::Context;
pub use sapio_base;
pub use sapio_macros;
pub use schemars;

Modules

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

utilities for building Bitcoin transaction templates up programmatically

Basic functionality / structs for Sapio

Macros

declares a compile_if function for a trait interface.

The finish macro is used to define a FinishFunc or a FinishOrFunc formats for calling are:

The guard macro is used to define a Guard. Guards may be cached or uncached. formats for calling are:

The then macro is used to define a ThenFunc formats for calling are:

The declare macro is used to declare the list of pathways in a Contract trait impl. formats for calling are:

Generates a type tag for WebAPI Enabled/Disabled

Internal Helper for finish! macro, not to be used directly.

Attribute Macros

The compile_if macro is used to define a ConditionallyCompileIf. formats for calling are:

The continuation macro generates a static fn() -> Option<FinishOrFunc> method for a given impl.

The guard macro is used to define a Guard. Guards may be cached or uncached. formats for calling are:

The then macro is used to define a ThenFunction. formats for calling are: