This repository has been archived by the owner on Feb 26, 2024. It is now read-only.
Use effectiveGasPrice and fall back to gasPrice when missing. #4600
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.
Problem
In, #4559 we noticed that truffle was displaying incorrect transaction fees when using Arbitrum. This has to do with complexity that exists for their L2 that makes
transaction.gasPrice
unreliable compared toreceipt.effectiveGasPrice
. However, this isn't a problem that we need Arbitrum-specific code to support becausegasPrice
has been officially deprecated in favor ofeffectiveGasPrice
post-EIP-1559 anyway.Solution
When reporting transactions fees, set the gas price to
receipt.effectiveGasFee
if it exists, otherwisetransaction.gasPrice
To do
Check that this works on different versions of ganache, EIP-1559 & legacy transactions, Arbitrum & Ethereum.