@metamask-previews/network-controller 26.0.0-preview-40dd5c51 → 26.0.0-preview-d6fe4594

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 (60) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/NetworkController.cjs +4 -0
  3. package/dist/NetworkController.cjs.map +1 -1
  4. package/dist/NetworkController.d.cts +135 -12
  5. package/dist/NetworkController.d.cts.map +1 -1
  6. package/dist/NetworkController.d.mts +135 -12
  7. package/dist/NetworkController.d.mts.map +1 -1
  8. package/dist/NetworkController.mjs +4 -0
  9. package/dist/NetworkController.mjs.map +1 -1
  10. package/dist/create-auto-managed-network-client.cjs +4 -1
  11. package/dist/create-auto-managed-network-client.cjs.map +1 -1
  12. package/dist/create-auto-managed-network-client.d.cts +5 -2
  13. package/dist/create-auto-managed-network-client.d.cts.map +1 -1
  14. package/dist/create-auto-managed-network-client.d.mts +5 -2
  15. package/dist/create-auto-managed-network-client.d.mts.map +1 -1
  16. package/dist/create-auto-managed-network-client.mjs +4 -1
  17. package/dist/create-auto-managed-network-client.mjs.map +1 -1
  18. package/dist/create-network-client.cjs +132 -42
  19. package/dist/create-network-client.cjs.map +1 -1
  20. package/dist/create-network-client.d.cts +5 -2
  21. package/dist/create-network-client.d.cts.map +1 -1
  22. package/dist/create-network-client.d.mts +5 -2
  23. package/dist/create-network-client.d.mts.map +1 -1
  24. package/dist/create-network-client.mjs +132 -42
  25. package/dist/create-network-client.mjs.map +1 -1
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.cts +1 -1
  28. package/dist/index.d.cts.map +1 -1
  29. package/dist/index.d.mts +1 -1
  30. package/dist/index.d.mts.map +1 -1
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/rpc-service/rpc-service-chain.cjs +247 -39
  33. package/dist/rpc-service/rpc-service-chain.cjs.map +1 -1
  34. package/dist/rpc-service/rpc-service-chain.d.cts +106 -25
  35. package/dist/rpc-service/rpc-service-chain.d.cts.map +1 -1
  36. package/dist/rpc-service/rpc-service-chain.d.mts +106 -25
  37. package/dist/rpc-service/rpc-service-chain.d.mts.map +1 -1
  38. package/dist/rpc-service/rpc-service-chain.mjs +247 -39
  39. package/dist/rpc-service/rpc-service-chain.mjs.map +1 -1
  40. package/dist/rpc-service/rpc-service-requestable.cjs.map +1 -1
  41. package/dist/rpc-service/rpc-service-requestable.d.cts +15 -5
  42. package/dist/rpc-service/rpc-service-requestable.d.cts.map +1 -1
  43. package/dist/rpc-service/rpc-service-requestable.d.mts +15 -5
  44. package/dist/rpc-service/rpc-service-requestable.d.mts.map +1 -1
  45. package/dist/rpc-service/rpc-service-requestable.mjs.map +1 -1
  46. package/dist/rpc-service/rpc-service.cjs +65 -33
  47. package/dist/rpc-service/rpc-service.cjs.map +1 -1
  48. package/dist/rpc-service/rpc-service.d.cts +33 -24
  49. package/dist/rpc-service/rpc-service.d.cts.map +1 -1
  50. package/dist/rpc-service/rpc-service.d.mts +33 -24
  51. package/dist/rpc-service/rpc-service.d.mts.map +1 -1
  52. package/dist/rpc-service/rpc-service.mjs +66 -34
  53. package/dist/rpc-service/rpc-service.mjs.map +1 -1
  54. package/dist/rpc-service/shared.cjs.map +1 -1
  55. package/dist/rpc-service/shared.d.cts +25 -3
  56. package/dist/rpc-service/shared.d.cts.map +1 -1
  57. package/dist/rpc-service/shared.d.mts +25 -3
  58. package/dist/rpc-service/shared.d.mts.map +1 -1
  59. package/dist/rpc-service/shared.mjs.map +1 -1
  60. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -7,8 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - Add `NetworkController:rpcEndpointChainAvailable` messenger event ([#7166](https://github.com/MetaMask/core/pull/7166))
13
+ - 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.
14
+
10
15
  ### Changed
11
16
 
17
+ - **BREAKING:** Split up and update payload data for `NetworkController:rpcEndpointDegraded` and `NetworkController:rpcEndpointUnavailable` ([#7166](https://github.com/MetaMask/core/pull/7166))
18
+ - `NetworkController:rpcEndpointDegraded` and `NetworkController:rpcEndpointUnavailable` still exist and retain the same behavior as before.
19
+ - New events are `NetworkController:rpcEndpointChainDegraded` and `NetworkController:rpcEndpointChainUnavailable`, and are designed to represent an entire chain of endpoints. They are also guaranteed to not be published multiple times in a row. In particular, `NetworkController:rpcEndpointChainUnavailable` is published only after trying all of the endpoints for a chain and when the underlying circuit for the last endpoint breaks, not as each primary's or failover's circuit breaks.
20
+ - The event payloads have been changed:
21
+ - For individual endpoint events (`NetworkController:rpcEndpointUnavailable`, `NetworkController:rpcEndpointDegraded`): `failoverEndpointUrl` has been removed, and `primaryEndpointUrl` has been added. In addition, `networkClientId` has been added to the payload.
22
+ - For chain-level events (`NetworkController:rpcEndpointChainUnavailable`, `NetworkController:rpcEndpointChainDegraded`, `NetworkController:rpcEndpointChainAvailable`): These include `chainId`, `networkClientId`, and event-specific fields (e.g., `error`, `endpointUrl`) but do not include `primaryEndpointUrl`. Consumers can derive endpoint information from the `networkClientId` using `NetworkController:getNetworkClientById` or `NetworkController:getNetworkConfigurationByNetworkClientId`.
23
+ - **BREAKING:** Rename and update payload data for `NetworkController:rpcEndpointRequestRetried` ([#7166](https://github.com/MetaMask/core/pull/7166))
24
+ - This event is now called `NetworkController:rpcEndpointRetried`.
25
+ - The event payload has been changed as well: `failoverEndpointUrl` has been removed, and `primaryEndpointUrl` has been added. In addition, `networkClientId` and `attempt` have been added to the payload.
26
+ - **BREAKING:** Update `AbstractRpcService`/`RpcServiceRequestable` to remove `{ isolated: true }` from the `onBreak` event data type ([#7166](https://github.com/MetaMask/core/pull/7166))
27
+ - This represented the error produced when `isolate` is called on a Cockatiel circuit breaker policy. This never happens for our service (we use `isolate` internally, but this error is suppressed and cannot trigger `onBreak`)
12
28
  - Move peer dependencies for controller and service packages to direct dependencies ([#7209](https://github.com/MetaMask/core/pull/7209))
13
29
  - The dependencies moved are:
14
30
  - `@metamask/error-reporting-service` (^3.0.0)
@@ -1399,6 +1399,7 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1399
1399
  for (const addedRpcEndpoint of addedRpcEndpoints) {
1400
1400
  if (addedRpcEndpoint.type === RpcEndpointType.Infura) {
1401
1401
  autoManagedNetworkClientRegistry[types_1.NetworkClientType.Infura][addedRpcEndpoint.networkClientId] = (0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
1402
+ networkClientId: addedRpcEndpoint.networkClientId,
1402
1403
  networkClientConfiguration: {
1403
1404
  type: types_1.NetworkClientType.Infura,
1404
1405
  chainId: networkFields.chainId,
@@ -1416,6 +1417,7 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1416
1417
  }
1417
1418
  else {
1418
1419
  autoManagedNetworkClientRegistry[types_1.NetworkClientType.Custom][addedRpcEndpoint.networkClientId] = (0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
1420
+ networkClientId: addedRpcEndpoint.networkClientId,
1419
1421
  networkClientConfiguration: {
1420
1422
  type: types_1.NetworkClientType.Custom,
1421
1423
  chainId: networkFields.chainId,
@@ -1475,6 +1477,7 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1475
1477
  return [
1476
1478
  rpcEndpoint.networkClientId,
1477
1479
  (0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
1480
+ networkClientId: rpcEndpoint.networkClientId,
1478
1481
  networkClientConfiguration: {
1479
1482
  type: types_1.NetworkClientType.Infura,
1480
1483
  network: infuraNetworkName,
@@ -1494,6 +1497,7 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
1494
1497
  return [
1495
1498
  rpcEndpoint.networkClientId,
1496
1499
  (0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
1500
+ networkClientId: rpcEndpoint.networkClientId,
1497
1501
  networkClientConfiguration: {
1498
1502
  type: types_1.NetworkClientType.Custom,
1499
1503
  chainId: networkConfiguration.chainId,