Expand description
WARNING: This is an API preview! Expect major bugs, glaring omissions, and breaking changes!
This crate defines types and macros for constructing easy to use account and module implementations. It integrates with the encoding layer but does not specify a state management framework.
§Context
The Context struct gets passed to all handler functions that interact with state but
what exactly is it? In the Golang Cosmos SDK,
Context was never precisely defined and ended up becoming sort of a bag of variables
which were passed around everywhere. This made it difficult to understand what was
actually being passed around and what was being used.
Context here is defined to have the following purposes:
- wrap some basic information about the current call, but not the full message header
- hold a handle to
ixc_schema’s bump allocator - hold a handle to the function used to send messages
Re-exports§
pub use handler::Service;pub use account_api::create_account;pub use result::Result;
Modules§
- Basic functionality for creating and managing account lifecycle.
- Basic error handling utilities.
- Handler traits for account and module handlers.
- Low-level utilities for working with message structs and message packets directly.
- The Message trait for invoking messages dynamically.
- Resource module.
- Standard result types.
- Routing system for message packets.
Macros§
- Return an error with a formatted message.
- Ensure a condition is true, otherwise return an error with a formatted message.
- Create an error.
Structs§
- Context wraps a single message request (and possibly response as well) along with the router callbacks necessary for making nested message calls.
- An event bus that can be used to emit events.