17个版本 (11个破坏性版本)
0.17.1 | 2023年1月26日 |
---|---|
0.16.0 | 2022年12月16日 |
0.15.1 | 2022年9月22日 |
0.13.0 | 2022年7月26日 |
0.8.1 | 2022年3月29日 |
#15 in #members
每月下载量 46次
49KB
892 行
TG4 Group
这是tg4规范的基本实现tg4 spec。它满足了规范的所有要素,包括原始查询查找,并设计用于作为tg3兼容合同的后台存储。
它存储一组成员以及一个管理员,并允许管理员更新状态。原始查询(用于跨合约查询)可以检查指定的成员地址和总积分。智能查询(设计用于客户端API)可以做到同样的事情,并且还可以查询管理员地址以及遍历所有成员。
初始化
要创建它,您必须传入一个成员列表,以及可选的admin
,如果您希望它是可变的。
pub struct InitMsg {
pub admin: Option<HumanAddr>,
pub members: Vec<Member>,
}
pub struct Member {
pub addr: HumanAddr,
pub points: u64,
pub start_height: Option<u64>
}
成员由地址、积分数量和一个可选的起始高度定义。这被转换并存储在他们的Addr
下,格式在tg4原始查询中定义。
注意,0 是允许的积分数量。这不会赋予任何投票权,但它定义了这个地址是群组的一部分。这可以用于例如KYC白名单,表示他们被允许,但不能参与决策。
消息
基本更新消息、查询和挂钩由tg4规范定义。请参阅它以获取更多信息。
tg4-group
添加了一个控制群组成员资格的消息
UpdateMembers{add, remove}
- 接收成员差异并添加/更新成员,同时删除提供的任何地址。如果地址同时出现在两个列表中,则将其删除。如果它在 add
中出现多次,则只使用最后一次出现。
依赖项
~5–6.5MB
~139K SLoC