Older notes from Lucidchart, incl. ER diagram
Â

Proposals
- uuid: a universal unique ID for across proposals across all DAOs (across all chains?) seems do-able on Ethereum basis; generate an id based on the time and the DAO address
- justification: uuid would support... easier scraping + analysis, more transparency, easier conditional logic on proposals. [Not necessary?]
- create_proposal: ________
- get_proposals: instead of a foreign key, EITHER an off-chain method that returns a list of proposal uuids OR an off-chain method that returns a list of proposal uuids
- alternative names: proposals, get_issues, issues, get_actions, actions
- executor: can be empty (for non-binding proposals), OR a contract address, OR an ENS address
- the contract address may be a wallet or an executable smart contract
- justification: intended to support DAO2DAO calls
- alternative names: execution, mechanism
- content: instead of a text field or a structured object, a URI link to a URL link or flatfile
- Includes all "content" of the proposal, including title, description, options, etc. Feel like this field can be refined.
- alternative names: details, body
- status: a text field
- justification: make the proposal management less annoying, make it easier to allow proposals to get aggregated into a governance interface
Membership
- members: instead of a foreign key, EITHER an off-chain method that returns a list of addresses OR a list of addresses
- alternative names: get_members, membership, get_membership
- constitution: instead of a text field, a URI link to flatfile (normatively a .md file for easy parsing, but can be any text source, e.g. a Google Doc, a hackmd address)
- alternative names: governance, details, description, readme, rights, affordances