5个版本 (稳定版)

3.0.0 2024年7月11日
2.0.0 2024年5月1日
2.0.0-rc2024年4月25日
1.4.0 2024年4月15日
1.2.2 2024年1月24日

#1926 in 神奇豆

Download history 507/week @ 2024-04-18 980/week @ 2024-04-25 665/week @ 2024-05-02 380/week @ 2024-05-09 521/week @ 2024-05-16 805/week @ 2024-05-23 505/week @ 2024-05-30 1020/week @ 2024-06-06 758/week @ 2024-06-13 761/week @ 2024-06-20 569/week @ 2024-06-27 621/week @ 2024-07-04 1023/week @ 2024-07-11 801/week @ 2024-07-18 697/week @ 2024-07-25 310/week @ 2024-08-01

2,971 每月下载量
3 个crate中使用(2个直接使用)

Apache-2.0GPL-3.0-only

43KB
664

CW1白名单

这可能是CW1(地址白名单)最简单的实现。它在创建时定义了一套管理员。任何管理员都可以按照CW1规范通过合约执行任何消息。

为了让它稍微不那么简约,你可以允许管理员集合是可变的或不可变的。如果是可变的,那么任何管理员都可以(a)更改管理员集合并(b)将其冻结(使其不可变)。

尽管这是一个主要用于CW1的示例合约,但它有许多实际应用场景,例如在多个受信任设备之间共享的公共账户,或者交易整个账户(用作1个1的可变账户)。大多数时候,它可以作为一个框架来构建你自己的更高级的cw1实现。

允许自定义消息

默认情况下,这个合约不支持 CustomMsg 以在区块链之间实现完全泛型。然而,所有类型都是通过 T 泛型的,并且这仅在 handle 中固定。您可以导入此合约并重新定义您的 handle 函数,将不同的参数设置为 ExecuteMsg,然后您可以生成特定链的消息。

运行此合约

您需要安装支持 wasm32-unknown-unknown 目标的 Rust 1.44.1+。

您可以通过以下方式运行单元测试:

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

依赖项

~5–17MB
~188K SLoC