@metamask-previews/network-controller 22.2.1-preview-86cafc23 → 23.0.0-preview-29fe07c

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +39 -18
  2. package/dist/NetworkController.cjs +19 -52
  3. package/dist/NetworkController.cjs.map +1 -1
  4. package/dist/NetworkController.d.cts +72 -8
  5. package/dist/NetworkController.d.cts.map +1 -1
  6. package/dist/NetworkController.d.mts +72 -8
  7. package/dist/NetworkController.d.mts.map +1 -1
  8. package/dist/NetworkController.mjs +20 -53
  9. package/dist/NetworkController.mjs.map +1 -1
  10. package/dist/create-auto-managed-network-client.cjs +12 -13
  11. package/dist/create-auto-managed-network-client.cjs.map +1 -1
  12. package/dist/create-auto-managed-network-client.d.cts +8 -7
  13. package/dist/create-auto-managed-network-client.d.cts.map +1 -1
  14. package/dist/create-auto-managed-network-client.d.mts +8 -7
  15. package/dist/create-auto-managed-network-client.d.mts.map +1 -1
  16. package/dist/create-auto-managed-network-client.mjs +12 -13
  17. package/dist/create-auto-managed-network-client.mjs.map +1 -1
  18. package/dist/create-network-client.cjs +33 -10
  19. package/dist/create-network-client.cjs.map +1 -1
  20. package/dist/create-network-client.d.cts +9 -7
  21. package/dist/create-network-client.d.cts.map +1 -1
  22. package/dist/create-network-client.d.mts +9 -7
  23. package/dist/create-network-client.d.mts.map +1 -1
  24. package/dist/create-network-client.mjs +33 -10
  25. package/dist/create-network-client.mjs.map +1 -1
  26. package/dist/index.cjs +3 -1
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.cts +3 -1
  29. package/dist/index.d.cts.map +1 -1
  30. package/dist/index.d.mts +3 -1
  31. package/dist/index.d.mts.map +1 -1
  32. package/dist/index.mjs +1 -0
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/rpc-service/abstract-rpc-service.cjs.map +1 -1
  35. package/dist/rpc-service/abstract-rpc-service.d.cts +5 -39
  36. package/dist/rpc-service/abstract-rpc-service.d.cts.map +1 -1
  37. package/dist/rpc-service/abstract-rpc-service.d.mts +5 -39
  38. package/dist/rpc-service/abstract-rpc-service.d.mts.map +1 -1
  39. package/dist/rpc-service/abstract-rpc-service.mjs.map +1 -1
  40. package/dist/rpc-service/rpc-service-chain.cjs +10 -23
  41. package/dist/rpc-service/rpc-service-chain.cjs.map +1 -1
  42. package/dist/rpc-service/rpc-service-chain.d.cts +10 -35
  43. package/dist/rpc-service/rpc-service-chain.d.cts.map +1 -1
  44. package/dist/rpc-service/rpc-service-chain.d.mts +10 -35
  45. package/dist/rpc-service/rpc-service-chain.d.mts.map +1 -1
  46. package/dist/rpc-service/rpc-service-chain.mjs +10 -23
  47. package/dist/rpc-service/rpc-service-chain.mjs.map +1 -1
  48. package/dist/rpc-service/rpc-service-requestable.cjs +3 -0
  49. package/dist/rpc-service/rpc-service-requestable.cjs.map +1 -0
  50. package/dist/rpc-service/rpc-service-requestable.d.cts +47 -0
  51. package/dist/rpc-service/rpc-service-requestable.d.cts.map +1 -0
  52. package/dist/rpc-service/rpc-service-requestable.d.mts +47 -0
  53. package/dist/rpc-service/rpc-service-requestable.d.mts.map +1 -0
  54. package/dist/rpc-service/rpc-service-requestable.mjs +2 -0
  55. package/dist/rpc-service/rpc-service-requestable.mjs.map +1 -0
  56. package/dist/rpc-service/rpc-service.cjs +34 -31
  57. package/dist/rpc-service/rpc-service.cjs.map +1 -1
  58. package/dist/rpc-service/rpc-service.d.cts +56 -23
  59. package/dist/rpc-service/rpc-service.d.cts.map +1 -1
  60. package/dist/rpc-service/rpc-service.d.mts +56 -23
  61. package/dist/rpc-service/rpc-service.d.mts.map +1 -1
  62. package/dist/rpc-service/rpc-service.mjs +33 -30
  63. package/dist/rpc-service/rpc-service.mjs.map +1 -1
  64. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,33 +7,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [23.0.0]
