Change the refund destination such that multisig voters that pay for gas get refunded, rather than sending the refund to the multisig contract. Technically, this change involves refunding tx.origin instead of msg.sender.
Exact changes can be seen in this pull request.
Because this change is very minor, we're not going through an official audit process. This change has been reviewed by solimander.
We started work on V3 before the V2.1 fix, and V3 is in different files so syncing the master branch into the V3 branch did not apply the fix to V3 code.
Here’s a short sequence of events:
Another problem was that we did not copy or change all V1/V2 tests to test V3; most of the tests were copied to run on V3 as well, but we dropped the ball on the gas refund test.
Running all tests on the latest version is the most important takeaway. As part of working on this fix we made sure all DAO tests are now running on the latest version, and removed old duplicate tests that were testing older versions. We believe we’ve reduced the chances of this happening again significantly.
The second point is helpful as an extra layer of safety, mostly helpful if we don’t have sufficient tests or failed to run all tests against the latest version we’re working on. We will certainly be more mindful in future merges.
The transaction sets the DAO proxy implementation to be the fixed version deployed at 0xe3caa436461DBa00CFBE1749148C9fa7FA1F5344.
Thanks,
the verbs ⌐◨-◨
Change the refund destination such that multisig voters that pay for gas get refunded, rather than sending the refund to the multisig contract. Technically, this change involves refunding tx.origin instead of msg.sender.
Exact changes can be seen in this pull request.
Because this change is very minor, we're not going through an official audit process. This change has been reviewed by solimander.
We started work on V3 before the V2.1 fix, and V3 is in different files so syncing the master branch into the V3 branch did not apply the fix to V3 code.
Here’s a short sequence of events:
Another problem was that we did not copy or change all V1/V2 tests to test V3; most of the tests were copied to run on V3 as well, but we dropped the ball on the gas refund test.
Running all tests on the latest version is the most important takeaway. As part of working on this fix we made sure all DAO tests are now running on the latest version, and removed old duplicate tests that were testing older versions. We believe we’ve reduced the chances of this happening again significantly.
The second point is helpful as an extra layer of safety, mostly helpful if we don’t have sufficient tests or failed to run all tests against the latest version we’re working on. We will certainly be more mindful in future merges.
The transaction sets the DAO proxy implementation to be the fixed version deployed at 0xe3caa436461DBa00CFBE1749148C9fa7FA1F5344.
Thanks,
the verbs ⌐◨-◨