56 个版本 (6 个稳定版本)
2.0.0 | 2024年3月26日 |
---|---|
1.1.2 | 2023年11月23日 |
1.1.0 | 2023年6月20日 |
1.0.1 | 2022年12月19日 |
0.3.2 | 2020年10月28日 |
#1 in #cw1
3,545 每月下载量
在 29 个 crate 中使用 (21 个直接使用)
32KB
541 行
CW1 白名单
这可能是 CW1 最简单的实现,一个地址白名单。它包含在创建时定义的一组管理员。任何管理员都可以根据 CW1 规范通过合约执行任何消息。
为了稍微减少最小化,您可以允许管理员集可变或不可变。如果是可变的,则任何管理员都可以(a)更改管理员集并(b)将其冻结(使其不可变)。
虽然这主要是 CW1 的示例合约,但它具有各种实际应用场景,例如多个受信任设备之间共享的通用账户,或者交易整个账户(用作 1 of 1 可变)。大多数时候,这可以作为构建自己的更高级 cw1 实现的框架。
允许自定义消息
默认情况下,为了在区块链间完全通用,它不支持 CustomMsg
。然而,所有类型在 T
上都是泛型的,并且这仅在 handle
中固定。您可以导入此合约并重新定义您的 handle
函数,将不同的参数设置为 ExecuteMsg
,然后您可以生成特定链的消息。
运行此合约
您需要安装 Rust 1.44.1+ 并具有 wasm32-unknown-unknown
目标。
您可以通过以下方式对此进行单元测试
cargotest
一旦您对内容满意,您可以通过以下方式将其编译为 wasm
RUSTFLAGS='-C link-arg=-s' cargo wasm
cp ../../target/wasm32-unknown-unknown/release/cw1_whitelist.wasm .
ls -l cw1_whitelist.wasm
sha256sum cw1_whitelist.wasm
或对于生产就绪(优化)构建,在仓库根目录中运行构建命令:https://github.com/CosmWasm/cw-plus#compiling。
依赖项
~4–7.5MB
~152K SLoC