near-daos / sputnik-dao-contract

Smart contracts for https://app.astrodao.com
https://astrodao.com/
MIT License
107 stars 76 forks source link

Add DAO data model architecture #165

Open ctindogaru opened 2 years ago

ctindogaru commented 2 years ago

This PR is a 1:1 copy of https://github.com/near-daos/sputnik-dao-contract/wiki/%5BDRAFT%5D-DAO-Data-Model-Architectures to allow easy feedback (via PR comments) on the original proposal.

ctindogaru commented 2 years ago

Can we take a more granular approach and only focus on the governance module for now? There are too many big changes happening at the same time (governance + extension + user).

I would start a different thread on extension_modules after we agree on the governance module.

ctindogaru commented 2 years ago

What voting mechanisms can we have for a given proposal? I can only think of 3:

ctindogaru commented 2 years ago

To conclude on this PR, I would strip out the extension module logic and put it in a different PR.

Also, I feel the governance module is more complicated than it should be. You only need the account id of the gov module to offload the logic there.

How would it work:

near call <gov_module> compute '{"votes": {"account1.near": "yes", "account2.near": "yes", "account3.near": "no"}}' --acountId <caller_id>

Then, the gov_module would know the weights for account1.near, account2.near, account3.near and also the quorum so it will know how to compute the result based on the given accounts + the weights for each of the accounts + quorum.

ctindogaru commented 2 years ago

Note that I did not review the extension module. I feel that we should have a separate topic on that.