-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Calls made to the Execution Manager do not return data #474
Comments
To add to this issue, not getting any return data from calls affects our integration tests, e.g. our tutorials and code examples for our users. I think the desired behavior, if a transaction fails, is that L2 geth should get the revert reason returned from the contract instead of throwing an estimate gas error. |
Another previous issue: ethereum-optimism/go-ethereum#288 |
A hacker, @popcorndao, also experienced this issue. He also noticed that after setting gasPrice to 0 in his tests and config, he had to the |
@platocrat / @popcorndao it would be helpful to demonstrate a reproduction scenario or logs for what you're describing above. By "this issue", I'm assuming you mean that gas estimation is failing? |
To be clear, there are 2 separate issues with integration testing that are related to this GitHub issue: 1As I understand it,
is thrown whenever an L2 contract call reverts. Transactions will successfully revert, but we don't get the revert reason that we should be getting. Instead, we get the error shown above. 2From having run variations of tests for the Truffle-ERC20-Example, there is a different error that is thrown when attempting to deploy a contract. The error thrown when deploying a contract with Truffle is something like:
This error is thrown even after setting gasPrice to 0 in the network config and in the deployment and contract calls. All that being said, it seems to me that these two separate errors are related |
Thanks for the summary @platocrat. It seems like (1) exactly describes this issue, and a new issue with reproduction steps should be opened for (2), do you agree? |
I agree. I'll open a new issue for the Truffle tests |
@snario any updates on this? |
This is a pretty major devex pain right now 😅 |
Fixed by #643 |
This will be available in the 0.3.0 release schedule for mainnext next week. |
WOOHOO |
Presently it is impossible to get any return data data from transactions or calls made that go through the
ExecutionManager
such as revert reasons or other kinds of datageth
may want to use. We've made a pull request in the past to address this but decided it was not the right way to go since a change was queued up (and is now implemented) to the Solidity compiler that modifies how the execution manager is interacted with. This issue is to document the work to be done to revive that PR based on the new work in the Solidity compiler.The text was updated successfully, but these errors were encountered: