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

Download history 243/week @ 2024-04-29 219/week @ 2024-05-06 166/week @ 2024-05-13 191/week @ 2024-05-20 738/week @ 2024-05-27 1410/week @ 2024-06-03 1467/week @ 2024-06-10 1653/week @ 2024-06-17 1762/week @ 2024-06-24 1051/week @ 2024-07-01 1663/week @ 2024-07-08 1165/week @ 2024-07-15 1021/week @ 2024-07-22 866/week @ 2024-07-29 618/week @ 2024-08-05 992/week @ 2024-08-12

3,545 每月下载量
29 个 crate 中使用 (21 个直接使用)

Apache-2.0

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