11
+
10
12
  ### Added
11
13
 
12
14
  - Implement circuit breaker pattern when retrying requests to Infura and custom RPC endpoints ([#5290](https://github.com/MetaMask/core/pull/5290))
13
- - If the network is perceived to be down after 5 attempts, further retries will be paused for 30 seconds
14
- - "Down" means the following:
15
+ - If the network is perceived to be unavailable after 5 attempts, further retries will be paused for 30 seconds.
16
+ - "Unavailable" means the following:
15
17
  - A failure to reach the network (exact error depending on platform / HTTP client)
16
18
  - The request responds with a non-JSON-parseable or non-JSON-RPC-compatible body
17
19
  - The request returns a non-200 response
18
20
  - Use exponential backoff / jitter when retrying requests to Infura and custom RPC endpoints ([#5290](https://github.com/MetaMask/core/pull/5290))
19
- - As requests are retried, the delay between retries will increase exponentially (using random variance to prevent bursts)
20
- - Add support for automatic failover when Infura is down ([#5630](https://github.com/MetaMask/core/pull/5630))
21
+ - As requests are retried, the delay between retries will increase exponentially (using random variance to prevent bursts).
22
+ - Add support for automatic failover when Infura is unavailable ([#5360](https://github.com/MetaMask/core/pull/5360))
21
23
  - An Infura RPC endpoint can now be configured with a list of failover URLs via `failoverUrls`.
22
24
  - If, after many attempts, an Infura network is perceived to be down, the list of failover URLs will be tried in turn.
23
-
24
- ### Changed
25
-
26
- - **BREAKING:** `NetworkController` constructor now takes two required options, `fetch` and `btoa` ([#5290](https://github.com/MetaMask/core/pull/5290))
27
- - These are passed along to functions that create the JSON-RPC middleware.
28
- - **BREAKING:** Add required property `failoverUrls` to `RpcEndpoint` ([#5630](https://github.com/MetaMask/core/pull/5630))
29
- - **BREAKING:** Add required property `failoverRpcUrls` to `NetworkClientConfiguration` ([#5630](https://github.com/MetaMask/core/pull/5630))
25
+ - Add messenger action `NetworkController:rpcEndpointUnavailable` for responding to when a RPC endpoint becomes unavailable (see above) ([#5492](https://github.com/MetaMask/core/pull/5492), [#5501](https://github.com/MetaMask/core/pull/5501))
26
+ - Also add associated type `NetworkControllerRpcEndpointUnavailableEvent`.
27
+ - Add messenger action `NetworkController:rpcEndpointDegraded` for responding to when a RPC endpoint becomes degraded ([#5492](https://github.com/MetaMask/core/pull/5492))
28
+ - Also add associated type `NetworkControllerRpcEndpointDegradedEvent`.
29
+ - Add messenger action `NetworkController:rpcEndpointRequestRetried` for responding to when a RPC endpoint is retried following a retriable error ([#5492](https://github.com/MetaMask/core/pull/5492))
30
+ - Also add associated type `NetworkControllerRpcEndpointRequestRetriedEvent`.
31
+ - This is mainly useful for tests when mocking timers.
32
+ - Export `RpcServiceRequestable` type, which was previously named `AbstractRpcService` ([#5492](https://github.com/MetaMask/core/pull/5492))
33
+ - Export `isConnectionError` utility function ([#5501](https://github.com/MetaMask/core/pull/5501))
34
+
35
+ ### Changed
36
+
37
+ - **BREAKING:** `NetworkController` constructor now takes a new required option, `getRpcServiceOptions` ([#5290](https://github.com/MetaMask/core/pull/5290), [#5492](https://github.com/MetaMask/core/pull/5492))
38
+ - This can be used to customize how RPC services (which eventually hit RPC endpoints) are constructed.
39
+ - For instance, you could set one `circuitBreakDuration` for one class of endpoints, and another `circuitBreakDuration` for another class.
40
+ - At minimum you will need to pass `fetch` and `btoa`.
41
+ - The `NetworkControllerOptions` also reflects this change.
42
+ - **BREAKING:** Add required property `failoverUrls` to `RpcEndpoint` ([#5360](https://github.com/MetaMask/core/pull/5360))
43
+ - The `NetworkControllerState` and the `state` option to `NetworkController` also reflect this change.
44
+ - **BREAKING:** Add required property `failoverRpcUrls` to `NetworkClientConfiguration` ([#5360](https://github.com/MetaMask/core/pull/5360))
45
+ - The `configuration` property in the `AutoManagedNetworkClient` and `NetworkClient` types also reflect this change.
46
+ - **BREAKING:** The `AbstractRpcService` type now has a non-optional `endpointUrl` property ([#5492](https://github.com/MetaMask/core/pull/5492))
47
+ - The old version of `AbstractRpcService` is now called `RpcServiceRequestable`
30
48
  - Synchronize retry logic and error handling behavior between Infura and custom RPC endpoints ([#5290](https://github.com/MetaMask/core/pull/5290))
31
- - A request to a custom endpoint that returns a 418 response will no longer return a JSON-RPC response with the error "Request is being rate limited"
32
- - A request to a custom endpoint that returns a 429 response now returns a JSON-RPC response with the error "Request is being rate limited"
33
- - A request to a custom endpoint that throws an "ECONNRESET" error will now be retried up to 5 times
34
- - A request to a Infura endpoint that fails more than 5 times in a row will now respond with a JSON-RPC error that encompasses the failure instead of hiding it as "InfuraProvider - cannot complete request. All retries exhausted"
35
- - A request to a Infura endpoint that returns a non-retriable, non-2xx response will now respond with a JSON-RPC error that has the underling message "Non-200 status code: '\<code\>'" rather than including the raw response from the endpoint
36
- - A request to a custom endpoint that fails with a retriable error more than 5 times in a row will now respond with a JSON-RPC error that encompasses the failure instead of returning an empty response
49
+ - A request to a custom endpoint that returns a 418 response will no longer return a JSON-RPC response with the error "Request is being rate limited".
50
+ - A request to a custom endpoint that returns a 429 response now returns a JSON-RPC response with the error "Request is being rate limited".
51
+ - A request to a custom endpoint that throws an "ECONNRESET" error will now be retried up to 5 times.
52
+ - A request to a Infura endpoint that fails more than 5 times in a row will now respond with a JSON-RPC error that encompasses the failure instead of hiding it as "InfuraProvider - cannot complete request. All retries exhausted".
53
+ - A request to a Infura endpoint that returns a non-retriable, non-2xx response will now respond with a JSON-RPC error that has the underling message "Non-200 status code: '\<code\>'" rather than including the raw response from the endpoint.
54
+ - A request to a custom endpoint that fails with a retriable error more than 5 times in a row will now respond with a JSON-RPC error that encompasses the failure instead of returning an empty response.
37
55
  - A "retriable error" is now regarded as the following:
38
56
  - A failure to reach the network (exact error depending on platform / HTTP client)
39
57
  - The request responds with a non-JSON-parseable or non-JSON-RPC-compatible body
@@ -41,6 +59,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
41
59
  - Bump dependencies to support usage of RPC services internally for network requests ([#5290](https://github.com/MetaMask/core/pull/5290))
42
60
  - Bump `@metamask/eth-json-rpc-infura` to `^10.1.0`
43
61
  - Bump `@metamask/eth-json-rpc-middleware` to `^15.1.0`
62
+ - Bump `@metamask/controller-utils` to `^11.5.0` ([#5439](https://github.com/MetaMask/core/pull/5439))
63
+ - Bump `@metamask/utils` to `^11.2.0` ([#5301](https://github.com/MetaMask/core/pull/5301))
44
64
 
45
65
  ### Fixed
46
66
 
@@ -761,7 +781,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
761
781
 
762
782
  All changes listed after this point were applied to this package following the monorepo conversion.
763
783
 
764
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/network-controller@22.2.1...HEAD
784
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/network-controller@23.0.0...HEAD
785
+ [23.0.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@22.2.1...@metamask/network-controller@23.0.0
765
786
  [22.2.1]: https://github.com/MetaMask/core/compare/@metamask/network-controller@22.2.0...@metamask/network-controller@22.2.1
766
787
  [22.2.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@22.1.1...@metamask/network-controller@22.2.0
767
788
  [22.1.1]: https://github.com/MetaMask/core/compare/@metamask/network-controller@22.1.0...@metamask/network-controller@22.1.1
@@ -36,7 +36,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
36
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
- var _NetworkController_instances, _NetworkController_ethQuery, _NetworkController_infuraProjectId, _NetworkController_previouslySelectedNetworkClientId, _NetworkController_providerProxy, _NetworkController_blockTrackerProxy, _NetworkController_autoManagedNetworkClientRegistry, _NetworkController_autoManagedNetworkClient, _NetworkController_log, _NetworkController_fetch, _NetworkController_btoa, _NetworkController_networkConfigurationsByNetworkClientId, _NetworkController_refreshNetwork, _NetworkController_getLatestBlock, _NetworkController_determineEIP1559Compatibility, _NetworkController_validateNetworkFields, _NetworkController_determineNetworkConfigurationToPersist, _NetworkController_registerNetworkClientsAsNeeded, _NetworkController_unregisterNetworkClientsAsNeeded, _NetworkController_updateNetworkConfigurations, _NetworkController_ensureAutoManagedNetworkClientRegistryPopulated, _NetworkController_createAutoManagedNetworkClientRegistry, _NetworkController_applyNetworkSelection;
39
+ var _NetworkController_instances, _NetworkController_ethQuery, _NetworkController_infuraProjectId, _NetworkController_previouslySelectedNetworkClientId, _NetworkController_providerProxy, _NetworkController_blockTrackerProxy, _NetworkController_autoManagedNetworkClientRegistry, _NetworkController_autoManagedNetworkClient, _NetworkController_log, _NetworkController_getRpcServiceOptions, _NetworkController_networkConfigurationsByNetworkClientId, _NetworkController_refreshNetwork, _NetworkController_getLatestBlock, _NetworkController_determineEIP1559Compatibility, _NetworkController_validateNetworkFields, _NetworkController_determineNetworkConfigurationToPersist, _NetworkController_registerNetworkClientsAsNeeded, _NetworkController_unregisterNetworkClientsAsNeeded, _NetworkController_updateNetworkConfigurations, _NetworkController_ensureAutoManagedNetworkClientRegistryPopulated, _NetworkController_createAutoManagedNetworkClientRegistry, _NetworkController_applyNetworkSelection;
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  exports.NetworkController = exports.selectAvailableNetworkClientIds = exports.getAvailableNetworkClientIds = exports.selectNetworkConfigurations = exports.getNetworkConfigurations = exports.getDefaultNetworkControllerState = exports.knownKeysOf = exports.RpcEndpointType = void 0;
42
42
  const base_controller_1 = require("@metamask/base-controller");
@@ -109,17 +109,6 @@ const controllerName = 'NetworkController';
109
109
  * @returns The default value for `networkConfigurationsByChainId`.
110
110
  */
111
111
  function getDefaultNetworkConfigurationsByChainId() {
112
- return {
113
- ...getDefaultInfuraNetworkConfigurationsByChainId(),
114
- ...getDefaultCustomNetworkConfigurationsByChainId(),
115
- };
116
- }
117
- /**
118
- * Constructs a `networkConfigurationsByChainId` object for all default Infura networks.
119
- *
120
- * @returns The `networkConfigurationsByChainId` object of all Infura networks.
121
- */
122
- function getDefaultInfuraNetworkConfigurationsByChainId() {
123
112
  return Object.values(controller_utils_1.InfuraNetworkType).reduce((obj, infuraNetworkType) => {
124
113
  const chainId = controller_utils_1.ChainId[infuraNetworkType];
125
114
  const rpcEndpointUrl =
@@ -144,32 +133,6 @@ function getDefaultInfuraNetworkConfigurationsByChainId() {
144
133
  return { ...obj, [chainId]: networkConfiguration };
145
134
  }, {});
146
135
  }
147
- /**
148
- * Constructs a `networkConfigurationsByChainId` object for all default custom networks.
149
- *
150
- * @returns The `networkConfigurationsByChainId` object of all custom networks.
151
- */
152
- function getDefaultCustomNetworkConfigurationsByChainId() {
153
- const { ticker, rpcPrefs } = controller_utils_1.BUILT_IN_NETWORKS[controller_utils_1.BuiltInNetworkName.MegaETHTestnet];
154
- return {
155
- [controller_utils_1.ChainId[controller_utils_1.BuiltInNetworkName.MegaETHTestnet]]: {
156
- blockExplorerUrls: [rpcPrefs.blockExplorerUrl],
157
- chainId: controller_utils_1.ChainId[controller_utils_1.BuiltInNetworkName.MegaETHTestnet],
158
- defaultRpcEndpointIndex: 0,
159
- defaultBlockExplorerUrlIndex: 0,
160
- name: controller_utils_1.NetworkNickname[controller_utils_1.BuiltInNetworkName.MegaETHTestnet],
161
- nativeCurrency: ticker,
162
- rpcEndpoints: [
163
- {
164
- failoverUrls: [],
165
- networkClientId: controller_utils_1.BuiltInNetworkName.MegaETHTestnet,
166
- type: RpcEndpointType.Custom,
167
- url: controller_utils_1.BUILT_IN_CUSTOM_NETWORKS_RPC.MEGAETH_TESTNET,
168
- },
169
- ],
170
- },
171
- };
172
- }
173
136
  /**
174
137
  * Constructs properties for the NetworkController state whose values will be
175
138
  * used if not provided to the constructor.
@@ -324,7 +287,13 @@ function buildNetworkConfigurationsByNetworkClientId(networkConfigurationsByChai
324
287
  * Controller that creates and manages an Ethereum network provider.
325
288
  */
326
289
  class NetworkController extends base_controller_1.BaseController {
327
- constructor({ messenger, state, infuraProjectId, log, fetch: givenFetch, btoa: givenBtoa, }) {
290
+ /**
291
+ * Constructs a NetworkController.
292
+ *
293
+ * @param options - The options; see {@link NetworkControllerOptions}.
294
+ */
295
+ constructor(options) {
296
+ const { messenger, state, infuraProjectId, log, getRpcServiceOptions } = options;
328
297
  const initialState = { ...getDefaultNetworkControllerState(), ...state };
329
298
  validateNetworkControllerState(initialState);
330
299
  if (!infuraProjectId || typeof infuraProjectId !== 'string') {
@@ -358,13 +327,11 @@ class NetworkController extends base_controller_1.BaseController {
358
327
  _NetworkController_autoManagedNetworkClientRegistry.set(this, void 0);
359
328
  _NetworkController_autoManagedNetworkClient.set(this, void 0);
360
329
  _NetworkController_log.set(this, void 0);
361
- _NetworkController_fetch.set(this, void 0);
362
- _NetworkController_btoa.set(this, void 0);
330
+ _NetworkController_getRpcServiceOptions.set(this, void 0);
363
331
  _NetworkController_networkConfigurationsByNetworkClientId.set(this, void 0);
364
332
  __classPrivateFieldSet(this, _NetworkController_infuraProjectId, infuraProjectId, "f");
365
333
  __classPrivateFieldSet(this, _NetworkController_log, log, "f");
366
- __classPrivateFieldSet(this, _NetworkController_fetch, givenFetch, "f");
367
- __classPrivateFieldSet(this, _NetworkController_btoa, givenBtoa, "f");
334
+ __classPrivateFieldSet(this, _NetworkController_getRpcServiceOptions, getRpcServiceOptions, "f");
368
335
  __classPrivateFieldSet(this, _NetworkController_previouslySelectedNetworkClientId, this.state.selectedNetworkClientId, "f");
369
336
  __classPrivateFieldSet(this, _NetworkController_networkConfigurationsByNetworkClientId, buildNetworkConfigurationsByNetworkClientId(this.state.networkConfigurationsByChainId), "f");
370
337
  this.messagingSystem.registerActionHandler(
@@ -1149,7 +1116,7 @@ class NetworkController extends base_controller_1.BaseController {
1149
1116
  }
1150
1117
  }
1151
1118
  exports.NetworkController = NetworkController;
1152
- _NetworkController_ethQuery = new WeakMap(), _NetworkController_infuraProjectId = new WeakMap(), _NetworkController_previouslySelectedNetworkClientId = new WeakMap(), _NetworkController_providerProxy = new WeakMap(), _NetworkController_blockTrackerProxy = new WeakMap(), _NetworkController_autoManagedNetworkClientRegistry = new WeakMap(), _NetworkController_autoManagedNetworkClient = new WeakMap(), _NetworkController_log = new WeakMap(), _NetworkController_fetch = new WeakMap(), _NetworkController_btoa = new WeakMap(), _NetworkController_networkConfigurationsByNetworkClientId = new WeakMap(), _NetworkController_instances = new WeakSet(), _NetworkController_refreshNetwork =
1119
+ _NetworkController_ethQuery = new WeakMap(), _NetworkController_infuraProjectId = new WeakMap(), _NetworkController_previouslySelectedNetworkClientId = new WeakMap(), _NetworkController_providerProxy = new WeakMap(), _NetworkController_blockTrackerProxy = new WeakMap(), _NetworkController_autoManagedNetworkClientRegistry = new WeakMap(), _NetworkController_autoManagedNetworkClient = new WeakMap(), _NetworkController_log = new WeakMap(), _NetworkController_getRpcServiceOptions = new WeakMap(), _NetworkController_networkConfigurationsByNetworkClientId = new WeakMap(), _NetworkController_instances = new WeakSet(), _NetworkController_refreshNetwork =
1153
1120
  /**
1154
1121
  * Executes a series of steps to switch the network:
1155
1122
  *
@@ -1367,8 +1334,8 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1367
1334
  infuraProjectId: __classPrivateFieldGet(this, _NetworkController_infuraProjectId, "f"),
1368
1335
  ticker: networkFields.nativeCurrency,
1369
1336
  },
1370
- fetch: __classPrivateFieldGet(this, _NetworkController_fetch, "f"),
1371
- btoa: __classPrivateFieldGet(this, _NetworkController_btoa, "f"),
1337
+ getRpcServiceOptions: __classPrivateFieldGet(this, _NetworkController_getRpcServiceOptions, "f"),
1338
+ messenger: this.messagingSystem,
1372
1339
  });
1373
1340
  }
1374
1341
  else {
@@ -1380,8 +1347,8 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1380
1347
  rpcUrl: addedRpcEndpoint.url,
1381
1348
  ticker: networkFields.nativeCurrency,
1382
1349
  },
1383
- fetch: __classPrivateFieldGet(this, _NetworkController_fetch, "f"),
1384
- btoa: __classPrivateFieldGet(this, _NetworkController_btoa, "f"),
1350
+ getRpcServiceOptions: __classPrivateFieldGet(this, _NetworkController_getRpcServiceOptions, "f"),
1351
+ messenger: this.messagingSystem,
1385
1352
  });
1386
1353
  }
1387
1354
  }
@@ -1437,8 +1404,8 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1437
1404
  chainId: networkConfiguration.chainId,
1438
1405
  ticker: networkConfiguration.nativeCurrency,
1439
1406
  },
1440
- fetch: __classPrivateFieldGet(this, _NetworkController_fetch, "f"),
1441
- btoa: __classPrivateFieldGet(this, _NetworkController_btoa, "f"),
1407
+ getRpcServiceOptions: __classPrivateFieldGet(this, _NetworkController_getRpcServiceOptions, "f"),
1408
+ messenger: this.messagingSystem,
1442
1409
  }),
1443
1410
  ];
1444
1411
  }
@@ -1452,8 +1419,8 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1452
1419
  rpcUrl: rpcEndpoint.url,
1453
1420
  ticker: networkConfiguration.nativeCurrency,
1454
1421
  },
1455
- fetch: __classPrivateFieldGet(this, _NetworkController_fetch, "f"),
1456
- btoa: __classPrivateFieldGet(this, _NetworkController_btoa, "f"),
1422
+ getRpcServiceOptions: __classPrivateFieldGet(this, _NetworkController_getRpcServiceOptions, "f"),
1423
+ messenger: this.messagingSystem,
1457
1424
  }),
1458
1425
  ];
1459
1426
  });