2个稳定版本
2.0.0 | 2024年6月20日 |
---|---|
1.0.1 | 2023年7月20日 |
#7 in #neutron
348 个月下载量
用于 4 个crate(通过 cw-it)
35KB
602 行
CW1 白名单
这可能是最简单的CW1实现,一个地址白名单注册。它包含创建时定义的一组管理员。任何管理员都可以按照CW1规范通过合约执行任何消息。
为了使其不那么简单,您可以允许管理员集是可变的或不可变的。如果是可变的,则任何管理员都可以(a)更改管理员集并(b)冻结它(使其不可变)。
尽管这主要是一个用于CW1的示例合约,但它具有各种实际应用场景,例如一个在多个受信任设备之间共享的通用账户,或者交易整个账户(用作1个可变账户)。大多数情况下,它可以作为一个框架来构建您自己的更高级的cw1实现。
允许自定义消息
默认情况下,该合约不支持CustomMsg
,以便在区块链之间完全通用。然而,所有类型在T
上都是通用的,并且这仅在handle
中是固定的。您可以导入此合约并重新定义您的handle
函数,设置不同的参数给ExecuteMsg
,从而可以生成特定链的消息。
运行此合约
您需要安装Rust 1.44.1+并具有wasm32-unknown-unknown
目标。
您可以通过以下方式对此合约进行单元测试
cargo测试
一旦您对内容满意,您可以编译它为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.
依赖项
~12MB
~234K SLoC