Custom Condition Demo - custom_condition
DAO with custom voting rules (only roleless members vote).
- Creates custom condition:
NoRole- only members without roles can vote - Members vote on proposals using special voting rules
- Demonstrates advanced governance patterns
Vote(proposalID, vote)- Cast your vote on a proposalExecute(proposalID)- Execute an approved proposalPropose(proposalRequest)- Create a new proposal (requires MsgRun)Render(path)- Display DAO state and voting rules
AddMember(address, roles)- Directly add member (admin only)ProposeAddMember(address, roles)- Create proposal to add memberProposeNewPost(title, content)- Create proposal using custom condition
Use the transaction script to create proposals:
# Create a proposal with custom voting condition
gnokey maketx run \
--gas-fee 100000ugnot \
--gas-wanted 10000000 \
--broadcast \
MYKEYNAME \
./tx_script/create_proposal.gnocustom_condition.gno- Custom voting condition implementationsimple_dao.gno- Main DAO implementationutils.gno- Helper functions for testingtx_script/create_proposal.gno- Example transaction scriptcustom_condition_test.gno- Unit tests