Crate abstract_std

Source
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_std::account::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::account::state::ACCOUNT_ID
let account_id = ACCOUNT_ID.query(querier, account_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_std::ACCOUNT;

§Errors

An AbstractError wraps error throws by StdError or AssetError. It is also use in the objects to throw errors.

Re-exports§

pub use constants::*;

Modules§

account
Account Account
adapter
Abstract Api Base
ans_host
AnsHost
app
Abstract App
base
constants
Registry constants
ibc
ibc_client
ibc_host
ica_client
module_factory
Module Factory
native_addrs
objects
State and Message Objects
registry
Registry
standalone
Abstract Standalone

Enums§

AbstractError
Wrapper error for the Abstract framework.

Type Aliases§

AbstractResult
Result type for Abstract objects