Expand description
§Abstract Account
Abstract Interface is the interface-defining crate to the Abstract smart-contract framework.
§Description
This crate provides the key utilities that are required to integrate with or write Abstract contracts.
§Messages
All interfacing message structs are defined here so they can be imported.
use abstract_core::manager::ExecuteMsg;
§Assets
cw-asset
is used for asset-management.
If a message requests a String value for an Asset field then you need to provide the human-readable ans_host key.
The full list of supported assets and contracts is given here.
The contract will handel address retrieval internally.
§State
The internal state for each contract is also contained within this crate. This ensures that breaking changes to the internal state are easily spotted. It also allows for tight and low-gas integration between contracts by performing raw queries on these states. A contract’s state object can be imported and used like:
use crate::manager::state::ACCOUNT_ID
let account_id = ACCOUNT_ID.query(querier, manager_address).unwrap();
The internally stored objects are also contained within this package in crate::objects
.
§Names
Abstract contract names are used internally and for version management. They are exported for ease of use:
use abstract_core::PROXY;
§Errors
An AbstractError
wraps error throws by StdError
or AssetError
. It is also use in the objects to throw errors.
Re-exports§
pub use registry::*;
Modules§
- account_
factory - Account Factory
- adapter
- Abstract Api Base
- ans_
host - AnsHost
- app
- Abstract App
- base
- ibc
- ibc_
client - ibc_
host - Abstract Api Base
- manager
- Account Manager
- module_
factory - Module Factory
- objects
- State and Message Objects
- proxy
- Account Proxy
- registry
- Registry
- version_
control - Version Control
Enums§
- Abstract
Error - Wrapper error for the Abstract framework.
Type Aliases§
- Abstract
Result - Result type for Abstract objects