Skip to content
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

Propagate custom Solidity errors for eth_estimateGas JSON RPC function #1922

Merged
merged 3 commits into from
Sep 27, 2023

Conversation

jelacamarko
Copy link
Contributor

@jelacamarko jelacamarko commented Sep 20, 2023

Description

If a custom error occurs, the result.ReturnValue will represent ABI encoded custom error in the eth_estimateGas JSON RPC function.
The same thing was done through this PR, but only for Call (#1566). This particular PR fixes the eth_estimateGas function and propagates the execution result return value (which should be a hex-encoded custom error in case it reverts with it).

Changes include

  • Bugfix (non-breaking change that solves an issue)
  • Hotfix (change that solves an urgent issue, and requires immediate attention)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (change that is not backwards-compatible and/or changes current functionality)

Breaking changes

Please complete this section if any breaking changes have been made, otherwise delete it

Checklist

  • I have assigned this PR to myself
  • I have added at least 1 reviewer
  • I have added the relevant labels
  • I have updated the official documentation
  • I have added sufficient documentation in code

Testing

  • I have tested this code with the official test suite
  • I have tested this code manually

Manual tests

Please complete this section if you ran manual tests for this functionality, otherwise delete it

Documentation update

Please link the documentation update PR in this section if it's present, otherwise delete it

Additional comments

Please post additional comments in this section if you have them, otherwise delete it

@jelacamarko jelacamarko requested a review from a team September 20, 2023 08:15
@jelacamarko jelacamarko self-assigned this Sep 20, 2023
Copy link
Collaborator

@Stefan-Ethernal Stefan-Ethernal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally, it looks good. Tested it manually and the behavior is expected. Could we add some more unit tests maybe?

jsonrpc/eth_endpoint.go Outdated Show resolved Hide resolved
jsonrpc/eth_endpoint.go Outdated Show resolved Hide resolved
@Stefan-Ethernal Stefan-Ethernal changed the title Solidity contracts custom errors Propagate custom Solidity errors for eth_estimateGas JSON RPC function Sep 26, 2023
Copy link
Collaborator

@Stefan-Ethernal Stefan-Ethernal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jelacamarko jelacamarko merged commit 4b2770e into develop Sep 27, 2023
7 checks passed
@jelacamarko jelacamarko deleted the evm-811 branch September 27, 2023 09:23
@github-actions github-actions bot locked and limited conversation to collaborators Sep 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
4 participants