Comments (7)
I guess ideally the new contract would have a way to bypass the proposal process, if that is your recommended upgrade process :) otherwise with 50+ members, the order of operations for adding everyone back seems like a complicated coordination problem
from moloch.
@stellarmagnet: Well, with the current parameters (1-week voting period, 1-week grace period before processing, up to 5 proposals per day), the summoner could actually vote in up to 70 members before the first proposal gets processed.
Of course, that would require considerable liquidity for the deposits, and the summoner would still have to communicate with each of the migrants, but at least, up to that point, the coordination effort would be linear (summoner to each), not quadratic (each to each).
So, I guess @ameensol could summon a new Moloch and just ragevote everybody in. ;)
If he can't be bothered, then we need to devise a more automated strategy. :)
As a side note, the ability to ragequit is the central protection mechanism in Moloch,
and there could be situations where a lot of members would want to quit and move on
to a new Moloch in a non-automated way, i.e. through the regular voting process:
for example, a member acquired a 51% majority, or a few whales conspired,
or some would just not be happy about the direction the Moloch has taken (in terms of past voting results).
That would be a fork, though, not an upgrade, and I agree that it is desirable to have a more convenient upgrade path than by forking.
@adklempner: It seems simplicity and even minimalism were explicit design choices. To quote from section 3 of the whitepaper:
First and foremost, we set a goal of putting only the absolute minimum set of functionality
on-chain. In the vast majority of edge cases, social coordination mechanisms (offline coordination)
can be used as roundabout solutions to problems. By minimizing on-chain coordination, we
reduce the potential attack surface that we need to account for.
@alcuadrado: Beautiful idea!
from moloch.
There's no upgrade mechanism in the technical sense. Instead, everybody can ragequit with what's left of their tribute and move on to a new contract.
from moloch.
Not too mention a waste of gas. Was there any reason beyond time-constraints that a separate logic/data architecture wasn't used for the contracts, using something like AragonOS or ZeppelinOS? Security concerns? It seem like they are appropriate for this project; they also add the potential for members to vote on contract upgrades on-chain (or not participate in the process at all while still retaining their shares)
from moloch.
I guess ideally the new contract would have a way to bypass the proposal process, if that is your recommended upgrade process :) otherwise with 50+ members, the order of operations for adding everyone back seems like a complicated coordination problem
βΊοΈ
The new dao could have a function to let moloch members migrate to it.
It should work something like this:
- The member sets the new dao as their moloch's delegate key.
- The member gives the new dao enough weth allowance to move their part of the GuildBank's funds.
- The member calls the migration function.
- This function gets the number of shares of the member and
ragequit
s all of them. - Finally, the function calls weth's
transferFrom
to recover the funds, and mints new shares.
from moloch.
with the current parameters (1-week voting period, 1-week grace period before processing, up to 5 proposals per day), the summoner could actually vote in up to 70 members before the first proposal gets processed.
Actually, the summoner could vote for 70 new members (at least), before the first proposal gets processed, but only the first 36 would undoubtedly be in.
from moloch.
We're about to find out...
from moloch.
Related Issues (20)
- Error: Invalid Number of parameters.. Got 9 expected 8! HOT 1
- Error: Invalid number of parameters for "approvedTokens". Got 0 expected 1!
- Cannot read property 'length' of undefined HOT 1
- moloch.approvedToken is not a function
- Sponsor Proposal Throws Error
- 404
- `safe-contracts` directory missing from repo but `moloch.js` still trying to use them
- Website load time HOT 2
- buidler fails to compile: evmVersion: "byzantium" and CREATE2 HOT 7
- Error while deploying a DAO HOT 2
- Error Deploying DAO HOT 12
- Typo error ? HOT 2
- Contract creation initialization returns data with length of more than 24576 bytes. HOT 1
- Questions about Ragequit HOT 1
- Ability to receive ETH (ERC20, NFT) directly HOT 4
- Tests fail with Error BDLR700: Artifact for contract "Token" not found.
- Project "evil" ? HOT 6
- ReferenceError: buidlerArguments is not defined HOT 5
- WARNING: gethostname doesn't return a fully qualified name and getdomainname failed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moloch.