Fix gas estimation for ETHSend transactions #11414
Merged
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.
There were two main issues with gas estimation for
ETHSend
:eth_estimateGas
forETHSend
transactions, and hardcoded the value21000
. This doesn't work for simple transfers to smart contracts which are slightly heavier in gas. We still fallback to21000
if the call toeth_estimateGas
fails in the RPC controller.0x0
for thedata
field while queryingeth_estimateGas
, which always returned the following error response:21000
in place in case of an error. Turns out that geth wants us to either use"0x"
or""
or completely omit thedata
field from the request for ETH transfers.Resolves brave/brave-browser#19835.
1.34.x
1.33.x
1.32.x
Submitter Checklist:
QA/Yes
orQA/No
;release-notes/include
orrelease-notes/exclude
;OS/...
) to the associated issuenpm run test -- brave_browser_tests
,npm run test -- brave_unit_tests
,npm run lint
,npm run gn_check
,npm run tslint
git rebase master
(if needed)Reviewer Checklist:
gn
After-merge Checklist:
changes has landed on
Demo and test plan
👉 Attn QA: The test plan consists of the following cases:
0x92cd4bd69e305634a72fc95992ecfa0699c784e7
. Verify that the gas limit is23276
. The recipient address came from a user report (see Don't hardcode 21000 for gas limit for ETH transfers brave-browser#19835).50000
).200000
.21000
.21000
.Screen.Recording.2021-12-03.at.11.08.23.AM.mov