Crates.io | dao-pre-propose-approval-single |
lib.rs | dao-pre-propose-approval-single |
version | 2.6.0 |
source | src |
created_at | 2023-07-03 18:44:21.801815 |
updated_at | 2024-11-08 00:01:48.751745 |
description | A DAO DAO pre-propose module handling a proposal approval flow for for dao-proposal-single. |
homepage | |
repository | https://github.com/DA0-DA0/dao-contracts |
max_upload_size | |
id | 907316 |
size | 261,133 |
This contract implements an approval flow for proposals, it also handles deposit logic. It works with the dao-proposal-single
proposal module.
This contract is instantatied with an approver
address. This address is
allowed to approve or reject the proposal. An approved proposal opens for voting
immediately, whereas a rejected proposal is simply discarded.
┌──────────┐
│ │
│ Account │
│ │
└─────┬────┘
│
│ Makes prop
▼
┌────────────────────────┐ ┌────────────────────────┐
│ │ │ │
│ Pre-propose Approval │ ◄─────────────┤ Approver Address │
│ │ Approves │ │
└───────────┬────────────┘ or rejects └────────────────────────┘
│
│ Creates prop
│ on approval
▼
┌────────────────────────┐
│ │
│ Proposal Single │
│ │
└───────────┬────────────┘
│
│ Normal voting
│
▼
┌────────────────────────┐
│ │
│ Main DAO │
│ │
└────────────────────────┘
The approver
may also register a ProposalSubmitHook
, which fires every time a proposal is submitted to the dao-pre-propose-approval-single
contract.
It may accept either native (bank module), cw20 tokens, or no tokens as a deposit. If a proposal deposit is enabled the following refund strategies are avaliable:
approver
.This module may also be configured to only accept proposals from members (addresses with voting power) of the DAO.
Here is a flowchart showing the proposal creation process using this module:
More about the pre-propose design.
More about pre-propose modules.