-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could not decode contract function call {function_identifier} return data {return_data!r} for output_types {output_types} #2069
Comments
@Uxio0 Thanks for reporting this! Something did change in the string interpolation here near 5.20... I'm going to check if any other files were affected and I'll submit a quick fix. |
@Uxio0 I didn't see any other affected files and I pushed a hotfix for this directly to I'm going to close this. Feel free to re-open if you are still having issues. |
Thanks for the quick response and fix @fselmo |
Hi @fselmo , I've just tried the new release and there's still different behaviour. Revert messages are not decoded. For example, now I get:
If use |
I think the issue is the
|
Hey @Uxio0 You are right that we can get the bytes returned without the If we were to return this for now, is this what you are looking for?:
From what I gathered, you used to be able to extract the meaningful message out of the Let me know! Sorry about this seemingly small thing that has taken a bit to resolve. Thanks for reporting on it! |
That's right
Yes, that would work
Yes, we have some logic to check for some messages inside the error string and return proper exceptions. I would be also ok if you pass the Thanks for your quick response and understanding! |
@Uxio0 sounds good... this was a breaking change that was never intended so thanks for the feedback. The only reason for the change (adding We also talked about improving our exception pattern in a future major release, since it will clearly introduce breaking changes. Ideally this will mean a more user-friendly way to extract meaningful information from these types of exceptions. Hopefully no more regex parsing on the user end will be needed! Thanks again. This is merged to master and will be out in the next release... for now you may pull the latest |
Good to know! I was not aware.
Nice! Thank you for everything. Cheers! |
@Uxio0 fyi, web3 v5.23.0 was just released and includes this change |
Thank you very much @fselmo! Everything is working on our side now |
What was wrong?
Previously when a contract reached a Solidity
require
the message was returned in the exception. Currently I just see the placeholders.Errors can be seen in our library (gnosis-py) tests:
When 5.19.0 version is used, no problems:
Is this a bug or do I need to change anything? I couldn't find anything in the changelog
The text was updated successfully, but these errors were encountered: