5个版本 (稳定版)
3.0.0 | 2024年7月11日 |
---|---|
2.0.0 | 2024年5月1日 |
2.0.0-rc | 2024年4月25日 |
1.4.0 |
|
1.2.2 | 2024年1月24日 |
#1926 in 神奇豆
2,971 每月下载量
在 3 个crate中使用(2个直接使用)
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