@metamask-previews/network-controller 32.0.0-preview-c5f8cd0af → 32.0.0-preview-92f3bde43
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 +7 -0
- package/dist/NetworkController.cjs +15 -3
- package/dist/NetworkController.cjs.map +1 -1
- package/dist/NetworkController.d.cts +7 -7
- package/dist/NetworkController.d.cts.map +1 -1
- package/dist/NetworkController.d.mts +7 -7
- package/dist/NetworkController.d.mts.map +1 -1
- package/dist/NetworkController.mjs +15 -3
- package/dist/NetworkController.mjs.map +1 -1
- package/dist/selectors.cjs +10 -0
- package/dist/selectors.cjs.map +1 -0
- package/dist/selectors.d.cts +3 -0
- package/dist/selectors.d.cts.map +1 -0
- package/dist/selectors.d.mts +3 -0
- package/dist/selectors.d.mts.map +1 -0
- package/dist/selectors.mjs +6 -0
- package/dist/selectors.mjs.map +1 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
17
17
|
- The default `pollingInterval` for the block tracker is now `20` seconds.
|
|
18
18
|
- The default `retryTimeout` for the block tracker is now `20` seconds.
|
|
19
19
|
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **BREAKING:** Automatically populate `isRpcFailoverEnabled` using `RemoteFeatureFlagController` ([#9013](https://github.com/MetaMask/core/pull/9013))
|
|
23
|
+
- `NetworkController.init` must now be called to fully initialize the controller.
|
|
24
|
+
- The constructor argument `isRpcFailoverEnabled` is no longer available.
|
|
25
|
+
- `RemoteFeatureFlagController:stateChange` and `RemoteFeatureFlagController:getState` are now required.
|
|
26
|
+
|
|
20
27
|
### Fixed
|
|
21
28
|
|
|
22
29
|
- Add defaults for `fetch`, `btoa` and `isOffline` in `RpcServiceOptions` ([#9000](https://github.com/MetaMask/core/pull/9000))
|
|
@@ -54,6 +54,7 @@ const uuid_1 = require("uuid");
|
|
|
54
54
|
const constants_1 = require("./constants.cjs");
|
|
55
55
|
const create_auto_managed_network_client_1 = require("./create-auto-managed-network-client.cjs");
|
|
56
56
|
const logger_1 = require("./logger.cjs");
|
|
57
|
+
const selectors_1 = require("./selectors.cjs");
|
|
57
58
|
const types_1 = require("./types.cjs");
|
|
58
59
|
const debugLog = (0, logger_1.createModuleLogger)(logger_1.projectLogger, 'NetworkController');
|
|
59
60
|
const INFURA_URL_REGEX = /^https:\/\/(?<networkName>[^.]+)\.infura\.io\/v\d+\/(?<apiKey>.+)$/u;
|
|
@@ -403,7 +404,7 @@ class NetworkController extends base_controller_1.BaseController {
|
|
|
403
404
|
* @param options - The options; see {@link NetworkControllerOptions}.
|
|
404
405
|
*/
|
|
405
406
|
constructor(options) {
|
|
406
|
-
const { messenger, state, infuraProjectId, log, getRpcServiceOptions, getBlockTrackerOptions, additionalDefaultNetworks,
|
|
407
|
+
const { messenger, state, infuraProjectId, log, getRpcServiceOptions, getBlockTrackerOptions, additionalDefaultNetworks, } = options;
|
|
407
408
|
const initialState = {
|
|
408
409
|
...getDefaultNetworkControllerState(additionalDefaultNetworks),
|
|
409
410
|
...state,
|
|
@@ -450,12 +451,11 @@ class NetworkController extends base_controller_1.BaseController {
|
|
|
450
451
|
_NetworkController_getRpcServiceOptions.set(this, void 0);
|
|
451
452
|
_NetworkController_getBlockTrackerOptions.set(this, void 0);
|
|
452
453
|
_NetworkController_networkConfigurationsByNetworkClientId.set(this, void 0);
|
|
453
|
-
_NetworkController_isRpcFailoverEnabled.set(this,
|
|
454
|
+
_NetworkController_isRpcFailoverEnabled.set(this, false);
|
|
454
455
|
__classPrivateFieldSet(this, _NetworkController_infuraProjectId, infuraProjectId, "f");
|
|
455
456
|
__classPrivateFieldSet(this, _NetworkController_log, log, "f");
|
|
456
457
|
__classPrivateFieldSet(this, _NetworkController_getRpcServiceOptions, getRpcServiceOptions, "f");
|
|
457
458
|
__classPrivateFieldSet(this, _NetworkController_getBlockTrackerOptions, getBlockTrackerOptions, "f");
|
|
458
|
-
__classPrivateFieldSet(this, _NetworkController_isRpcFailoverEnabled, isRpcFailoverEnabled, "f");
|
|
459
459
|
__classPrivateFieldSet(this, _NetworkController_previouslySelectedNetworkClientId, this.state.selectedNetworkClientId, "f");
|
|
460
460
|
__classPrivateFieldSet(this, _NetworkController_networkConfigurationsByNetworkClientId, buildNetworkConfigurationsByNetworkClientId(this.state.networkConfigurationsByChainId), "f");
|
|
461
461
|
this.messenger.registerMethodActionHandlers(this, MESSENGER_EXPOSED_METHODS);
|
|
@@ -474,6 +474,11 @@ class NetworkController extends base_controller_1.BaseController {
|
|
|
474
474
|
networkStatus: constants_1.NetworkStatus.Available,
|
|
475
475
|
});
|
|
476
476
|
});
|
|
477
|
+
this.messenger.subscribe(
|
|
478
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
479
|
+
'RemoteFeatureFlagController:stateChange', (isRpcFailoverEnabled) => {
|
|
480
|
+
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateRpcFailoverEnabled).call(this, isRpcFailoverEnabled);
|
|
481
|
+
}, selectors_1.getIsRpcFailoverEnabled);
|
|
477
482
|
}
|
|
478
483
|
/**
|
|
479
484
|
* Returns the EthQuery instance for the currently selected network.
|
|
@@ -568,6 +573,13 @@ class NetworkController extends base_controller_1.BaseController {
|
|
|
568
573
|
}
|
|
569
574
|
return customNetworkClient;
|
|
570
575
|
}
|
|
576
|
+
/**
|
|
577
|
+
* Initialize the NetworkController, updating the RPC failover feature flag.
|
|
578
|
+
*/
|
|
579
|
+
init() {
|
|
580
|
+
const state = this.messenger.call('RemoteFeatureFlagController:getState');
|
|
581
|
+
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateRpcFailoverEnabled).call(this, (0, selectors_1.getIsRpcFailoverEnabled)(state));
|
|
582
|
+
}
|
|
571
583
|
initializeProvider({ lookupNetwork = true, } = {}) {
|
|
572
584
|
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_applyNetworkSelection).call(this, this.state.selectedNetworkClientId);
|
|
573
585
|
if (lookupNetwork) {
|