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 魔法豆

Download history 335/week @ 2024-04-22 257/week @ 2024-04-29 241/week @ 2024-05-06 180/week @ 2024-05-13 248/week @ 2024-05-20 765/week @ 2024-05-27 1448/week @ 2024-06-03 1493/week @ 2024-06-10 1667/week @ 2024-06-17 1798/week @ 2024-06-24 1052/week @ 2024-07-01 1678/week @ 2024-07-08 1194/week @ 2024-07-15 1033/week @ 2024-07-22 801/week @ 2024-07-29 643/week @ 2024-08-05

每月 3,715 次下载
31 crate 中使用 (4 个直接使用)

Apache-2.0

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