@metamask-previews/network-controller 26.0.0-preview-e3eb8eca → 26.0.0-preview-58cfb208
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 +0 -19
- package/dist/NetworkController.cjs +10 -37
- package/dist/NetworkController.cjs.map +1 -1
- package/dist/NetworkController.d.cts +11 -146
- package/dist/NetworkController.d.cts.map +1 -1
- package/dist/NetworkController.d.mts +11 -146
- package/dist/NetworkController.d.mts.map +1 -1
- package/dist/NetworkController.mjs +10 -37
- package/dist/NetworkController.mjs.map +1 -1
- package/dist/constants.cjs +10 -18
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +10 -18
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.mts +10 -18
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.mjs +10 -18
- package/dist/constants.mjs.map +1 -1
- package/dist/create-auto-managed-network-client.cjs +1 -4
- package/dist/create-auto-managed-network-client.cjs.map +1 -1
- package/dist/create-auto-managed-network-client.d.cts +2 -5
- package/dist/create-auto-managed-network-client.d.cts.map +1 -1
- package/dist/create-auto-managed-network-client.d.mts +2 -5
- package/dist/create-auto-managed-network-client.d.mts.map +1 -1
- package/dist/create-auto-managed-network-client.mjs +1 -4
- package/dist/create-auto-managed-network-client.mjs.map +1 -1
- package/dist/create-network-client.cjs +42 -115
- package/dist/create-network-client.cjs.map +1 -1
- package/dist/create-network-client.d.cts +2 -5
- package/dist/create-network-client.d.cts.map +1 -1
- package/dist/create-network-client.d.mts +2 -5
- package/dist/create-network-client.d.mts.map +1 -1
- package/dist/create-network-client.mjs +42 -115
- 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 +39 -255
- package/dist/rpc-service/rpc-service-chain.cjs.map +1 -1
- package/dist/rpc-service/rpc-service-chain.d.cts +25 -117
- package/dist/rpc-service/rpc-service-chain.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service-chain.d.mts +25 -117
- package/dist/rpc-service/rpc-service-chain.d.mts.map +1 -1
- package/dist/rpc-service/rpc-service-chain.mjs +39 -255
- 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 +5 -15
- package/dist/rpc-service/rpc-service-requestable.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.d.mts +5 -15
- 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 +33 -63
- package/dist/rpc-service/rpc-service.cjs.map +1 -1
- package/dist/rpc-service/rpc-service.d.cts +24 -35
- package/dist/rpc-service/rpc-service.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service.d.mts +24 -35
- package/dist/rpc-service/rpc-service.d.mts.map +1 -1
- package/dist/rpc-service/rpc-service.mjs +34 -64
- 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 +3 -30
- package/dist/rpc-service/shared.d.cts.map +1 -1
- package/dist/rpc-service/shared.d.mts +3 -30
- package/dist/rpc-service/shared.d.mts.map +1 -1
- package/dist/rpc-service/shared.mjs.map +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,25 +7,6 @@ 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
|
-
|
|
15
|
-
### Changed
|
|
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:rpcEndpointUnavailable` 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 for all events have been changed as well: `failoverEndpointUrl` has been renamed to `endpointUrl`, and `endpointUrl` has been renamed to `primaryEndpointUrl`. In addition, `networkClientId` has been added to the payload.
|
|
21
|
-
- **BREAKING:** Rename and update payload data for `NetworkController:rpcEndpointRequestRetried` ([#7166](https://github.com/MetaMask/core/pull/7166))
|
|
22
|
-
- This event is now called `NetworkController:rpcEndpointRetried`.
|
|
23
|
-
- The event payload has been changed as well: `failoverEndpointUrl` has been renamed to `endpointUrl`, and `endpointUrl` has been renamed to `primaryEndpointUrl`. In addition, `networkClientId` and `attempt` have been added to the payload.
|
|
24
|
-
- **BREAKING:** Update `AbstractRpcService`/`RpcServiceRequestable` to remove `{ isolated: true }` from the `onBreak` event data type ([#7166](https://github.com/MetaMask/core/pull/7166))
|
|
25
|
-
- This represented the error produced when `.isolate` is called on a Cockatiel circuit breaker policy, which we never do.
|
|
26
|
-
- Statuses of networks (captured in the NetworkController `networksMetadata` state property) are now kept up to date as requests are made ([#7186](https://github.com/MetaMask/core/pull/7186))
|
|
27
|
-
- Bump `@metamask/controller-utils` from `^11.14.1` to `^11.15.0` ([#7003](https://github.com/MetaMask/core/pull/7003))
|
|
28
|
-
|
|
29
10
|
## [26.0.0]
|
|
30
11
|
|
|
31
12
|
### Added
|
|
@@ -444,21 +444,6 @@ class NetworkController extends base_controller_1.BaseController {
|
|
|
444
444
|
this.messenger.registerActionHandler(`${this.name}:addNetwork`, this.addNetwork.bind(this));
|
|
445
445
|
this.messenger.registerActionHandler(`${this.name}:removeNetwork`, this.removeNetwork.bind(this));
|
|
446
446
|
this.messenger.registerActionHandler(`${this.name}:updateNetwork`, this.updateNetwork.bind(this));
|
|
447
|
-
this.messenger.subscribe(`${this.name}:rpcEndpointChainUnavailable`, ({ networkClientId }) => {
|
|
448
|
-
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateMetadataForNetwork).call(this, networkClientId, {
|
|
449
|
-
networkStatus: constants_1.NetworkStatus.Unavailable,
|
|
450
|
-
});
|
|
451
|
-
});
|
|
452
|
-
this.messenger.subscribe(`${this.name}:rpcEndpointChainDegraded`, ({ networkClientId }) => {
|
|
453
|
-
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateMetadataForNetwork).call(this, networkClientId, {
|
|
454
|
-
networkStatus: constants_1.NetworkStatus.Degraded,
|
|
455
|
-
});
|
|
456
|
-
});
|
|
457
|
-
this.messenger.subscribe(`${this.name}:rpcEndpointChainAvailable`, ({ networkClientId }) => {
|
|
458
|
-
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateMetadataForNetwork).call(this, networkClientId, {
|
|
459
|
-
networkStatus: constants_1.NetworkStatus.Available,
|
|
460
|
-
});
|
|
461
|
-
});
|
|
462
447
|
}
|
|
463
448
|
/**
|
|
464
449
|
* Enables the RPC failover functionality. That is, if any RPC endpoints are
|
|
@@ -1159,10 +1144,7 @@ async function _NetworkController_determineNetworkMetadata(networkClientId) {
|
|
|
1159
1144
|
*/
|
|
1160
1145
|
async function _NetworkController_lookupGivenNetwork(networkClientId) {
|
|
1161
1146
|
const { networkStatus, isEIP1559Compatible } = await __classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_determineNetworkMetadata).call(this, networkClientId);
|
|
1162
|
-
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateMetadataForNetwork).call(this, networkClientId,
|
|
1163
|
-
networkStatus,
|
|
1164
|
-
isEIP1559Compatible,
|
|
1165
|
-
});
|
|
1147
|
+
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateMetadataForNetwork).call(this, networkClientId, networkStatus, isEIP1559Compatible);
|
|
1166
1148
|
}, _NetworkController_lookupSelectedNetwork =
|
|
1167
1149
|
/**
|
|
1168
1150
|
* Uses a request for the latest block to gather the following information on
|
|
@@ -1222,10 +1204,7 @@ async function _NetworkController_lookupSelectedNetwork() {
|
|
|
1222
1204
|
throw error;
|
|
1223
1205
|
}
|
|
1224
1206
|
}
|
|
1225
|
-
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateMetadataForNetwork).call(this, this.state.selectedNetworkClientId,
|
|
1226
|
-
networkStatus,
|
|
1227
|
-
isEIP1559Compatible,
|
|
1228
|
-
});
|
|
1207
|
+
__classPrivateFieldGet(this, _NetworkController_instances, "m", _NetworkController_updateMetadataForNetwork).call(this, this.state.selectedNetworkClientId, networkStatus, isEIP1559Compatible);
|
|
1229
1208
|
if (isInfura) {
|
|
1230
1209
|
if (networkStatus === constants_1.NetworkStatus.Available) {
|
|
1231
1210
|
this.messenger.publish('NetworkController:infuraIsUnblocked');
|
|
@@ -1240,7 +1219,7 @@ async function _NetworkController_lookupSelectedNetwork() {
|
|
|
1240
1219
|
// previously connected to an Infura network that was blocked
|
|
1241
1220
|
this.messenger.publish('NetworkController:infuraIsUnblocked');
|
|
1242
1221
|
}
|
|
1243
|
-
}, _NetworkController_updateMetadataForNetwork = function _NetworkController_updateMetadataForNetwork(networkClientId,
|
|
1222
|
+
}, _NetworkController_updateMetadataForNetwork = function _NetworkController_updateMetadataForNetwork(networkClientId, networkStatus, isEIP1559Compatible) {
|
|
1244
1223
|
this.update((state) => {
|
|
1245
1224
|
if (state.networksMetadata[networkClientId] === undefined) {
|
|
1246
1225
|
state.networksMetadata[networkClientId] = {
|
|
@@ -1248,15 +1227,13 @@ async function _NetworkController_lookupSelectedNetwork() {
|
|
|
1248
1227
|
EIPS: {},
|
|
1249
1228
|
};
|
|
1250
1229
|
}
|
|
1251
|
-
const
|
|
1252
|
-
|
|
1253
|
-
if (
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
newMetadata.EIPS[1559] = metadata.isEIP1559Compatible;
|
|
1259
|
-
}
|
|
1230
|
+
const meta = state.networksMetadata[networkClientId];
|
|
1231
|
+
meta.status = networkStatus;
|
|
1232
|
+
if (isEIP1559Compatible === undefined) {
|
|
1233
|
+
delete meta.EIPS[1559];
|
|
1234
|
+
}
|
|
1235
|
+
else {
|
|
1236
|
+
meta.EIPS[1559] = isEIP1559Compatible;
|
|
1260
1237
|
}
|
|
1261
1238
|
});
|
|
1262
1239
|
}, _NetworkController_getLatestBlock = function _NetworkController_getLatestBlock(networkClientId) {
|
|
@@ -1422,7 +1399,6 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
|
|
|
1422
1399
|
for (const addedRpcEndpoint of addedRpcEndpoints) {
|
|
1423
1400
|
if (addedRpcEndpoint.type === RpcEndpointType.Infura) {
|
|
1424
1401
|
autoManagedNetworkClientRegistry[types_1.NetworkClientType.Infura][addedRpcEndpoint.networkClientId] = (0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
|
|
1425
|
-
networkClientId: addedRpcEndpoint.networkClientId,
|
|
1426
1402
|
networkClientConfiguration: {
|
|
1427
1403
|
type: types_1.NetworkClientType.Infura,
|
|
1428
1404
|
chainId: networkFields.chainId,
|
|
@@ -1440,7 +1416,6 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
|
|
|
1440
1416
|
}
|
|
1441
1417
|
else {
|
|
1442
1418
|
autoManagedNetworkClientRegistry[types_1.NetworkClientType.Custom][addedRpcEndpoint.networkClientId] = (0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
|
|
1443
|
-
networkClientId: addedRpcEndpoint.networkClientId,
|
|
1444
1419
|
networkClientConfiguration: {
|
|
1445
1420
|
type: types_1.NetworkClientType.Custom,
|
|
1446
1421
|
chainId: networkFields.chainId,
|
|
@@ -1500,7 +1475,6 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
|
|
|
1500
1475
|
return [
|
|
1501
1476
|
rpcEndpoint.networkClientId,
|
|
1502
1477
|
(0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
|
|
1503
|
-
networkClientId: rpcEndpoint.networkClientId,
|
|
1504
1478
|
networkClientConfiguration: {
|
|
1505
1479
|
type: types_1.NetworkClientType.Infura,
|
|
1506
1480
|
network: infuraNetworkName,
|
|
@@ -1520,7 +1494,6 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
|
|
|
1520
1494
|
return [
|
|
1521
1495
|
rpcEndpoint.networkClientId,
|
|
1522
1496
|
(0, create_auto_managed_network_client_1.createAutoManagedNetworkClient)({
|
|
1523
|
-
networkClientId: rpcEndpoint.networkClientId,
|
|
1524
1497
|
networkClientConfiguration: {
|
|
1525
1498
|
type: types_1.NetworkClientType.Custom,
|
|
1526
1499
|
chainId: networkConfiguration.chainId,
|