Vote on contract upgrades #2
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upgrading tokens is a security risk and requires trust to whoever is able to upgrade to a new version.
We need to define a process on how to upgrade to new releases and implement the specific access controls.
Who should be able to upgrade contracts to a new version?
Will the be some voting required? Should it be some multisig transaction?
I'm in for a voting! Is the proposal part also a voting? If so what would be the difference? Is it possible to abstract it to have something like a
Votableconcern? I think we need something like avotable_targeta condition who can vote, what is the final state and what should happen if the final state is reached.Off topic question: Is every call to the contract a transaction that needs gas?
Every call to a contract that changes the state is a transaction and costs gas.
Reading data from a contract is free - as it is just accessing the local DB from the connected node.
Voting would for sure be the best. I think the general logic what will be executed is different though. For proposals new tokens will be issued for upgrading the contract some different attribute must be set.
The
Votableis a good idea. Maybe we can try that every proposal is its own small contract that implements that logic - need to see how much that would be.I'd focus on the proposals first though.
doable with aragon (#62 )
Even though it's doable with that, this issue is still valid, no? Or do we already have contract upgrade voting implemented in #62?
yeah probably you're right.
right now some access role is defined. The deploy account gets that role and we would need to give that one to a voting app. And actually I think we could even use the aragon voting app for that.
Though all this is theory and I have not tested it.
but for the launch I think that is enough?
Yes, of course. Just making sure we keep issues open for the things we plan to implement in the future.
I somehow have added this issue in the launch milestone. I remove the milestone but we keep the issue open.
refs #171