#rank #polkadot #logic #period #substrate #member #fellowship

no-std pallet-core-fellowship

根据核心 Polkadot 伙伴的描述的逻辑(polkadot v1.15.0)

24 个版本 (重大变更)

21.0.0 2024 年 7 月 18 日
20.0.0 2024 年 7 月 12 日
19.0.0 2024 年 6 月 24 日
18.0.0 2024 年 5 月 23 日
0.0.0 2023 年 3 月 3 日

#914魔法豆

Download history 312/week @ 2024-04-16 257/week @ 2024-04-23 227/week @ 2024-04-30 65/week @ 2024-05-07 440/week @ 2024-05-14 461/week @ 2024-05-21 437/week @ 2024-05-28 529/week @ 2024-06-04 543/week @ 2024-06-11 434/week @ 2024-06-18 805/week @ 2024-06-25 360/week @ 2024-07-02 492/week @ 2024-07-09 641/week @ 2024-07-16 508/week @ 2024-07-23 529/week @ 2024-07-30

2,234 每月下载量
5 个软件包中(4 个直接使用)

Apache-2.0

2.5MB
50K SLoC

核心伙伴

针对核心 Polkadot 伙伴的特定逻辑。


lib.rs:

为 Core 伙伴提供的额外逻辑。这决定了工资,注册活动/被动,并处理晋升和降级期。

这仅处理非零等级的成员。

流程

  • 从调用 induct 开始,其中一些特权起源(可能是一个预先存在的 rank > 1 成员)能够从账户中制作候选人,并将其引入这个组件以便跟踪,以便允许提交证据和进行晋升投票。
  • 候选人随后调用 submit_evidence 来申请晋升到等级 1。
  • 至少为1级排名的 PromoteOrigin 调用 promote,将候选者提升至1级排名。
  • 在排名1的 demotion_period 过期之前的一段时间,候选者调用 submit_evidence,提交他们为申请保留1级排名所做的努力证据。
  • 至少为1级排名的 ApproveOrigin 调用 approve,以避免即将降级并保持其在1级排名。
  • 最后两个步骤会持续进行,直到候选者准备申请晋升,此时前两个步骤会以更高的排名重复。
  • 如果成员在 demotion_period 内未能获得批准,则任何人都可以调用 bump 来将候选者降级一级。
  • 如果候选者在 offboard_timeout 期间未能晋升为成员,则任何人都可以调用 bump 来移除账户的候选资格。
  • 现有成员可以通过调用 import 来获得其排名的认可,并加入此包(以获得工资并允许未来晋升)。
  • 如果成员或候选者在该包外部完全失去了排名,则可以调用 offboard 来将他们完全从该包中移除。

请注意,拥有0级排名(账户是 候选者)和完全没有排名(我们将其视为 未排名)之间存在差异。账户可以从0级排名降级为未排名。这个过程被称为离岸,并且有一个外部的操作来在跟踪账户因为外部因素变为未排名时显式地执行此操作。在0级排名时,没有“降级”周期之后账户可以提升为离岸,而是有一个“离岸超时”。

候选人可以通过具有不同权限的来源(即账户从未排名变为0级排名)被引入。这允许即使是一个现有的成员也可以无需支付将新的候选人引入。

只有跟踪/排名的账户可以提交其证明和晋升的证据。候选人不能获得批准 - 他们必须在离岸超时到期之前仅进行晋升。

依赖项

~17–32MB
~545K SLoC