Fix overly strict function validation requirements for decoding parameters #2106
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This should fix #1916 and #2065.
Arises from trufflesuite/truffle#1487. Also being tracked on Truffle's end at trufflesuite/truffle#1504.
There is a bit of history here, in that empty bytes arrays have been variously represented as:
"0x"
(correct value, others malformed)"0X"
"0x0"
""
Anyway, Ganache was passing
"0x0"
for awhile, and now that's stopped, exposing this conditional that assertsbytes
must contain data. In the case whereoutputs
equals[]
, an empty value forbytes
is really all that makes sense.This PR thus loosens the conditional a bit, to throw the exception only if
bytes
is empty andoutputs
is non-empty.