@metamask-previews/network-controller 26.0.0-preview-81c9cf83 → 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.
- package/CHANGELOG.md +16 -0
- package/dist/NetworkController.cjs +4 -0
- package/dist/NetworkController.cjs.map +1 -1
- package/dist/NetworkController.d.cts +135 -12
- package/dist/NetworkController.d.cts.map +1 -1
- package/dist/NetworkController.d.mts +135 -12
- package/dist/NetworkController.d.mts.map +1 -1
- package/dist/NetworkController.mjs +4 -0
- package/dist/NetworkController.mjs.map +1 -1
- package/dist/create-auto-managed-network-client.cjs +4 -1
- package/dist/create-auto-managed-network-client.cjs.map +1 -1
- package/dist/create-auto-managed-network-client.d.cts +5 -2
- package/dist/create-auto-managed-network-client.d.cts.map +1 -1
- package/dist/create-auto-managed-network-client.d.mts +5 -2
- package/dist/create-auto-managed-network-client.d.mts.map +1 -1
- package/dist/create-auto-managed-network-client.mjs +4 -1
- package/dist/create-auto-managed-network-client.mjs.map +1 -1
- package/dist/create-network-client.cjs +132 -42
- package/dist/create-network-client.cjs.map +1 -1
- package/dist/create-network-client.d.cts +5 -2
- package/dist/create-network-client.d.cts.map +1 -1
- package/dist/create-network-client.d.mts +5 -2
- package/dist/create-network-client.d.mts.map +1 -1
- package/dist/create-network-client.mjs +132 -42
- package/dist/create-network-client.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/rpc-service/rpc-service-chain.cjs +247 -39
- package/dist/rpc-service/rpc-service-chain.cjs.map +1 -1
- package/dist/rpc-service/rpc-service-chain.d.cts +106 -25
- package/dist/rpc-service/rpc-service-chain.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service-chain.d.mts +106 -25
- package/dist/rpc-service/rpc-service-chain.d.mts.map +1 -1
- package/dist/rpc-service/rpc-service-chain.mjs +247 -39
- package/dist/rpc-service/rpc-service-chain.mjs.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.cjs.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.d.cts +15 -5
- package/dist/rpc-service/rpc-service-requestable.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.d.mts +15 -5
- package/dist/rpc-service/rpc-service-requestable.d.mts.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.mjs.map +1 -1
- package/dist/rpc-service/rpc-service.cjs +65 -33
- package/dist/rpc-service/rpc-service.cjs.map +1 -1
- package/dist/rpc-service/rpc-service.d.cts +33 -24
- package/dist/rpc-service/rpc-service.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service.d.mts +33 -24
- package/dist/rpc-service/rpc-service.d.mts.map +1 -1
- package/dist/rpc-service/rpc-service.mjs +66 -34
- package/dist/rpc-service/rpc-service.mjs.map +1 -1
- package/dist/rpc-service/shared.cjs.map +1 -1
- package/dist/rpc-service/shared.d.cts +25 -3
- package/dist/rpc-service/shared.d.cts.map +1 -1
- package/dist/rpc-service/shared.d.mts +25 -3
- package/dist/rpc-service/shared.d.mts.map +1 -1
- package/dist/rpc-service/shared.mjs.map +1 -1
- 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,
|