@metamask-previews/assets-controller 0.0.0-preview-3ec2a74 → 0.0.0-preview-6ae8a59c

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 (206) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/data-sources/RpcDataSource.cjs +415 -186
  3. package/dist/data-sources/RpcDataSource.cjs.map +1 -1
  4. package/dist/data-sources/RpcDataSource.d.cts +115 -30
  5. package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
  6. package/dist/data-sources/RpcDataSource.d.mts +115 -30
  7. package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
  8. package/dist/data-sources/RpcDataSource.mjs +413 -185
  9. package/dist/data-sources/RpcDataSource.mjs.map +1 -1
  10. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.cjs.map +1 -0
  11. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.cts.map +1 -0
  12. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.d.mts.map +1 -0
  13. package/dist/data-sources/evm-rpc-services/clients/MulticallClient.mjs.map +1 -0
  14. package/dist/data-sources/evm-rpc-services/clients/index.cjs.map +1 -0
  15. package/dist/data-sources/evm-rpc-services/clients/index.d.cts.map +1 -0
  16. package/dist/data-sources/evm-rpc-services/clients/index.d.mts.map +1 -0
  17. package/dist/data-sources/evm-rpc-services/clients/index.mjs.map +1 -0
  18. package/dist/data-sources/{rpc-datasource → evm-rpc-services}/index.cjs +4 -1
  19. package/dist/data-sources/evm-rpc-services/index.cjs.map +1 -0
  20. package/dist/data-sources/evm-rpc-services/index.d.cts +5 -0
  21. package/dist/data-sources/evm-rpc-services/index.d.cts.map +1 -0
  22. package/dist/data-sources/evm-rpc-services/index.d.mts +5 -0
  23. package/dist/data-sources/evm-rpc-services/index.d.mts.map +1 -0
  24. package/dist/data-sources/{rpc-datasource → evm-rpc-services}/index.mjs +1 -0
  25. package/dist/data-sources/evm-rpc-services/index.mjs.map +1 -0
  26. package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/BalanceFetcher.cjs +33 -3
  27. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.cjs.map +1 -0
  28. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts +68 -0
  29. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.cts.map +1 -0
  30. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts +68 -0
  31. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.d.mts.map +1 -0
  32. package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/BalanceFetcher.mjs +33 -3
  33. package/dist/data-sources/evm-rpc-services/services/BalanceFetcher.mjs.map +1 -0
  34. package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/TokenDetector.cjs +33 -3
  35. package/dist/data-sources/evm-rpc-services/services/TokenDetector.cjs.map +1 -0
  36. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.cts +66 -0
  37. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.cts.map +1 -0
  38. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts +66 -0
  39. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts.map +1 -0
  40. package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/TokenDetector.mjs +33 -3
  41. package/dist/data-sources/evm-rpc-services/services/TokenDetector.mjs.map +1 -0
  42. package/dist/data-sources/evm-rpc-services/services/index.cjs.map +1 -0
  43. package/dist/data-sources/evm-rpc-services/services/index.d.cts +3 -0
  44. package/dist/data-sources/evm-rpc-services/services/index.d.cts.map +1 -0
  45. package/dist/data-sources/evm-rpc-services/services/index.d.mts +3 -0
  46. package/dist/data-sources/evm-rpc-services/services/index.d.mts.map +1 -0
  47. package/dist/data-sources/evm-rpc-services/services/index.mjs.map +1 -0
  48. package/dist/data-sources/evm-rpc-services/types/assets.cjs.map +1 -0
  49. package/dist/data-sources/evm-rpc-services/types/assets.d.cts.map +1 -0
  50. package/dist/data-sources/evm-rpc-services/types/assets.d.mts.map +1 -0
  51. package/dist/data-sources/evm-rpc-services/types/assets.mjs.map +1 -0
  52. package/dist/data-sources/evm-rpc-services/types/config.cjs.map +1 -0
  53. package/dist/data-sources/evm-rpc-services/types/config.d.cts.map +1 -0
  54. package/dist/data-sources/evm-rpc-services/types/config.d.mts.map +1 -0
  55. package/dist/data-sources/evm-rpc-services/types/config.mjs.map +1 -0
  56. package/dist/data-sources/evm-rpc-services/types/core.cjs.map +1 -0
  57. package/dist/data-sources/evm-rpc-services/types/core.d.cts.map +1 -0
  58. package/dist/data-sources/evm-rpc-services/types/core.d.mts.map +1 -0
  59. package/dist/data-sources/evm-rpc-services/types/core.mjs.map +1 -0
  60. package/dist/data-sources/evm-rpc-services/types/index.cjs.map +1 -0
  61. package/dist/data-sources/evm-rpc-services/types/index.d.cts.map +1 -0
  62. package/dist/data-sources/evm-rpc-services/types/index.d.mts.map +1 -0
  63. package/dist/data-sources/evm-rpc-services/types/index.mjs.map +1 -0
  64. package/dist/data-sources/evm-rpc-services/types/multicall.cjs.map +1 -0
  65. package/dist/data-sources/evm-rpc-services/types/multicall.d.cts.map +1 -0
  66. package/dist/data-sources/evm-rpc-services/types/multicall.d.mts.map +1 -0
  67. package/dist/data-sources/evm-rpc-services/types/multicall.mjs.map +1 -0
  68. package/dist/data-sources/evm-rpc-services/types/services.cjs.map +1 -0
  69. package/dist/data-sources/evm-rpc-services/types/services.d.cts.map +1 -0
  70. package/dist/data-sources/evm-rpc-services/types/services.d.mts.map +1 -0
  71. package/dist/data-sources/evm-rpc-services/types/services.mjs.map +1 -0
  72. package/dist/data-sources/evm-rpc-services/types/state.cjs.map +1 -0
  73. package/dist/data-sources/evm-rpc-services/types/state.d.cts.map +1 -0
  74. package/dist/data-sources/evm-rpc-services/types/state.d.mts.map +1 -0
  75. package/dist/data-sources/evm-rpc-services/types/state.mjs.map +1 -0
  76. package/dist/data-sources/evm-rpc-services/utils/batch.cjs.map +1 -0
  77. package/dist/data-sources/evm-rpc-services/utils/batch.d.cts.map +1 -0
  78. package/dist/data-sources/evm-rpc-services/utils/batch.d.mts.map +1 -0
  79. package/dist/data-sources/evm-rpc-services/utils/batch.mjs.map +1 -0
  80. package/dist/data-sources/evm-rpc-services/utils/index.cjs.map +1 -0
  81. package/dist/data-sources/evm-rpc-services/utils/index.d.cts.map +1 -0
  82. package/dist/data-sources/evm-rpc-services/utils/index.d.mts.map +1 -0
  83. package/dist/data-sources/evm-rpc-services/utils/index.mjs.map +1 -0
  84. package/dist/data-sources/initDataSources.cjs +5 -1
  85. package/dist/data-sources/initDataSources.cjs.map +1 -1
  86. package/dist/data-sources/initDataSources.d.cts +15 -0
  87. package/dist/data-sources/initDataSources.d.cts.map +1 -1
  88. package/dist/data-sources/initDataSources.d.mts +15 -0
  89. package/dist/data-sources/initDataSources.d.mts.map +1 -1
  90. package/dist/data-sources/initDataSources.mjs +5 -1
  91. package/dist/data-sources/initDataSources.mjs.map +1 -1
  92. package/package.json +5 -2
  93. package/dist/data-sources/rpc-datasource/clients/MulticallClient.cjs.map +0 -1
  94. package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.cts.map +0 -1
  95. package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.mts.map +0 -1
  96. package/dist/data-sources/rpc-datasource/clients/MulticallClient.mjs.map +0 -1
  97. package/dist/data-sources/rpc-datasource/clients/index.cjs.map +0 -1
  98. package/dist/data-sources/rpc-datasource/clients/index.d.cts.map +0 -1
  99. package/dist/data-sources/rpc-datasource/clients/index.d.mts.map +0 -1
  100. package/dist/data-sources/rpc-datasource/clients/index.mjs.map +0 -1
  101. package/dist/data-sources/rpc-datasource/index.cjs.map +0 -1
  102. package/dist/data-sources/rpc-datasource/index.d.cts +0 -4
  103. package/dist/data-sources/rpc-datasource/index.d.cts.map +0 -1
  104. package/dist/data-sources/rpc-datasource/index.d.mts +0 -4
  105. package/dist/data-sources/rpc-datasource/index.d.mts.map +0 -1
  106. package/dist/data-sources/rpc-datasource/index.mjs.map +0 -1
  107. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.cjs.map +0 -1
  108. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts +0 -16
  109. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts.map +0 -1
  110. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts +0 -16
  111. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts.map +0 -1
  112. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.mjs.map +0 -1
  113. package/dist/data-sources/rpc-datasource/services/TokenDetector.cjs.map +0 -1
  114. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts +0 -14
  115. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts.map +0 -1
  116. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts +0 -14
  117. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts.map +0 -1
  118. package/dist/data-sources/rpc-datasource/services/TokenDetector.mjs.map +0 -1
  119. package/dist/data-sources/rpc-datasource/services/index.cjs.map +0 -1
  120. package/dist/data-sources/rpc-datasource/services/index.d.cts +0 -3
  121. package/dist/data-sources/rpc-datasource/services/index.d.cts.map +0 -1
  122. package/dist/data-sources/rpc-datasource/services/index.d.mts +0 -3
  123. package/dist/data-sources/rpc-datasource/services/index.d.mts.map +0 -1
  124. package/dist/data-sources/rpc-datasource/services/index.mjs.map +0 -1
  125. package/dist/data-sources/rpc-datasource/types/assets.cjs.map +0 -1
  126. package/dist/data-sources/rpc-datasource/types/assets.d.cts.map +0 -1
  127. package/dist/data-sources/rpc-datasource/types/assets.d.mts.map +0 -1
  128. package/dist/data-sources/rpc-datasource/types/assets.mjs.map +0 -1
  129. package/dist/data-sources/rpc-datasource/types/config.cjs.map +0 -1
  130. package/dist/data-sources/rpc-datasource/types/config.d.cts.map +0 -1
  131. package/dist/data-sources/rpc-datasource/types/config.d.mts.map +0 -1
  132. package/dist/data-sources/rpc-datasource/types/config.mjs.map +0 -1
  133. package/dist/data-sources/rpc-datasource/types/core.cjs.map +0 -1
  134. package/dist/data-sources/rpc-datasource/types/core.d.cts.map +0 -1
  135. package/dist/data-sources/rpc-datasource/types/core.d.mts.map +0 -1
  136. package/dist/data-sources/rpc-datasource/types/core.mjs.map +0 -1
  137. package/dist/data-sources/rpc-datasource/types/index.cjs.map +0 -1
  138. package/dist/data-sources/rpc-datasource/types/index.d.cts.map +0 -1
  139. package/dist/data-sources/rpc-datasource/types/index.d.mts.map +0 -1
  140. package/dist/data-sources/rpc-datasource/types/index.mjs.map +0 -1
  141. package/dist/data-sources/rpc-datasource/types/multicall.cjs.map +0 -1
  142. package/dist/data-sources/rpc-datasource/types/multicall.d.cts.map +0 -1
  143. package/dist/data-sources/rpc-datasource/types/multicall.d.mts.map +0 -1
  144. package/dist/data-sources/rpc-datasource/types/multicall.mjs.map +0 -1
  145. package/dist/data-sources/rpc-datasource/types/services.cjs.map +0 -1
  146. package/dist/data-sources/rpc-datasource/types/services.d.cts.map +0 -1
  147. package/dist/data-sources/rpc-datasource/types/services.d.mts.map +0 -1
  148. package/dist/data-sources/rpc-datasource/types/services.mjs.map +0 -1
  149. package/dist/data-sources/rpc-datasource/types/state.cjs.map +0 -1
  150. package/dist/data-sources/rpc-datasource/types/state.d.cts.map +0 -1
  151. package/dist/data-sources/rpc-datasource/types/state.d.mts.map +0 -1
  152. package/dist/data-sources/rpc-datasource/types/state.mjs.map +0 -1
  153. package/dist/data-sources/rpc-datasource/utils/batch.cjs.map +0 -1
  154. package/dist/data-sources/rpc-datasource/utils/batch.d.cts.map +0 -1
  155. package/dist/data-sources/rpc-datasource/utils/batch.d.mts.map +0 -1
  156. package/dist/data-sources/rpc-datasource/utils/batch.mjs.map +0 -1
  157. package/dist/data-sources/rpc-datasource/utils/index.cjs.map +0 -1
  158. package/dist/data-sources/rpc-datasource/utils/index.d.cts.map +0 -1
  159. package/dist/data-sources/rpc-datasource/utils/index.d.mts.map +0 -1
  160. package/dist/data-sources/rpc-datasource/utils/index.mjs.map +0 -1
  161. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.cjs +0 -0
  162. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.d.cts +0 -0
  163. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.d.mts +0 -0
  164. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/MulticallClient.mjs +0 -0
  165. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.cjs +0 -0
  166. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.d.cts +0 -0
  167. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.d.mts +0 -0
  168. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/clients/index.mjs +0 -0
  169. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/index.cjs +0 -0
  170. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/services/index.mjs +0 -0
  171. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.cjs +0 -0
  172. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.d.cts +0 -0
  173. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.d.mts +0 -0
  174. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/assets.mjs +0 -0
  175. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.cjs +0 -0
  176. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.d.cts +0 -0
  177. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.d.mts +0 -0
  178. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/config.mjs +0 -0
  179. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.cjs +0 -0
  180. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.d.cts +0 -0
  181. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.d.mts +0 -0
  182. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/core.mjs +0 -0
  183. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.cjs +0 -0
  184. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.d.cts +0 -0
  185. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.d.mts +0 -0
  186. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/index.mjs +0 -0
  187. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.cjs +0 -0
  188. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.d.cts +0 -0
  189. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.d.mts +0 -0
  190. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/multicall.mjs +0 -0
  191. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.cjs +0 -0
  192. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.d.cts +0 -0
  193. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.d.mts +0 -0
  194. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/services.mjs +0 -0
  195. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.cjs +0 -0
  196. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.d.cts +0 -0
  197. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.d.mts +0 -0
  198. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/types/state.mjs +0 -0
  199. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.cjs +0 -0
  200. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.d.cts +0 -0
  201. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.d.mts +0 -0
  202. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/batch.mjs +0 -0
  203. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.cjs +0 -0
  204. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.d.cts +0 -0
  205. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.d.mts +0 -0
  206. /package/dist/data-sources/{rpc-datasource → evm-rpc-services}/utils/index.mjs +0 -0
