@metamask/network-controller 27.0.0 → 27.1.0

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 (40) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/dist/NetworkController.cjs +24 -28
  3. package/dist/NetworkController.cjs.map +1 -1
  4. package/dist/NetworkController.d.cts +2 -2
  5. package/dist/NetworkController.d.cts.map +1 -1
  6. package/dist/NetworkController.d.mts +2 -2
  7. package/dist/NetworkController.d.mts.map +1 -1
  8. package/dist/NetworkController.mjs +24 -28
  9. package/dist/NetworkController.mjs.map +1 -1
  10. package/dist/create-auto-managed-network-client.cjs +0 -8
  11. package/dist/create-auto-managed-network-client.cjs.map +1 -1
  12. package/dist/create-auto-managed-network-client.d.cts.map +1 -1
  13. package/dist/create-auto-managed-network-client.d.mts.map +1 -1
  14. package/dist/create-auto-managed-network-client.mjs +0 -8
  15. package/dist/create-auto-managed-network-client.mjs.map +1 -1
  16. package/dist/create-network-client.cjs +6 -1
  17. package/dist/create-network-client.cjs.map +1 -1
  18. package/dist/create-network-client.mjs +6 -1
  19. package/dist/create-network-client.mjs.map +1 -1
  20. package/dist/rpc-service/rpc-service-chain.cjs.map +1 -1
  21. package/dist/rpc-service/rpc-service-chain.d.cts +6 -9
  22. package/dist/rpc-service/rpc-service-chain.d.cts.map +1 -1
  23. package/dist/rpc-service/rpc-service-chain.d.mts +6 -9
  24. package/dist/rpc-service/rpc-service-chain.d.mts.map +1 -1
  25. package/dist/rpc-service/rpc-service-chain.mjs.map +1 -1
  26. package/dist/rpc-service/rpc-service.cjs +1 -0
  27. package/dist/rpc-service/rpc-service.cjs.map +1 -1
  28. package/dist/rpc-service/rpc-service.d.cts +7 -7
  29. package/dist/rpc-service/rpc-service.d.cts.map +1 -1
  30. package/dist/rpc-service/rpc-service.d.mts +7 -7
  31. package/dist/rpc-service/rpc-service.d.mts.map +1 -1
  32. package/dist/rpc-service/rpc-service.mjs +1 -0
  33. package/dist/rpc-service/rpc-service.mjs.map +1 -1
  34. package/dist/types.cjs.map +1 -1
  35. package/dist/types.d.cts +1 -1
  36. package/dist/types.d.cts.map +1 -1
  37. package/dist/types.d.mts +1 -1
  38. package/dist/types.d.mts.map +1 -1
  39. package/dist/types.mjs.map +1 -1
  40. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -7,12 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [27.1.0]
