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次

Apache-2.0

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