@metamask/network-controller 28.0.0 → 30.0.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.
- package/CHANGELOG.md +38 -1
- package/dist/NetworkController.cjs +1 -2
- package/dist/NetworkController.cjs.map +1 -1
- package/dist/NetworkController.d.cts +13 -1
- package/dist/NetworkController.d.cts.map +1 -1
- package/dist/NetworkController.d.mts +13 -1
- package/dist/NetworkController.d.mts.map +1 -1
- package/dist/NetworkController.mjs +1 -2
- package/dist/NetworkController.mjs.map +1 -1
- package/dist/create-network-client.cjs +47 -4
- package/dist/create-network-client.cjs.map +1 -1
- package/dist/create-network-client.d.cts +15 -0
- package/dist/create-network-client.d.cts.map +1 -1
- package/dist/create-network-client.d.mts +15 -0
- package/dist/create-network-client.d.mts.map +1 -1
- package/dist/create-network-client.mjs +45 -3
- package/dist/create-network-client.mjs.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.cjs.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.d.cts +1 -0
- package/dist/rpc-service/rpc-service-requestable.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service-requestable.d.mts +1 -0
- 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 +107 -23
- package/dist/rpc-service/rpc-service.cjs.map +1 -1
- package/dist/rpc-service/rpc-service.d.cts +38 -0
- package/dist/rpc-service/rpc-service.d.cts.map +1 -1
- package/dist/rpc-service/rpc-service.d.mts +38 -0
- package/dist/rpc-service/rpc-service.d.mts.map +1 -1
- package/dist/rpc-service/rpc-service.mjs +103 -23
- package/dist/rpc-service/rpc-service.mjs.map +1 -1
- package/package.json +11 -10
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [30.0.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add `rpcMethodName` to `NetworkController:rpcEndpointDegraded` and `NetworkController:rpcEndpointChainDegraded` event payloads ([#7954](https://github.com/MetaMask/core/pull/7954))
|
|
15
|
+
- This field contains the JSON-RPC method name (e.g. `eth_blockNumber`) that was being processed when the event fired, enabling identification of which methods produce the most slow requests or retry exhaustions.
|
|
16
|
+
- Add `type` and `retryReason` to `NetworkController:rpcEndpointDegraded` and `NetworkController:rpcEndpointChainDegraded` event payloads ([#7988](https://github.com/MetaMask/core/pull/7988))
|
|
17
|
+
- `type` (`DegradedEventType`) is `'slow_success'` when the request succeeded but was slow, or `'retries_exhausted'` when retries ran out.
|
|
18
|
+
- `retryReason` (`RetryReason`, only present when `type` is `'retries_exhausted'`) classifies the error that was retried (e.g. `'non_successful_http_status'`, `'timed_out'`, `'connection_failed'`).
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **BREAKING:** The `RpcServiceRequestable` type's `onDegraded` listener now receives `rpcMethodName: string` in its data parameter ([#7954](https://github.com/MetaMask/core/pull/7954))
|
|
23
|
+
- Implementors of this interface will need to accept the new field in their `onDegraded` callback signature.
|
|
24
|
+
- Bump `@metamask/eth-json-rpc-middleware` from `^23.0.0` to `^23.1.0` ([#7810](https://github.com/MetaMask/core/pull/7810))
|
|
25
|
+
- Bump `@metamask/json-rpc-engine` from `^10.2.1` to `^10.2.2` ([#7856](https://github.com/MetaMask/core/pull/7856))
|
|
26
|
+
- Bump `@metamask/controller-utils` from `^11.18.0` to `^11.19.0` ([#7995](https://github.com/MetaMask/core/pull/7995))
|
|
27
|
+
|
|
28
|
+
## [29.0.0]
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- Add dependency `@metamask/connectivity-controller` `^0.1.0` ([#7642](https://github.com/MetaMask/core/pull/7642))
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- Bump `@metamask/eth-block-tracker` from `^15.0.0` to `^15.0.1` ([#7642](https://github.com/MetaMask/core/pull/7642))
|
|
37
|
+
- Bump `@metamask/json-rpc-engine` from `^10.2.0` to `^10.2.1` ([#7642](https://github.com/MetaMask/core/pull/7642))
|
|
38
|
+
- Bump `@metamask/eth-json-rpc-middleware` from `^22.0.1` to `^23.0.0` ([#7634](https://github.com/MetaMask/core/pull/7634))
|
|
39
|
+
- **BREAKING:** NetworkController now requires `ConnectivityController:getState` action handler to be registered on the messenger ([#7627](https://github.com/MetaMask/core/pull/7627))
|
|
40
|
+
- The `NetworkController` now depends on the `ConnectivityController` to prevent retries and suppress events when the user is offline.
|
|
41
|
+
- When offline, `NetworkController:rpcEndpointUnavailable` and `NetworkController:rpcEndpointDegraded` events are suppressed since retries don't occur and circuit breakers don't trigger.
|
|
42
|
+
- You must register a `ConnectivityController:getState` action handler on your root messenger that returns an object with a `connectivityStatus` property (`'online'` or `'offline'`).
|
|
43
|
+
- You must delegate the `ConnectivityController:getState` action from your root messenger to the `NetworkControllerMessenger` using `rootMessenger.delegate({ messenger: networkControllerMessenger, actions: ['ConnectivityController:getState'] })`.
|
|
44
|
+
|
|
10
45
|
## [28.0.0]
|
|
11
46
|
|
|
12
47
|
### Changed
|
|
@@ -1080,7 +1115,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1080
1115
|
|
|
1081
1116
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
1082
1117
|
|
|
1083
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/network-controller@
|
|
1118
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/network-controller@30.0.0...HEAD
|
|
1119
|
+
[30.0.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@29.0.0...@metamask/network-controller@30.0.0
|
|
1120
|
+
[29.0.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@28.0.0...@metamask/network-controller@29.0.0
|
|
1084
1121
|
[28.0.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@27.2.0...@metamask/network-controller@28.0.0
|
|
1085
1122
|
[27.2.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@27.1.0...@metamask/network-controller@27.2.0
|
|
1086
1123
|
[27.1.0]: https://github.com/MetaMask/core/compare/@metamask/network-controller@27.0.0...@metamask/network-controller@27.1.0
|
|
@@ -1301,8 +1301,7 @@ async function _NetworkController_determineEIP1559Compatibility(networkClientId)
|
|
|
1301
1301
|
!(0, controller_utils_1.isSafeChainId)(networkFields.chainId)) {
|
|
1302
1302
|
throw new Error(`${errorMessagePrefix}: Invalid \`chainId\` '${networkFields.chainId}' (must start with "0x" and not exceed the maximum)`);
|
|
1303
1303
|
}
|
|
1304
|
-
if (
|
|
1305
|
-
networkFields.chainId !== existingNetworkConfiguration.chainId) {
|
|
1304
|
+
if (networkFields.chainId !== existingNetworkConfiguration?.chainId) {
|
|
1306
1305
|
const existingNetworkConfigurationViaChainId = this.state.networkConfigurationsByChainId[networkFields.chainId];
|
|
1307
1306
|
if (existingNetworkConfigurationViaChainId !== undefined) {
|
|
1308
1307
|
if (existingNetworkConfiguration === null) {
|