56 个版本 (6 个稳定版本)
2.0.0 | 2024年3月26日 |
---|---|
1.1.2 | 2023年11月23日 |
1.1.0 | 2023年6月19日 |
1.0.1 | 2022年12月19日 |
0.3.2 | 2020年10月28日 |
#815 in 魔法豆
每月 3,715 次下载
在 31 个 crate 中使用 (4 个直接使用)
8KB
64 行
CW1 规范:代理合约
CW1 是基于 CosmWasm 的代理合约规范。它是一个非常简单但灵活的接口,适用于一个合约代表其他合约持有资产(或权利)的情况。
最简单的例子是一个合约,它将从创建者那里接受消息并从其地址重新发送它们。只需通过使其可转让,就可以开始转让不可转让的资产(例如,质押代币、投票权等)。
你可以想象更复杂的例子,例如“N 选 1”多重签名,或条件批准,其中“子账户”有权从该账户中花费一定数量的资金,而“管理员账户”保留完全控制权。
它们的共同点是它们允许你在同一个交易中立即执行任意的 CosmosMsg
。
消息
Execute{msgs}
- 这接受 Vec<CosmosMsg>
并在重新调度所有这些消息从合约地址之前检查权限。它发出以下属性
键 | 值 |
---|---|
"操作" | "执行" |
"所有者" | [消息发送者] |
查询
CanExecute{sender, msg}
- 此函数接受一个 CosmosMsg
并检查权限,根据权限返回 true 或 false。如果 CanExecute
返回 true,那么来自该发送者的 Execute
调用,带有相同消息,在任何进一步的状态更改之前也应成功。这可以用来在不知道扩展细节的情况下,动态提供一些通用 cw1 合同的客户信息。(例如检测是否可以发送代币或质押)
依赖项
~3.5–7MB
~142K SLoC