34次重大版本更新
37.0.0 | 2024年7月18日 |
---|---|
36.0.0 | 2024年7月12日 |
35.0.0 | 2024年6月24日 |
34.0.0 | 2024年5月23日 |
0.0.0 | 2022年11月21日 |
#1137 in 魔法豆
3,649 每月下载量
用于 16 个 crate(7 个直接使用)
2.5MB
46K SLoC
公投模块
概述
公投模块负责管理一般股东投票的管理。
lib.rs
:
公投模块
概述
执行公投的模块。此处没有投票逻辑,使用 Polling
和 PollStatus
trait 允许投票逻辑(可能在模块中)被利用。
公投是对某个提案是否应从特定来源发出的投票。来源用于确定公投属于多个 轨道 中的哪一个。每个轨道都有自己的配置,这些配置控制着投票过程和参数。
公投的生命周期有三个主要阶段:准备、决定和结论。公投在提交后立即被视为“进行中”,直到最终结束,投票可以在整个过程中进行。
为了从准备状态过渡到决定状态,必须满足以下三个条件:
- 必须已经放置了决定存款,其金额由轨道决定。任何人都可以放置这笔存款。
- 自提交公投以来必须经过一段时间。这个时间段称为准备期,由轨道决定。
- 轨道不能已达到容量,公投正在决定中。可能同时决定的最大公投数量由轨道决定。
为了成为结论,必须发生以下三种情况之一:
- 公投应保持连续的通过状态一段时间。这被称为确认期,由轨道决定。公投在足够高的支持和批准下被认为通过,考虑到它已经被决定的时间。一般来说,什么算是“足够高”的门槛会随着时间的推移而降低。设置这些门槛的曲线由轨道决定。在这种情况下,公投被认为批准,提案将安排发送。
- 公投在其决定阶段的末期没有通过。它以拒绝结束,提案不会被发送。
- 公投被取消。
还存在一个一般的时间限制,为时过长的公投可能在没有进入决定阶段的情况下结束。
一旦公投结束,决定存款可以被退还。
术语
依赖关系
~18–33MB
~552K SLoC