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

fix: cherry-pick: Gas changes for low Max base fee and Priority fee (#28037) #28073

Merged
merged 1 commit into from
Oct 24, 2024

Conversation

pedronfigueiredo
Copy link
Contributor

@pedronfigueiredo pedronfigueiredo commented Oct 24, 2024

Cherry-pick: #28037

Description

Previously, if the Max base fee and Priority fee were reduced to very low values, the Network fee wouldn't update accordingly. This is a discrepancy with the gas calculations in the old flows.

What fixes it is, for low enough values of maxFeePerGas (low enough to be lower than minimumFeePerGas), the Network fee becomes the Max fee -- maxFeePerGas times gasLimit directly. Apart from fixing the symptom explained above, this ensures that the Network fee is never higher than the Max fee.

The PR also fixes this calculation when it comes to the L2 fees (inside useTransactionGasFeeEstimate).

It also adds a missing override of dappSuggestedFees for both maxFeePerGas and maxPriorityFeePerGas (inside useEIP1559TxFees).

Open in GitHub Codespaces

Related issues

Fixes: #27802

Manual testing steps

See original report above.

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Description

Open in GitHub Codespaces

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Previously, if the Max base fee and Priority fee were reduced to very
low values, the Network fee wouldn't update accordingly. This is a
discrepancy with the gas calculations in the old flows.

What fixes it is, for low enough values of `maxFeePerGas` (low enough to
be lower than `minimumFeePerGas`), the Network fee becomes the Max fee
-- `maxFeePerGas` times `gasLimit` directly. Apart from fixing the
symptom explained above, this ensures that the Network fee is never
higher than the Max fee.

The PR also fixes this calculation when it comes to the L2 fees (inside
`useTransactionGasFeeEstimate`).

It also adds a missing override of `dappSuggestedFees` for both
`maxFeePerGas` and `maxPriorityFeePerGas` (inside `useEIP1559TxFees`).

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/28037?quickstart=1)

## **Related issues**

Fixes: #27802

## **Manual testing steps**

See original report above.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
@pedronfigueiredo pedronfigueiredo added the team-confirmations Push issues to confirmations team label Oct 24, 2024
@pedronfigueiredo pedronfigueiredo self-assigned this Oct 24, 2024
@pedronfigueiredo pedronfigueiredo requested a review from a team as a code owner October 24, 2024 13:46
Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot
Copy link
Collaborator

Builds ready [365683d]
Page Load Metrics (1764 ± 46 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint1588196717739646
domContentLoaded1570189217287938
load1588192117649646
domInteractive23197503818
backgroundConnect10113372813
firstReactRender44223874722
getState4183294019
initialActions01000
loadScripts1142144112767335
setupStore10102282612
uiStartup18102641198617484
Bundle size diffs
  • background: 0 Bytes (0.00%)
  • ui: 733 Bytes (0.01%)
  • common: 0 Bytes (0.00%)

@hjetpoluru hjetpoluru self-requested a review October 24, 2024 17:59
@hjetpoluru hjetpoluru merged commit 77cbfe8 into Version-v12.6.0 Oct 24, 2024
75 of 76 checks passed
@hjetpoluru hjetpoluru deleted the pnf/cherry-pick-28037 branch October 24, 2024 18:00
@github-actions github-actions bot locked and limited conversation to collaborators Oct 24, 2024
@metamaskbot metamaskbot added the release-12.6.0 Issue or pull request that will be included in release 12.6.0 label Oct 24, 2024
@metamaskbot
Copy link
Collaborator

No release label on PR. Adding release label release-12.6.0 on PR, as PR was cherry-picked in branch 12.6.0.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
release-12.6.0 Issue or pull request that will be included in release 12.6.0 team-confirmations Push issues to confirmations team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants