32个版本 (8个破坏性更改)

0.12.1 2023年3月20日
0.11.1 2023年2月24日
0.4.2 2022年12月30日
0.2.0-beta.62022年11月25日
0.1.1-alpha2 2022年7月25日

#130 in #abstract


用于 4 crates

GPL-3.0-or-later

220KB
5K SLoC

摘要

此软件包包含您与Abstract合约交互所需的一切。

此软件包包含

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

用法

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

消息

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

状态

每个状态布局也都有单独的说明

对象

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

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


lib.rs:

Abstract OS

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

描述

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

消息

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

use abstract_os::manager::ExecuteMsg;

资产

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

状态

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

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

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

名称

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

use abstract_os::PROXY;

错误

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

依赖关系

~4–6.5MB
~135K SLoC