@metamask-previews/assets-controller 0.0.0-preview-903db2da → 0.0.0-preview-3ec2a74

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 (250) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/AssetsController.cjs +1028 -61
  3. package/dist/AssetsController.cjs.map +1 -1
  4. package/dist/AssetsController.d.cts +229 -83
  5. package/dist/AssetsController.d.cts.map +1 -1
  6. package/dist/AssetsController.d.mts +229 -83
  7. package/dist/AssetsController.d.mts.map +1 -1
  8. package/dist/AssetsController.mjs +1024 -59
  9. package/dist/AssetsController.mjs.map +1 -1
  10. package/dist/data-sources/AbstractDataSource.cjs +103 -0
  11. package/dist/data-sources/AbstractDataSource.cjs.map +1 -0
  12. package/dist/data-sources/AbstractDataSource.d.cts +92 -0
  13. package/dist/data-sources/AbstractDataSource.d.cts.map +1 -0
  14. package/dist/data-sources/AbstractDataSource.d.mts +92 -0
  15. package/dist/data-sources/AbstractDataSource.d.mts.map +1 -0
  16. package/dist/data-sources/AbstractDataSource.mjs +99 -0
  17. package/dist/data-sources/AbstractDataSource.mjs.map +1 -0
  18. package/dist/data-sources/AccountsApiDataSource.cjs +421 -0
  19. package/dist/data-sources/AccountsApiDataSource.cjs.map +1 -0
  20. package/dist/data-sources/AccountsApiDataSource.d.cts +103 -0
  21. package/dist/data-sources/AccountsApiDataSource.d.cts.map +1 -0
  22. package/dist/data-sources/AccountsApiDataSource.d.mts +103 -0
  23. package/dist/data-sources/AccountsApiDataSource.d.mts.map +1 -0
  24. package/dist/data-sources/AccountsApiDataSource.mjs +416 -0
  25. package/dist/data-sources/AccountsApiDataSource.mjs.map +1 -0
  26. package/dist/data-sources/BackendWebsocketDataSource.cjs +388 -0
  27. package/dist/data-sources/BackendWebsocketDataSource.cjs.map +1 -0
  28. package/dist/data-sources/BackendWebsocketDataSource.d.cts +95 -0
  29. package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +1 -0
  30. package/dist/data-sources/BackendWebsocketDataSource.d.mts +95 -0
  31. package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +1 -0
  32. package/dist/data-sources/BackendWebsocketDataSource.mjs +383 -0
  33. package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -0
  34. package/dist/data-sources/PriceDataSource.cjs +350 -0
  35. package/dist/data-sources/PriceDataSource.cjs.map +1 -0
  36. package/dist/data-sources/PriceDataSource.d.cts +153 -0
  37. package/dist/data-sources/PriceDataSource.d.cts.map +1 -0
  38. package/dist/data-sources/PriceDataSource.d.mts +153 -0
  39. package/dist/data-sources/PriceDataSource.d.mts.map +1 -0
  40. package/dist/data-sources/PriceDataSource.mjs +346 -0
  41. package/dist/data-sources/PriceDataSource.mjs.map +1 -0
  42. package/dist/data-sources/RpcDataSource.cjs +410 -0
  43. package/dist/data-sources/RpcDataSource.cjs.map +1 -0
  44. package/dist/data-sources/RpcDataSource.d.cts +154 -0
  45. package/dist/data-sources/RpcDataSource.d.cts.map +1 -0
  46. package/dist/data-sources/RpcDataSource.d.mts +154 -0
  47. package/dist/data-sources/RpcDataSource.d.mts.map +1 -0
  48. package/dist/data-sources/RpcDataSource.mjs +405 -0
  49. package/dist/data-sources/RpcDataSource.mjs.map +1 -0
  50. package/dist/data-sources/SnapDataSource.cjs +734 -0
  51. package/dist/data-sources/SnapDataSource.cjs.map +1 -0
  52. package/dist/data-sources/SnapDataSource.d.cts +217 -0
  53. package/dist/data-sources/SnapDataSource.d.cts.map +1 -0
  54. package/dist/data-sources/SnapDataSource.d.mts +217 -0
  55. package/dist/data-sources/SnapDataSource.d.mts.map +1 -0
  56. package/dist/data-sources/SnapDataSource.mjs +723 -0
  57. package/dist/data-sources/SnapDataSource.mjs.map +1 -0
  58. package/dist/data-sources/TokenDataSource.cjs +179 -0
  59. package/dist/data-sources/TokenDataSource.cjs.map +1 -0
  60. package/dist/data-sources/TokenDataSource.d.cts +62 -0
  61. package/dist/data-sources/TokenDataSource.d.cts.map +1 -0
  62. package/dist/data-sources/TokenDataSource.d.mts +62 -0
  63. package/dist/data-sources/TokenDataSource.d.mts.map +1 -0
  64. package/dist/data-sources/TokenDataSource.mjs +175 -0
  65. package/dist/data-sources/TokenDataSource.mjs.map +1 -0
  66. package/dist/data-sources/index.cjs +62 -0
  67. package/dist/data-sources/index.cjs.map +1 -0
  68. package/dist/data-sources/index.d.cts +9 -0
  69. package/dist/data-sources/index.d.cts.map +1 -0
  70. package/dist/data-sources/index.d.mts +9 -0
  71. package/dist/data-sources/index.d.mts.map +1 -0
  72. package/dist/data-sources/index.mjs +23 -0
  73. package/dist/data-sources/index.mjs.map +1 -0
  74. package/dist/data-sources/initDataSources.cjs +199 -0
  75. package/dist/data-sources/initDataSources.cjs.map +1 -0
  76. package/dist/data-sources/initDataSources.d.cts +123 -0
  77. package/dist/data-sources/initDataSources.d.cts.map +1 -0
  78. package/dist/data-sources/initDataSources.d.mts +123 -0
  79. package/dist/data-sources/initDataSources.d.mts.map +1 -0
  80. package/dist/data-sources/initDataSources.mjs +194 -0
  81. package/dist/data-sources/initDataSources.mjs.map +1 -0
  82. package/dist/data-sources/rpc-datasource/clients/MulticallClient.cjs +638 -0
  83. package/dist/data-sources/rpc-datasource/clients/MulticallClient.cjs.map +1 -0
  84. package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.cts +47 -0
  85. package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.cts.map +1 -0
  86. package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.mts +47 -0
  87. package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.mts.map +1 -0
  88. package/dist/data-sources/rpc-datasource/clients/MulticallClient.mjs +632 -0
  89. package/dist/data-sources/rpc-datasource/clients/MulticallClient.mjs.map +1 -0
  90. package/dist/data-sources/rpc-datasource/clients/index.cjs +8 -0
  91. package/dist/data-sources/rpc-datasource/clients/index.cjs.map +1 -0
  92. package/dist/data-sources/rpc-datasource/clients/index.d.cts +3 -0
  93. package/dist/data-sources/rpc-datasource/clients/index.d.cts.map +1 -0
  94. package/dist/data-sources/rpc-datasource/clients/index.d.mts +3 -0
  95. package/dist/data-sources/rpc-datasource/clients/index.d.mts.map +1 -0
  96. package/dist/data-sources/rpc-datasource/clients/index.mjs +2 -0
  97. package/dist/data-sources/rpc-datasource/clients/index.mjs.map +1 -0
  98. package/dist/data-sources/rpc-datasource/index.cjs +9 -0
  99. package/dist/data-sources/rpc-datasource/index.cjs.map +1 -0
  100. package/dist/data-sources/rpc-datasource/index.d.cts +4 -0
  101. package/dist/data-sources/rpc-datasource/index.d.cts.map +1 -0
  102. package/dist/data-sources/rpc-datasource/index.d.mts +4 -0
  103. package/dist/data-sources/rpc-datasource/index.d.mts.map +1 -0
  104. package/dist/data-sources/rpc-datasource/index.mjs +3 -0
  105. package/dist/data-sources/rpc-datasource/index.mjs.map +1 -0
  106. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.cjs +167 -0
  107. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.cjs.map +1 -0
  108. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts +16 -0
  109. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts.map +1 -0
  110. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts +16 -0
  111. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts.map +1 -0
  112. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.mjs +163 -0
  113. package/dist/data-sources/rpc-datasource/services/BalanceFetcher.mjs.map +1 -0
  114. package/dist/data-sources/rpc-datasource/services/TokenDetector.cjs +173 -0
  115. package/dist/data-sources/rpc-datasource/services/TokenDetector.cjs.map +1 -0
  116. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts +14 -0
  117. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts.map +1 -0
  118. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts +14 -0
  119. package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts.map +1 -0
  120. package/dist/data-sources/rpc-datasource/services/TokenDetector.mjs +169 -0
  121. package/dist/data-sources/rpc-datasource/services/TokenDetector.mjs.map +1 -0
  122. package/dist/data-sources/rpc-datasource/services/index.cjs +8 -0
  123. package/dist/data-sources/rpc-datasource/services/index.cjs.map +1 -0
  124. package/dist/data-sources/rpc-datasource/services/index.d.cts +3 -0
  125. package/dist/data-sources/rpc-datasource/services/index.d.cts.map +1 -0
  126. package/dist/data-sources/rpc-datasource/services/index.d.mts +3 -0
  127. package/dist/data-sources/rpc-datasource/services/index.d.mts.map +1 -0
  128. package/dist/data-sources/rpc-datasource/services/index.mjs +3 -0
  129. package/dist/data-sources/rpc-datasource/services/index.mjs.map +1 -0
  130. package/dist/data-sources/rpc-datasource/types/assets.cjs +3 -0
  131. package/dist/data-sources/rpc-datasource/types/assets.cjs.map +1 -0
  132. package/dist/data-sources/rpc-datasource/types/assets.d.cts +53 -0
  133. package/dist/data-sources/rpc-datasource/types/assets.d.cts.map +1 -0
  134. package/dist/data-sources/rpc-datasource/types/assets.d.mts +53 -0
  135. package/dist/data-sources/rpc-datasource/types/assets.d.mts.map +1 -0
  136. package/dist/data-sources/rpc-datasource/types/assets.mjs +2 -0
  137. package/dist/data-sources/rpc-datasource/types/assets.mjs.map +1 -0
  138. package/dist/data-sources/rpc-datasource/types/config.cjs +3 -0
  139. package/dist/data-sources/rpc-datasource/types/config.cjs.map +1 -0
  140. package/dist/data-sources/rpc-datasource/types/config.d.cts +18 -0
  141. package/dist/data-sources/rpc-datasource/types/config.d.cts.map +1 -0
  142. package/dist/data-sources/rpc-datasource/types/config.d.mts +18 -0
  143. package/dist/data-sources/rpc-datasource/types/config.d.mts.map +1 -0
  144. package/dist/data-sources/rpc-datasource/types/config.mjs +2 -0
  145. package/dist/data-sources/rpc-datasource/types/config.mjs.map +1 -0
  146. package/dist/data-sources/rpc-datasource/types/core.cjs +3 -0
  147. package/dist/data-sources/rpc-datasource/types/core.cjs.map +1 -0
  148. package/dist/data-sources/rpc-datasource/types/core.d.cts +19 -0
  149. package/dist/data-sources/rpc-datasource/types/core.d.cts.map +1 -0
  150. package/dist/data-sources/rpc-datasource/types/core.d.mts +19 -0
  151. package/dist/data-sources/rpc-datasource/types/core.d.mts.map +1 -0
  152. package/dist/data-sources/rpc-datasource/types/core.mjs +2 -0
  153. package/dist/data-sources/rpc-datasource/types/core.mjs.map +1 -0
  154. package/dist/data-sources/rpc-datasource/types/index.cjs +3 -0
  155. package/dist/data-sources/rpc-datasource/types/index.cjs.map +1 -0
  156. package/dist/data-sources/rpc-datasource/types/index.d.cts +7 -0
  157. package/dist/data-sources/rpc-datasource/types/index.d.cts.map +1 -0
  158. package/dist/data-sources/rpc-datasource/types/index.d.mts +7 -0
  159. package/dist/data-sources/rpc-datasource/types/index.d.mts.map +1 -0
  160. package/dist/data-sources/rpc-datasource/types/index.mjs +2 -0
  161. package/dist/data-sources/rpc-datasource/types/index.mjs.map +1 -0
  162. package/dist/data-sources/rpc-datasource/types/multicall.cjs +3 -0
  163. package/dist/data-sources/rpc-datasource/types/multicall.cjs.map +1 -0
  164. package/dist/data-sources/rpc-datasource/types/multicall.d.cts +24 -0
  165. package/dist/data-sources/rpc-datasource/types/multicall.d.cts.map +1 -0
  166. package/dist/data-sources/rpc-datasource/types/multicall.d.mts +24 -0
  167. package/dist/data-sources/rpc-datasource/types/multicall.d.mts.map +1 -0
  168. package/dist/data-sources/rpc-datasource/types/multicall.mjs +2 -0
  169. package/dist/data-sources/rpc-datasource/types/multicall.mjs.map +1 -0
  170. package/dist/data-sources/rpc-datasource/types/services.cjs +3 -0
  171. package/dist/data-sources/rpc-datasource/types/services.cjs.map +1 -0
  172. package/dist/data-sources/rpc-datasource/types/services.d.cts +74 -0
  173. package/dist/data-sources/rpc-datasource/types/services.d.cts.map +1 -0
  174. package/dist/data-sources/rpc-datasource/types/services.d.mts +74 -0
  175. package/dist/data-sources/rpc-datasource/types/services.d.mts.map +1 -0
  176. package/dist/data-sources/rpc-datasource/types/services.mjs +2 -0
  177. package/dist/data-sources/rpc-datasource/types/services.mjs.map +1 -0
  178. package/dist/data-sources/rpc-datasource/types/state.cjs +3 -0
  179. package/dist/data-sources/rpc-datasource/types/state.cjs.map +1 -0
  180. package/dist/data-sources/rpc-datasource/types/state.d.cts +67 -0
  181. package/dist/data-sources/rpc-datasource/types/state.d.cts.map +1 -0
  182. package/dist/data-sources/rpc-datasource/types/state.d.mts +67 -0
  183. package/dist/data-sources/rpc-datasource/types/state.d.mts.map +1 -0
  184. package/dist/data-sources/rpc-datasource/types/state.mjs +2 -0
  185. package/dist/data-sources/rpc-datasource/types/state.mjs.map +1 -0
  186. package/dist/data-sources/rpc-datasource/utils/batch.cjs +45 -0
  187. package/dist/data-sources/rpc-datasource/utils/batch.cjs.map +1 -0
  188. package/dist/data-sources/rpc-datasource/utils/batch.d.cts +28 -0
  189. package/dist/data-sources/rpc-datasource/utils/batch.d.cts.map +1 -0
  190. package/dist/data-sources/rpc-datasource/utils/batch.d.mts +28 -0
  191. package/dist/data-sources/rpc-datasource/utils/batch.d.mts.map +1 -0
  192. package/dist/data-sources/rpc-datasource/utils/batch.mjs +40 -0
  193. package/dist/data-sources/rpc-datasource/utils/batch.mjs.map +1 -0
  194. package/dist/data-sources/rpc-datasource/utils/index.cjs +7 -0
  195. package/dist/data-sources/rpc-datasource/utils/index.cjs.map +1 -0
  196. package/dist/data-sources/rpc-datasource/utils/index.d.cts +2 -0
  197. package/dist/data-sources/rpc-datasource/utils/index.d.cts.map +1 -0
  198. package/dist/data-sources/rpc-datasource/utils/index.d.mts +2 -0
  199. package/dist/data-sources/rpc-datasource/utils/index.d.mts.map +1 -0
  200. package/dist/data-sources/rpc-datasource/utils/index.mjs +2 -0
  201. package/dist/data-sources/rpc-datasource/utils/index.mjs.map +1 -0
  202. package/dist/index.cjs +70 -1
  203. package/dist/index.cjs.map +1 -1
  204. package/dist/index.d.cts +19 -1
  205. package/dist/index.d.cts.map +1 -1
  206. package/dist/index.d.mts +19 -1
  207. package/dist/index.d.mts.map +1 -1
  208. package/dist/index.mjs +31 -0
  209. package/dist/index.mjs.map +1 -1
  210. package/dist/logger.cjs +7 -0
  211. package/dist/logger.cjs.map +1 -0
  212. package/dist/logger.d.cts +5 -0
  213. package/dist/logger.d.cts.map +1 -0
  214. package/dist/logger.d.mts +5 -0
  215. package/dist/logger.d.mts.map +1 -0
  216. package/dist/logger.mjs +4 -0
  217. package/dist/logger.mjs.map +1 -0
  218. package/dist/middlewares/DetectionMiddleware.cjs +101 -0
  219. package/dist/middlewares/DetectionMiddleware.cjs.map +1 -0
  220. package/dist/middlewares/DetectionMiddleware.d.cts +54 -0
  221. package/dist/middlewares/DetectionMiddleware.d.cts.map +1 -0
  222. package/dist/middlewares/DetectionMiddleware.d.mts +54 -0
  223. package/dist/middlewares/DetectionMiddleware.d.mts.map +1 -0
  224. package/dist/middlewares/DetectionMiddleware.mjs +97 -0
  225. package/dist/middlewares/DetectionMiddleware.mjs.map +1 -0
  226. package/dist/middlewares/index.cjs +6 -0
  227. package/dist/middlewares/index.cjs.map +1 -0
  228. package/dist/middlewares/index.d.cts +2 -0
  229. package/dist/middlewares/index.d.cts.map +1 -0
  230. package/dist/middlewares/index.d.mts +2 -0
  231. package/dist/middlewares/index.d.mts.map +1 -0
  232. package/dist/middlewares/index.mjs +2 -0
  233. package/dist/middlewares/index.mjs.map +1 -0
  234. package/dist/types.cjs +39 -0
  235. package/dist/types.cjs.map +1 -0
  236. package/dist/types.d.cts +360 -0
  237. package/dist/types.d.cts.map +1 -0
  238. package/dist/types.d.mts +360 -0
  239. package/dist/types.d.mts.map +1 -0
  240. package/dist/types.mjs +35 -0
  241. package/dist/types.mjs.map +1 -0
  242. package/dist/utils.cjs +28 -0
  243. package/dist/utils.cjs.map +1 -0
  244. package/dist/utils.d.cts +13 -0
  245. package/dist/utils.d.cts.map +1 -0
  246. package/dist/utils.d.mts +13 -0
  247. package/dist/utils.d.mts.map +1 -0
  248. package/dist/utils.mjs +24 -0
  249. package/dist/utils.mjs.map +1 -0
  250. package/package.json +15 -2
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reduceInBatchesSerially = exports.divideIntoBatches = void 0;
4
+ /**
5
+ * Divides an array into batches of specified size.
6
+ *
7
+ * @param values - Array of values to divide.
8
+ * @param options - Options containing batchSize.
9
+ * @param options.batchSize - The size of each batch.
10
+ * @returns Array of batches.
11
+ */
12
+ function divideIntoBatches(values, { batchSize }) {
13
+ if (batchSize <= 0) {
14
+ throw new Error('batchSize must be greater than 0');
15
+ }
16
+ const batches = [];
17
+ for (let i = 0; i < values.length; i += batchSize) {
18
+ batches.push(values.slice(i, i + batchSize));
19
+ }
20
+ return batches;
21
+ }
22
+ exports.divideIntoBatches = divideIntoBatches;
23
+ /**
24
+ * Reduces an array in serial batches, applying an async function to each batch.
25
+ *
26
+ * @param options - The options for batch reduction.
27
+ * @param options.values - Array of values to process.
28
+ * @param options.batchSize - Size of each batch.
29
+ * @param options.eachBatch - Async function to apply to each batch.
30
+ * @param options.initialResult - Initial result value.
31
+ * @returns The final reduced result.
32
+ */
33
+ async function reduceInBatchesSerially({ values, batchSize, eachBatch, initialResult, }) {
34
+ const batches = divideIntoBatches(values, { batchSize });
35
+ let workingResult = initialResult;
36
+ for (const [index, batch] of batches.entries()) {
37
+ workingResult = await eachBatch(workingResult, batch, index);
38
+ }
39
+ // There's no way around this — we have to assume that in the end, the result
40
+ // matches the intended type.
41
+ const finalResult = workingResult;
42
+ return finalResult;
43
+ }
44
+ exports.reduceInBatchesSerially = reduceInBatchesSerially;
45
+ //# sourceMappingURL=batch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.cjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,MAAsB,EACtB,EAAE,SAAS,EAAyB;IAEpC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAbD,8CAaC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,uBAAuB,CAAgB,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GAUd;IACC,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,6EAA6E;IAC7E,6BAA6B;IAC7B,MAAM,WAAW,GAAG,aAAuB,CAAC;IAC5C,OAAO,WAAW,CAAC;AACrB,CAAC;AAxBD,0DAwBC","sourcesContent":["/**\n * Divides an array into batches of specified size.\n *\n * @param values - Array of values to divide.\n * @param options - Options containing batchSize.\n * @param options.batchSize - The size of each batch.\n * @returns Array of batches.\n */\nexport function divideIntoBatches<ArrayElement>(\n values: ArrayElement[],\n { batchSize }: { batchSize: number },\n): ArrayElement[][] {\n if (batchSize <= 0) {\n throw new Error('batchSize must be greater than 0');\n }\n\n const batches: ArrayElement[][] = [];\n for (let i = 0; i < values.length; i += batchSize) {\n batches.push(values.slice(i, i + batchSize));\n }\n return batches;\n}\n\n/**\n * Reduces an array in serial batches, applying an async function to each batch.\n *\n * @param options - The options for batch reduction.\n * @param options.values - Array of values to process.\n * @param options.batchSize - Size of each batch.\n * @param options.eachBatch - Async function to apply to each batch.\n * @param options.initialResult - Initial result value.\n * @returns The final reduced result.\n */\nexport async function reduceInBatchesSerially<Value, Result>({\n values,\n batchSize,\n eachBatch,\n initialResult,\n}: {\n values: Value[];\n batchSize: number;\n eachBatch: (\n workingResult: Partial<Result>,\n batch: Value[],\n index: number,\n ) => Partial<Result> | Promise<Partial<Result>>;\n initialResult: Partial<Result>;\n}): Promise<Result> {\n const batches = divideIntoBatches(values, { batchSize });\n let workingResult = initialResult;\n for (const [index, batch] of batches.entries()) {\n workingResult = await eachBatch(workingResult, batch, index);\n }\n // There's no way around this — we have to assume that in the end, the result\n // matches the intended type.\n const finalResult = workingResult as Result;\n return finalResult;\n}\n"]}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Divides an array into batches of specified size.
3
+ *
4
+ * @param values - Array of values to divide.
5
+ * @param options - Options containing batchSize.
6
+ * @param options.batchSize - The size of each batch.
7
+ * @returns Array of batches.
8
+ */
9
+ export declare function divideIntoBatches<ArrayElement>(values: ArrayElement[], { batchSize }: {
10
+ batchSize: number;
11
+ }): ArrayElement[][];
12
+ /**
13
+ * Reduces an array in serial batches, applying an async function to each batch.
14
+ *
15
+ * @param options - The options for batch reduction.
16
+ * @param options.values - Array of values to process.
17
+ * @param options.batchSize - Size of each batch.
18
+ * @param options.eachBatch - Async function to apply to each batch.
19
+ * @param options.initialResult - Initial result value.
20
+ * @returns The final reduced result.
21
+ */
22
+ export declare function reduceInBatchesSerially<Value, Result>({ values, batchSize, eachBatch, initialResult, }: {
23
+ values: Value[];
24
+ batchSize: number;
25
+ eachBatch: (workingResult: Partial<Result>, batch: Value[], index: number) => Partial<Result> | Promise<Partial<Result>>;
26
+ initialResult: Partial<Result>;
27
+ }): Promise<Result>;
28
+ //# sourceMappingURL=batch.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.cts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAC5C,MAAM,EAAE,YAAY,EAAE,EACtB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACnC,YAAY,EAAE,EAAE,CAUlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GACd,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CACT,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Divides an array into batches of specified size.
3
+ *
4
+ * @param values - Array of values to divide.
5
+ * @param options - Options containing batchSize.
6
+ * @param options.batchSize - The size of each batch.
7
+ * @returns Array of batches.
8
+ */
9
+ export declare function divideIntoBatches<ArrayElement>(values: ArrayElement[], { batchSize }: {
10
+ batchSize: number;
11
+ }): ArrayElement[][];
12
+ /**
13
+ * Reduces an array in serial batches, applying an async function to each batch.
14
+ *
15
+ * @param options - The options for batch reduction.
16
+ * @param options.values - Array of values to process.
17
+ * @param options.batchSize - Size of each batch.
18
+ * @param options.eachBatch - Async function to apply to each batch.
19
+ * @param options.initialResult - Initial result value.
20
+ * @returns The final reduced result.
21
+ */
22
+ export declare function reduceInBatchesSerially<Value, Result>({ values, batchSize, eachBatch, initialResult, }: {
23
+ values: Value[];
24
+ batchSize: number;
25
+ eachBatch: (workingResult: Partial<Result>, batch: Value[], index: number) => Partial<Result> | Promise<Partial<Result>>;
26
+ initialResult: Partial<Result>;
27
+ }): Promise<Result>;
28
+ //# sourceMappingURL=batch.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.mts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAC5C,MAAM,EAAE,YAAY,EAAE,EACtB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACnC,YAAY,EAAE,EAAE,CAUlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GACd,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CACT,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Divides an array into batches of specified size.
3
+ *
4
+ * @param values - Array of values to divide.
5
+ * @param options - Options containing batchSize.
6
+ * @param options.batchSize - The size of each batch.
7
+ * @returns Array of batches.
8
+ */
9
+ export function divideIntoBatches(values, { batchSize }) {
10
+ if (batchSize <= 0) {
11
+ throw new Error('batchSize must be greater than 0');
12
+ }
13
+ const batches = [];
14
+ for (let i = 0; i < values.length; i += batchSize) {
15
+ batches.push(values.slice(i, i + batchSize));
16
+ }
17
+ return batches;
18
+ }
19
+ /**
20
+ * Reduces an array in serial batches, applying an async function to each batch.
21
+ *
22
+ * @param options - The options for batch reduction.
23
+ * @param options.values - Array of values to process.
24
+ * @param options.batchSize - Size of each batch.
25
+ * @param options.eachBatch - Async function to apply to each batch.
26
+ * @param options.initialResult - Initial result value.
27
+ * @returns The final reduced result.
28
+ */
29
+ export async function reduceInBatchesSerially({ values, batchSize, eachBatch, initialResult, }) {
30
+ const batches = divideIntoBatches(values, { batchSize });
31
+ let workingResult = initialResult;
32
+ for (const [index, batch] of batches.entries()) {
33
+ workingResult = await eachBatch(workingResult, batch, index);
34
+ }
35
+ // There's no way around this — we have to assume that in the end, the result
36
+ // matches the intended type.
37
+ const finalResult = workingResult;
38
+ return finalResult;
39
+ }
40
+ //# sourceMappingURL=batch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.mjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,EAAE,SAAS,EAAyB;IAEpC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAgB,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GAUd;IACC,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,6EAA6E;IAC7E,6BAA6B;IAC7B,MAAM,WAAW,GAAG,aAAuB,CAAC;IAC5C,OAAO,WAAW,CAAC;AACrB,CAAC","sourcesContent":["/**\n * Divides an array into batches of specified size.\n *\n * @param values - Array of values to divide.\n * @param options - Options containing batchSize.\n * @param options.batchSize - The size of each batch.\n * @returns Array of batches.\n */\nexport function divideIntoBatches<ArrayElement>(\n values: ArrayElement[],\n { batchSize }: { batchSize: number },\n): ArrayElement[][] {\n if (batchSize <= 0) {\n throw new Error('batchSize must be greater than 0');\n }\n\n const batches: ArrayElement[][] = [];\n for (let i = 0; i < values.length; i += batchSize) {\n batches.push(values.slice(i, i + batchSize));\n }\n return batches;\n}\n\n/**\n * Reduces an array in serial batches, applying an async function to each batch.\n *\n * @param options - The options for batch reduction.\n * @param options.values - Array of values to process.\n * @param options.batchSize - Size of each batch.\n * @param options.eachBatch - Async function to apply to each batch.\n * @param options.initialResult - Initial result value.\n * @returns The final reduced result.\n */\nexport async function reduceInBatchesSerially<Value, Result>({\n values,\n batchSize,\n eachBatch,\n initialResult,\n}: {\n values: Value[];\n batchSize: number;\n eachBatch: (\n workingResult: Partial<Result>,\n batch: Value[],\n index: number,\n ) => Partial<Result> | Promise<Partial<Result>>;\n initialResult: Partial<Result>;\n}): Promise<Result> {\n const batches = divideIntoBatches(values, { batchSize });\n let workingResult = initialResult;\n for (const [index, batch] of batches.entries()) {\n workingResult = await eachBatch(workingResult, batch, index);\n }\n // There's no way around this — we have to assume that in the end, the result\n // matches the intended type.\n const finalResult = workingResult as Result;\n return finalResult;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reduceInBatchesSerially = exports.divideIntoBatches = void 0;
4
+ var batch_1 = require("./batch.cjs");
5
+ Object.defineProperty(exports, "divideIntoBatches", { enumerable: true, get: function () { return batch_1.divideIntoBatches; } });
6
+ Object.defineProperty(exports, "reduceInBatchesSerially", { enumerable: true, get: function () { return batch_1.reduceInBatchesSerially; } });
7
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":";;;AAAA,qCAAqE;AAA5D,0GAAA,iBAAiB,OAAA;AAAE,gHAAA,uBAAuB,OAAA","sourcesContent":["export { divideIntoBatches, reduceInBatchesSerially } from './batch';\n"]}
@@ -0,0 +1,2 @@
1
+ export { divideIntoBatches, reduceInBatchesSerially } from "./batch.cjs";
2
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB"}
@@ -0,0 +1,2 @@
1
+ export { divideIntoBatches, reduceInBatchesSerially } from "./batch.mjs";
2
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB"}
@@ -0,0 +1,2 @@
1
+ export { divideIntoBatches, reduceInBatchesSerially } from "./batch.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB","sourcesContent":["export { divideIntoBatches, reduceInBatchesSerially } from './batch';\n"]}
package/dist/index.cjs CHANGED
@@ -1,7 +1,76 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultAssetsControllerState = exports.AssetsController = void 0;
3
+ exports.normalizeAssetId = exports.initDataSources = exports.initMessengers = exports.DetectionMiddleware = exports.PriceDataSource = exports.TokenDataSource = exports.isTronChain = exports.isBitcoinChain = exports.isSolanaChain = exports.isSnapSupportedChain = exports.getSnapTypeForChain = exports.SNAP_REGISTRY = exports.DEFAULT_SNAP_POLL_INTERVAL = exports.DEFAULT_TRON_POLL_INTERVAL = exports.DEFAULT_BITCOIN_POLL_INTERVAL = exports.DEFAULT_SOLANA_POLL_INTERVAL = exports.ALL_DEFAULT_NETWORKS = exports.TRON_NILE_HEX = exports.TRON_SHASTA_HEX = exports.TRON_MAINNET_HEX = exports.TRON_NILE = exports.TRON_SHASTA = exports.TRON_MAINNET = exports.BITCOIN_TESTNET = exports.BITCOIN_MAINNET = exports.SOLANA_TESTNET = exports.SOLANA_DEVNET = exports.SOLANA_MAINNET = exports.TRON_CHAIN_PREFIX = exports.BITCOIN_CHAIN_PREFIX = exports.SOLANA_CHAIN_PREFIX = exports.TRON_SNAP_ID = exports.BITCOIN_SNAP_ID = exports.SOLANA_SNAP_ID = exports.SNAP_DATA_SOURCE_NAME = exports.createSnapDataSource = exports.SnapDataSource = exports.createRpcDataSource = exports.RpcDataSource = exports.createBackendWebsocketDataSource = exports.BackendWebsocketDataSource = exports.createAccountsApiDataSource = exports.AccountsApiDataSource = exports.AbstractDataSource = exports.getDefaultAssetsControllerState = exports.AssetsController = void 0;
4
+ // Main controller export
4
5
  var AssetsController_1 = require("./AssetsController.cjs");
