fix: Refresh EIP-1559 compatibility on network switch #7111
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.
Explanation
The fix ensures that when a network switch happens and a transaction immediately follows, the EIP-1559 compatibility is correctly determined rather than returning undefined, which would cause transaction validation to fail.
Disclaimer: I'm not familiar with the network controller, this PR is just a draft for the team that owns the network controller.
References
Fixes MetaMask/metamask-extension#37570
Checklist
Note
When EIP-1559 compatibility is not cached in metadata, compute it on demand, cache the result, and add tests covering both compatible and incompatible cases.
get1559CompatibilityWithNetworkClientId: IfEIPS[1559]is undefined, determine compatibility via#determineEIP1559Compatibility, cache it innetworksMetadata[networkClientId].EIPS[1559], and return the value; otherwise return the cached value.EIPS[1559]is initially undefined for both compatible (true) and incompatible (false) scenarios.Written by Cursor Bugbot for commit 453379f. This will update automatically on new commits. Configure here.