Crate abstract_core

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_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§

AbstractError
Wrapper error for the Abstract framework.

Type Aliases§

AbstractResult
Result type for Abstract objects