2 unstable releases

0.1.0 Jul 3, 2023
0.0.0 Jul 3, 2023

#5 in #votes

Download history 57/week @ 2024-04-08 85/week @ 2024-04-15 97/week @ 2024-04-22 25/week @ 2024-04-29 81/week @ 2024-05-06 73/week @ 2024-05-13 288/week @ 2024-05-20 54/week @ 2024-05-27 177/week @ 2024-06-03 115/week @ 2024-06-10 212/week @ 2024-06-17 147/week @ 2024-06-24 148/week @ 2024-07-01 57/week @ 2024-07-08 445/week @ 2024-07-15 427/week @ 2024-07-22

1,093 downloads per month
Used in 4 crates (3 directly)

Apache-2.0

395KB
10K SLoC

cw-proposal-single

A proposal module for a DAO DAO DAO which supports simple "yes", "no", "abstain" voting. Proposals may have associated messages which will be executed by the core module upon the proposal being passed and executed.

For more information about how these modules fit together see this wiki page.

For information about how this module counts votes and handles passing thresholds see this wiki page.

Proposal deposits

This contract may optionally be configured to require a deposit for proposal creation. Currently, any cw20 token may be used.

As a convienence one may specify that the module should use the same token as the DAO's voting module using the VotingModuleToken variant when specifying information about the deposit. For this to work the voting module associated with the DAO must support the TokenContract query. This query may be derived via the #[token_query] macro.

Hooks

This module supports hooks for voting and proposal status changes. One may register a contract to receive these hooks with the AddVoteHook and AddProposalHook methods. Upon registration the contract will receive messages whenever a vote is cast and a proposal's status changes (for example, when the proposal passes).

The format for these hook messages can be located in the proposal-hooks and vote-hooks packages located in packages/proposal-hooks and packages/vote-hooks respectively.

To stop an invalid hook receiver from locking the proposal module receivers will be removed from the hook list if they error when handling a hook.

Dependencies

~4–6MB
~125K SLoC