1 个不稳定版本

0.15.0 2023年5月24日

#139#abstract


用于 abstract-interface-testin…

GPL-3.0-or-later

270KB
6.5K SLoC

摘要

此包包含您与Abstract合约交互所需的所有内容。

此包包含

  • 抽象合约接口消息
  • 抽象合约状态
  • 抽象对象(建议使用在Abstract-SDK中重新导出的版本)

用法

// Import a contract Exec/Init/Query message
abstract_core::contract::ExecuteMsg
// Import a contract state lay-out
abstract_core::contract::state::STATE
// Import a state object
abstract_core::object::ProxyValue;

消息

每个接口都有单独的注释。

状态

每个状态布局也有单独的覆盖。

对象

Abstract对象用于存储信息以及辅助函数。我们通过导入这些函数来提供数据,以便外部(使用原始查询)检索。

如果您想在您的合约中使用这些对象,我们建议使用abstract-sdk包。


lib.rs:

抽象账户

Abstract接口是Abstract智能合约框架的接口定义包。

描述

此包提供了集成或编写Abstract合约所需的关键实用工具。

消息

所有接口消息结构体都定义在此,因此可以导入。

use abstract_core::manager::ExecuteMsg;

资产

cw-asset用于资产管理。如果消息请求Asset字段的字符串值,则需要提供人类可读的ans_host键。支持的资产和合约的完整列表如下:这里。合约将内部处理地址检索。

状态

每个合约的内部状态也包含在此包中。这确保了可以轻松发现内部状态的破坏性更改。它还允许通过在状态上执行原始查询来实现合约之间的紧密和低气体集成。合约的状态对象可以导入并像下面这样使用:

use crate::manager::state::ACCOUNT_ID
let account_id = ACCOUNT_ID.query(querier, manager_address).unwrap();

内部存储的对象也包含在此包中的crate::objects

名称

抽象合约名称用于内部和版本管理。为了便于使用,它们被导出。

use abstract_core::PROXY;

错误

AbstractError 包装了由 StdErrorAssetError 抛出的错误。它也用于对象中抛出错误。

依赖关系

~4–7.5MB
~158K SLoC