@@ -1,7 +1,10 @@
1
+ import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
2
+ import { BaseController } from "@metamask/base-controller";
3
+ import type { InternalAccount } from "@metamask/keyring-internal-api";
1
4
  import type { Messenger } from "@metamask/messenger";
2
5
  import type { NetworkState, NetworkStatus } from "@metamask/network-controller";
3
- import { AbstractDataSource } from "./AbstractDataSource.mjs";
4
- import type { DataSourceState, SubscriptionRequest } from "./AbstractDataSource.mjs";
6
+ import type { Hex } from "@metamask/utils";
7
+ import type { SubscriptionRequest } from "./AbstractDataSource.mjs";
5
8
  import type { ChainId, DataRequest, DataResponse, Middleware } from "../types.mjs";
6
9
  declare const CONTROLLER_NAME = "RpcDataSource";
7
10
  export type RpcDataSourceGetAssetsMiddlewareAction = {
@@ -24,7 +27,8 @@ export type RpcDataSourceUnsubscribeAction = {
24
27
  type: 'RpcDataSource:unsubscribe';
25
28
  handler: (subscriptionId: string) => Promise<void>;
26
29
  };
27
- export type RpcDataSourceActions = RpcDataSourceGetAssetsMiddlewareAction | RpcDataSourceGetActiveChainsAction | RpcDataSourceFetchAction | RpcDataSourceSubscribeAction | RpcDataSourceUnsubscribeAction;
30
+ export type RpcDataSourceGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, RpcDataSourceState>;
31
+ export type RpcDataSourceActions = RpcDataSourceGetStateAction | RpcDataSourceGetAssetsMiddlewareAction | RpcDataSourceGetActiveChainsAction | RpcDataSourceFetchAction | RpcDataSourceSubscribeAction | RpcDataSourceUnsubscribeAction;
28
32
  export type RpcDataSourceActiveChainsChangedEvent = {
29
33
  type: 'RpcDataSource:activeChainsUpdated';
30
34
  payload: [ChainId[]];
@@ -33,7 +37,8 @@ export type RpcDataSourceAssetsUpdatedEvent = {
33
37
  type: 'RpcDataSource:assetsUpdated';
34
38
  payload: [DataResponse, string | undefined];
35
39
  };
36
- export type RpcDataSourceEvents = RpcDataSourceActiveChainsChangedEvent | RpcDataSourceAssetsUpdatedEvent;
40
+ export type RpcDataSourceStateChangeEvent = ControllerStateChangeEvent<typeof CONTROLLER_NAME, RpcDataSourceState>;
41
+ export type RpcDataSourceEvents = RpcDataSourceStateChangeEvent | RpcDataSourceActiveChainsChangedEvent | RpcDataSourceAssetsUpdatedEvent;
37
42
  export type NetworkControllerGetStateAction = {
38
43
  type: 'NetworkController:getState';
39
44
  handler: () => NetworkState;
@@ -71,7 +76,35 @@ type AssetsControllerAssetsUpdateAction = {
71
76
  type: 'AssetsController:assetsUpdate';
72
77
  handler: (response: DataResponse, sourceId: string) => Promise<void>;
73
78
  };
74
- export type RpcDataSourceAllowedActions = NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | AssetsControllerActiveChainsUpdateAction | AssetsControllerAssetsUpdateAction;
79
+ type TokenListControllerGetStateAction = {
80
+ type: 'TokenListController:getState';
81
+ handler: () => {
82
+ tokensChainsCache: Record<string, {
83
+ timestamp: number;
84
+ data: Record<string, unknown>;
85
+ }>;
86
+ };
87
+ };
88
+ type AssetsControllerGetStateAction = {
89
+ type: 'AssetsController:getState';
90
+ handler: () => {
91
+ allTokens: Record<string, Record<string, {
92
+ address: string;
93
+ }[]>>;
94
+ allDetectedTokens: Record<string, Record<string, {
95
+ address: string;
96
+ }[]>>;
97
+ allIgnoredTokens: Record<string, Record<string, string[]>>;
98
+ };
99
+ };
100
+ type NetworkEnablementControllerGetStateAction = {
101
+ type: 'NetworkEnablementController:getState';
102
+ handler: () => {
103
+ enabledNetworkMap: Record<string, Record<string, boolean>>;
104
+ nativeAssetIdentifiers: Record<string, string>;
105
+ };
106
+ };
107
+ export type RpcDataSourceAllowedActions = NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction | AssetsControllerActiveChainsUpdateAction | AssetsControllerAssetsUpdateAction | AssetsControllerGetStateAction | TokenListControllerGetStateAction | NetworkEnablementControllerGetStateAction;
75
108
  export type RpcDataSourceAllowedEvents = NetworkControllerStateChangeEvent;
76
109
  export type RpcDataSourceMessenger = Messenger<typeof CONTROLLER_NAME, RpcDataSourceActions | RpcDataSourceAllowedActions, RpcDataSourceEvents | RpcDataSourceAllowedEvents>;
77
110
  /** Network status for each chain */
@@ -83,22 +116,31 @@ export type ChainStatus = {
83
116
  /** Network client ID for getting the provider */
84
117
  networkClientId: string;
85
118
  };
86
- export type RpcDataSourceState = {
87
- /** Network status for each active chain */
88
- chainStatuses: Record<ChainId, ChainStatus>;
89
- } & DataSourceState;
119
+ /** RpcDataSource is stateless */
120
+ export type RpcDataSourceState = Record<never, never>;
90
121
  export type RpcDataSourceOptions = {
91
122
  messenger: RpcDataSourceMessenger;
92
123
  /** Request timeout in ms */
93
124
  timeout?: number;
94
- /** Polling interval in ms */
95
- pollInterval?: number;
96
- state?: Partial<RpcDataSourceState>;
125
+ /** Balance polling interval in ms (default: 30s) */
126
+ balanceInterval?: number;
127
+ /** Token detection polling interval in ms (default: 180s / 3 min) */
128
+ detectionInterval?: number;
129
+ /** Whether token detection is enabled */
130
+ tokenDetectionEnabled?: boolean;
97
131
  };
132
+ /**
133
+ * Convert CAIP chain ID or hex chain ID to hex chain ID.
134
+ *
135
+ * @param chainId - CAIP chain ID or hex chain ID.
136
+ * @returns Hex chain ID.
137
+ */
138
+ export declare const caipChainIdToHex: (chainId: string) => Hex;
98
139
  /**
99
140
  * Data source for fetching balances via RPC calls.
100
141
  *
101
- * Used as a fallback when the Accounts API doesn't support a chain.
142
+ * Orchestrates polling through BalanceFetcher and TokenDetector,
143
+ * each of which handle their own polling intervals.
102
144
  *
103
145
  * Communicates with AssetsController via Messenger:
104
146
  *
@@ -112,9 +154,21 @@ export type RpcDataSourceOptions = {
112
154
  * - RpcDataSource:activeChainsUpdated
113
155
  * - RpcDataSource:assetsUpdated
114
156
  */
115
- export declare class RpcDataSource extends AbstractDataSource<typeof CONTROLLER_NAME, RpcDataSourceState> {
157
+ export declare class RpcDataSource extends BaseController<typeof CONTROLLER_NAME, RpcDataSourceState, RpcDataSourceMessenger> {
116
158
  #private;
117
159
  constructor(options: RpcDataSourceOptions);
160
+ /**
161
+ * Get the data source name.
162
+ *
163
+ * @returns The name of this data source.
164
+ */
165
+ getName(): string;
166
+ /**
167
+ * Get currently active chains.
168
+ *
169
+ * @returns Promise resolving to array of active chain IDs.
170
+ */
171
+ getActiveChains(): Promise<ChainId[]>;
118
172
  /**
119
173
  * Get the status of all configured chains.
120
174
  *
@@ -124,31 +178,62 @@ export declare class RpcDataSource extends AbstractDataSource<typeof CONTROLLER_
124
178
  /**
125
179
  * Get the status of a specific chain.
126
180
  *
127
- * @param chainId - The CAIP-2 chain ID to check.
128
- * @returns The chain status, or undefined if not configured.
181
+ * @param chainId - The chain ID to get status for.
182
+ * @returns The chain status or undefined if not found.
129
183
  */
130
184
  getChainStatus(chainId: ChainId): ChainStatus | undefined;
185
+ /**
186
+ * Set the balance polling interval.
187
+ *
188
+ * @param interval - The polling interval in milliseconds.
189
+ */
190
+ setBalancePollingInterval(interval: number): void;
191
+ /**
192
+ * Get the current balance polling interval.
193
+ *
194
+ * @returns The polling interval in milliseconds, or undefined if not set.
195
+ */
196
+ getBalancePollingInterval(): number | undefined;
197
+ /**
198
+ * Set the token detection polling interval.
199
+ *
200
+ * @param interval - The polling interval in milliseconds.
201
+ */
202
+ setDetectionPollingInterval(interval: number): void;
203
+ /**
204
+ * Get the current token detection polling interval.
205
+ *
206
+ * @returns The polling interval in milliseconds, or undefined if not set.
207
+ */
208
+ getDetectionPollingInterval(): number | undefined;
131
209
  fetch(request: DataRequest): Promise<DataResponse>;
132
210
  /**
133
- * Get the middleware for fetching balances via RPC.
134
- * This middleware:
135
- * - Supports multiple accounts in a single request
136
- * - Filters request to only chains this data source supports
137
- * - Fetches balances for those chains for all accounts
138
- * - Merges response into context
139
- * - Removes handled chains from request for next middleware
211
+ * Run token detection for an account on a chain.
140
212
  *
141
- * @returns The middleware function for the assets pipeline.
213
+ * @param chainId - The chain ID to detect tokens on.
214
+ * @param account - The account to detect tokens for.
215
+ * @returns Promise resolving to a DataResponse with detected assets.
142
216
  */
217
+ detectTokens(chainId: ChainId, account: InternalAccount): Promise<DataResponse>;
143
218
  get assetsMiddleware(): Middleware;
219
+ /**
220
+ * Subscribe to updates for the given request.
221
+ * Starts polling through BalanceFetcher and TokenDetector.
222
+ *
223
+ * @param subscriptionRequest - The subscription request details.
224
+ */
144
225
  subscribe(subscriptionRequest: SubscriptionRequest): Promise<void>;
226
+ /**
227
+ * Unsubscribe from updates and stop polling.
228
+ *
229
+ * @param subscriptionId - The subscription ID to unsubscribe.
230
+ */
231
+ unsubscribe(subscriptionId: string): Promise<void>;
232
+ /**
233
+ * Destroy the data source and clean up resources.
234
+ */
235
+ destroy(): void;
145
236
  }
146
- /**
147
- * Creates an RpcDataSource instance.
148
- *
149
- * @param options - Configuration options for the data source.
150
- * @returns A new RpcDataSource instance.
151
- */
152
237
  export declare function createRpcDataSource(options: RpcDataSourceOptions): RpcDataSource;
153
238
  export {};
154
239
  //# sourceMappingURL=RpcDataSource.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcDataSource.d.mts","sourceRoot":"","sources":["../../src/data-sources/RpcDataSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RpcDataSource.d.mts","sourceRoot":"","sources":["../../src/data-sources/RpcDataSource.ts"],"names":[],"mappings":"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"}