-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suggestion of code simplification: remove tributeTokens, lootTokens and GuildVault #7
Comments
For reference, here are the various implementations of Moloch, in the order they were written: All ERC20's supported (there's some cleanup required on both new versions of the contract, but these commits should capture the gist of the changes needed) Thanks for the feedback! A few things:
|
First I'd code a contract like this:
Then I would fund that contract with whatever I was trying to send to Moloch, as if it was holding it in escrow. Then I would submit that address as part of the proposal. This would be (roughly) the process proposal on Moloch:
Makes sense? Moloch itself ignores the value of the reward, doesn't care or know about it, it's up to the proposal voters to check the code and see if it's worth to accept the offer. |
We've made some simplifications like removing the LootTokens, making the GuildBank do much less, and moved entirely away from ERC20 in favor of wETH maximalism. I think it should still be possible to set up a contract that does things in response to a passing proposal, but I don't plan on making that the default. Thanks for your input! |
I'm looking through the Moloch DAO in light of recent changes and would like to add one further simplification: remove completely GuildVault and TributeTokens. Instead, here's how a proposal would work:
proposalApproved()
rewardContract
rewardContract
with the functionproposalApproved()
which can any of these things:This simplifies the code and allows greater flexibility, because anything can be coded on the proposalContract address, so we don't need to imagine everything that can be created in the future.
But what about the GuildVault and lootTokens? Maybe I'm missing something but it seems to me the only purpose of LootTokens is to be a temporary step before someone can take tokens out. Instead we can remove all that functionality and just require that when someone wants to rageQuit they need to specify which tokens they want to take with them. The DAO then will go through that list and then use send them the equivalent percentage of the balance of that specific token.
This has a few advantages, one of them being that it's up to the users themselves signal which token they care about personally. If you ignore a token it means you are basically donating your share of that token back to the community, therefore increasing the share that the next person can take: so undervalued tokens will accumulate until it's worth for people to spend the gas to take them out too.
This proposal both simplifies code and also keeps Moloch flexible enough for it to do unpredictable stuff in the future.
The text was updated successfully, but these errors were encountered: