updates the EVM script encoding to only encode the target signature (and params) if the target signature is present
updates the version saved along with the proposal metadata from '1' to '2'
uses the version to know when to keep encoding the target signature regardless if it's blank or not. It is important that existing proposals keep encoding the EVM script in the same way, otherwise we could get a script mismatch and a false-positive for the malicious proposal check
Potential scenario
If for some reason, after this change has been released, a user is still running an old version of the DAO Dashboard locally, then they wouldn't be able to decode a newly created proposal that doesn't have a target signature (i.e. a simple ETH transfer proposal). The user would see the below when navigating to the proposal:
Is this something we should handle better (like updating the message to be broader), or is this scenario unlikely enough to not worry about?
What does this change?
version
saved along with the proposal metadata from'1'
to'2'
version
to know when to keep encoding the target signature regardless if it's blank or not. It is important that existing proposals keep encoding the EVM script in the same way, otherwise we could get a script mismatch and a false-positive for the malicious proposal checkPotential scenario
If for some reason, after this change has been released, a user is still running an old version of the DAO Dashboard locally, then they wouldn't be able to decode a newly created proposal that doesn't have a target signature (i.e. a simple ETH transfer proposal). The user would see the below when navigating to the proposal:
Is this something we should handle better (like updating the message to be broader), or is this scenario unlikely enough to not worry about?