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 日

#5#cw4

Download history 321/week @ 2024-05-04 465/week @ 2024-05-11 511/week @ 2024-05-18 940/week @ 2024-05-25 468/week @ 2024-06-01 1205/week @ 2024-06-08 549/week @ 2024-06-15 683/week @ 2024-06-22 545/week @ 2024-06-29 915/week @ 2024-07-06 917/week @ 2024-07-13 678/week @ 2024-07-20 578/week @ 2024-07-27 398/week @ 2024-08-03 600/week @ 2024-08-10 239/week @ 2024-08-17

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

Apache-2.0GPL-3.0-only

60KB
1K SLoC

CW4 群组

这是 cw4 规范的基本实现。[链接](https://github.com/cosmwasm/cw-plus/blob/dcffacddc3689bd2a23d53bf0dce390798c2582d/packages/cw4/README.md)。它实现了规范的所有要素,包括原始查询查找,并设计用于作为符合 cw3 规范的合约的后备存储。

它存储了一组成员以及一个管理员,并允许管理员更新状态。原始查询(用于跨合约查询)可以检查给定的成员地址和总权重。智能查询(设计用于客户端 API)可以执行相同的操作,还可以查询管理员地址以及对所有成员进行分页。

初始化

要创建它,您必须传递一个成员列表,以及一个可选的 admin,如果您希望它可变。

pub struct InitMsg {
    pub admin: Option<HumanAddr>,
    pub members: Vec<Member>,
}

pub struct Member {
    pub addr: HumanAddr,
    pub weight: u64,
}

成员由地址和权重定义。这将转换为存储在他们的 CanonicalAddr 下,其格式在 cw4 原始查询 中定义。

注意,0 是一个允许的权重。这不会赋予任何投票权,但它定义了这个地址是群组的一部分。这可以用于例如 KYC 白名单,表明他们被允许,但不能参与决策。

消息

基本更新消息、查询和钩子由cw4规范定义。请参考它以获取更多信息。

cw4-group为控制群组成员添加了一条消息

UpdateMembers{add, remove} - 接收成员差异并添加/更新成员,以及删除提供的任何地址。如果地址同时在两个列表中,它将被删除。如果在add中出现多次,则仅使用最后一个出现。

依赖项

~5–18MB
~206K SLoC