Skip to content

Simulate proposal execution and display execution results #1

@protinam

Description

@protinam

It would be extremely useful for the Wyvern DAO web UI, on the Proposal page (example), to display what the results of executing a proposal would be - which state variables would be changed, which calls would be made, etc. just like an Ethereum transaction receipt. This functionality would lessen the chance of executing the wrong bytecode by accident and make it easy for voters to see exactly what a complicated proposal would cause to happen.

This requires a few complex simulated state changes that I have not found a way to do through Ethereum's web3 API. To simulate proposal execution, the value of now would need to be changed to be past the proposal's voting deadline, and the number of votes changed so that the simulated proposal would pass. We'd need to execute the transaction against that modified copy of the Ethereum state to see what effects it would have (of course, the Ethereum state will change in between when the proposal is simulated and when it is actually executed, but most of those changes won't affect most proposals).

The ideal solution would be completely client-side (using the web3 API as necessary). A solution requiring an external server (say, a modified Geth client) which could easy be run manually by DAO voters to verify the results themselves is an acceptable alternative.

I do not have an accurate estimate of how hard this is and I could be convinced to change the bounty if it will require a substantial amount of work; I think this functionality is quite important.

Please note: this bounty is funded by the Project Wyvern development team, as we're still playing around with the Gitcoin platform, but future ones will likely be funded by the Wyvern DAO directly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions