#allowlist #contract #messages #ibc #admin #execute #neutron

astroport-whitelist

基于白名单的代理合约实现。支持通用IBC和Neutron IbcTransfer消息

2个稳定版本

2.0.0 2024年6月20日
1.0.1 2023年7月20日

#7 in #neutron

Download history 151/week @ 2024-04-18 120/week @ 2024-04-25 56/week @ 2024-05-02 114/week @ 2024-05-09 39/week @ 2024-05-16 60/week @ 2024-05-23 235/week @ 2024-05-30 235/week @ 2024-06-06 116/week @ 2024-06-13 365/week @ 2024-06-20 157/week @ 2024-06-27 58/week @ 2024-07-04 110/week @ 2024-07-11 79/week @ 2024-07-18 80/week @ 2024-07-25 70/week @ 2024-08-01

348 个月下载量
用于 4 个crate(通过 cw-it

Apache-2.0

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