@metamask-previews/network-controller 36.0.0-preview-abca9bcea → 37.0.0-preview-0a30e47

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 (158) hide show
  1. package/CHANGELOG.md +24 -4
  2. package/dist/{NetworkController-method-action-types.d.mts → NetworkController-method-action-types.d.ts} +2 -2
  3. package/dist/NetworkController-method-action-types.d.ts.map +1 -0
  4. package/dist/{NetworkController-method-action-types.mjs → NetworkController-method-action-types.js} +1 -1
  5. package/dist/NetworkController-method-action-types.js.map +1 -0
  6. package/dist/{NetworkController.d.cts → NetworkController.d.ts} +37 -29
  7. package/dist/NetworkController.d.ts.map +1 -0
  8. package/dist/{NetworkController.mjs → NetworkController.js} +716 -612
  9. package/dist/NetworkController.js.map +1 -0
  10. package/dist/{constants.d.cts → constants.d.ts} +1 -1
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/{constants.mjs → constants.js} +1 -1
  13. package/dist/constants.js.map +1 -0
  14. package/dist/{create-auto-managed-network-client.d.cts → create-auto-managed-network-client.d.ts} +7 -7
  15. package/dist/create-auto-managed-network-client.d.ts.map +1 -0
  16. package/dist/{create-auto-managed-network-client.mjs → create-auto-managed-network-client.js} +4 -4
  17. package/dist/create-auto-managed-network-client.js.map +1 -0
  18. package/dist/{create-network-client.d.cts → create-network-client.d.ts} +7 -7
  19. package/dist/create-network-client.d.ts.map +1 -0
  20. package/dist/{create-network-client.mjs → create-network-client.js} +17 -14
  21. package/dist/create-network-client.js.map +1 -0
  22. package/dist/{index.d.cts → index.d.ts} +16 -16
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +6 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/logger.d.ts +4 -0
  27. package/dist/logger.d.ts.map +1 -0
  28. package/dist/logger.js +4 -0
  29. package/dist/logger.js.map +1 -0
  30. package/dist/rpc-service/{abstract-rpc-service.d.cts → abstract-rpc-service.d.ts} +2 -2
  31. package/dist/rpc-service/abstract-rpc-service.d.ts.map +1 -0
  32. package/dist/rpc-service/abstract-rpc-service.js +2 -0
  33. package/dist/rpc-service/abstract-rpc-service.js.map +1 -0
  34. package/dist/rpc-service/{rpc-service-chain.d.cts → rpc-service-chain.d.ts} +6 -6
  35. package/dist/rpc-service/rpc-service-chain.d.ts.map +1 -0
  36. package/dist/rpc-service/{rpc-service-chain.mjs → rpc-service-chain.js} +57 -70
  37. package/dist/rpc-service/rpc-service-chain.js.map +1 -0
  38. package/dist/rpc-service/{rpc-service-requestable.d.cts → rpc-service-requestable.d.ts} +4 -4
  39. package/dist/rpc-service/rpc-service-requestable.d.ts.map +1 -0
  40. package/dist/rpc-service/rpc-service-requestable.js +2 -0
  41. package/dist/rpc-service/rpc-service-requestable.js.map +1 -0
  42. package/dist/rpc-service/{rpc-service.d.mts → rpc-service.d.ts} +6 -6
  43. package/dist/rpc-service/rpc-service.d.ts.map +1 -0
  44. package/dist/rpc-service/{rpc-service.mjs → rpc-service.js} +206 -197
  45. package/dist/rpc-service/rpc-service.js.map +1 -0
  46. package/dist/rpc-service/{shared.d.cts → shared.d.ts} +2 -2
  47. package/dist/rpc-service/shared.d.ts.map +1 -0
  48. package/dist/rpc-service/shared.js +2 -0
  49. package/dist/rpc-service/shared.js.map +1 -0
  50. package/dist/{rpc-service-analytics.d.mts → rpc-service-analytics.d.ts} +3 -3
  51. package/dist/rpc-service-analytics.d.ts.map +1 -0
  52. package/dist/{rpc-service-analytics.mjs → rpc-service-analytics.js} +4 -4
  53. package/dist/rpc-service-analytics.js.map +1 -0
  54. package/dist/{selectors.d.mts → selectors.d.ts} +2 -2
  55. package/dist/selectors.d.ts.map +1 -0
  56. package/dist/{selectors.mjs → selectors.js} +1 -1
  57. package/dist/selectors.js.map +1 -0
  58. package/dist/{types.d.cts → types.d.ts} +5 -5
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/{types.mjs → types.js} +1 -1
  61. package/dist/types.js.map +1 -0
  62. package/package.json +26 -30
  63. package/dist/NetworkController-method-action-types.cjs +0 -7
  64. package/dist/NetworkController-method-action-types.cjs.map +0 -1
  65. package/dist/NetworkController-method-action-types.d.cts +0 -268
  66. package/dist/NetworkController-method-action-types.d.cts.map +0 -1
  67. package/dist/NetworkController-method-action-types.d.mts.map +0 -1
  68. package/dist/NetworkController-method-action-types.mjs.map +0 -1
  69. package/dist/NetworkController.cjs +0 -1597
  70. package/dist/NetworkController.cjs.map +0 -1
  71. package/dist/NetworkController.d.cts.map +0 -1
  72. package/dist/NetworkController.d.mts +0 -956
  73. package/dist/NetworkController.d.mts.map +0 -1
  74. package/dist/NetworkController.mjs.map +0 -1
  75. package/dist/constants.cjs +0 -46
  76. package/dist/constants.cjs.map +0 -1
  77. package/dist/constants.d.cts.map +0 -1
  78. package/dist/constants.d.mts +0 -42
  79. package/dist/constants.d.mts.map +0 -1
  80. package/dist/constants.mjs.map +0 -1
  81. package/dist/create-auto-managed-network-client.cjs +0 -149
  82. package/dist/create-auto-managed-network-client.cjs.map +0 -1
  83. package/dist/create-auto-managed-network-client.d.cts.map +0 -1
  84. package/dist/create-auto-managed-network-client.d.mts +0 -74
  85. package/dist/create-auto-managed-network-client.d.mts.map +0 -1
  86. package/dist/create-auto-managed-network-client.mjs.map +0 -1
  87. package/dist/create-network-client.cjs +0 -439
  88. package/dist/create-network-client.cjs.map +0 -1
  89. package/dist/create-network-client.d.cts.map +0 -1
  90. package/dist/create-network-client.d.mts +0 -60
  91. package/dist/create-network-client.d.mts.map +0 -1
  92. package/dist/create-network-client.mjs.map +0 -1
  93. package/dist/index.cjs +0 -31
  94. package/dist/index.cjs.map +0 -1
  95. package/dist/index.d.cts.map +0 -1
  96. package/dist/index.d.mts +0 -16
  97. package/dist/index.d.mts.map +0 -1
  98. package/dist/index.mjs +0 -6
  99. package/dist/index.mjs.map +0 -1
  100. package/dist/logger.cjs +0 -7
  101. package/dist/logger.cjs.map +0 -1
  102. package/dist/logger.d.cts +0 -5
  103. package/dist/logger.d.cts.map +0 -1
  104. package/dist/logger.d.mts +0 -5
  105. package/dist/logger.d.mts.map +0 -1
  106. package/dist/logger.mjs +0 -4
  107. package/dist/logger.mjs.map +0 -1
  108. package/dist/rpc-service/abstract-rpc-service.cjs +0 -3
  109. package/dist/rpc-service/abstract-rpc-service.cjs.map +0 -1
  110. package/dist/rpc-service/abstract-rpc-service.d.cts.map +0 -1
  111. package/dist/rpc-service/abstract-rpc-service.d.mts +0 -17
  112. package/dist/rpc-service/abstract-rpc-service.d.mts.map +0 -1
  113. package/dist/rpc-service/abstract-rpc-service.mjs +0 -2
  114. package/dist/rpc-service/abstract-rpc-service.mjs.map +0 -1
  115. package/dist/rpc-service/rpc-service-chain.cjs +0 -304
  116. package/dist/rpc-service/rpc-service-chain.cjs.map +0 -1
  117. package/dist/rpc-service/rpc-service-chain.d.cts.map +0 -1
  118. package/dist/rpc-service/rpc-service-chain.d.mts +0 -169
  119. package/dist/rpc-service/rpc-service-chain.d.mts.map +0 -1
  120. package/dist/rpc-service/rpc-service-chain.mjs.map +0 -1
  121. package/dist/rpc-service/rpc-service-requestable.cjs +0 -3
  122. package/dist/rpc-service/rpc-service-requestable.cjs.map +0 -1
  123. package/dist/rpc-service/rpc-service-requestable.d.cts.map +0 -1
  124. package/dist/rpc-service/rpc-service-requestable.d.mts +0 -63
  125. package/dist/rpc-service/rpc-service-requestable.d.mts.map +0 -1
  126. package/dist/rpc-service/rpc-service-requestable.mjs +0 -2
  127. package/dist/rpc-service/rpc-service-requestable.mjs.map +0 -1
  128. package/dist/rpc-service/rpc-service.cjs +0 -540
  129. package/dist/rpc-service/rpc-service.cjs.map +0 -1
  130. package/dist/rpc-service/rpc-service.d.cts +0 -247
  131. package/dist/rpc-service/rpc-service.d.cts.map +0 -1
  132. package/dist/rpc-service/rpc-service.d.mts.map +0 -1
  133. package/dist/rpc-service/rpc-service.mjs.map +0 -1
  134. package/dist/rpc-service/shared.cjs +0 -3
  135. package/dist/rpc-service/shared.cjs.map +0 -1
  136. package/dist/rpc-service/shared.d.cts.map +0 -1
  137. package/dist/rpc-service/shared.d.mts +0 -32
  138. package/dist/rpc-service/shared.d.mts.map +0 -1
  139. package/dist/rpc-service/shared.mjs +0 -2
  140. package/dist/rpc-service/shared.mjs.map +0 -1
  141. package/dist/rpc-service-analytics.cjs +0 -180
  142. package/dist/rpc-service-analytics.cjs.map +0 -1
  143. package/dist/rpc-service-analytics.d.cts +0 -85
  144. package/dist/rpc-service-analytics.d.cts.map +0 -1
  145. package/dist/rpc-service-analytics.d.mts.map +0 -1
  146. package/dist/rpc-service-analytics.mjs.map +0 -1
  147. package/dist/selectors.cjs +0 -16
  148. package/dist/selectors.cjs.map +0 -1
  149. package/dist/selectors.d.cts +0 -22
  150. package/dist/selectors.d.cts.map +0 -1
  151. package/dist/selectors.d.mts.map +0 -1
  152. package/dist/selectors.mjs.map +0 -1
  153. package/dist/types.cjs +0 -12
  154. package/dist/types.cjs.map +0 -1
  155. package/dist/types.d.cts.map +0 -1
  156. package/dist/types.d.mts +0 -49
  157. package/dist/types.d.mts.map +0 -1
  158. package/dist/types.mjs.map +0 -1
