-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Remove NetworkId #20652
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
Remove NetworkId #20652
Conversation
|
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. |
|
Updated and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: @metamask/network-controller@12.2.0 |
|
@metamaskbot update-policies |
|
Policies updated |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #20652 +/- ##
===========================================
+ Coverage 68.54% 68.54% +0.01%
===========================================
Files 1029 1030 +1
Lines 41013 41037 +24
Branches 10963 10968 +5
===========================================
+ Hits 28109 28128 +19
- Misses 12904 12909 +5
☔ View full report in Codecov by Sentry. |
Builds ready [3b40e6b]
Page Load Metrics (1568 ± 94 ms)
Bundle size diffs [🚀 Bundle size reduced!]
|
|
We expose
EDIT2: See below |
|
Should we include a migration to remove |
|
@metamaskbot update-policies |
|
Policies updated |
|
@metamaskbot update-policies |
|
Policies updated |
Yeah, we should be tidy. My bad. Added here: 1c3bb66 |
7371e74 to
8979f84
Compare
8979f84 to
bb46c3e
Compare
Builds ready [34fe4b8]
Page Load Metrics (1040 ± 371 ms)
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
All EVM chains support chain ID. I'm unsure of other chains. I can't think of a good reason not to do this besides not changing things if they aren't broken. This doesn't buy us any new features, just cleans up some tech debt |
| "@metamask/safe-event-emitter": "^2.0.0", | ||
| "@metamask/scure-bip39": "^2.0.3", | ||
| "@metamask/selected-network-controller": "^1.0.0", | ||
| "@metamask/selected-network-controller": "^2.0.0", |
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.
[nit] Just curious, is this required for this PR?
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.
selected-network-controller v1.0.0 had a peerDep of network-controller ^12.1.2.
v2.0.0 has a peerDep of 13
adonesky1
left a comment
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.
LGTM. Obviously a ton of the same little changes here so hard to feel super confident without spending many hours pouring over each one in context. So hoping we can get at least a few more sets of eyes and some thorough QA done before we merge this.
|
@tmashuang do you have some bandwidth to give this a thorough QA? |
|
Thomas and I took another pass on this. I think we're good on the QA side |
Explanation
Wallets shouldn't be directly concerned about the network ID as this more of a p2p concept for gossip. What wallets really care about is chain ID as that is the correct value to use to identify a chain, build transactions, etc. Although these two values usually match (ignoring hex/dec formatting), there are exceptions.
We want to remove usage of networkId and replace it with chainId where appropriate and necessary.
This was a generally straight forward change to make, except for the following cases:
networkVersionon thewindow.ethereumprovider objectmetamaskNetworkIdon TransactionMeta objectsIn both cases, we now use static mappings to assist in covering chainId <-> networkId edge cases.See comments in this PR for more elaboration and the core PR linked below.Screenshots/Screencaps
Before
After
Manual Testing Steps
Pre-merge author checklist
Pre-merge reviewer checklist
If further QA is required (e.g. new feature, complex testing steps, large refactor), add the
Extension QA Boardlabel.In this case, a QA Engineer approval will be be required.