Imagine The DAO wants to change it's source code.

There is a proposal for DAO to call contract creation with new code for the DAO. After such proposal all ether are transferred to new contract.

But what happens to the DAO token balances owned by users. Are they transferred to another contract? Or since that moment there are two different versions of DAO ?


If you look through the DAO smart contract https://github.com/slockit/DAO/blob/master/DAO.sol you will see that there is a function newContract:

        // require 53% for calling newContract()
    if (_transactionData.length >= 4 && _transactionData[0] == 0x68
        && _transactionData[1] == 0x37 && _transactionData[2] == 0xff
        && _transactionData[3] == 0x1e
        && quorum < minQuorum(actualBalance() + rewardToken[address(this)])) {

            proposalCheck = false;

This can be used to create a new DAO. For this by default a 53% quorum is needed. If this quorum is met, it is possible to shift the whole DAO including all user balances and reward tokens to the new contract.

Notice that this is a completely different measure than joining a split of The DAO.

  • Yes, I have seen that part of code. But how to move the storage of the contract to the new one? – Eugene Yurtaev Jun 13 '16 at 0:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.