1 个稳定版本

1.2.2 2024年1月24日

5#cw1

Download history 613/week @ 2024-04-14 365/week @ 2024-04-21 920/week @ 2024-04-28 315/week @ 2024-05-05 457/week @ 2024-05-12 467/week @ 2024-05-19 903/week @ 2024-05-26 420/week @ 2024-06-02 1139/week @ 2024-06-09 570/week @ 2024-06-16 651/week @ 2024-06-23 520/week @ 2024-06-30 794/week @ 2024-07-07 764/week @ 2024-07-14 646/week @ 2024-07-21 565/week @ 2024-07-28

2,786 每月下载量
用于 4 个 crate(3 个直接使用)

Apache-2.0

8KB
64

CW1 规范:代理合约

CW1 是基于 CosmWasm 的代理合约规范。它是一个非常简单但灵活的接口,适用于一个合约代表其他合约持有资产(或权利)的情况。

最简单的例子是一个合约,它将接受创建者的消息并从其地址重新发送。通过使其可转让,你可以开始转让不可转让的资产(例如,质押代币、投票权等)。

你可以想象更复杂的例子,例如“1/N”多重签名或条件批准,其中“子账户”有权从这个账户中支出一笔有限资金,而“管理员账户”保留完全控制权。

它们的共同点是它们允许你在同一个事务中立即执行任意的 CosmosMsg

消息

Execute{msgs} - 这接受 Vec<CosmosMsg> 并在重新调度所有这些消息之前检查权限。它发出以下属性

"action" "execute"
"owner" [消息发送者]

查询

CanExecute{sender, msg} - 这接受一个 CosmosMsg 并检查权限,根据权限返回 true 或 false。如果 CanExecute 返回 true,则在该发送者调用 Execute 之前,使用相同消息,在没有进一步状态更改的情况下也应成功。这可以在不知道扩展详细信息的情况下动态地向通用 cw1 合约提供一些客户端信息。(例如,检测他们是否可以发送硬币或质押)

依赖项

~4.5–6MB
~131K SLoC