Interfaces for the modular DAOs, partial port of DA0-DA0
Also contains the MessageRegistry object, ExecutableMessage interface and MessageHandler interface which are used to decode and execute proposals actions
Implementation of the DAO core interface, partial port of dao-dao-core
Proposal module implementation that supports binary proposals, users can only vote Yes or No
Voting module that queries a group to get the voting power of users
Simple-to-use JSON encoding and decoding without reflection
Provides generic flagging features, allows to:
- Flag an ID
- List most flagged IDs
- Check if an address has flagged a particular ID
- Clear flags on an ID
Provides an avl-like interface that allows to query state at any height, the implementation is a very simple wrapper around an avl and is very inefficient
Used by some other packages to properly nest markdown renders
Binary utilities we used before having JSON encoding to transfer complex object between UI and chain
Golang's utf16 library, used by ujson
Provides the list of existing DAOs
It also provides the DAOs infos (name, description, pfp) until we use the dedicated profile realm
See the live demo
Example DAO with a single choice proposal module and a voting group module
Supported proposals actions:
- Add/remove members from the voting group
- Create and moderate boards
- Mint Toris (grc20)
- Update proposal settings (threshold/quorum)
Fork of gno.land/r/demo/groups
with the following changes:
- allows non-EOA to create groups (so a DAO can create and manage a group)
- add
ExecutableMessage
s implementations to support adding and removing members via proposals - use
havl
to store members weight so we can query it at any height (this is needed by thedao_voting_group
module)
Fork of gno.land/r/demo/boards
with the following changes:
- allows non-EOA to create boards (so a DAO can create and moderate a board)
- allow users to flag content and display most flagged posts (using
gno.land/p/demo/teritori/flags_index
) - add
ExecutableMessage
s implementations to support creating boards an deleting threads/posts via proposals
Social feed contract that strives to have feature-parity with Teritori's cosmwasm social feed
It supports content flagging and moderation by DAOs
See the live demo
Example of a DAO that can moderate social feeds
Escrow contract, will be used in grants manager and freelance marketplace
Exploration of a realm managing monolitic DAOs
This can't be used as is because we can't have a single realm handle multiple DAOs due to the PrevRealm auth model
Since this supports NoWithVeto we will probably refactor this code into a "cosmos-like" proposal module
Exploration based on gno.land/r/demo/teritori/gnodaos
that randomly (using vrf realm) selects members that are allowed to vote
Chainlink-style VRF contract
GRC20 instance that can be managed by a DAO