11
+
12
+ ### Added
13
+
14
+ - Add MegaETH Testnet "v2" as a default custom network ([#7272](https://github.com/MetaMask/core/pull/7272))
15
+ - The URL for this is `https://timothy.megaeth.com/rpc` rather than `https://carrot.megaeth.com/rpc`, and the chain ID has changed from `0x18c6` to `0x18c7`.
16
+ - "v1" of this network has not been removed.
17
+
18
+ ### Changed
19
+
20
+ - Bump `@metamask/eth-json-rpc-middleware` from `^22.0.0` to `^22.0.1` ([#7330](https://github.com/MetaMask/core/pull/7330))
21
+ - Bump `@metamask/controller-utils` from `^11.16.0` to `^11.17.0` ([#7534](https://github.com/MetaMask/core/pull/7534))
22
+
23
+ ### Fixed
24
+
25
+ - Ensure `get1559CompatibilityWithNetworkClientId` updates network metadata with EIP-1559 compatibility data missing ([#7532](https://github.com/MetaMask/core/pull/7532))
26
+
10
27
  ## [27.0.0]
11
28
 
12
29
  ### Added
13
30
 
14
31
  - Add `NetworkController:rpcEndpointChainAvailable` messenger event ([#7166](https://github.com/MetaMask/core/pull/7166))
15
32
  - This is a counterpart to the (new) `NetworkController:rpcEndpointChainUnavailable` and `NetworkController:rpcEndpointChainDegraded` events, but is published when a successful request to an endpoint within a chain of endpoints is made either initially or following a previously established degraded or unavailable status.
33
+ - Update `networksMetadata` state property so that networks can now have a possible status of `degraded` ([#7186](https://github.com/MetaMask/core/pull/7186))
16
34
 
17
35
  ### Changed
18
36
 
@@ -1045,7 +1063,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1045
1063
 
1046
1064
  All changes listed after this point were applied to this package following the monorepo conversion.
1047
1065
 
1048
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/network-controller@27.0.0...HEAD
1066
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/network-controller@27.1.0...HEAD
1067
+ [27.1.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@27.0.0...@metamask/network-controller@27.1.0
1049
1068
  [27.0.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@26.0.0...@metamask/network-controller@27.0.0
1050
1069
  [26.0.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@25.0.0...@metamask/network-controller@26.0.0
1051
1070
  [25.0.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@24.3.1...@metamask/network-controller@25.0.0
@@ -162,6 +162,7 @@ function getDefaultCustomNetworkConfigurationsByChainId() {
162
162
  // default networks.
163
163
  return {
164
164
  [controller_utils_1.ChainId['megaeth-testnet']]: getCustomNetworkConfiguration(controller_utils_1.CustomNetworkType['megaeth-testnet']),
165
+ [controller_utils_1.ChainId['megaeth-testnet-v2']]: getCustomNetworkConfiguration(controller_utils_1.CustomNetworkType['megaeth-testnet-v2']),
165
166
  [controller_utils_1.ChainId['monad-testnet']]: getCustomNetworkConfiguration(controller_utils_1.CustomNetworkType['monad-testnet']),
166
167
  };
167
168
  }
@@ -651,7 +652,7 @@ class NetworkController extends base_controller_1.BaseController {
651
652
  }
652
653
  async get1559CompatibilityWithNetworkClientId(networkClientId) {
653
654
  let metadata = this.state.networksMetadata[networkClientId];
654
- if (metadata === undefined) {
655
+ if (metadata?.EIPS[1559] === undefined) {
655
656
  await this.lookupNetwork(networkClientId);
656
657
  metadata = this.state.networksMetadata[networkClientId];
657
658
  }
@@ -826,7 +827,17 @@ class NetworkController extends base_controller_1.BaseController {
826
827
  rpcEndpoint: newRpcEndpoint,
827
828
  });
828
829
  }
829
- else if (existingRpcEndpointForReplaceWhenChainNotChanged !== undefined) {
830
+ else if (existingRpcEndpointForReplaceWhenChainNotChanged === undefined) {
831
+ const newRpcEndpoint = newRpcEndpointFields.type === RpcEndpointType.Infura
832
+ ? newRpcEndpointFields
833
+ : { ...newRpcEndpointFields, networkClientId: (0, uuid_1.v4)() };
834
+ const networkClientOperation = {
835
+ type: 'add',
836
+ rpcEndpoint: newRpcEndpoint,
837
+ };
838
+ networkClientOperations.push(networkClientOperation);
839
+ }
840
+ else {
830
841
  let newRpcEndpoint;
831
842
  /* istanbul ignore if */
832
843
  if (newRpcEndpointFields.type === RpcEndpointType.Infura) {
@@ -849,16 +860,6 @@ class NetworkController extends base_controller_1.BaseController {
849
860
  newRpcEndpoint,
850
861
  });
851
862
  }
852
- else {
853
- const newRpcEndpoint = newRpcEndpointFields.type === RpcEndpointType.Infura
854
- ? newRpcEndpointFields
855
- : { ...newRpcEndpointFields, networkClientId: (0, uuid_1.v4)() };
856
- const networkClientOperation = {
857
- type: 'add',
858
- rpcEndpoint: newRpcEndpoint,
859
- };
860
- networkClientOperations.push(networkClientOperation);
861
- }
862
863
  }
863
864
  for (const existingRpcEndpoint of existingNetworkConfiguration.rpcEndpoints) {
864
865
  if (!networkClientOperations.some((networkClientOperation) => {
@@ -1242,12 +1243,11 @@ async function _NetworkController_lookupSelectedNetwork() {
1242
1243
  }
1243
1244
  }, _NetworkController_updateMetadataForNetwork = function _NetworkController_updateMetadataForNetwork(networkClientId, metadata) {
1244
1245
  this.update((state) => {
1245
- if (state.networksMetadata[networkClientId] === undefined) {
1246
- state.networksMetadata[networkClientId] = {
1247
- status: constants_1.NetworkStatus.Unknown,
1248
- EIPS: {},
1249
- };
1250
- }
1246
+ var _a;
1247
+ (_a = state.networksMetadata)[networkClientId] ?? (_a[networkClientId] = {
1248
+ status: constants_1.NetworkStatus.Unknown,
1249
+ EIPS: {},
1250
+ });
1251
1251
  const newMetadata = state.networksMetadata[networkClientId];
1252
1252
  newMetadata.status = metadata.networkStatus;
1253
1253
  if ('isEIP1559Compatible' in metadata) {
@@ -1259,10 +1259,7 @@ async function _NetworkController_lookupSelectedNetwork() {
1259
1259
  }
1260
1260
  }
1261
1261
  });
1262
- }, _NetworkController_getLatestBlock = function _NetworkController_getLatestBlock(networkClientId) {
1263
- if (networkClientId === undefined) {
1264
- networkClientId = this.state.selectedNetworkClientId;
1265
- }
1262
+ }, _NetworkController_getLatestBlock = function _NetworkController_getLatestBlock(networkClientId = this.state.selectedNetworkClientId) {
1266
1263
  const networkClient = this.getNetworkClientById(networkClientId);
1267
1264
  const ethQuery = new eth_query_1.default(networkClient.provider);
1268
1265
  return new Promise((resolve, reject) => {
@@ -1570,13 +1567,12 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1570
1567
  }
1571
1568
  __classPrivateFieldSet(this, _NetworkController_autoManagedNetworkClient, autoManagedNetworkClient, "f");
1572
1569
  this.update((state) => {
1570
+ var _a;
1573
1571
  state.selectedNetworkClientId = networkClientId;
1574
- if (state.networksMetadata[networkClientId] === undefined) {
1575
- state.networksMetadata[networkClientId] = {
1576
- status: constants_1.NetworkStatus.Unknown,
1577
- EIPS: {},
1578
- };
1579
- }
1572
+ (_a = state.networksMetadata)[networkClientId] ?? (_a[networkClientId] = {
1573
+ status: constants_1.NetworkStatus.Unknown,
1574
+ EIPS: {},
1575
+ });
1580
1576
  updateState?.(state);
1581
1577
  });
1582
1578
  if (__classPrivateFieldGet(this, _NetworkController_providerProxy, "f")) {