5
6
  Object.defineProperty(exports, "AssetsController", { enumerable: true, get: function () { return AssetsController_1.AssetsController; } });
6
7
  Object.defineProperty(exports, "getDefaultAssetsControllerState", { enumerable: true, get: function () { return AssetsController_1.getDefaultAssetsControllerState; } });
8
+ // Data sources - base class and types
9
+ var data_sources_1 = require("./data-sources/index.cjs");
10
+ Object.defineProperty(exports, "AbstractDataSource", { enumerable: true, get: function () { return data_sources_1.AbstractDataSource; } });
11
+ // Data sources - AccountsApi
12
+ var data_sources_2 = require("./data-sources/index.cjs");
13
+ Object.defineProperty(exports, "AccountsApiDataSource", { enumerable: true, get: function () { return data_sources_2.AccountsApiDataSource; } });
14
+ Object.defineProperty(exports, "createAccountsApiDataSource", { enumerable: true, get: function () { return data_sources_2.createAccountsApiDataSource; } });
15
+ // Data sources - BackendWebsocket
16
+ var data_sources_3 = require("./data-sources/index.cjs");
17
+ Object.defineProperty(exports, "BackendWebsocketDataSource", { enumerable: true, get: function () { return data_sources_3.BackendWebsocketDataSource; } });
18
+ Object.defineProperty(exports, "createBackendWebsocketDataSource", { enumerable: true, get: function () { return data_sources_3.createBackendWebsocketDataSource; } });
19
+ // Data sources - RPC
20
+ var data_sources_4 = require("./data-sources/index.cjs");
21
+ Object.defineProperty(exports, "RpcDataSource", { enumerable: true, get: function () { return data_sources_4.RpcDataSource; } });
22
+ Object.defineProperty(exports, "createRpcDataSource", { enumerable: true, get: function () { return data_sources_4.createRpcDataSource; } });
23
+ // Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)
24
+ var data_sources_5 = require("./data-sources/index.cjs");
25
+ Object.defineProperty(exports, "SnapDataSource", { enumerable: true, get: function () { return data_sources_5.SnapDataSource; } });
26
+ Object.defineProperty(exports, "createSnapDataSource", { enumerable: true, get: function () { return data_sources_5.createSnapDataSource; } });
27
+ Object.defineProperty(exports, "SNAP_DATA_SOURCE_NAME", { enumerable: true, get: function () { return data_sources_5.SNAP_DATA_SOURCE_NAME; } });
28
+ // Snap IDs
29
+ Object.defineProperty(exports, "SOLANA_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.SOLANA_SNAP_ID; } });
30
+ Object.defineProperty(exports, "BITCOIN_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.BITCOIN_SNAP_ID; } });
31
+ Object.defineProperty(exports, "TRON_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.TRON_SNAP_ID; } });
32
+ // Chain prefixes
33
+ Object.defineProperty(exports, "SOLANA_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.SOLANA_CHAIN_PREFIX; } });
34
+ Object.defineProperty(exports, "BITCOIN_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.BITCOIN_CHAIN_PREFIX; } });
35
+ Object.defineProperty(exports, "TRON_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.TRON_CHAIN_PREFIX; } });
36
+ // Networks
37
+ Object.defineProperty(exports, "SOLANA_MAINNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_MAINNET; } });
38
+ Object.defineProperty(exports, "SOLANA_DEVNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_DEVNET; } });
39
+ Object.defineProperty(exports, "SOLANA_TESTNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_TESTNET; } });
40
+ Object.defineProperty(exports, "BITCOIN_MAINNET", { enumerable: true, get: function () { return data_sources_5.BITCOIN_MAINNET; } });
41
+ Object.defineProperty(exports, "BITCOIN_TESTNET", { enumerable: true, get: function () { return data_sources_5.BITCOIN_TESTNET; } });
42
+ Object.defineProperty(exports, "TRON_MAINNET", { enumerable: true, get: function () { return data_sources_5.TRON_MAINNET; } });
43
+ Object.defineProperty(exports, "TRON_SHASTA", { enumerable: true, get: function () { return data_sources_5.TRON_SHASTA; } });
44
+ Object.defineProperty(exports, "TRON_NILE", { enumerable: true, get: function () { return data_sources_5.TRON_NILE; } });
45
+ Object.defineProperty(exports, "TRON_MAINNET_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_MAINNET_HEX; } });
46
+ Object.defineProperty(exports, "TRON_SHASTA_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_SHASTA_HEX; } });
47
+ Object.defineProperty(exports, "TRON_NILE_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_NILE_HEX; } });
48
+ Object.defineProperty(exports, "ALL_DEFAULT_NETWORKS", { enumerable: true, get: function () { return data_sources_5.ALL_DEFAULT_NETWORKS; } });
49
+ // Poll intervals
50
+ Object.defineProperty(exports, "DEFAULT_SOLANA_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_SOLANA_POLL_INTERVAL; } });
51
+ Object.defineProperty(exports, "DEFAULT_BITCOIN_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_BITCOIN_POLL_INTERVAL; } });
52
+ Object.defineProperty(exports, "DEFAULT_TRON_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_TRON_POLL_INTERVAL; } });
53
+ Object.defineProperty(exports, "DEFAULT_SNAP_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_SNAP_POLL_INTERVAL; } });
54
+ // Snap registry
55
+ Object.defineProperty(exports, "SNAP_REGISTRY", { enumerable: true, get: function () { return data_sources_5.SNAP_REGISTRY; } });
56
+ // Helper functions
57
+ Object.defineProperty(exports, "getSnapTypeForChain", { enumerable: true, get: function () { return data_sources_5.getSnapTypeForChain; } });
58
+ Object.defineProperty(exports, "isSnapSupportedChain", { enumerable: true, get: function () { return data_sources_5.isSnapSupportedChain; } });
59
+ Object.defineProperty(exports, "isSolanaChain", { enumerable: true, get: function () { return data_sources_5.isSolanaChain; } });
60
+ Object.defineProperty(exports, "isBitcoinChain", { enumerable: true, get: function () { return data_sources_5.isBitcoinChain; } });
61
+ Object.defineProperty(exports, "isTronChain", { enumerable: true, get: function () { return data_sources_5.isTronChain; } });
62
+ // Enrichment data sources
63
+ var data_sources_6 = require("./data-sources/index.cjs");
64
+ Object.defineProperty(exports, "TokenDataSource", { enumerable: true, get: function () { return data_sources_6.TokenDataSource; } });
65
+ Object.defineProperty(exports, "PriceDataSource", { enumerable: true, get: function () { return data_sources_6.PriceDataSource; } });
66
+ // Middlewares
67
+ var middlewares_1 = require("./middlewares/index.cjs");
68
+ Object.defineProperty(exports, "DetectionMiddleware", { enumerable: true, get: function () { return middlewares_1.DetectionMiddleware; } });
69
+ // Data source initialization
70
+ var data_sources_7 = require("./data-sources/index.cjs");
71
+ Object.defineProperty(exports, "initMessengers", { enumerable: true, get: function () { return data_sources_7.initMessengers; } });
72
+ Object.defineProperty(exports, "initDataSources", { enumerable: true, get: function () { return data_sources_7.initDataSources; } });
73
+ // Utilities
74
+ var utils_1 = require("./utils.cjs");
75
+ Object.defineProperty(exports, "normalizeAssetId", { enumerable: true, get: function () { return utils_1.normalizeAssetId; } });
7
76
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAQA,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA","sourcesContent":["export type {\n AssetsControllerState,\n AssetsControllerGetStateAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerEvents,\n AssetsControllerMessenger,\n} from './AssetsController';\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA;AA2EjC,sCAAsC;AACtC,yDAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAI3B,6BAA6B;AAC7B,yDAGwB;AAFtB,qHAAA,qBAAqB,OAAA;AACrB,2HAAA,2BAA2B,OAAA;AAW7B,kCAAkC;AAClC,yDAGwB;AAFtB,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAalC,qBAAqB;AACrB,yDAAoE;AAA3D,6GAAA,aAAa,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAU3C,0EAA0E;AAC1E,yDAsCwB;AArCtB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,WAAW;AACX,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,4GAAA,YAAY,OAAA;AACZ,iBAAiB;AACjB,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,iHAAA,iBAAiB,OAAA;AACjB,WAAW;AACX,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,+GAAA,eAAe,OAAA;AACf,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA;AACX,yGAAA,SAAS,OAAA;AACT,gHAAA,gBAAgB,OAAA;AAChB,+GAAA,eAAe,OAAA;AACf,6GAAA,aAAa,OAAA;AACb,oHAAA,oBAAoB,OAAA;AACpB,iBAAiB;AACjB,4HAAA,4BAA4B,OAAA;AAC5B,6HAAA,6BAA6B,OAAA;AAC7B,0HAAA,0BAA0B,OAAA;AAC1B,0HAAA,0BAA0B,OAAA;AAC1B,gBAAgB;AAChB,6GAAA,aAAa,OAAA;AACb,mBAAmB;AACnB,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AACd,2GAAA,WAAW,OAAA;AAcb,0BAA0B;AAC1B,yDAAkE;AAAzD,+GAAA,eAAe,OAAA;AAAE,+GAAA,eAAe,OAAA;AAUzC,cAAc;AACd,uDAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAO5B,6BAA6B;AAC7B,yDAAiE;AAAxD,8GAAA,cAAc,OAAA;AAAE,+GAAA,eAAe,OAAA;AAcxC,YAAY;AACZ,qCAA2C;AAAlC,yGAAA,gBAAgB,OAAA","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerActiveChainsUpdateAction,\n AssetsControllerAssetsUpdateAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n DataType,\n DataRequest,\n DataResponse,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n // Data source registration\n DataSourceDefinition,\n RegisteredDataSource,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport {\n AccountsApiDataSource,\n createAccountsApiDataSource,\n} from './data-sources';\n\nexport type {\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n AccountsApiDataSourceActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceOptions,\n RpcDataSourceState,\n RpcDataSourceActions,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Snap IDs\n SOLANA_SNAP_ID,\n BITCOIN_SNAP_ID,\n TRON_SNAP_ID,\n // Chain prefixes\n SOLANA_CHAIN_PREFIX,\n BITCOIN_CHAIN_PREFIX,\n TRON_CHAIN_PREFIX,\n // Networks\n SOLANA_MAINNET,\n SOLANA_DEVNET,\n SOLANA_TESTNET,\n BITCOIN_MAINNET,\n BITCOIN_TESTNET,\n TRON_MAINNET,\n TRON_SHASTA,\n TRON_NILE,\n TRON_MAINNET_HEX,\n TRON_SHASTA_HEX,\n TRON_NILE_HEX,\n ALL_DEFAULT_NETWORKS,\n // Poll intervals\n DEFAULT_SOLANA_POLL_INTERVAL,\n DEFAULT_BITCOIN_POLL_INTERVAL,\n DEFAULT_TRON_POLL_INTERVAL,\n DEFAULT_SNAP_POLL_INTERVAL,\n // Snap registry\n SNAP_REGISTRY,\n // Helper functions\n getSnapTypeForChain,\n isSnapSupportedChain,\n isSolanaChain,\n isBitcoinChain,\n isTronChain,\n} from './data-sources';\n\nexport type {\n SnapType,\n SnapInfo,\n SnapDataSourceState,\n SnapDataSourceOptions,\n SnapProvider,\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n PriceDataSourceActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './data-sources';\n\n// Middlewares\nexport { DetectionMiddleware } from './middlewares';\n\nexport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from './middlewares';\n\n// Data source initialization\nexport { initMessengers, initDataSources } from './data-sources';\n\nexport type {\n DataSourceMessengers,\n DataSources,\n InitMessengersOptions,\n InitDataSourcesOptions,\n DataSourceActions,\n DataSourceEvents,\n DataSourceAllowedActions,\n DataSourceAllowedEvents,\n RootMessenger,\n} from './data-sources';\n\n// Utilities\nexport { normalizeAssetId } from './utils';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,3 +1,21 @@
1
- export type { AssetsControllerState, AssetsControllerGetStateAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerEvents, AssetsControllerMessenger, } from "./AssetsController.cjs";
2
1
  export { AssetsController, getDefaultAssetsControllerState, } from "./AssetsController.cjs";
2
+ export type { AssetsControllerState, AssetsControllerMessenger, AssetsControllerOptions, AssetsControllerGetStateAction, AssetsControllerGetAssetsAction, AssetsControllerGetAssetsBalanceAction, AssetsControllerGetAssetMetadataAction, AssetsControllerGetAssetsPriceAction, AssetsControllerActiveChainsUpdateAction, AssetsControllerAssetsUpdateAction, AssetsControllerAddCustomAssetAction, AssetsControllerRemoveCustomAssetAction, AssetsControllerGetCustomAssetsAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerBalanceChangedEvent, AssetsControllerPriceChangedEvent, AssetsControllerAssetsDetectedEvent, AssetsControllerEvents, } from "./AssetsController.cjs";
3
+ export type { Caip19AssetId, AccountId, ChainId, AssetType, TokenStandard, BaseAssetMetadata, FungibleAssetMetadata, ERC721AssetMetadata, ERC1155AssetMetadata, AssetMetadata, BaseAssetPrice, FungibleAssetPrice, NFTAssetPrice, AssetPrice, FungibleAssetBalance, ERC721AssetBalance, ERC1155AssetBalance, AssetBalance, DataType, DataRequest, DataResponse, Context, NextFunction, Middleware, FetchContext, FetchNextFunction, FetchMiddleware, DataSourceDefinition, RegisteredDataSource, SubscriptionResponse, Asset, BalanceChangeEvent, PriceChangeEvent, MetadataChangeEvent, AssetsDetectedEvent, } from "./types.cjs";
4
+ export { AbstractDataSource } from "./data-sources/index.cjs";
5
+ export type { DataSourceState, SubscriptionRequest } from "./data-sources/index.cjs";
6
+ export { AccountsApiDataSource, createAccountsApiDataSource, } from "./data-sources/index.cjs";
7
+ export type { AccountsApiDataSourceOptions, AccountsApiDataSourceState, AccountsApiDataSourceActions, AccountsApiDataSourceEvents, AccountsApiDataSourceMessenger, } from "./data-sources/index.cjs";
8
+ export { BackendWebsocketDataSource, createBackendWebsocketDataSource, } from "./data-sources/index.cjs";
9
+ export type { BackendWebsocketDataSourceOptions, BackendWebsocketDataSourceState, BackendWebsocketDataSourceActions, BackendWebsocketDataSourceEvents, BackendWebsocketDataSourceMessenger, BackendWebsocketDataSourceAllowedActions, BackendWebsocketDataSourceAllowedEvents, } from "./data-sources/index.cjs";
10
+ export { RpcDataSource, createRpcDataSource } from "./data-sources/index.cjs";
11
+ export type { RpcDataSourceOptions, RpcDataSourceState, RpcDataSourceActions, RpcDataSourceEvents, RpcDataSourceMessenger, } from "./data-sources/index.cjs";
12
+ export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME, SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID, SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX, SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS, DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL, SNAP_REGISTRY, getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain, } from "./data-sources/index.cjs";
13
+ export type { SnapType, SnapInfo, SnapDataSourceState, SnapDataSourceOptions, SnapProvider, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.cjs";
14
+ export { TokenDataSource, PriceDataSource } from "./data-sources/index.cjs";
15
+ export type { TokenDataSourceActions, TokenDataSourceMessenger, PriceDataSourceActions, PriceDataSourceEvents, PriceDataSourceMessenger, } from "./data-sources/index.cjs";
16
+ export { DetectionMiddleware } from "./middlewares/index.cjs";
17
+ export type { DetectionMiddlewareActions, DetectionMiddlewareMessenger, } from "./middlewares/index.cjs";
18
+ export { initMessengers, initDataSources } from "./data-sources/index.cjs";
19
+ export type { DataSourceMessengers, DataSources, InitMessengersOptions, InitDataSourcesOptions, DataSourceActions, DataSourceEvents, DataSourceAllowedActions, DataSourceAllowedEvents, RootMessenger, } from "./data-sources/index.cjs";
20
+ export { normalizeAssetId } from "./utils.cjs";
3
21
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,GAC1B,+BAA2B;AAC5B,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,3 +1,21 @@
1
- export type { AssetsControllerState, AssetsControllerGetStateAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerEvents, AssetsControllerMessenger, } from "./AssetsController.mjs";
2
1
  export { AssetsController, getDefaultAssetsControllerState, } from "./AssetsController.mjs";
2
+ export type { AssetsControllerState, AssetsControllerMessenger, AssetsControllerOptions, AssetsControllerGetStateAction, AssetsControllerGetAssetsAction, AssetsControllerGetAssetsBalanceAction, AssetsControllerGetAssetMetadataAction, AssetsControllerGetAssetsPriceAction, AssetsControllerActiveChainsUpdateAction, AssetsControllerAssetsUpdateAction, AssetsControllerAddCustomAssetAction, AssetsControllerRemoveCustomAssetAction, AssetsControllerGetCustomAssetsAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerBalanceChangedEvent, AssetsControllerPriceChangedEvent, AssetsControllerAssetsDetectedEvent, AssetsControllerEvents, } from "./AssetsController.mjs";
3
+ export type { Caip19AssetId, AccountId, ChainId, AssetType, TokenStandard, BaseAssetMetadata, FungibleAssetMetadata, ERC721AssetMetadata, ERC1155AssetMetadata, AssetMetadata, BaseAssetPrice, FungibleAssetPrice, NFTAssetPrice, AssetPrice, FungibleAssetBalance, ERC721AssetBalance, ERC1155AssetBalance, AssetBalance, DataType, DataRequest, DataResponse, Context, NextFunction, Middleware, FetchContext, FetchNextFunction, FetchMiddleware, DataSourceDefinition, RegisteredDataSource, SubscriptionResponse, Asset, BalanceChangeEvent, PriceChangeEvent, MetadataChangeEvent, AssetsDetectedEvent, } from "./types.mjs";
4
+ export { AbstractDataSource } from "./data-sources/index.mjs";
5
+ export type { DataSourceState, SubscriptionRequest } from "./data-sources/index.mjs";
6
+ export { AccountsApiDataSource, createAccountsApiDataSource, } from "./data-sources/index.mjs";
7
+ export type { AccountsApiDataSourceOptions, AccountsApiDataSourceState, AccountsApiDataSourceActions, AccountsApiDataSourceEvents, AccountsApiDataSourceMessenger, } from "./data-sources/index.mjs";
8
+ export { BackendWebsocketDataSource, createBackendWebsocketDataSource, } from "./data-sources/index.mjs";
9
+ export type { BackendWebsocketDataSourceOptions, BackendWebsocketDataSourceState, BackendWebsocketDataSourceActions, BackendWebsocketDataSourceEvents, BackendWebsocketDataSourceMessenger, BackendWebsocketDataSourceAllowedActions, BackendWebsocketDataSourceAllowedEvents, } from "./data-sources/index.mjs";
10
+ export { RpcDataSource, createRpcDataSource } from "./data-sources/index.mjs";
11
+ export type { RpcDataSourceOptions, RpcDataSourceState, RpcDataSourceActions, RpcDataSourceEvents, RpcDataSourceMessenger, } from "./data-sources/index.mjs";
12
+ export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME, SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID, SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX, SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS, DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL, SNAP_REGISTRY, getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain, } from "./data-sources/index.mjs";
13
+ export type { SnapType, SnapInfo, SnapDataSourceState, SnapDataSourceOptions, SnapProvider, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.mjs";
14
+ export { TokenDataSource, PriceDataSource } from "./data-sources/index.mjs";
15
+ export type { TokenDataSourceActions, TokenDataSourceMessenger, PriceDataSourceActions, PriceDataSourceEvents, PriceDataSourceMessenger, } from "./data-sources/index.mjs";
16
+ export { DetectionMiddleware } from "./middlewares/index.mjs";
17
+ export type { DetectionMiddlewareActions, DetectionMiddlewareMessenger, } from "./middlewares/index.mjs";
18
+ export { initMessengers, initDataSources } from "./data-sources/index.mjs";
19
+ export type { DataSourceMessengers, DataSources, InitMessengersOptions, InitDataSourcesOptions, DataSourceActions, DataSourceEvents, DataSourceAllowedActions, DataSourceAllowedEvents, RootMessenger, } from "./data-sources/index.mjs";
20
+ export { normalizeAssetId } from "./utils.mjs";
3
21
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,GAC1B,+BAA2B;AAC5B,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,33 @@
1
+ // Main controller export
1
2
  export { AssetsController, getDefaultAssetsControllerState } from "./AssetsController.mjs";
3
+ // Data sources - base class and types
4
+ export { AbstractDataSource } from "./data-sources/index.mjs";
5
+ // Data sources - AccountsApi
6
+ export { AccountsApiDataSource, createAccountsApiDataSource } from "./data-sources/index.mjs";
7
+ // Data sources - BackendWebsocket
8
+ export { BackendWebsocketDataSource, createBackendWebsocketDataSource } from "./data-sources/index.mjs";
9
+ // Data sources - RPC
10
+ export { RpcDataSource, createRpcDataSource } from "./data-sources/index.mjs";
11
+ // Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)
12
+ export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME,
13
+ // Snap IDs
14
+ SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID,
15
+ // Chain prefixes
16
+ SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX,
17
+ // Networks
18
+ SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS,
19
+ // Poll intervals
20
+ DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL,
21
+ // Snap registry
22
+ SNAP_REGISTRY,
23
+ // Helper functions
24
+ getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain } from "./data-sources/index.mjs";
25
+ // Enrichment data sources
26
+ export { TokenDataSource, PriceDataSource } from "./data-sources/index.mjs";
27
+ // Middlewares
28
+ export { DetectionMiddleware } from "./middlewares/index.mjs";
29
+ // Data source initialization
30
+ export { initMessengers, initDataSources } from "./data-sources/index.mjs";
31
+ // Utilities
32
+ export { normalizeAssetId } from "./utils.mjs";
2
33
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B","sourcesContent":["export type {\n AssetsControllerState,\n AssetsControllerGetStateAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerEvents,\n AssetsControllerMessenger,\n} from './AssetsController';\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;AA0E5B,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAIpD,6BAA6B;AAC7B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC5B,iCAAuB;AAUxB,kCAAkC;AAClC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EACjC,iCAAuB;AAYxB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAUpE,0EAA0E;AAC1E,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB;AACrB,WAAW;AACX,cAAc,EACd,eAAe,EACf,YAAY;AACZ,iBAAiB;AACjB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB;AACjB,WAAW;AACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB;AACpB,iBAAiB;AACjB,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B;AAC1B,gBAAgB;AAChB,aAAa;AACb,mBAAmB;AACnB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,WAAW,EACZ,iCAAuB;AAaxB,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iCAAuB;AAUlE,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,gCAAsB;AAOpD,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iCAAuB;AAcjE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,oBAAgB","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerActiveChainsUpdateAction,\n AssetsControllerAssetsUpdateAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n DataType,\n DataRequest,\n DataResponse,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n // Data source registration\n DataSourceDefinition,\n RegisteredDataSource,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport {\n AccountsApiDataSource,\n createAccountsApiDataSource,\n} from './data-sources';\n\nexport type {\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n AccountsApiDataSourceActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceOptions,\n RpcDataSourceState,\n RpcDataSourceActions,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Snap IDs\n SOLANA_SNAP_ID,\n BITCOIN_SNAP_ID,\n TRON_SNAP_ID,\n // Chain prefixes\n SOLANA_CHAIN_PREFIX,\n BITCOIN_CHAIN_PREFIX,\n TRON_CHAIN_PREFIX,\n // Networks\n SOLANA_MAINNET,\n SOLANA_DEVNET,\n SOLANA_TESTNET,\n BITCOIN_MAINNET,\n BITCOIN_TESTNET,\n TRON_MAINNET,\n TRON_SHASTA,\n TRON_NILE,\n TRON_MAINNET_HEX,\n TRON_SHASTA_HEX,\n TRON_NILE_HEX,\n ALL_DEFAULT_NETWORKS,\n // Poll intervals\n DEFAULT_SOLANA_POLL_INTERVAL,\n DEFAULT_BITCOIN_POLL_INTERVAL,\n DEFAULT_TRON_POLL_INTERVAL,\n DEFAULT_SNAP_POLL_INTERVAL,\n // Snap registry\n SNAP_REGISTRY,\n // Helper functions\n getSnapTypeForChain,\n isSnapSupportedChain,\n isSolanaChain,\n isBitcoinChain,\n isTronChain,\n} from './data-sources';\n\nexport type {\n SnapType,\n SnapInfo,\n SnapDataSourceState,\n SnapDataSourceOptions,\n SnapProvider,\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n PriceDataSourceActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './data-sources';\n\n// Middlewares\nexport { DetectionMiddleware } from './middlewares';\n\nexport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from './middlewares';\n\n// Data source initialization\nexport { initMessengers, initDataSources } from './data-sources';\n\nexport type {\n DataSourceMessengers,\n DataSources,\n InitMessengersOptions,\n InitDataSourcesOptions,\n DataSourceActions,\n DataSourceEvents,\n DataSourceAllowedActions,\n DataSourceAllowedEvents,\n RootMessenger,\n} from './data-sources';\n\n// Utilities\nexport { normalizeAssetId } from './utils';\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createModuleLogger = exports.projectLogger = void 0;
4
+ const utils_1 = require("@metamask/utils");
5
+ Object.defineProperty(exports, "createModuleLogger", { enumerable: true, get: function () { return utils_1.createModuleLogger; } });
6
+ exports.projectLogger = (0, utils_1.createProjectLogger)('assets-controller');
7
+ //# sourceMappingURL=logger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.cjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,2CAA0E;AAIjE,mGAJqB,0BAAkB,OAIrB;AAFd,QAAA,aAAa,GAAG,IAAA,2BAAmB,EAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('assets-controller');\n\nexport { createModuleLogger };\n"]}
@@ -0,0 +1,5 @@
1
+ /// <reference types="debug" />
2
+ import { createModuleLogger } from "@metamask/utils";
3
+ export declare const projectLogger: import("debug").Debugger;
4
+ export { createModuleLogger };
5
+ //# sourceMappingURL=logger.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.cts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAA2C,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="debug" />
2
+ import { createModuleLogger } from "@metamask/utils";
3
+ export declare const projectLogger: import("debug").Debugger;
4
+ export { createModuleLogger };
5
+ //# sourceMappingURL=logger.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.mts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAA2C,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createProjectLogger, createModuleLogger } from "@metamask/utils";
2
+ export const projectLogger = createProjectLogger('assets-controller');
3
+ export { createModuleLogger };
4
+ //# sourceMappingURL=logger.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.mjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('assets-controller');\n\nexport { createModuleLogger };\n"]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _DetectionMiddleware_instances, _DetectionMiddleware_messenger, _DetectionMiddleware_registerActionHandlers;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DetectionMiddleware = void 0;
16
+ const logger_1 = require("../logger.cjs");
17
+ const types_1 = require("../types.cjs");
18
+ // ============================================================================
19
+ // CONSTANTS
20
+ // ============================================================================
21
+ const CONTROLLER_NAME = 'DetectionMiddleware';
22
+ // Logger for debugging
23
+ (0, logger_1.createModuleLogger)(logger_1.projectLogger, CONTROLLER_NAME);
24
+ // ============================================================================
25
+ // DETECTION MIDDLEWARE
26
+ // ============================================================================
27
+ /**
28
+ * DetectionMiddleware identifies assets that do not have metadata.
29
+ *
30
+ * This middleware:
31
+ * - Checks assets in the response for metadata in state
32
+ * - Assets in response but without metadata are considered "detected"
33
+ * - Fills response.detectedAssets with asset IDs per account that lack metadata
34
+ *
35
+ * Usage:
36
+ * ```typescript
37
+ * // Create and initialize (registers messenger actions)
38
+ * const detectionMiddleware = new DetectionMiddleware({ messenger });
39
+ *
40
+ * // Later, get middleware via messenger
41
+ * const middleware = messenger.call('DetectionMiddleware:getAssetsMiddleware');
42
+ * ```
43
+ */
44
+ class DetectionMiddleware {
45
+ constructor(options) {
46
+ _DetectionMiddleware_instances.add(this);
47
+ this.name = CONTROLLER_NAME;
48
+ _DetectionMiddleware_messenger.set(this, void 0);
49
+ __classPrivateFieldSet(this, _DetectionMiddleware_messenger, options.messenger, "f");
50
+ __classPrivateFieldGet(this, _DetectionMiddleware_instances, "m", _DetectionMiddleware_registerActionHandlers).call(this);
51
+ }
52
+ /**
53
+ * Get the middleware for detecting assets without metadata.
54
+ *
55
+ * This middleware:
56
+ * 1. Extracts the response from context
57
+ * 2. Detects assets from the response that don't have metadata
58
+ * 3. Fills response.detectedAssets with detected asset IDs per account
59
+ * 4. Calls next() to continue the middleware chain
60
+ *
61
+ * @returns The middleware function for the assets pipeline.
62
+ */
63
+ get assetsMiddleware() {
64
+ return (0, types_1.forDataTypes)(['balance'], async (ctx, next) => {
65
+ // Extract response from context
66
+ const { response } = ctx;
67
+ // If no balances in response, nothing to detect - pass through
68
+ if (!response.assetsBalance) {
69
+ return next(ctx);
70
+ }
71
+ // Get metadata from state
72
+ const { assetsMetadata: stateMetadata } = ctx.getAssetsState();
73
+ const detectedAssets = {};
74
+ // Detect assets from the response that don't have metadata
75
+ for (const [accountId, accountBalances] of Object.entries(response.assetsBalance)) {
76
+ const detected = [];
77
+ for (const assetId of Object.keys(accountBalances)) {
78
+ // Asset is detected if it does not have metadata in state
79
+ if (!stateMetadata[assetId]) {
80
+ detected.push(assetId);
81
+ }
82
+ }
83
+ if (detected.length > 0) {
84
+ detectedAssets[accountId] = detected;
85
+ }
86
+ }
87
+ // Fill detectedAssets in the response
88
+ if (Object.keys(detectedAssets).length > 0) {
89
+ response.detectedAssets = detectedAssets;
90
+ }
91
+ // Call next() to continue the middleware chain
92
+ return next(ctx);
93
+ });
94
+ }
95
+ }
96
+ exports.DetectionMiddleware = DetectionMiddleware;
97
+ _DetectionMiddleware_messenger = new WeakMap(), _DetectionMiddleware_instances = new WeakSet(), _DetectionMiddleware_registerActionHandlers = function _DetectionMiddleware_registerActionHandlers() {
98
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
+ __classPrivateFieldGet(this, _DetectionMiddleware_messenger, "f").registerActionHandler('DetectionMiddleware:getAssetsMiddleware', () => this.assetsMiddleware);
100
+ };
101
+ //# sourceMappingURL=DetectionMiddleware.cjs.map