@metamask-previews/network-controller 22.1.1-preview-111ffee8 → 22.1.1-preview-c96fc296
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/dist/NetworkController.cjs +30 -2
- package/dist/NetworkController.cjs.map +1 -1
- package/dist/NetworkController.d.cts.map +1 -1
- package/dist/NetworkController.d.mts.map +1 -1
- package/dist/NetworkController.mjs +30 -2
- package/dist/NetworkController.mjs.map +1 -1
- package/dist/rpc-service/abstract-rpc-service.cjs +3 -0
- package/dist/rpc-service/abstract-rpc-service.cjs.map +1 -0
- package/dist/rpc-service/abstract-rpc-service.d.cts +11 -0
- package/dist/rpc-service/abstract-rpc-service.d.cts.map +1 -0
- package/dist/rpc-service/abstract-rpc-service.d.mts +11 -0
- package/dist/rpc-service/abstract-rpc-service.d.mts.map +1 -0
- package/dist/rpc-service/abstract-rpc-service.mjs +2 -0
- package/dist/rpc-service/abstract-rpc-service.mjs.map +1 -0
- package/dist/rpc-service/rpc-service.cjs +256 -0
- package/dist/rpc-service/rpc-service.cjs.map +1 -0
- package/dist/rpc-service/rpc-service.d.cts +121 -0
- package/dist/rpc-service/rpc-service.d.cts.map +1 -0
- package/dist/rpc-service/rpc-service.d.mts +121 -0
- package/dist/rpc-service/rpc-service.d.mts.map +1 -0
- package/dist/rpc-service/rpc-service.mjs +255 -0
- package/dist/rpc-service/rpc-service.mjs.map +1 -0
- package/dist/rpc-service/shared.cjs +3 -0
- package/dist/rpc-service/shared.cjs.map +1 -0
- package/dist/rpc-service/shared.d.cts +5 -0
- package/dist/rpc-service/shared.d.cts.map +1 -0
- package/dist/rpc-service/shared.d.mts +5 -0
- package/dist/rpc-service/shared.d.mts.map +1 -0
- package/dist/rpc-service/shared.mjs +2 -0
- package/dist/rpc-service/shared.mjs.map +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
14
14
|
### Fixed
|
|
15
15
|
|
|
16
16
|
- Fix `selectAvailableNetworkClientIds` so that it is properly memoized ([#5193](https://github.com/MetaMask/core/pull/5193))
|
|
17
|
+
- Fix `lookupNetwork` so that it will no longer throw an error if `networkDidChange` subscriptions have been removed before it returns ([#5116](https://github.com/MetaMask/core/pull/5116))
|
|
18
|
+
- This error could occur if the NetworkController's messenger is cleared of subscriptions, as in a "destroy" step.
|
|
17
19
|
|
|
18
20
|
## [22.1.1]
|
|
19
21
|
|
|
@@ -550,7 +550,26 @@ class NetworkController extends base_controller_1.BaseController {
|
|
|
550
550
|
let networkChanged = false;
|
|
551
551
|
const listener = () => {
|
|
552
552
|
networkChanged = true;
|
|
553
|
-
|
|
553
|
+
try {
|
|
554
|
+
this.messagingSystem.unsubscribe('NetworkController:networkDidChange', listener);
|
|
555
|
+
}
|
|
556
|
+
catch (error) {
|
|
557
|
+
// In theory, this `catch` should not be necessary given that this error
|
|
558
|
+
// would occur "inside" of the call to `#determineEIP1559Compatibility`
|
|
559
|
+
// below and so it should be caught by the `try`/`catch` below (it is
|
|
560
|
+
// impossible to reproduce in tests for that reason). However, somehow
|
|
561
|
+
// it occurs within Mobile and so we have to add our own `try`/`catch`
|
|
562
|
+
// here.
|
|
563
|
+
/* istanbul ignore next */
|
|
564
|
+
if (!(error instanceof Error) ||
|
|
565
|
+
error.message !==
|
|
566
|
+
'Subscription not found for event: NetworkController:networkDidChange') {
|
|
567
|
+
// Again, this error should not happen and is impossible to reproduce
|
|
568
|
+
// in tests.
|
|
569
|
+
/* istanbul ignore next */
|
|
570
|
+
throw error;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
554
573
|
};
|
|
555
574
|
this.messagingSystem.subscribe('NetworkController:networkDidChange', listener);
|
|
556
575
|
let updatedNetworkStatus;
|
|
@@ -600,7 +619,16 @@ class NetworkController extends base_controller_1.BaseController {
|
|
|
600
619
|
// in the process of being called, so we don't need to go further.
|
|
601
620
|
return;
|
|
602
621
|
}
|
|
603
|
-
|
|
622
|
+
try {
|
|
623
|
+
this.messagingSystem.unsubscribe('NetworkController:networkDidChange', listener);
|
|
624
|
+
}
|
|
625
|
+
catch (error) {
|
|
626
|
+
if (!(error instanceof Error) ||
|
|
627
|
+
error.message !==
|
|
628
|
+
'Subscription not found for event: NetworkController:networkDidChange') {
|
|
629
|
+
throw error;
|
|
630
|
+
}
|
|
631
|
+
}
|
|
604
632
|
this.update((state) => {
|
|
605
633
|
const meta = state.networksMetadata[state.selectedNetworkClientId];
|
|
606
634
|
meta.status = updatedNetworkStatus;
|