-
-
Notifications
You must be signed in to change notification settings - Fork 220
feat: Add RandomisedEstimationsGasFeeFlow
to gas fee flows
#5511
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
Conversation
6937e70
to
f7b5e4e
Compare
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.test.ts
Outdated
Show resolved
Hide resolved
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.ts
Outdated
Show resolved
Hide resolved
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
gasFeeRandomisation.preservedNumberOfDigits ?? | ||
DEFAULT_PRESERVE_NUMBER_OF_DIGITS; | ||
|
||
if (gasEstimateType === GAS_ESTIMATE_TYPES.FEE_MARKET) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor, could we also ignore the gasFeeControllerData
entirely and just mutate the result of getDefaultGasFees
?
That would avoid needed to convert from the GasFeeController
format.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My initial thinking was that.
Essentially both will result same, I tried to avoid doing that to do more changes in randomiseDecimalGWEIAndConvertToHex
function since this is already manually tested and timeframe is tight. But I agree it could save some steps already done in default flow.
@metamaskbot publish-preview |
Preview builds have been published. See these instructions for more information about preview builds. Expand for full list of packages and versions.
|
Cherry-pick: #31335 This introduces three high-priority core repo PRs in this release: - MetaMask/core#5511 - MetaMask/core#5549 - MetaMask/core#5552 --- // --- Fix balance change simulation of type-4 transactions by bumping `@metamask/transaction-controller` to `52.3.0`. [](https://codespaces.new/MetaMask/metamask-extension/pull/31335?quickstart=1) Fixes: [#4506](MetaMask/MetaMask-planning#4506) - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. - [ ] 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** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> [](https://codespaces.new/MetaMask/metamask-extension/pull/31440?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **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/main/.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/main/.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. Co-authored-by: Matthew Walsh <[email protected]>
Explanation
This PR aims to add
RandomisedEstimationsGasFeeFlow
to gas fee flows inTransactionController
.Depending on the remote feature flags,
RandomisedEstimationsGasFeeFlow
randomises the last digits of given estimations. To see exact randomisation it is happeningrandomiseDecimalValueAndConvertToHex
function in theRandomisedEstimationsGasFeeFlow.ts
file. Also in case of any error this gas fee flow will default toDefaultGasFeeFlow
.References
Fixes: https://github.com/MetaMask/MetaMask-planning/issues/4446
randomised.gas.values.mov
Changelog
@metamask/transaction-controller
RandomisedEstimationsGasFeeFlow
to gas fee flows inTransactionController
chainId
is defined in feature flags.Checklist