#proposal #dao #approval #module #contract #flow #single

dao-pre-propose-approval-single

一个DAO DAO预提议模块,用于处理dao-proposal-single的提议审批流程

5个稳定版本

2.4.2 2024年7月22日
2.4.0 2024年7月21日
2.3.0 2023年10月18日
2.2.0 2023年7月9日

#505 in 魔法豆

Download history 76/week @ 2024-07-15 561/week @ 2024-07-22 192/week @ 2024-07-29

829次每月下载
用于dao-pre-propose-approver

BSD-3-Clause

220KB
5K SLoC

单选提议审批合约

dao-pre-propose-approval-single on crates.io docs.rs

此合约实现了提议的审批流程,它还处理存款逻辑。它与cwd-proposal-single提议模块一起工作。

审批逻辑

此合约使用approver地址实例化。此地址有权批准或拒绝提议。

      ┌──────────┐
      │          │
      │  Account │
      │          │
      └─────┬────┘
            │
            │ Makes prop
            ▼
┌────────────────────────┐               ┌────────────────────────┐
│                        │               │                        │
│  Pre-propose Approval  │ ◄─────────────┤    Approver Address    │
│                        │    Approves   │                        │
└───────────┬────────────┘    or rejects └────────────────────────┘
            │
            │ Creates prop
            │ on approval
            ▼
┌────────────────────────┐
│                        │
│     Proposal Single    │
│                        │
└───────────┬────────────┘
            │
            │ Normal voting
            │
            ▼
┌────────────────────────┐
│                        │
│       Main DAO         │
│                        │
└────────────────────────┘

approver还可以注册一个ProposalSubmitHook,每当提议提交到cwd-pre-propose-approval-single合约时,都会触发该钩子。

存款逻辑

它可以接受原生(银行模块)、cw20代币,或者不作为存款的代币。如果启用提议存款,则以下退款策略可供选择

  1. 从不退款存款。所有存款都在提议完成后发送到DAO。
  2. 始终退款存款。在提议完成后以及被approver拒绝的情况下,存款将退还给提议者。
  3. 仅退款已通过的提案。如果提案被批准并成功,押金将退还给提案人。否则,它们将发送到DAO。

此模块也可以配置为仅接受DAO(具有投票权的地址)成员的提案。

以下是使用此模块创建提案过程的流程图

资源

有关预提案设计的更多信息。

有关预提案模块的更多信息。

依赖关系

~10MB
~207K SLoC