@@ -1,85 +0,0 @@
1
- import type { AnalyticsTrackingEvent } from "@metamask/analytics-controller";
2
- import type { NetworkControllerMessenger, NetworkControllerRpcEndpointDegradedEvent, NetworkControllerRpcEndpointUnavailableEvent } from "./NetworkController.cjs";
3
- type RpcEndpointUnavailablePayload = NetworkControllerRpcEndpointUnavailableEvent['payload'][0];
4
- type RpcEndpointDegradedPayload = NetworkControllerRpcEndpointDegradedEvent['payload'][0];
5
- /**
6
- * The names of the analytics events that {@link NetworkController} emits when an
7
- * RPC endpoint becomes unavailable or degraded.
8
- */
9
- export type RpcServiceEventName = 'RPC Service Unavailable' | 'RPC Service Degraded';
10
- /**
11
- * Configuration that enables {@link NetworkController} to emit analytics events
12
- * for unavailable or degraded RPC endpoints.
13
- *
14
- * The pieces here are client-specific and cannot be derived inside the
15
- * controller: deciding whether an endpoint URL is safe to report depends on the
16
- * client's lists of known networks, and the sample rate depends on the client's
17
- * build environment.
18
- */
19
- export type NetworkControllerAnalyticsOptions = {
20
- /**
21
- * Returns `true` if the given RPC endpoint URL is safe to report verbatim (a
22
- * "public" endpoint), or `false` if it must be reported as the literal string
23
- * `'custom'` to avoid leaking private servers. Defaults to `() => false`.
24
- */
25
- isRpcEndpointUrlPublic?: (endpointUrl: string) => boolean;
26
- /**
27
- * The proportion of events to emit, between 0 and 1. `1` emits every event,
28
- * `0` emits none. Clients typically use a small value (e.g. `0.01`) in
29
- * production to stay within their analytics quota, and `1` in development.
30
- * Defaults to `0`.
31
- */
32
- rpcServiceEventsSampleRate?: number;
33
- };
34
- /**
35
- * {@link NetworkControllerAnalyticsOptions} with defaults applied, as used
36
- * internally once the controller has filled in any omitted properties.
37
- */
38
- export type ResolvedNetworkControllerAnalyticsOptions = Required<NetworkControllerAnalyticsOptions>;
39
- /**
40
- * Hides any API key contained in an RPC endpoint URL by reducing it to its
41
- * host, but only when the endpoint is considered public. Non-public endpoints
42
- * (and URLs that cannot be parsed) are reported as the literal string
43
- * `'custom'`.
44
- *
45
- * @param endpointUrl - The URL of the RPC endpoint.
46
- * @param isPublic - Whether the endpoint is safe to report verbatim.
47
- * @returns The sanitized value to report.
48
- */
49
- export declare function sanitizeRpcEndpointUrl(endpointUrl: string, isPublic: boolean): string;
50
- /**
51
- * Builds the "RPC Service Unavailable" analytics tracking event.
52
- *
53
- * @param payload - The `rpcEndpointUnavailable` event payload.
54
- * @param isRpcEndpointUrlPublic - Returns whether the endpoint URL is safe to
55
- * report verbatim.
56
- * @returns The analytics tracking event.
57
- */
58
- export declare function buildRpcServiceUnavailableAnalyticsTrackingEvent(payload: RpcEndpointUnavailablePayload, isRpcEndpointUrlPublic: (endpointUrl: string) => boolean): AnalyticsTrackingEvent;
59
- /**
60
- * Builds the "RPC Service Degraded" analytics tracking event.
61
- *
62
- * @param payload - The `rpcEndpointDegraded` event payload.
63
- * @param isRpcEndpointUrlPublic - Returns whether the endpoint URL is safe to
64
- * report verbatim.
65
- * @returns The analytics tracking event.
66
- */
67
- export declare function buildRpcServiceDegradedAnalyticsTrackingEvent(payload: RpcEndpointDegradedPayload, isRpcEndpointUrlPublic: (endpointUrl: string) => boolean): AnalyticsTrackingEvent;
68
- /**
69
- * Emits an "RPC Service Unavailable" analytics event.
70
- *
71
- * @param messenger - The controller messenger.
72
- * @param analyticsOptions - The analytics configuration.
73
- * @param payload - The `rpcEndpointUnavailable` event payload.
74
- */
75
- export declare function trackRpcServiceUnavailable(messenger: NetworkControllerMessenger, analyticsOptions: ResolvedNetworkControllerAnalyticsOptions, payload: RpcEndpointUnavailablePayload): void;
76
- /**
77
- * Emits an "RPC Service Degraded" analytics event.
78
- *
79
- * @param messenger - The controller messenger.
80
- * @param analyticsOptions - The analytics configuration.
81
- * @param payload - The `rpcEndpointDegraded` event payload.
82
- */
83
- export declare function trackRpcServiceDegraded(messenger: NetworkControllerMessenger, analyticsOptions: ResolvedNetworkControllerAnalyticsOptions, payload: RpcEndpointDegradedPayload): void;
84
- export {};
85
- //# sourceMappingURL=rpc-service-analytics.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-service-analytics.d.cts","sourceRoot":"","sources":["../src/rpc-service-analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,uCAAuC;AAW7E,OAAO,KAAK,EACV,0BAA0B,EAC1B,yCAAyC,EACzC,4CAA4C,EAC7C,gCAA+B;AAGhC,KAAK,6BAA6B,GAChC,4CAA4C,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,KAAK,0BAA0B,GAC7B,yCAAyC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,yBAAyB,GACzB,sBAAsB,CAAC;AAE3B;;;;;;;;GAQG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yCAAyC,GACnD,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,MAAM,CAUR;AA+DD;;;;;;;GAOG;AACH,wBAAgB,gDAAgD,CAC9D,OAAO,EAAE,6BAA6B,EACtC,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,GACvD,sBAAsB,CAUxB;AAED;;;;;;;GAOG;AACH,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,0BAA0B,EACnC,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,GACvD,sBAAsB,CAiBxB;AAqDD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,0BAA0B,EACrC,gBAAgB,EAAE,yCAAyC,EAC3D,OAAO,EAAE,6BAA6B,GACrC,IAAI,CAWN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,0BAA0B,EACrC,gBAAgB,EAAE,yCAAyC,EAC3D,OAAO,EAAE,0BAA0B,GAClC,IAAI,CAWN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-service-analytics.d.mts","sourceRoot":"","sources":["../src/rpc-service-analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,uCAAuC;AAW7E,OAAO,KAAK,EACV,0BAA0B,EAC1B,yCAAyC,EACzC,4CAA4C,EAC7C,gCAA+B;AAGhC,KAAK,6BAA6B,GAChC,4CAA4C,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,KAAK,0BAA0B,GAC7B,yCAAyC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,yBAAyB,GACzB,sBAAsB,CAAC;AAE3B;;;;;;;;GAQG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yCAAyC,GACnD,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,MAAM,CAUR;AA+DD;;;;;;;GAOG;AACH,wBAAgB,gDAAgD,CAC9D,OAAO,EAAE,6BAA6B,EACtC,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,GACvD,sBAAsB,CAUxB;AAED;;;;;;;GAOG;AACH,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,0BAA0B,EACnC,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,GACvD,sBAAsB,CAiBxB;AAqDD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,0BAA0B,EACrC,gBAAgB,EAAE,yCAAyC,EAC3D,OAAO,EAAE,6BAA6B,GACrC,IAAI,CAWN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,0BAA0B,EACrC,gBAAgB,EAAE,yCAAyC,EAC3D,OAAO,EAAE,0BAA0B,GAClC,IAAI,CAWN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-service-analytics.mjs","sourceRoot":"","sources":["../src/rpc-service-analytics.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AnalyticsTrackingEvent } from '@metamask/analytics-controller';\nimport { generateDeterministicRandomNumber } from '@metamask/remote-feature-flag-controller';\nimport type { Hex, Json } from '@metamask/utils';\nimport {\n hasProperty,\n hexToNumber,\n isObject,\n isValidJson,\n wrapError,\n} from '@metamask/utils';\n\nimport type {\n NetworkControllerMessenger,\n NetworkControllerRpcEndpointDegradedEvent,\n NetworkControllerRpcEndpointUnavailableEvent,\n} from './NetworkController.js';\nimport { isConnectionError } from './rpc-service/rpc-service.js';\n\ntype RpcEndpointUnavailablePayload =\n NetworkControllerRpcEndpointUnavailableEvent['payload'][0];\n\ntype RpcEndpointDegradedPayload =\n NetworkControllerRpcEndpointDegradedEvent['payload'][0];\n\n/**\n * The names of the analytics events that {@link NetworkController} emits when an\n * RPC endpoint becomes unavailable or degraded.\n */\nexport type RpcServiceEventName =\n | 'RPC Service Unavailable'\n | 'RPC Service Degraded';\n\n/**\n * Configuration that enables {@link NetworkController} to emit analytics events\n * for unavailable or degraded RPC endpoints.\n *\n * The pieces here are client-specific and cannot be derived inside the\n * controller: deciding whether an endpoint URL is safe to report depends on the\n * client's lists of known networks, and the sample rate depends on the client's\n * build environment.\n */\nexport type NetworkControllerAnalyticsOptions = {\n /**\n * Returns `true` if the given RPC endpoint URL is safe to report verbatim (a\n * \"public\" endpoint), or `false` if it must be reported as the literal string\n * `'custom'` to avoid leaking private servers. Defaults to `() => false`.\n */\n isRpcEndpointUrlPublic?: (endpointUrl: string) => boolean;\n /**\n * The proportion of events to emit, between 0 and 1. `1` emits every event,\n * `0` emits none. Clients typically use a small value (e.g. `0.01`) in\n * production to stay within their analytics quota, and `1` in development.\n * Defaults to `0`.\n */\n rpcServiceEventsSampleRate?: number;\n};\n\n/**\n * {@link NetworkControllerAnalyticsOptions} with defaults applied, as used\n * internally once the controller has filled in any omitted properties.\n */\nexport type ResolvedNetworkControllerAnalyticsOptions =\n Required<NetworkControllerAnalyticsOptions>;\n\n/**\n * Hides any API key contained in an RPC endpoint URL by reducing it to its\n * host, but only when the endpoint is considered public. Non-public endpoints\n * (and URLs that cannot be parsed) are reported as the literal string\n * `'custom'`.\n *\n * @param endpointUrl - The URL of the RPC endpoint.\n * @param isPublic - Whether the endpoint is safe to report verbatim.\n * @returns The sanitized value to report.\n */\nexport function sanitizeRpcEndpointUrl(\n endpointUrl: string,\n isPublic: boolean,\n): string {\n if (!isPublic) {\n return 'custom';\n }\n\n try {\n return new URL(endpointUrl).host;\n } catch {\n return 'custom';\n }\n}\n\n/**\n * Wraps a name and properties into the shape expected by the\n * `AnalyticsController:trackEvent` action.\n *\n * @param name - The analytics event name.\n * @param properties - The analytics event properties.\n * @returns The analytics tracking event.\n */\nfunction toAnalyticsTrackingEvent(\n name: RpcServiceEventName,\n properties: Record<string, Json>,\n): AnalyticsTrackingEvent {\n return {\n name,\n properties,\n sensitiveProperties: {},\n saveDataRecording: false,\n hasProperties: Object.keys(properties).length > 0,\n };\n}\n\n/**\n * Builds the properties common to both RPC service events.\n *\n * @param args - The arguments.\n * @param args.chainId - The chain ID that the endpoint represents.\n * @param args.endpointUrl - The URL of the endpoint.\n * @param args.error - The connection or response error encountered.\n * @param args.isRpcEndpointUrlPublic - Returns whether the endpoint URL is safe\n * to report verbatim.\n * @returns The common analytics event properties.\n */\nfunction buildCommonRpcServiceEventProperties({\n chainId,\n endpointUrl,\n error,\n isRpcEndpointUrlPublic,\n}: {\n chainId: Hex;\n endpointUrl: string;\n error: unknown;\n isRpcEndpointUrlPublic: (endpointUrl: string) => boolean;\n}): Record<string, Json> {\n const sanitizedUrl = sanitizeRpcEndpointUrl(\n endpointUrl,\n isRpcEndpointUrlPublic(endpointUrl),\n );\n\n // The names of analytics properties have a particular case.\n return {\n chain_id_caip: `eip155:${hexToNumber(chainId)}`,\n rpc_domain: sanitizedUrl,\n rpc_endpoint_url: sanitizedUrl, // @deprecated - Will be removed in a future release.\n ...(isObject(error) &&\n hasProperty(error, 'httpStatus') &&\n isValidJson(error.httpStatus)\n ? { http_status: error.httpStatus }\n : {}),\n };\n}\n\n/**\n * Builds the \"RPC Service Unavailable\" analytics tracking event.\n *\n * @param payload - The `rpcEndpointUnavailable` event payload.\n * @param isRpcEndpointUrlPublic - Returns whether the endpoint URL is safe to\n * report verbatim.\n * @returns The analytics tracking event.\n */\nexport function buildRpcServiceUnavailableAnalyticsTrackingEvent(\n payload: RpcEndpointUnavailablePayload,\n isRpcEndpointUrlPublic: (endpointUrl: string) => boolean,\n): AnalyticsTrackingEvent {\n return toAnalyticsTrackingEvent(\n 'RPC Service Unavailable',\n buildCommonRpcServiceEventProperties({\n chainId: payload.chainId,\n endpointUrl: payload.endpointUrl,\n error: payload.error,\n isRpcEndpointUrlPublic,\n }),\n );\n}\n\n/**\n * Builds the \"RPC Service Degraded\" analytics tracking event.\n *\n * @param payload - The `rpcEndpointDegraded` event payload.\n * @param isRpcEndpointUrlPublic - Returns whether the endpoint URL is safe to\n * report verbatim.\n * @returns The analytics tracking event.\n */\nexport function buildRpcServiceDegradedAnalyticsTrackingEvent(\n payload: RpcEndpointDegradedPayload,\n isRpcEndpointUrlPublic: (endpointUrl: string) => boolean,\n): AnalyticsTrackingEvent {\n const { duration, retryReason, rpcMethodName, traceId, type } = payload;\n\n // The names of analytics properties have a particular case.\n return toAnalyticsTrackingEvent('RPC Service Degraded', {\n ...buildCommonRpcServiceEventProperties({\n chainId: payload.chainId,\n endpointUrl: payload.endpointUrl,\n error: payload.error,\n isRpcEndpointUrlPublic,\n }),\n rpc_method_name: rpcMethodName,\n type,\n ...(retryReason ? { retry_reason: retryReason } : {}),\n ...(duration === undefined ? {} : { duration_ms: duration }),\n ...(traceId === undefined ? {} : { trace_id: traceId }),\n });\n}\n\n/**\n * Delivers an RPC service analytics event via the\n * `AnalyticsController:trackEvent` action, skipping local connection errors,\n * users without an analytics ID, and events that fall outside the configured\n * sample. Failures never propagate to the caller.\n *\n * @param args - The arguments.\n * @param args.messenger - The controller messenger.\n * @param args.analyticsOptions - The analytics configuration.\n * @param args.error - The error encountered, used to skip local connection errors.\n * @param args.buildTrackingEvent - Builds the event to deliver. Called lazily\n * inside the `try` so that a throw from the client's `isRpcEndpointUrlPublic` is\n * captured rather than propagated, and so the event is not built when it will\n * not be sent.\n */\nfunction trackRpcServiceEvent({\n messenger,\n analyticsOptions,\n error,\n buildTrackingEvent,\n}: {\n messenger: NetworkControllerMessenger;\n analyticsOptions: ResolvedNetworkControllerAnalyticsOptions;\n error: unknown;\n buildTrackingEvent: () => AnalyticsTrackingEvent;\n}): void {\n try {\n if (isConnectionError(error)) {\n return;\n }\n\n const { analyticsId } = messenger.call('AnalyticsController:getState');\n if (!analyticsId) {\n return;\n }\n\n if (\n generateDeterministicRandomNumber(analyticsId) >=\n analyticsOptions.rpcServiceEventsSampleRate\n ) {\n return;\n }\n\n messenger.call('AnalyticsController:trackEvent', buildTrackingEvent());\n } catch (caughtError) {\n messenger.captureException?.(\n wrapError(caughtError, 'Could not create analytics event'),\n );\n }\n}\n\n/**\n * Emits an \"RPC Service Unavailable\" analytics event.\n *\n * @param messenger - The controller messenger.\n * @param analyticsOptions - The analytics configuration.\n * @param payload - The `rpcEndpointUnavailable` event payload.\n */\nexport function trackRpcServiceUnavailable(\n messenger: NetworkControllerMessenger,\n analyticsOptions: ResolvedNetworkControllerAnalyticsOptions,\n payload: RpcEndpointUnavailablePayload,\n): void {\n trackRpcServiceEvent({\n messenger,\n analyticsOptions,\n error: payload.error,\n buildTrackingEvent: () =>\n buildRpcServiceUnavailableAnalyticsTrackingEvent(\n payload,\n analyticsOptions.isRpcEndpointUrlPublic,\n ),\n });\n}\n\n/**\n * Emits an \"RPC Service Degraded\" analytics event.\n *\n * @param messenger - The controller messenger.\n * @param analyticsOptions - The analytics configuration.\n * @param payload - The `rpcEndpointDegraded` event payload.\n */\nexport function trackRpcServiceDegraded(\n messenger: NetworkControllerMessenger,\n analyticsOptions: ResolvedNetworkControllerAnalyticsOptions,\n payload: RpcEndpointDegradedPayload,\n): void {\n trackRpcServiceEvent({\n messenger,\n analyticsOptions,\n error: payload.error,\n buildTrackingEvent: () =>\n buildRpcServiceDegradedAnalyticsTrackingEvent(\n payload,\n analyticsOptions.isRpcEndpointUrlPublic,\n ),\n });\n}\n"]}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRpcFailoverMode = void 0;
4
- /**
5
- * Reads the RPC failover mode from the remote feature flags, defaulting to
6
- * `disabled` when the flag is absent or not a recognized value.
7
- *
8
- * @param state - The remote feature flag controller state.
9
- * @returns The RPC failover mode.
10
- */
11
- function getRpcFailoverMode(state) {
12
- const mode = state.remoteFeatureFlags.corePlatformRpcFailoverMode;
13
- return mode === 'enabled' || mode === 'forced' ? mode : 'disabled';
14
- }
15
- exports.getRpcFailoverMode = getRpcFailoverMode;
16
- //# sourceMappingURL=selectors.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.cjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":";;;AAeA;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,KAAuC;IAEvC,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,2BAA2B,CAAC;IAClE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AACrE,CAAC;AALD,gDAKC","sourcesContent":["import { RemoteFeatureFlagControllerState } from '@metamask/remote-feature-flag-controller';\n\n/**\n * The RPC failover behavior for Infura networks, controlled by the\n * `corePlatformRpcFailoverMode` remote feature flag.\n *\n * - `disabled`: failover URLs are ignored; traffic stays on the primary\n * endpoint.\n * - `enabled`: traffic automatically diverts to failover URLs when the primary\n * endpoint is unavailable.\n * - `forced`: Infura endpoints that have failover URLs route all traffic to\n * those failover URLs, bypassing Infura entirely.\n */\nexport type RpcFailoverMode = 'disabled' | 'enabled' | 'forced';\n\n/**\n * Reads the RPC failover mode from the remote feature flags, defaulting to\n * `disabled` when the flag is absent or not a recognized value.\n *\n * @param state - The remote feature flag controller state.\n * @returns The RPC failover mode.\n */\nexport function getRpcFailoverMode(\n state: RemoteFeatureFlagControllerState,\n): RpcFailoverMode {\n const mode = state.remoteFeatureFlags.corePlatformRpcFailoverMode;\n return mode === 'enabled' || mode === 'forced' ? mode : 'disabled';\n}\n"]}
@@ -1,22 +0,0 @@
1
- import { RemoteFeatureFlagControllerState } from "@metamask/remote-feature-flag-controller";
2
- /**
3
- * The RPC failover behavior for Infura networks, controlled by the
4
- * `corePlatformRpcFailoverMode` remote feature flag.
5
- *
6
- * - `disabled`: failover URLs are ignored; traffic stays on the primary
7
- * endpoint.
8
- * - `enabled`: traffic automatically diverts to failover URLs when the primary
9
- * endpoint is unavailable.
10
- * - `forced`: Infura endpoints that have failover URLs route all traffic to
11
- * those failover URLs, bypassing Infura entirely.
12
- */
13
- export type RpcFailoverMode = 'disabled' | 'enabled' | 'forced';
14
- /**
15
- * Reads the RPC failover mode from the remote feature flags, defaulting to
16
- * `disabled` when the flag is absent or not a recognized value.
17
- *
18
- * @param state - The remote feature flag controller state.
19
- * @returns The RPC failover mode.
20
- */
21
- export declare function getRpcFailoverMode(state: RemoteFeatureFlagControllerState): RpcFailoverMode;
22
- //# sourceMappingURL=selectors.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,iDAAiD;AAE5F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gCAAgC,GACtC,eAAe,CAGjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,iDAAiD;AAE5F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gCAAgC,GACtC,eAAe,CAGjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.mjs","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAuC;IAEvC,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,2BAA2B,CAAC;IAClE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AACrE,CAAC","sourcesContent":["import { RemoteFeatureFlagControllerState } from '@metamask/remote-feature-flag-controller';\n\n/**\n * The RPC failover behavior for Infura networks, controlled by the\n * `corePlatformRpcFailoverMode` remote feature flag.\n *\n * - `disabled`: failover URLs are ignored; traffic stays on the primary\n * endpoint.\n * - `enabled`: traffic automatically diverts to failover URLs when the primary\n * endpoint is unavailable.\n * - `forced`: Infura endpoints that have failover URLs route all traffic to\n * those failover URLs, bypassing Infura entirely.\n */\nexport type RpcFailoverMode = 'disabled' | 'enabled' | 'forced';\n\n/**\n * Reads the RPC failover mode from the remote feature flags, defaulting to\n * `disabled` when the flag is absent or not a recognized value.\n *\n * @param state - The remote feature flag controller state.\n * @returns The RPC failover mode.\n */\nexport function getRpcFailoverMode(\n state: RemoteFeatureFlagControllerState,\n): RpcFailoverMode {\n const mode = state.remoteFeatureFlags.corePlatformRpcFailoverMode;\n return mode === 'enabled' || mode === 'forced' ? mode : 'disabled';\n}\n"]}
package/dist/types.cjs DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NetworkClientType = void 0;
4
- /**
5
- * The type of network client that can be created.
6
- */
7
- var NetworkClientType;
8
- (function (NetworkClientType) {
9
- NetworkClientType["Custom"] = "custom";
10
- NetworkClientType["Infura"] = "infura";
11
- })(NetworkClientType || (exports.NetworkClientType = NetworkClientType = {}));
12
- //# sourceMappingURL=types.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAeA;;GAEG;AACH,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;AACnB,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B","sourcesContent":["import type { BlockTracker as BaseBlockTracker } from '@metamask/eth-block-tracker';\nimport type { InternalProvider } from '@metamask/eth-json-rpc-provider';\nimport type { MiddlewareContext } from '@metamask/json-rpc-engine/v2';\nimport type { Hex } from '@metamask/utils';\n\nexport type Provider = InternalProvider<\n MiddlewareContext<\n { origin: string; skipCache: boolean } & Record<string, unknown>\n >\n>;\n\nexport type BlockTracker = BaseBlockTracker & {\n checkForLatestBlock(): Promise<string>;\n};\n\n/**\n * The type of network client that can be created.\n */\nexport enum NetworkClientType {\n Custom = 'custom',\n Infura = 'infura',\n}\n\n/**\n * A configuration object that can be used to create a client for a network.\n */\ntype CommonNetworkClientConfiguration = {\n chainId: Hex;\n failoverRpcUrls?: string[];\n ticker: string;\n};\n\n/**\n * A configuration object that can be used to create a client for a custom\n * network.\n */\nexport type CustomNetworkClientConfiguration =\n CommonNetworkClientConfiguration & {\n rpcUrl: string;\n type: NetworkClientType.Custom;\n };\n\n/**\n * A configuration object that can be used to create a client for an Infura\n * network.\n */\nexport type InfuraNetworkClientConfiguration =\n CommonNetworkClientConfiguration & {\n network: string;\n infuraProjectId: string;\n type: NetworkClientType.Infura;\n };\n\n/**\n * A configuration object that can be used to create a client for a network.\n */\nexport type NetworkClientConfiguration =\n | CustomNetworkClientConfiguration\n | InfuraNetworkClientConfiguration;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,oCAAoC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,wCAAwC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,qCAAqC;AACtE,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CACrC,iBAAiB,CACf;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACjE,CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,KAAK,gCAAgC,GAAG;IACtC,OAAO,EAAE,GAAG,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAC1C,gCAAgC,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;CAChC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAC1C,gCAAgC,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;CAChC,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAClC,gCAAgC,GAChC,gCAAgC,CAAC"}
package/dist/types.d.mts DELETED
@@ -1,49 +0,0 @@
1
- import type { BlockTracker as BaseBlockTracker } from "@metamask/eth-block-tracker";
2
- import type { InternalProvider } from "@metamask/eth-json-rpc-provider";
3
- import type { MiddlewareContext } from "@metamask/json-rpc-engine/v2";
4
- import type { Hex } from "@metamask/utils";
5
- export type Provider = InternalProvider<MiddlewareContext<{
6
- origin: string;
7
- skipCache: boolean;
8
- } & Record<string, unknown>>>;
9
- export type BlockTracker = BaseBlockTracker & {
10
- checkForLatestBlock(): Promise<string>;
11
- };
12
- /**
13
- * The type of network client that can be created.
14
- */
15
- export declare enum NetworkClientType {
16
- Custom = "custom",
17
- Infura = "infura"
18
- }
19
- /**
20
- * A configuration object that can be used to create a client for a network.
21
- */
22
- type CommonNetworkClientConfiguration = {
23
- chainId: Hex;
24
- failoverRpcUrls?: string[];
25
- ticker: string;
26
- };
27
- /**
28
- * A configuration object that can be used to create a client for a custom
29
- * network.
30
- */
31
- export type CustomNetworkClientConfiguration = CommonNetworkClientConfiguration & {
32
- rpcUrl: string;
33
- type: NetworkClientType.Custom;
34
- };
35
- /**
36
- * A configuration object that can be used to create a client for an Infura
37
- * network.
38
- */
39
- export type InfuraNetworkClientConfiguration = CommonNetworkClientConfiguration & {
40
- network: string;
41
- infuraProjectId: string;
42
- type: NetworkClientType.Infura;
43
- };
44
- /**
45
- * A configuration object that can be used to create a client for a network.
46
- */
47
- export type NetworkClientConfiguration = CustomNetworkClientConfiguration | InfuraNetworkClientConfiguration;
48
- export {};
49
- //# sourceMappingURL=types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,oCAAoC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,wCAAwC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,qCAAqC;AACtE,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CACrC,iBAAiB,CACf;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACjE,CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,KAAK,gCAAgC,GAAG;IACtC,OAAO,EAAE,GAAG,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAC1C,gCAAgC,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;CAChC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAC1C,gCAAgC,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;CAChC,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAClC,gCAAgC,GAChC,gCAAgC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;AACnB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B","sourcesContent":["import type { BlockTracker as BaseBlockTracker } from '@metamask/eth-block-tracker';\nimport type { InternalProvider } from '@metamask/eth-json-rpc-provider';\nimport type { MiddlewareContext } from '@metamask/json-rpc-engine/v2';\nimport type { Hex } from '@metamask/utils';\n\nexport type Provider = InternalProvider<\n MiddlewareContext<\n { origin: string; skipCache: boolean } & Record<string, unknown>\n >\n>;\n\nexport type BlockTracker = BaseBlockTracker & {\n checkForLatestBlock(): Promise<string>;\n};\n\n/**\n * The type of network client that can be created.\n */\nexport enum NetworkClientType {\n Custom = 'custom',\n Infura = 'infura',\n}\n\n/**\n * A configuration object that can be used to create a client for a network.\n */\ntype CommonNetworkClientConfiguration = {\n chainId: Hex;\n failoverRpcUrls?: string[];\n ticker: string;\n};\n\n/**\n * A configuration object that can be used to create a client for a custom\n * network.\n */\nexport type CustomNetworkClientConfiguration =\n CommonNetworkClientConfiguration & {\n rpcUrl: string;\n type: NetworkClientType.Custom;\n };\n\n/**\n * A configuration object that can be used to create a client for an Infura\n * network.\n */\nexport type InfuraNetworkClientConfiguration =\n CommonNetworkClientConfiguration & {\n network: string;\n infuraProjectId: string;\n type: NetworkClientType.Infura;\n };\n\n/**\n * A configuration object that can be used to create a client for a network.\n */\nexport type NetworkClientConfiguration =\n | CustomNetworkClientConfiguration\n | InfuraNetworkClientConfiguration;\n"]}