@metamask-previews/core-backend 9.0.0-preview-b13d916 → 9.0.0-preview-4f4c98e

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 (301) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/{ApiPlatformClientService-method-action-types.d.mts → ApiPlatformClientService-method-action-types.d.ts} +2 -2
  3. package/dist/ApiPlatformClientService-method-action-types.d.ts.map +1 -0
  4. package/dist/{ApiPlatformClientService-method-action-types.mjs → ApiPlatformClientService-method-action-types.js} +1 -1
  5. package/dist/ApiPlatformClientService-method-action-types.js.map +1 -0
  6. package/dist/{ApiPlatformClientService.d.cts → ApiPlatformClientService.d.ts} +5 -5
  7. package/dist/ApiPlatformClientService.d.ts.map +1 -0
  8. package/dist/{ApiPlatformClientService.mjs → ApiPlatformClientService.js} +2 -2
  9. package/dist/ApiPlatformClientService.js.map +1 -0
  10. package/dist/api/{ApiPlatformClient.d.cts → ApiPlatformClient.d.ts} +8 -8
  11. package/dist/api/ApiPlatformClient.d.ts.map +1 -0
  12. package/dist/api/{ApiPlatformClient.mjs → ApiPlatformClient.js} +8 -8
  13. package/dist/api/ApiPlatformClient.js.map +1 -0
  14. package/dist/api/accounts/{client.d.cts → client.d.ts} +5 -5
  15. package/dist/api/accounts/client.d.ts.map +1 -0
  16. package/dist/api/accounts/{client.mjs → client.js} +3 -3
  17. package/dist/api/accounts/client.js.map +1 -0
  18. package/dist/api/accounts/{index.d.mts → index.d.ts} +4 -4
  19. package/dist/api/accounts/index.d.ts.map +1 -0
  20. package/dist/api/accounts/index.js +6 -0
  21. package/dist/api/accounts/index.js.map +1 -0
  22. package/dist/api/accounts/{types.d.cts → types.d.ts} +3 -3
  23. package/dist/api/accounts/types.d.ts.map +1 -0
  24. package/dist/api/accounts/{types.mjs → types.js} +1 -1
  25. package/dist/api/accounts/types.js.map +1 -0
  26. package/dist/api/{base-client.d.cts → base-client.d.ts} +6 -5
  27. package/dist/api/base-client.d.ts.map +1 -0
  28. package/dist/api/{base-client.mjs → base-client.js} +3 -3
  29. package/dist/api/base-client.js.map +1 -0
  30. package/dist/api/{index.d.cts → index.d.ts} +14 -14
  31. package/dist/api/index.d.ts.map +1 -0
  32. package/dist/api/index.js +18 -0
  33. package/dist/api/index.js.map +1 -0
  34. package/dist/api/prices/{client.d.mts → client.d.ts} +5 -5
  35. package/dist/api/prices/client.d.ts.map +1 -0
  36. package/dist/api/prices/{client.mjs → client.js} +3 -3
  37. package/dist/api/prices/client.js.map +1 -0
  38. package/dist/api/prices/{index.d.mts → index.d.ts} +3 -3
  39. package/dist/api/prices/index.d.ts.map +1 -0
  40. package/dist/api/prices/index.js +5 -0
  41. package/dist/api/prices/index.js.map +1 -0
  42. package/dist/api/prices/{types.d.cts → types.d.ts} +1 -1
  43. package/dist/api/prices/types.d.ts.map +1 -0
  44. package/dist/api/prices/{types.mjs → types.js} +1 -1
  45. package/dist/api/prices/types.js.map +1 -0
  46. package/dist/api/{shared-types.d.cts → shared-types.d.ts} +6 -6
  47. package/dist/api/shared-types.d.ts.map +1 -0
  48. package/dist/api/{shared-types.mjs → shared-types.js} +1 -1
  49. package/dist/api/shared-types.js.map +1 -0
  50. package/dist/api/{test-utils.d.cts → test-utils.d.ts} +2 -3
  51. package/dist/api/test-utils.d.ts.map +1 -0
  52. package/dist/api/{test-utils.mjs → test-utils.js} +3 -3
  53. package/dist/api/test-utils.js.map +1 -0
  54. package/dist/api/token/{client.d.mts → client.d.ts} +5 -5
  55. package/dist/api/token/client.d.ts.map +1 -0
  56. package/dist/api/token/{client.mjs → client.js} +3 -3
  57. package/dist/api/token/client.js.map +1 -0
  58. package/dist/api/token/{index.d.cts → index.d.ts} +3 -3
  59. package/dist/api/token/index.d.ts.map +1 -0
  60. package/dist/api/token/index.js +5 -0
  61. package/dist/api/token/index.js.map +1 -0
  62. package/dist/api/token/{types.d.cts → types.d.ts} +1 -1
  63. package/dist/api/token/types.d.ts.map +1 -0
  64. package/dist/api/token/{types.mjs → types.js} +1 -1
  65. package/dist/api/token/types.js.map +1 -0
  66. package/dist/api/tokens/{client.d.mts → client.d.ts} +5 -5
  67. package/dist/api/tokens/client.d.ts.map +1 -0
  68. package/dist/api/tokens/{client.mjs → client.js} +3 -3
  69. package/dist/api/tokens/client.js.map +1 -0
  70. package/dist/api/tokens/{index.d.cts → index.d.ts} +3 -3
  71. package/dist/api/tokens/index.d.ts.map +1 -0
  72. package/dist/api/tokens/index.js +5 -0
  73. package/dist/api/tokens/index.js.map +1 -0
  74. package/dist/api/tokens/{types.d.cts → types.d.ts} +1 -1
  75. package/dist/api/tokens/types.d.ts.map +1 -0
  76. package/dist/api/tokens/{types.mjs → types.js} +1 -1
  77. package/dist/api/tokens/types.js.map +1 -0
  78. package/dist/{index.d.mts → index.d.ts} +12 -12
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/{index.mjs → index.js} +6 -6
  81. package/dist/index.js.map +1 -0
  82. package/dist/logger.d.ts +4 -0
  83. package/dist/logger.d.ts.map +1 -0
  84. package/dist/logger.js +4 -0
  85. package/dist/logger.js.map +1 -0
  86. package/dist/{types.d.cts → types.d.ts} +1 -1
  87. package/dist/types.d.ts.map +1 -0
  88. package/dist/types.js +2 -0
  89. package/dist/types.js.map +1 -0
  90. package/dist/ws/{AccountActivityService.d.cts → AccountActivityService.d.ts} +10 -10
  91. package/dist/ws/AccountActivityService.d.ts.map +1 -0
  92. package/dist/ws/{AccountActivityService.mjs → AccountActivityService.js} +4 -4
  93. package/dist/ws/AccountActivityService.js.map +1 -0
  94. package/dist/ws/{BackendWebSocketService-method-action-types.d.cts → BackendWebSocketService-method-action-types.d.ts} +2 -2
  95. package/dist/ws/BackendWebSocketService-method-action-types.d.ts.map +1 -0
  96. package/dist/ws/{BackendWebSocketService-method-action-types.mjs → BackendWebSocketService-method-action-types.js} +1 -1
  97. package/dist/ws/BackendWebSocketService-method-action-types.js.map +1 -0
  98. package/dist/ws/{BackendWebSocketService.d.cts → BackendWebSocketService.d.ts} +7 -7
  99. package/dist/ws/BackendWebSocketService.d.ts.map +1 -0
  100. package/dist/ws/{BackendWebSocketService.mjs → BackendWebSocketService.js} +5 -5
  101. package/dist/ws/BackendWebSocketService.js.map +1 -0
  102. package/dist/ws/ohlcv/{OHLCVService-method-action-types.d.cts → OHLCVService-method-action-types.d.ts} +2 -2
  103. package/dist/ws/ohlcv/OHLCVService-method-action-types.d.ts.map +1 -0
  104. package/dist/ws/ohlcv/{OHLCVService-method-action-types.mjs → OHLCVService-method-action-types.js} +1 -1
  105. package/dist/ws/ohlcv/OHLCVService-method-action-types.js.map +1 -0
  106. package/dist/ws/ohlcv/{OHLCVService.d.cts → OHLCVService.d.ts} +9 -9
  107. package/dist/ws/ohlcv/OHLCVService.d.ts.map +1 -0
  108. package/dist/ws/ohlcv/{OHLCVService.mjs → OHLCVService.js} +5 -5
  109. package/dist/ws/ohlcv/OHLCVService.js.map +1 -0
  110. package/dist/ws/ohlcv/{index.d.cts → index.d.ts} +5 -5
  111. package/dist/ws/ohlcv/index.d.ts.map +1 -0
  112. package/dist/ws/ohlcv/index.js +3 -0
  113. package/dist/ws/ohlcv/index.js.map +1 -0
  114. package/dist/ws/ohlcv/{types.d.cts → types.d.ts} +1 -1
  115. package/dist/ws/ohlcv/types.d.ts.map +1 -0
  116. package/dist/ws/ohlcv/{types.mjs → types.js} +1 -1
  117. package/dist/ws/ohlcv/types.js.map +1 -0
  118. package/package.json +12 -16
  119. package/dist/ApiPlatformClientService-method-action-types.cjs +0 -7
  120. package/dist/ApiPlatformClientService-method-action-types.cjs.map +0 -1
  121. package/dist/ApiPlatformClientService-method-action-types.d.cts +0 -21
  122. package/dist/ApiPlatformClientService-method-action-types.d.cts.map +0 -1
  123. package/dist/ApiPlatformClientService-method-action-types.d.mts.map +0 -1
  124. package/dist/ApiPlatformClientService-method-action-types.mjs.map +0 -1
  125. package/dist/ApiPlatformClientService.cjs +0 -82
  126. package/dist/ApiPlatformClientService.cjs.map +0 -1
  127. package/dist/ApiPlatformClientService.d.cts.map +0 -1
  128. package/dist/ApiPlatformClientService.d.mts +0 -86
  129. package/dist/ApiPlatformClientService.d.mts.map +0 -1
  130. package/dist/ApiPlatformClientService.mjs.map +0 -1
  131. package/dist/api/ApiPlatformClient.cjs +0 -177
  132. package/dist/api/ApiPlatformClient.cjs.map +0 -1
  133. package/dist/api/ApiPlatformClient.d.cts.map +0 -1
  134. package/dist/api/ApiPlatformClient.d.mts +0 -127
  135. package/dist/api/ApiPlatformClient.d.mts.map +0 -1
  136. package/dist/api/ApiPlatformClient.mjs.map +0 -1
  137. package/dist/api/accounts/client.cjs +0 -850
  138. package/dist/api/accounts/client.cjs.map +0 -1
  139. package/dist/api/accounts/client.d.cts.map +0 -1
  140. package/dist/api/accounts/client.d.mts +0 -500
  141. package/dist/api/accounts/client.d.mts.map +0 -1
  142. package/dist/api/accounts/client.mjs.map +0 -1
  143. package/dist/api/accounts/index.cjs +0 -11
  144. package/dist/api/accounts/index.cjs.map +0 -1
  145. package/dist/api/accounts/index.d.cts +0 -7
  146. package/dist/api/accounts/index.d.cts.map +0 -1
  147. package/dist/api/accounts/index.d.mts.map +0 -1
  148. package/dist/api/accounts/index.mjs +0 -6
  149. package/dist/api/accounts/index.mjs.map +0 -1
  150. package/dist/api/accounts/types.cjs +0 -22
  151. package/dist/api/accounts/types.cjs.map +0 -1
  152. package/dist/api/accounts/types.d.cts.map +0 -1
  153. package/dist/api/accounts/types.d.mts +0 -286
  154. package/dist/api/accounts/types.d.mts.map +0 -1
  155. package/dist/api/accounts/types.mjs.map +0 -1
  156. package/dist/api/base-client.cjs +0 -151
  157. package/dist/api/base-client.cjs.map +0 -1
  158. package/dist/api/base-client.d.cts.map +0 -1
  159. package/dist/api/base-client.d.mts +0 -54
  160. package/dist/api/base-client.d.mts.map +0 -1
  161. package/dist/api/base-client.mjs.map +0 -1
  162. package/dist/api/index.cjs +0 -37
  163. package/dist/api/index.cjs.map +0 -1
  164. package/dist/api/index.d.cts.map +0 -1
  165. package/dist/api/index.d.mts +0 -18
  166. package/dist/api/index.d.mts.map +0 -1
  167. package/dist/api/index.mjs +0 -18
  168. package/dist/api/index.mjs.map +0 -1
  169. package/dist/api/prices/client.cjs +0 -779
  170. package/dist/api/prices/client.cjs.map +0 -1
  171. package/dist/api/prices/client.d.cts +0 -447
  172. package/dist/api/prices/client.d.cts.map +0 -1
  173. package/dist/api/prices/client.d.mts.map +0 -1
  174. package/dist/api/prices/client.mjs.map +0 -1
  175. package/dist/api/prices/index.cjs +0 -9
  176. package/dist/api/prices/index.cjs.map +0 -1
  177. package/dist/api/prices/index.d.cts +0 -6
  178. package/dist/api/prices/index.d.cts.map +0 -1
  179. package/dist/api/prices/index.d.mts.map +0 -1
  180. package/dist/api/prices/index.mjs +0 -5
  181. package/dist/api/prices/index.mjs.map +0 -1
  182. package/dist/api/prices/types.cjs +0 -7
  183. package/dist/api/prices/types.cjs.map +0 -1
  184. package/dist/api/prices/types.d.cts.map +0 -1
  185. package/dist/api/prices/types.d.mts +0 -61
  186. package/dist/api/prices/types.d.mts.map +0 -1
  187. package/dist/api/prices/types.mjs.map +0 -1
  188. package/dist/api/shared-types.cjs +0 -110
  189. package/dist/api/shared-types.cjs.map +0 -1
  190. package/dist/api/shared-types.d.cts.map +0 -1
  191. package/dist/api/shared-types.d.mts +0 -151
  192. package/dist/api/shared-types.d.mts.map +0 -1
  193. package/dist/api/shared-types.mjs.map +0 -1
  194. package/dist/api/test-utils.cjs +0 -70
  195. package/dist/api/test-utils.cjs.map +0 -1
  196. package/dist/api/test-utils.d.cts.map +0 -1
  197. package/dist/api/test-utils.d.mts +0 -30
  198. package/dist/api/test-utils.d.mts.map +0 -1
  199. package/dist/api/test-utils.mjs.map +0 -1
  200. package/dist/api/token/client.cjs +0 -500
  201. package/dist/api/token/client.cjs.map +0 -1
  202. package/dist/api/token/client.d.cts +0 -362
  203. package/dist/api/token/client.d.cts.map +0 -1
  204. package/dist/api/token/client.d.mts.map +0 -1
  205. package/dist/api/token/client.mjs.map +0 -1
  206. package/dist/api/token/index.cjs +0 -9
  207. package/dist/api/token/index.cjs.map +0 -1
  208. package/dist/api/token/index.d.cts.map +0 -1
  209. package/dist/api/token/index.d.mts +0 -6
  210. package/dist/api/token/index.d.mts.map +0 -1
  211. package/dist/api/token/index.mjs +0 -5
  212. package/dist/api/token/index.mjs.map +0 -1
  213. package/dist/api/token/types.cjs +0 -7
  214. package/dist/api/token/types.cjs.map +0 -1
  215. package/dist/api/token/types.d.cts.map +0 -1
  216. package/dist/api/token/types.d.mts +0 -124
  217. package/dist/api/token/types.d.mts.map +0 -1
  218. package/dist/api/token/types.mjs.map +0 -1
  219. package/dist/api/tokens/client.cjs +0 -132
  220. package/dist/api/tokens/client.cjs.map +0 -1
  221. package/dist/api/tokens/client.d.cts +0 -69
  222. package/dist/api/tokens/client.d.cts.map +0 -1
  223. package/dist/api/tokens/client.d.mts.map +0 -1
  224. package/dist/api/tokens/client.mjs.map +0 -1
  225. package/dist/api/tokens/index.cjs +0 -9
  226. package/dist/api/tokens/index.cjs.map +0 -1
  227. package/dist/api/tokens/index.d.cts.map +0 -1
  228. package/dist/api/tokens/index.d.mts +0 -6
  229. package/dist/api/tokens/index.d.mts.map +0 -1
  230. package/dist/api/tokens/index.mjs +0 -5
  231. package/dist/api/tokens/index.mjs.map +0 -1
  232. package/dist/api/tokens/types.cjs +0 -7
  233. package/dist/api/tokens/types.cjs.map +0 -1
  234. package/dist/api/tokens/types.d.cts.map +0 -1
  235. package/dist/api/tokens/types.d.mts +0 -87
  236. package/dist/api/tokens/types.d.mts.map +0 -1
  237. package/dist/api/tokens/types.mjs.map +0 -1
  238. package/dist/index.cjs +0 -55
  239. package/dist/index.cjs.map +0 -1
  240. package/dist/index.d.cts +0 -12
  241. package/dist/index.d.cts.map +0 -1
  242. package/dist/index.d.mts.map +0 -1
  243. package/dist/index.mjs.map +0 -1
  244. package/dist/logger.cjs +0 -7
  245. package/dist/logger.cjs.map +0 -1
  246. package/dist/logger.d.cts +0 -5
  247. package/dist/logger.d.cts.map +0 -1
  248. package/dist/logger.d.mts +0 -5
  249. package/dist/logger.d.mts.map +0 -1
  250. package/dist/logger.mjs +0 -4
  251. package/dist/logger.mjs.map +0 -1
  252. package/dist/types.cjs +0 -3
  253. package/dist/types.cjs.map +0 -1
  254. package/dist/types.d.cts.map +0 -1
  255. package/dist/types.d.mts +0 -73
  256. package/dist/types.d.mts.map +0 -1
  257. package/dist/types.mjs +0 -2
  258. package/dist/types.mjs.map +0 -1
  259. package/dist/ws/AccountActivityService.cjs +0 -437
  260. package/dist/ws/AccountActivityService.cjs.map +0 -1
  261. package/dist/ws/AccountActivityService.d.cts.map +0 -1
  262. package/dist/ws/AccountActivityService.d.mts +0 -136
  263. package/dist/ws/AccountActivityService.d.mts.map +0 -1
  264. package/dist/ws/AccountActivityService.mjs.map +0 -1
  265. package/dist/ws/BackendWebSocketService-method-action-types.cjs +0 -7
  266. package/dist/ws/BackendWebSocketService-method-action-types.cjs.map +0 -1
  267. package/dist/ws/BackendWebSocketService-method-action-types.d.cts.map +0 -1
  268. package/dist/ws/BackendWebSocketService-method-action-types.d.mts +0 -252
  269. package/dist/ws/BackendWebSocketService-method-action-types.d.mts.map +0 -1
  270. package/dist/ws/BackendWebSocketService-method-action-types.mjs.map +0 -1
  271. package/dist/ws/BackendWebSocketService.cjs +0 -1062
  272. package/dist/ws/BackendWebSocketService.cjs.map +0 -1
  273. package/dist/ws/BackendWebSocketService.d.cts.map +0 -1
  274. package/dist/ws/BackendWebSocketService.d.mts +0 -406
  275. package/dist/ws/BackendWebSocketService.d.mts.map +0 -1
  276. package/dist/ws/BackendWebSocketService.mjs.map +0 -1
  277. package/dist/ws/ohlcv/OHLCVService-method-action-types.cjs +0 -7
  278. package/dist/ws/ohlcv/OHLCVService-method-action-types.cjs.map +0 -1
  279. package/dist/ws/ohlcv/OHLCVService-method-action-types.d.cts.map +0 -1
  280. package/dist/ws/ohlcv/OHLCVService-method-action-types.d.mts +0 -35
  281. package/dist/ws/ohlcv/OHLCVService-method-action-types.d.mts.map +0 -1
  282. package/dist/ws/ohlcv/OHLCVService-method-action-types.mjs.map +0 -1
  283. package/dist/ws/ohlcv/OHLCVService.cjs +0 -471
  284. package/dist/ws/ohlcv/OHLCVService.cjs.map +0 -1
  285. package/dist/ws/ohlcv/OHLCVService.d.cts.map +0 -1
  286. package/dist/ws/ohlcv/OHLCVService.d.mts +0 -111
  287. package/dist/ws/ohlcv/OHLCVService.d.mts.map +0 -1
  288. package/dist/ws/ohlcv/OHLCVService.mjs.map +0 -1
  289. package/dist/ws/ohlcv/index.cjs +0 -9
  290. package/dist/ws/ohlcv/index.cjs.map +0 -1
  291. package/dist/ws/ohlcv/index.d.cts.map +0 -1
  292. package/dist/ws/ohlcv/index.d.mts +0 -5
  293. package/dist/ws/ohlcv/index.d.mts.map +0 -1
  294. package/dist/ws/ohlcv/index.mjs +0 -3
  295. package/dist/ws/ohlcv/index.mjs.map +0 -1
  296. package/dist/ws/ohlcv/types.cjs +0 -6
  297. package/dist/ws/ohlcv/types.cjs.map +0 -1
  298. package/dist/ws/ohlcv/types.d.cts.map +0 -1
  299. package/dist/ws/ohlcv/types.d.mts +0 -32
  300. package/dist/ws/ohlcv/types.d.mts.map +0 -1
  301. package/dist/ws/ohlcv/types.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Changed
11
11
 
12
+ - **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168))
12
13
  - Bump `@metamask/remote-feature-flag-controller` from `^6.0.0` to `^6.1.0` ([#9980](https://github.com/MetaMask/core/pull/9980))
13
14
 
14
15
  ## [9.0.0]
@@ -2,7 +2,7 @@
2
2
  * This file is auto generated.
3
3
  * Do not edit manually.
4
4
  */
5
- import type { ApiPlatformClientService } from "./ApiPlatformClientService.mjs";
5
+ import type { ApiPlatformClientService } from './ApiPlatformClientService.js';
6
6
  /**
7
7
  * Returns the shared ApiPlatformClient instance.
8
8
  *
@@ -18,4 +18,4 @@ export type ApiPlatformClientServiceGetApiPlatformClientAction = {
18
18
  * Union of all ApiPlatformClientService action types.
19
19
  */
20
20
  export type ApiPlatformClientServiceMethodActions = ApiPlatformClientServiceGetApiPlatformClientAction;
21
- //# sourceMappingURL=ApiPlatformClientService-method-action-types.d.mts.map
21
+ //# sourceMappingURL=ApiPlatformClientService-method-action-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiPlatformClientService-method-action-types.d.ts","sourceRoot":"","sources":["../src/ApiPlatformClientService-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAC/C,kDAAkD,CAAC"}
@@ -3,4 +3,4 @@
3
3
  * Do not edit manually.
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=ApiPlatformClientService-method-action-types.mjs.map
6
+ //# sourceMappingURL=ApiPlatformClientService-method-action-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiPlatformClientService-method-action-types.js","sourceRoot":"","sources":["../src/ApiPlatformClientService-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { ApiPlatformClientService } from './ApiPlatformClientService.js';\n\n/**\n * Returns the shared ApiPlatformClient instance.\n *\n * Use this via the messenger: `messenger.call('ApiPlatformClientService:getApiPlatformClient')`.\n *\n * @returns The ApiPlatformClient instance (accounts, prices, token, tokens).\n */\nexport type ApiPlatformClientServiceGetApiPlatformClientAction = {\n type: `ApiPlatformClientService:getApiPlatformClient`;\n handler: ApiPlatformClientService['getApiPlatformClient'];\n};\n\n/**\n * Union of all ApiPlatformClientService action types.\n */\nexport type ApiPlatformClientServiceMethodActions =\n ApiPlatformClientServiceGetApiPlatformClientAction;\n"]}
@@ -1,7 +1,7 @@
1
- import type { Messenger } from "@metamask/messenger";
2
- import { ApiPlatformClient } from "./api/index.cjs";
3
- import type { ApiPlatformClientOptions } from "./api/index.cjs";
4
- import type { ApiPlatformClientServiceMethodActions } from "./ApiPlatformClientService-method-action-types.cjs";
1
+ import type { Messenger } from '@metamask/messenger';
2
+ import { ApiPlatformClient } from './api/index.js';
3
+ import type { ApiPlatformClientOptions } from './api/index.js';
4
+ import type { ApiPlatformClientServiceMethodActions } from './ApiPlatformClientService-method-action-types.js';
5
5
  /**
6
6
  * The name of the {@link ApiPlatformClientService}, used to namespace the
7
7
  * service's actions and events.
@@ -83,4 +83,4 @@ export declare class ApiPlatformClientService {
83
83
  getApiPlatformClient(): ApiPlatformClient;
84
84
  }
85
85
  export {};
86
- //# sourceMappingURL=ApiPlatformClientService.d.cts.map
86
+ //# sourceMappingURL=ApiPlatformClientService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiPlatformClientService.d.ts","sourceRoot":"","sources":["../src/ApiPlatformClientService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,mDAAmD,CAAC;AAI/G;;;GAGG;AACH,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AAMvE;;GAEG;AACH,MAAM,MAAM,+BAA+B,GACzC,qCAAqC,CAAC;AAExC;;GAEG;AACH,KAAK,cAAc,GAAG,KAAK,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEnD;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,iCAAiC,GAAG,SAAS,CACvD,OAAO,4BAA4B,EACnC,+BAA+B,GAAG,cAAc,EAChD,8BAA8B,GAAG,aAAa,CAC/C,CAAC;AAIF;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,6CAA6C;IAC7C,SAAS,EAAE,iCAAiC,CAAC;CAC9C,GAAG,wBAAwB,CAAC;AAI7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,wBAAwB;;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,4BAA4B,CAAC;IAMnD,YAAY,EACV,SAAS,EACT,GAAG,aAAa,EACjB,EAAE,+BAA+B,EASjC;IAED;;;;;;OAMG;IACH,oBAAoB,IAAI,iBAAiB,CAExC;CACF"}
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _ApiPlatformClientService_messenger, _ApiPlatformClientService_client;
13
- import { ApiPlatformClient } from "./api/index.mjs";
13
+ import { ApiPlatformClient } from './api/index.js';
14
14
  // === GENERAL ===
15
15
  /**
16
16
  * The name of the {@link ApiPlatformClientService}, used to namespace the
@@ -75,4 +75,4 @@ export class ApiPlatformClientService {
75
75
  }
76
76
  }
77
77
  _ApiPlatformClientService_messenger = new WeakMap(), _ApiPlatformClientService_client = new WeakMap();
78
- //# sourceMappingURL=ApiPlatformClientService.mjs.map
78
+ //# sourceMappingURL=ApiPlatformClientService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiPlatformClientService.js","sourceRoot":"","sources":["../src/ApiPlatformClientService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAInD,kBAAkB;AAElB;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AAEvE,oBAAoB;AAEpB,MAAM,yBAAyB,GAAG,CAAC,sBAAsB,CAAU,CAAC;AA2CpE,6BAA6B;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,wBAAwB;IAOnC,YAAY,EACV,SAAS,EACT,GAAG,aAAa,EACgB;QAPzB,sDAA8C;QAE9C,mDAA2B;QAMlC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,uBAAA,IAAI,uCAAc,SAAS,MAAA,CAAC;QAC5B,uBAAA,IAAI,oCAAW,IAAI,iBAAiB,CAAC,aAAa,CAAC,MAAA,CAAC;QAEpD,uBAAA,IAAI,2CAAW,CAAC,4BAA4B,CAC1C,IAAI,EACJ,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB;QAClB,OAAO,uBAAA,IAAI,wCAAQ,CAAC;IACtB,CAAC;CACF","sourcesContent":["import type { Messenger } from '@metamask/messenger';\n\nimport { ApiPlatformClient } from './api/index.js';\nimport type { ApiPlatformClientOptions } from './api/index.js';\nimport type { ApiPlatformClientServiceMethodActions } from './ApiPlatformClientService-method-action-types.js';\n\n// === GENERAL ===\n\n/**\n * The name of the {@link ApiPlatformClientService}, used to namespace the\n * service's actions and events.\n */\nexport const apiPlatformClientServiceName = 'ApiPlatformClientService';\n\n// === MESSENGER ===\n\nconst MESSENGER_EXPOSED_METHODS = ['getApiPlatformClient'] as const;\n\n/**\n * Actions that {@link ApiPlatformClientService} exposes to other consumers.\n */\nexport type ApiPlatformClientServiceActions =\n ApiPlatformClientServiceMethodActions;\n\n/**\n * Actions from other messengers that {@link ApiPlatformClientServiceMessenger} calls.\n */\ntype AllowedActions = never;\n\n/**\n * Events that {@link ApiPlatformClientService} exposes to other consumers.\n */\nexport type ApiPlatformClientServiceEvents = never;\n\n/**\n * Events from other messengers that {@link ApiPlatformClientService} subscribes to.\n */\ntype AllowedEvents = never;\n\n/**\n * The messenger which is restricted to actions and events accessed by\n * {@link ApiPlatformClientService}.\n */\nexport type ApiPlatformClientServiceMessenger = Messenger<\n typeof apiPlatformClientServiceName,\n ApiPlatformClientServiceActions | AllowedActions,\n ApiPlatformClientServiceEvents | AllowedEvents\n>;\n\n// === SERVICE OPTIONS ===\n\n/**\n * Options for constructing {@link ApiPlatformClientService}.\n */\nexport type ApiPlatformClientServiceOptions = {\n /** The messenger suited for this service. */\n messenger: ApiPlatformClientServiceMessenger;\n} & ApiPlatformClientOptions;\n\n// === SERVICE DEFINITION ===\n\n/**\n * Service that provides access to {@link ApiPlatformClient} via the messenger.\n *\n * Consumers obtain the client by calling the `ApiPlatformClientService:getApiPlatformClient`\n * action, then use it for accounts, prices, token, and tokens API calls.\n *\n * @example\n *\n * ```ts\n * import { Messenger } from '@metamask/messenger';\n * import {\n * ApiPlatformClientService,\n * type ApiPlatformClientServiceActions,\n * type ApiPlatformClientServiceEvents,\n * } from '@metamask/core-backend';\n *\n * const rootMessenger = new Messenger<'Root', ApiPlatformClientServiceActions, ApiPlatformClientServiceEvents>({ namespace: 'Root' });\n * const serviceMessenger = new Messenger<\n * 'ApiPlatformClientService',\n * ApiPlatformClientServiceActions,\n * ApiPlatformClientServiceEvents,\n * typeof rootMessenger\n * >({ namespace: 'ApiPlatformClientService', parent: rootMessenger });\n *\n * new ApiPlatformClientService({\n * messenger: serviceMessenger,\n * clientProduct: 'metamask-extension',\n * getBearerToken: async () => token,\n * });\n *\n * const client = rootMessenger.call('ApiPlatformClientService:getApiPlatformClient');\n * const balances = await client.accounts.fetchV5MultiAccountBalances(accountIds);\n * ```\n */\nexport class ApiPlatformClientService {\n readonly name: typeof apiPlatformClientServiceName;\n\n readonly #messenger: ApiPlatformClientServiceMessenger;\n\n readonly #client: ApiPlatformClient;\n\n constructor({\n messenger,\n ...clientOptions\n }: ApiPlatformClientServiceOptions) {\n this.name = apiPlatformClientServiceName;\n this.#messenger = messenger;\n this.#client = new ApiPlatformClient(clientOptions);\n\n this.#messenger.registerMethodActionHandlers(\n this,\n MESSENGER_EXPOSED_METHODS,\n );\n }\n\n /**\n * Returns the shared ApiPlatformClient instance.\n *\n * Use this via the messenger: `messenger.call('ApiPlatformClientService:getApiPlatformClient')`.\n *\n * @returns The ApiPlatformClient instance (accounts, prices, token, tokens).\n */\n getApiPlatformClient(): ApiPlatformClient {\n return this.#client;\n }\n}\n"]}
@@ -33,13 +33,13 @@
33
33
  * await client.prices.invalidatePrices(); // Domain-specific via sub-client
34
34
  * ```
35
35
  */
36
- import { QueryClient } from "@tanstack/query-core";
37
- import type { QueryKey } from "@tanstack/query-core";
38
- import { AccountsApiClient } from "./accounts/index.cjs";
39
- import { PricesApiClient } from "./prices/index.cjs";
40
- import type { ApiPlatformClientOptions } from "./shared-types.cjs";
41
- import { TokenApiClient } from "./token/index.cjs";
42
- import { TokensApiClient } from "./tokens/index.cjs";
36
+ import { QueryClient } from '@tanstack/query-core';
37
+ import type { QueryKey } from '@tanstack/query-core';
38
+ import { AccountsApiClient } from './accounts/index.js';
39
+ import { PricesApiClient } from './prices/index.js';
40
+ import type { ApiPlatformClientOptions } from './shared-types.js';
41
+ import { TokenApiClient } from './token/index.js';
42
+ import { TokensApiClient } from './tokens/index.js';
43
43
  /**
44
44
  * MetaMask API Platform Client with TanStack Query caching.
45
45
  * Provides cached access to all MetaMask backend APIs through a unified interface.
@@ -124,4 +124,4 @@ export declare class ApiPlatformClient {
124
124
  * @returns A new ApiPlatformClient instance.
125
125
  */
126
126
  export declare function createApiPlatformClient(options: ApiPlatformClientOptions): ApiPlatformClient;
127
- //# sourceMappingURL=ApiPlatformClient.d.cts.map
127
+ //# sourceMappingURL=ApiPlatformClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiPlatformClient.d.ts","sourceRoot":"","sources":["../../src/api/ApiPlatformClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;;IAC5B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAOjC,YAAY,OAAO,EAAE,wBAAwB,EA2B5C;IAMD;;;;OAIG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAEpE;IAED;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAEpE;IAED;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEtC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAEZ;IAED;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAED;;;;;;OAMG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIzC;CACF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CAEnB"}
@@ -45,14 +45,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
45
45
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
46
46
  };
47
47
  var _ApiPlatformClient_sharedQueryClient;
48
- import { QueryClient } from "@tanstack/query-core";
48
+ import { QueryClient } from '@tanstack/query-core';
49
49
  // Import API clients from subfolders
50
- import { AccountsApiClient } from "./accounts/index.mjs";
51
- import { authQueryKeys } from "./base-client.mjs";
52
- import { PricesApiClient } from "./prices/index.mjs";
53
- import { STALE_TIMES, GC_TIMES, shouldRetry, calculateRetryDelay } from "./shared-types.mjs";
54
- import { TokenApiClient } from "./token/index.mjs";
55
- import { TokensApiClient } from "./tokens/index.mjs";
50
+ import { AccountsApiClient } from './accounts/index.js';
51
+ import { authQueryKeys } from './base-client.js';
52
+ import { PricesApiClient } from './prices/index.js';
53
+ import { STALE_TIMES, GC_TIMES, shouldRetry, calculateRetryDelay, } from './shared-types.js';
54
+ import { TokenApiClient } from './token/index.js';
55
+ import { TokensApiClient } from './tokens/index.js';
56
56
  // ============================================================================
57
57
  // UNIFIED API CLIENT
58
58
  // ============================================================================
@@ -169,4 +169,4 @@ _ApiPlatformClient_sharedQueryClient = new WeakMap();
169
169
  export function createApiPlatformClient(options) {
170
170
  return new ApiPlatformClient(options);
171
171
  }
172
- //# sourceMappingURL=ApiPlatformClient.mjs.map
172
+ //# sourceMappingURL=ApiPlatformClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiPlatformClient.js","sourceRoot":"","sources":["../../src/api/ApiPlatformClient.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ApiPlatformClient - MetaMask API Platform Client\n *\n * A comprehensive API client that uses @tanstack/query-core directly for:\n * - Automatic request deduplication\n * - Intelligent caching\n * - Automatic retries with exponential backoff\n *\n * Provides unified access to all MetaMask backend APIs:\n * - Accounts API (accounts.api.cx.metamask.io)\n * - Price API (price.api.cx.metamask.io)\n * - Token API (token.api.cx.metamask.io)\n * - Tokens API (tokens.api.cx.metamask.io)\n *\n * @example\n * ```typescript\n * const client = new ApiPlatformClient({\n * clientProduct: 'metamask-extension',\n * getBearerToken: async () => token,\n * });\n *\n * // Access API methods through sub-clients\n * const networks = await client.accounts.fetchV2SupportedNetworks();\n * const balances = await client.accounts.fetchV5MultiAccountBalances(accountIds);\n * const prices = await client.prices.fetchV3SpotPrices(assetIds);\n * const tokenList = await client.token.fetchTokenList(1);\n * const assets = await client.tokens.fetchV3Assets(assetIds);\n *\n * // Cache management\n * await client.invalidateAll(); // Invalidate all caches\n * await client.invalidateAuthToken(); // Invalidate auth token\n * await client.accounts.invalidateBalances(); // Domain-specific via sub-client\n * await client.prices.invalidatePrices(); // Domain-specific via sub-client\n * ```\n */\n\nimport { QueryClient } from '@tanstack/query-core';\nimport type { QueryKey } from '@tanstack/query-core';\n\n// Import API clients from subfolders\nimport { AccountsApiClient } from './accounts/index.js';\nimport { authQueryKeys } from './base-client.js';\nimport { PricesApiClient } from './prices/index.js';\nimport {\n STALE_TIMES,\n GC_TIMES,\n shouldRetry,\n calculateRetryDelay,\n} from './shared-types.js';\nimport type { ApiPlatformClientOptions } from './shared-types.js';\nimport { TokenApiClient } from './token/index.js';\nimport { TokensApiClient } from './tokens/index.js';\n\n// ============================================================================\n// UNIFIED API CLIENT\n// ============================================================================\n\n/**\n * MetaMask API Platform Client with TanStack Query caching.\n * Provides cached access to all MetaMask backend APIs through a unified interface.\n *\n * Access API methods through the sub-clients:\n * - `client.accounts` - Accounts API (balances, transactions, NFTs, etc.)\n * - `client.prices` - Prices API (spot prices, exchange rates, historical prices)\n * - `client.token` - Token API (token metadata, trending, top gainers)\n * - `client.tokens` - Tokens API (bulk asset operations, supported networks)\n */\nexport class ApiPlatformClient {\n /**\n * Accounts API client.\n * Provides methods for balances, transactions, relationships, NFTs, and token discovery.\n */\n readonly accounts: AccountsApiClient;\n\n /**\n * Prices API client.\n * Provides methods for spot prices, exchange rates, and historical prices.\n */\n readonly prices: PricesApiClient;\n\n /**\n * Token API client.\n * Provides methods for token metadata, networks, trending tokens, and top assets.\n */\n readonly token: TokenApiClient;\n\n /**\n * Tokens API client.\n * Provides methods for bulk asset operations and supported networks.\n */\n readonly tokens: TokensApiClient;\n\n /**\n * Shared QueryClient instance used by all sub-clients.\n */\n readonly #sharedQueryClient: QueryClient;\n\n constructor(options: ApiPlatformClientOptions) {\n // Create or use provided QueryClient - shared by all sub-clients\n this.#sharedQueryClient =\n options.queryClient ??\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: STALE_TIMES.DEFAULT,\n gcTime: GC_TIMES.DEFAULT,\n retry: shouldRetry,\n retryDelay: calculateRetryDelay,\n refetchOnWindowFocus: false,\n networkMode: 'always',\n },\n },\n });\n\n // Pass the shared QueryClient to all sub-clients\n const sharedOptions: ApiPlatformClientOptions = {\n ...options,\n queryClient: this.#sharedQueryClient,\n };\n\n this.accounts = new AccountsApiClient(sharedOptions);\n this.prices = new PricesApiClient(sharedOptions);\n this.token = new TokenApiClient(sharedOptions);\n this.tokens = new TokensApiClient(sharedOptions);\n }\n\n // ==========================================================================\n // CACHE MANAGEMENT (operates on shared QueryClient)\n // ==========================================================================\n\n /**\n * Get the underlying QueryClient (for advanced usage).\n *\n * @returns The underlying QueryClient instance.\n */\n get queryClient(): QueryClient {\n return this.#sharedQueryClient;\n }\n\n /**\n * Get cached data for a query key.\n *\n * @param queryKey - The query key to look up.\n * @returns The cached data or undefined.\n */\n getCachedData<CachedData>(queryKey: QueryKey): CachedData | undefined {\n return this.#sharedQueryClient.getQueryData<CachedData>(queryKey);\n }\n\n /**\n * Set cached data for a query key.\n *\n * @param queryKey - The query key to set data for.\n * @param data - The data to cache.\n */\n setCachedData<CachedData>(queryKey: QueryKey, data: CachedData): void {\n this.#sharedQueryClient.setQueryData(queryKey, data);\n }\n\n /**\n * Check if a query is currently fetching.\n *\n * @param queryKey - The query key to check.\n * @returns True if the query is currently fetching.\n */\n isFetching(queryKey: QueryKey): boolean {\n return this.#sharedQueryClient.isFetching({ queryKey }) > 0;\n }\n\n /**\n * Clear all cached data across all sub-clients.\n */\n clear(): void {\n this.#sharedQueryClient.clear();\n }\n\n /**\n * Invalidate all queries across all sub-clients.\n */\n async invalidateAll(): Promise<void> {\n await this.#sharedQueryClient.invalidateQueries();\n }\n\n /**\n * Invalidate the cached auth token.\n * Call this when the user logs out or the token expires.\n *\n * Uses resetQueries() instead of invalidateQueries() to completely remove\n * the cached value, ensuring the next request fetches a fresh token immediately.\n */\n async invalidateAuthToken(): Promise<void> {\n await this.#sharedQueryClient.resetQueries({\n queryKey: authQueryKeys.bearerToken(),\n });\n }\n}\n\n/**\n * Factory function to create an ApiPlatformClient.\n *\n * @param options - Configuration options for the client.\n * @returns A new ApiPlatformClient instance.\n */\nexport function createApiPlatformClient(\n options: ApiPlatformClientOptions,\n): ApiPlatformClient {\n return new ApiPlatformClient(options);\n}\n"]}
@@ -10,10 +10,10 @@
10
10
  * - NFTs
11
11
  * - Token discovery
12
12
  */
13
- import type { FetchInfiniteQueryOptions, FetchQueryOptions } from "@tanstack/query-core";
14
- import { BaseApiClient } from "../base-client.cjs";
15
- import type { FetchOptions } from "../shared-types.cjs";
16
- import type { V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V2BalancesResponse, V4BalancesResponse, V5BalancesResponse, V6BalancesResponse, V6VsCurrency, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, V1AccountRelationshipResult, V2NftsResponse, V2TokensResponse } from "./types.cjs";
13
+ import type { FetchInfiniteQueryOptions, FetchQueryOptions } from '@tanstack/query-core';
14
+ import { BaseApiClient } from '../base-client.js';
15
+ import type { FetchOptions } from '../shared-types.js';
16
+ import type { V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V2BalancesResponse, V4BalancesResponse, V5BalancesResponse, V6BalancesResponse, V6VsCurrency, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, V1AccountRelationshipResult, V2NftsResponse, V2TokensResponse } from './types.js';
17
17
  /**
18
18
  * Accounts API Client.
19
19
  * Provides methods for interacting with the Accounts API.
@@ -497,4 +497,4 @@ export declare class AccountsApiClient extends BaseApiClient {
497
497
  networks?: number[];
498
498
  }, options?: FetchOptions): Promise<V2TokensResponse>;
499
499
  }
500
- //# sourceMappingURL=client.d.cts.map
500
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,8 @@
10
10
  * - NFTs
11
11
  * - Token discovery
12
12
  */
13
- import { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES } from "../base-client.mjs";
14
- import { getQueryOptionsOverrides } from "../shared-types.mjs";
13
+ import { BaseApiClient, API_URLS, STALE_TIMES, GC_TIMES, } from '../base-client.js';
14
+ import { getQueryOptionsOverrides } from '../shared-types.js';
15
15
  /**
16
16
  * Accounts API Client.
17
17
  * Provides methods for interacting with the Accounts API.
@@ -843,4 +843,4 @@ export class AccountsApiClient extends BaseApiClient {
843
843
  return this.queryClient.fetchQuery(this.getV2AccountTokensQueryOptions(address, queryOptions, options));
844
844
  }
845
845
  }
846
- //# sourceMappingURL=client.mjs.map
846
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/accounts/client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Accounts API Client - accounts.api.cx.metamask.io\n *\n * Handles all account-related API calls including:\n * - Supported networks\n * - Active networks\n * - Balances (v2, v4, v5)\n * - Transactions\n * - Relationships\n * - NFTs\n * - Token discovery\n */\n\nimport type {\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n QueryFunctionContext,\n} from '@tanstack/query-core';\n\nimport {\n BaseApiClient,\n API_URLS,\n STALE_TIMES,\n GC_TIMES,\n} from '../base-client.js';\nimport { getQueryOptionsOverrides } from '../shared-types.js';\nimport type { FetchOptions } from '../shared-types.js';\nimport type {\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V2BalancesResponse,\n V4BalancesResponse,\n V5BalancesResponse,\n V6BalancesResponse,\n V6VsCurrency,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n V1AccountRelationshipResult,\n V2NftsResponse,\n V2TokensResponse,\n} from './types.js';\n\n/**\n * Accounts API Client.\n * Provides methods for interacting with the Accounts API.\n */\nexport class AccountsApiClient extends BaseApiClient {\n // ==========================================================================\n // CACHE MANAGEMENT\n // ==========================================================================\n\n /**\n * Invalidate all balance queries.\n */\n async invalidateBalances(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts', 'balances'],\n });\n }\n\n /**\n * Invalidate all account queries.\n */\n async invalidateAccounts(): Promise<void> {\n await this.queryClient.invalidateQueries({\n queryKey: ['accounts'],\n });\n }\n\n // ==========================================================================\n // SUPPORTED NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V1SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v1SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v1/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v1 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV1SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V1SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV1SupportedNetworksQueryOptions(options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v2 supported networks.\n *\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2SupportedNetworksQueryOptions(\n options?: FetchOptions,\n ): FetchQueryOptions<V2SupportedNetworksResponse> {\n return {\n queryKey: ['accounts', 'v2SupportedNetworks'],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V2SupportedNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/supportedNetworks',\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.SUPPORTED_NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.EXTENDED,\n };\n }\n\n /**\n * Get list of supported networks (v2 endpoint).\n *\n * @param options - Fetch options including cache settings.\n * @returns The list of supported networks.\n */\n async fetchV2SupportedNetworks(\n options?: FetchOptions,\n ): Promise<V2SupportedNetworksResponse> {\n return this.queryClient.fetchQuery(\n this.getV2SupportedNetworksQueryOptions(options),\n );\n }\n\n // ==========================================================================\n // ACTIVE NETWORKS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 active networks.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2ActiveNetworksQueryOptions(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2ActiveNetworksResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2ActiveNetworks',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2ActiveNetworksResponse> => {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.fetch<V2ActiveNetworksResponse>(\n API_URLS.ACCOUNTS,\n '/v2/activeNetworks',\n {\n signal,\n params: {\n accountIds,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.NETWORKS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get active networks by CAIP-10 account IDs (v2 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The active networks response.\n */\n async fetchV2ActiveNetworks(\n accountIds: string[],\n queryOptions?: { filterMMListTokens?: boolean; networks?: string[] },\n options?: FetchOptions,\n ): Promise<V2ActiveNetworksResponse> {\n if (accountIds.length === 0) {\n return { activeNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2ActiveNetworksQueryOptions(accountIds, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // BALANCES\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 balances.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2BalancesQueryOptions(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V2BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v2',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeTokenAddresses:\n queryOptions.includeTokenAddresses &&\n [...queryOptions.includeTokenAddresses].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2BalancesResponse> => {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V2BalancesResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/balances`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n includeTokenAddresses: queryOptions?.includeTokenAddresses,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account balances for a single address (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter supported tokens.\n * @param queryOptions.includeTokenAddresses - Token addresses to include.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The account balances response.\n */\n async fetchV2Balances(\n address: string,\n queryOptions?: {\n networks?: number[];\n filterSupportedTokens?: boolean;\n includeTokenAddresses?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V2BalancesResponse> {\n if (address === '') {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2BalancesQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account balances.\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV4MultiAccountBalancesQueryOptions(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V4BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v4',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V4BalancesResponse> => {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.fetch<V4BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/balances',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts (v4 endpoint).\n *\n * @param accountAddresses - Array of account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV4MultiAccountBalances(\n accountAddresses: string[],\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V4BalancesResponse> {\n if (accountAddresses.length === 0) {\n return { count: 0, balances: [], unprocessedNetworks: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountBalancesQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v5 multi-account balances.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV5MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V5BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v5',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V5BalancesResponse> => {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.fetch<V5BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v5/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterMMListTokens: queryOptions?.filterMMListTokens,\n includeStakedAssets: queryOptions?.includeStakedAssets,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances for multiple accounts using CAIP-10 IDs (v5 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.filterMMListTokens - Whether to filter MM list tokens.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.includeStakedAssets - Whether to include staked assets.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances response.\n */\n async fetchV5MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n filterMMListTokens?: boolean;\n networks?: string[];\n includeStakedAssets?: boolean;\n },\n options?: FetchOptions,\n ): Promise<V5BalancesResponse> {\n if (accountIds.length === 0) {\n return { count: 0, unprocessedNetworks: [], balances: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV5MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v6 multi-account balances.\n * The v6 endpoint returns token balances and, optionally, DeFi positions and\n * spot prices.\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV6MultiAccountBalancesQueryOptions(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V6BalancesResponse> {\n return {\n queryKey: [\n 'accounts',\n 'balances',\n 'v6',\n {\n accountIds: [...accountIds].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n includeAssetIds:\n queryOptions.includeAssetIds &&\n [...queryOptions.includeAssetIds].sort(),\n excludeAssetIds:\n queryOptions.excludeAssetIds &&\n [...queryOptions.excludeAssetIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V6BalancesResponse> => {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.fetch<V6BalancesResponse>(\n API_URLS.ACCOUNTS,\n '/v6/multiaccount/balances',\n {\n signal,\n params: {\n accountIds,\n networks: queryOptions?.networks,\n filterSupportedTokens: queryOptions?.filterSupportedTokens,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n includeLabels: queryOptions?.includeLabels,\n includeCanonicalHead: queryOptions?.includeCanonicalHead,\n includeDeFiBalances: queryOptions?.includeDeFiBalances,\n forceFetchDeFiPositions: queryOptions?.forceFetchDeFiPositions,\n includePrices: queryOptions?.includePrices,\n vsCurrency: queryOptions?.vsCurrency,\n includeAssetIds: queryOptions?.includeAssetIds,\n excludeAssetIds: queryOptions?.excludeAssetIds,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.BALANCES,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get balances and DeFi positions for multiple accounts using CAIP-10 IDs\n * (v6 endpoint).\n *\n * @param accountIds - Array of CAIP-10 account IDs.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 chain IDs to filter by.\n * @param queryOptions.filterSupportedTokens - Whether to filter the assets to only tokens existing in the Token API.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.includeLabels - Whether to include asset metadata labels in the response.\n * @param queryOptions.includeCanonicalHead - Whether to include the canonical head asset ID in the response.\n * @param queryOptions.includeDeFiBalances - Whether to include DeFi positions (token balances are always returned).\n * @param queryOptions.forceFetchDeFiPositions - Whether to fetch DeFi positions for all accounts, skipping the cached non-DeFi-user check.\n * @param queryOptions.includePrices - Whether to include spot prices for each token and DeFi position asset.\n * @param queryOptions.vsCurrency - Quote currency for spot prices when `includePrices` is true (default `usd`).\n * @param queryOptions.includeAssetIds - ERC-20 CAIP-19 asset IDs to confirm detection for; undetected IDs are returned in `unprocessedIncludeAssetIds`.\n * @param queryOptions.excludeAssetIds - ERC-20 CAIP-19 asset IDs to exclude from balance results.\n * @param options - Fetch options including cache settings.\n * @returns The multi-account balances and DeFi positions response.\n */\n async fetchV6MultiAccountBalances(\n accountIds: string[],\n queryOptions?: {\n networks?: string[];\n filterSupportedTokens?: boolean;\n startTimestamp?: number;\n endTimestamp?: number;\n includeLabels?: boolean;\n includeCanonicalHead?: boolean;\n includeDeFiBalances?: boolean;\n forceFetchDeFiPositions?: boolean;\n includePrices?: boolean;\n vsCurrency?: V6VsCurrency;\n includeAssetIds?: string[];\n excludeAssetIds?: string[];\n },\n options?: FetchOptions,\n ): Promise<V6BalancesResponse> {\n if (accountIds.length === 0) {\n return {\n unprocessedNetworks: [],\n unprocessedIncludeAssetIds: [],\n balances: [],\n };\n }\n return this.queryClient.fetchQuery(\n this.getV6MultiAccountBalancesQueryOptions(\n accountIds,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // TRANSACTIONS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 transaction by hash.\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1TransactionByHashQueryOptions(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1TransactionByHashResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1ByHash',\n { chainId, txHash, options: queryOptions },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V1TransactionByHashResponse>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/transactions/${txHash}`,\n {\n signal,\n params: {\n includeLogs: queryOptions?.includeLogs,\n includeValueTransfers: queryOptions?.includeValueTransfers,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get a specific transaction by hash (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param txHash - The transaction hash.\n * @param queryOptions - Query filter options.\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeValueTransfers - Whether to include value transfers.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.lang - Language for metadata.\n * @param options - Fetch options including cache settings.\n * @returns The transaction details.\n */\n async fetchV1TransactionByHash(\n chainId: number,\n txHash: string,\n queryOptions?: {\n includeLogs?: boolean;\n includeValueTransfers?: boolean;\n includeTxMetadata?: boolean;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V1TransactionByHashResponse> {\n return this.queryClient.fetchQuery(\n this.getV1TransactionByHashQueryOptions(\n chainId,\n txHash,\n queryOptions,\n options,\n ),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v1 account transactions.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useInfiniteQuery, useSuspenseQuery, etc.\n */\n getV1AccountTransactionsQueryOptions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v1Account',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n chainIds:\n queryOptions.chainIds && [...queryOptions.chainIds].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountTransactionsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V1AccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n `/v1/accounts/${address}/transactions`,\n {\n signal,\n params: {\n networks: queryOptions?.chainIds,\n cursor: queryOptions?.cursor,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n sortDirection: queryOptions?.sortDirection,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account transactions (v1 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.chainIds - Chain IDs to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param queryOptions.startTimestamp - Start timestamp filter.\n * @param queryOptions.endTimestamp - End timestamp filter.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param options - Fetch options including cache settings.\n * @returns The account transactions response.\n */\n async fetchV1AccountTransactions(\n address: string,\n queryOptions?: {\n chainIds?: string[];\n cursor?: string;\n startTimestamp?: number;\n endTimestamp?: number;\n sortDirection?: 'ASC' | 'DESC';\n },\n options?: FetchOptions,\n ): Promise<V1AccountTransactionsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV1AccountTransactionsQueryOptions(address, queryOptions, options),\n );\n }\n\n /**\n * Returns the TanStack Query options object for v4 multi-account transactions.\n * Use this with `queryClient.fetchQuery()`, `useQuery()`, `useInfiniteQuery()`,\n * `useSuspenseQuery()`, etc. for flexibility across query permutations.\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Query options object compatible with fetchQuery/useQuery/useInfiniteQuery.\n */\n getV4MultiAccountTransactionsQueryOptions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchQueryOptions<V4MultiAccountTransactionsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...accountAddresses].sort(),\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: ({ signal }: QueryFunctionContext) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses,\n networks: queryOptions?.networks,\n startTimestamp: queryOptions?.startTimestamp,\n endTimestamp: queryOptions?.endTimestamp,\n cursor: queryOptions?.cursor,\n limit: queryOptions?.limit,\n after: queryOptions?.after,\n before: queryOptions?.before,\n sortDirection: queryOptions?.sortDirection,\n includeLogs: queryOptions?.includeLogs,\n includeTxMetadata: queryOptions?.includeTxMetadata,\n maxLogsPerTx: queryOptions?.maxLogsPerTx,\n lang: queryOptions?.lang,\n },\n },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Returns TanStack Query options for v4 multi-account transactions,\n * designed for use with `useInfiniteQuery`.\n *\n * @param params - API endpoint parameters (excluding pagination cursors).\n * @param params.accountAddresses - Array of CAIP-10 account addresses.\n * @param params.networks - CAIP-2 network IDs to filter by.\n * @param params.startTimestamp - Start timestamp (epoch).\n * @param params.endTimestamp - End timestamp (epoch).\n * @param params.limit - Max transactions per page (default 50).\n * @param params.sortDirection - Sort direction (ASC/DESC).\n * @param params.includeLogs - Whether to include logs.\n * @param params.includeTxMetadata - Whether to include transaction metadata.\n * @param params.maxLogsPerTx - Max logs per transaction.\n * @param params.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns Options object compatible with `useInfiniteQuery`.\n */\n getV4MultiAccountTransactionsInfiniteQueryOptions(\n params: {\n accountAddresses: string[];\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n limit?: number;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): FetchInfiniteQueryOptions<\n V4MultiAccountTransactionsResponse,\n Error,\n V4MultiAccountTransactionsResponse,\n readonly unknown[],\n string | undefined\n > {\n return {\n queryKey: [\n 'accounts',\n 'transactions',\n 'v4MultiAccount',\n {\n accountAddresses: [...params.accountAddresses].sort(),\n networks: params.networks && [...params.networks].sort(),\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n ] as const,\n queryFn: ({\n pageParam,\n signal,\n }: {\n pageParam?: string;\n signal?: AbortSignal;\n }) =>\n this.fetch<V4MultiAccountTransactionsResponse>(\n API_URLS.ACCOUNTS,\n '/v4/multiaccount/transactions',\n {\n signal,\n params: {\n accountAddresses: params.accountAddresses,\n networks: params.networks,\n startTimestamp: params.startTimestamp,\n endTimestamp: params.endTimestamp,\n cursor: pageParam,\n limit: params.limit,\n sortDirection: params.sortDirection,\n includeLogs: params.includeLogs,\n includeTxMetadata: params.includeTxMetadata,\n maxLogsPerTx: params.maxLogsPerTx,\n lang: params.lang,\n },\n },\n ),\n getNextPageParam: ({ pageInfo }: V4MultiAccountTransactionsResponse) =>\n pageInfo.hasNextPage ? pageInfo.endCursor : undefined,\n initialPageParam: options?.initialPageParam,\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.TRANSACTIONS,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get multi-account transactions (v4 endpoint).\n *\n * @param accountAddresses - Array of CAIP-10 account addresses.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Comma-separated CAIP-2 network IDs.\n * @param queryOptions.startTimestamp - Start timestamp (epoch) from which to return results.\n * @param queryOptions.endTimestamp - End timestamp (epoch) for which to return results.\n * @param queryOptions.cursor - Pagination cursor (deprecated, use after).\n * @param queryOptions.limit - Maximum number of transactions to request (default 50).\n * @param queryOptions.after - JWT containing the endCursor for the query.\n * @param queryOptions.before - JWT containing the startCursor for the query.\n * @param queryOptions.sortDirection - Sort direction (ASC/DESC).\n * @param queryOptions.includeLogs - Whether to include logs.\n * @param queryOptions.includeTxMetadata - Whether to include transaction metadata.\n * @param queryOptions.maxLogsPerTx - Maximum number of logs per transaction.\n * @param queryOptions.lang - Language for transaction category (default \"en\").\n * @param options - Fetch options including cache settings.\n * @returns The multi-account transactions response.\n */\n async fetchV4MultiAccountTransactions(\n accountAddresses: string[],\n queryOptions?: {\n networks?: string[];\n startTimestamp?: number;\n endTimestamp?: number;\n cursor?: string;\n limit?: number;\n after?: string;\n before?: string;\n sortDirection?: 'ASC' | 'DESC';\n includeLogs?: boolean;\n includeTxMetadata?: boolean;\n maxLogsPerTx?: number;\n lang?: string;\n },\n options?: FetchOptions,\n ): Promise<V4MultiAccountTransactionsResponse> {\n return this.queryClient.fetchQuery(\n this.getV4MultiAccountTransactionsQueryOptions(\n accountAddresses,\n queryOptions,\n options,\n ),\n );\n }\n\n // ==========================================================================\n // RELATIONSHIPS\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v1 account relationship.\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV1AccountRelationshipQueryOptions(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): FetchQueryOptions<V1AccountRelationshipResult> {\n return {\n queryKey: ['accounts', 'v1Relationship', chainId, from, to],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V1AccountRelationshipResult> =>\n this.fetch<V1AccountRelationshipResult>(\n API_URLS.ACCOUNTS,\n `/v1/networks/${chainId}/accounts/${from}/relationships/${to}`,\n { signal },\n ),\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get account address relationship (v1 endpoint).\n *\n * @param chainId - The chain ID.\n * @param from - The from address.\n * @param to - The to address.\n * @param options - Fetch options including cache settings.\n * @returns The account relationship result.\n */\n async fetchV1AccountRelationship(\n chainId: number,\n from: string,\n to: string,\n options?: FetchOptions,\n ): Promise<V1AccountRelationshipResult> {\n return this.queryClient.fetchQuery(\n this.getV1AccountRelationshipQueryOptions(chainId, from, to, options),\n );\n }\n\n // ==========================================================================\n // NFTs\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account NFTs.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountNftsQueryOptions(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): FetchQueryOptions<V2NftsResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Nfts',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2NftsResponse> => {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.fetch<V2NftsResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/nfts`,\n {\n signal,\n params: {\n networks: queryOptions?.networks,\n cursor: queryOptions?.cursor,\n },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get NFTs owned by an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param queryOptions.cursor - Pagination cursor.\n * @param options - Fetch options including cache settings.\n * @returns The NFTs response.\n */\n async fetchV2AccountNfts(\n address: string,\n queryOptions?: { networks?: number[]; cursor?: string },\n options?: FetchOptions,\n ): Promise<V2NftsResponse> {\n if (address === '') {\n return { data: [], pageInfo: { count: 0, hasNextPage: false } };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountNftsQueryOptions(address, queryOptions, options),\n );\n }\n\n // ==========================================================================\n // TOKEN DISCOVERY\n // ==========================================================================\n\n /**\n * Returns the TanStack Query options object for v2 account tokens.\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns TanStack Query options for use with useQuery, useSuspenseQuery, etc.\n */\n getV2AccountTokensQueryOptions(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): FetchQueryOptions<V2TokensResponse> {\n return {\n queryKey: [\n 'accounts',\n 'v2Tokens',\n {\n address,\n options: queryOptions && {\n ...queryOptions,\n networks:\n queryOptions.networks && [...queryOptions.networks].sort(),\n },\n },\n ],\n queryFn: async ({\n signal,\n }: QueryFunctionContext): Promise<V2TokensResponse> => {\n if (address === '') {\n return { data: [] };\n }\n return this.fetch<V2TokensResponse>(\n API_URLS.ACCOUNTS,\n `/v2/accounts/${address}/tokens`,\n {\n signal,\n params: { networks: queryOptions?.networks },\n },\n );\n },\n ...getQueryOptionsOverrides(options),\n staleTime: options?.staleTime ?? STALE_TIMES.DEFAULT,\n gcTime: options?.gcTime ?? GC_TIMES.DEFAULT,\n };\n }\n\n /**\n * Get ERC20 tokens detected for an account (v2 endpoint).\n *\n * @param address - The account address.\n * @param queryOptions - Query filter options.\n * @param queryOptions.networks - Networks to filter by.\n * @param options - Fetch options including cache settings.\n * @returns The tokens response.\n */\n async fetchV2AccountTokens(\n address: string,\n queryOptions?: { networks?: number[] },\n options?: FetchOptions,\n ): Promise<V2TokensResponse> {\n if (address === '') {\n return { data: [] };\n }\n return this.queryClient.fetchQuery(\n this.getV2AccountTokensQueryOptions(address, queryOptions, options),\n );\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Accounts API barrel export.
3
3
  */
4
- export { AccountsApiClient } from "./client.mjs";
5
- export { V6_DEFI_POSITION_TYPES } from "./types.mjs";
6
- export type { V5BalanceItem, V5BalancesResponse, V2BalanceItem, V2BalancesResponse, V4BalancesResponse, V6VsCurrency, V6DeFiPositionType, V6BalanceMetadata, V6TokenMetadata, V6BalanceItem, V6BalancesResponse, V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, ValueTransfer, V1AccountRelationshipResult, NftItem, V2NftsResponse, TokenDiscoveryItem, V2TokensResponse, } from "./types.mjs";
7
- //# sourceMappingURL=index.d.mts.map
4
+ export { AccountsApiClient } from './client.js';
5
+ export { V6_DEFI_POSITION_TYPES } from './types.js';
6
+ export type { V5BalanceItem, V5BalancesResponse, V2BalanceItem, V2BalancesResponse, V4BalancesResponse, V6VsCurrency, V6DeFiPositionType, V6BalanceMetadata, V6TokenMetadata, V6BalanceItem, V6BalancesResponse, V1SupportedNetworksResponse, V2SupportedNetworksResponse, V2ActiveNetworksResponse, V1TransactionByHashResponse, V1AccountTransactionsResponse, V4MultiAccountTransactionsResponse, ValueTransfer, V1AccountRelationshipResult, NftItem, V2NftsResponse, TokenDiscoveryItem, V2TokensResponse, } from './types.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,aAAa,EACb,2BAA2B,EAC3B,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Accounts API barrel export.
3
+ */
4
+ export { AccountsApiClient } from './client.js';
5
+ export { V6_DEFI_POSITION_TYPES } from './types.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/accounts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC","sourcesContent":["/**\n * Accounts API barrel export.\n */\n\nexport { AccountsApiClient } from './client.js';\nexport { V6_DEFI_POSITION_TYPES } from './types.js';\nexport type {\n V5BalanceItem,\n V5BalancesResponse,\n V2BalanceItem,\n V2BalancesResponse,\n V4BalancesResponse,\n V6VsCurrency,\n V6DeFiPositionType,\n V6BalanceMetadata,\n V6TokenMetadata,\n V6BalanceItem,\n V6BalancesResponse,\n V1SupportedNetworksResponse,\n V2SupportedNetworksResponse,\n V2ActiveNetworksResponse,\n V1TransactionByHashResponse,\n V1AccountTransactionsResponse,\n V4MultiAccountTransactionsResponse,\n ValueTransfer,\n V1AccountRelationshipResult,\n NftItem,\n V2NftsResponse,\n TokenDiscoveryItem,\n V2TokensResponse,\n} from './types.js';\n"]}
@@ -2,7 +2,7 @@
2
2
  * Accounts API types for the API Platform Client.
3
3
  * API: accounts.api.cx.metamask.io
4
4
  */
5
- import type { PageInfo } from "../shared-types.cjs";
5
+ import type { PageInfo } from '../shared-types.js';
6
6
  /** V5 Balance Item from Accounts API */
7
7
  export type V5BalanceItem = {
8
8
  object: 'token';
@@ -56,7 +56,7 @@ export type V6VsCurrency = string;
56
56
  * Categorizes the protocol module where the position is held.
57
57
  * Link here: https://developers.zerion.io/api-reference/wallets/get-wallet-fungible-positions#parameter-filter-position-types
58
58
  */
59
- export declare const V6_DEFI_POSITION_TYPES: readonly ["deposit", "loan", "locked", "staked", "reward", "wallet", "investment"];
59
+ export declare const V6_DEFI_POSITION_TYPES: readonly ['deposit', 'loan', 'locked', 'staked', 'reward', 'wallet', 'investment'];
60
60
  /**
61
61
  * The specific module or functionality within a DeFi protocol where a position
62
62
  * is held.
@@ -283,4 +283,4 @@ export type TokenDiscoveryItem = {
283
283
  export type V2TokensResponse = {
284
284
  data: TokenDiscoveryItem[];
285
285
  };
286
- //# sourceMappingURL=types.d.cts.map
286
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/accounts/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMnD,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B,CAAC;AAEF,sBAAsB;AACtB,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,YACjC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,CACJ,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,kBAAkB,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oEAAoE;IACpE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,0BAA0B,EAAE,MAAM,EAAE,CAAC;IACrC,wCAAwC;IACxC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AAMF,qCAAqC;AACrC,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,+BAA+B;AAC/B,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAMF,mCAAmC;AACnC,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IACJ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,2BAA2B,EAAE,CAAC;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,kCAAkC,GAAG;IAC/C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,2BAA2B,EAAE,CAAC;CACrC,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,EAAE,aAAa,EAAE,CAAC;QAChC,IAAI,EAAE,OAAO,EAAE,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,uDAAuD;IACvD,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAMF,eAAe;AACf,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACxC,CAAC;AAEF,oBAAoB;AACpB,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAMF,2BAA2B;AAC3B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,sBAAsB;AACtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B,CAAC"}
@@ -16,4 +16,4 @@ export const V6_DEFI_POSITION_TYPES = [
16
16
  'wallet',
17
17
  'investment',
18
18
  ];
19
- //# sourceMappingURL=types.mjs.map
19
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/accounts/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8DH;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,YAAY;CACJ,CAAC","sourcesContent":["/**\n * Accounts API types for the API Platform Client.\n * API: accounts.api.cx.metamask.io\n */\n\nimport type { PageInfo } from '../shared-types.js';\n\n// ============================================================================\n// BALANCE TYPES\n// ============================================================================\n\n/** V5 Balance Item from Accounts API */\nexport type V5BalanceItem = {\n object: 'token';\n symbol: string;\n name: string;\n type: 'native' | 'erc20';\n decimals: number;\n assetId: string;\n balance: string;\n accountId: string;\n};\n\n/** V5 Multi-account balances response */\nexport type V5BalancesResponse = {\n count: number;\n unprocessedNetworks: string[];\n balances: V5BalanceItem[];\n};\n\n/** V2 Balance item */\nexport type V2BalanceItem = {\n object: string;\n type?: string;\n timestamp?: string;\n address: string;\n symbol: string;\n name: string;\n decimals: number;\n chainId: number;\n balance: string;\n accountAddress?: string;\n};\n\n/** V2 Balances response */\nexport type V2BalancesResponse = {\n count: number;\n balances: V2BalanceItem[];\n unprocessedNetworks: number[];\n};\n\n/** V4 Multi-account balances response */\nexport type V4BalancesResponse = {\n count: number;\n balances: V2BalanceItem[];\n unprocessedNetworks: number[];\n};\n\n/**\n * Quote currency accepted by the v6 balances endpoint when `includePrices` is\n * true. A superset of {@link SupportedCurrency} (adds e.g. `sol`, `xdr`,\n * `xag`, `xau`, `bits`, `sats`). Defaults to `usd`.\n */\nexport type V6VsCurrency = string;\n\n/**\n * Possible `positionType` values on DeFi rows in the v6 balances response.\n * Categorizes the protocol module where the position is held.\n * Link here: https://developers.zerion.io/api-reference/wallets/get-wallet-fungible-positions#parameter-filter-position-types\n */\nexport const V6_DEFI_POSITION_TYPES = [\n 'deposit',\n 'loan',\n 'locked',\n 'staked',\n 'reward',\n 'wallet',\n 'investment',\n] as const;\n\n/**\n * The specific module or functionality within a DeFi protocol where a position\n * is held.\n */\nexport type V6DeFiPositionType = (typeof V6_DEFI_POSITION_TYPES)[number];\n\n/**\n * DeFi protocol metadata attached to an `object: defi` row in the v6 balances\n * response (`BalanceMetadataV3ResponseDto`).\n */\nexport type V6BalanceMetadata = {\n protocolId: string;\n productName: string;\n description: string;\n protocolUrl: string;\n protocolIconUrl?: string;\n positionType: V6DeFiPositionType;\n poolAddress: string;\n groupId: string;\n};\n\n/**\n * Token-level metadata attached to an `object: token` row in the v6 balances\n * response, e.g. Stellar trustline metadata. Additional keys may be present.\n */\nexport type V6TokenMetadata = {\n /** Stellar trustline limit. */\n limit?: string;\n /** Whether the Stellar trustline is authorized. */\n authorized?: boolean;\n [key: string]: unknown;\n};\n\n/**\n * A single balance row in the v6 balances response (`BalanceV3ResponseDto`).\n * `object: token` rows are token balances (and may carry\n * {@link V6TokenMetadata}, e.g. Stellar trustline info). `object: defi` rows\n * are flat DeFi positions and include {@link V6BalanceMetadata}.\n */\nexport type V6BalanceItem = {\n accountId: string;\n object: 'token' | 'defi';\n /** Asset standard reported by the network (for example `native` or `erc20`). */\n type: string;\n assetId: string;\n name: string;\n symbol: string;\n decimals: number;\n balance: string;\n /** Spot price in the requested `vsCurrency`. Present when `includePrices` is true. */\n price?: string;\n /** Asset metadata labels. Present when `includeLabels` is true. */\n labels?: string[];\n /** Canonical head asset ID. Present when `includeCanonicalHead` is true. */\n canonicalHead?: string;\n /**\n * DeFi protocol metadata for `object: defi` rows; token-level metadata such\n * as Stellar trustline info (e.g. `limit`, `authorized`) for `object: token`\n * rows.\n */\n metadata?: V6BalanceMetadata | V6TokenMetadata;\n};\n\n/**\n * V6 multi-account balances response (`MultiAccountBalancesV3ResponseDto`).\n */\nexport type V6BalancesResponse = {\n /** CAIP-2 networks that could not be processed for this request. */\n unprocessedNetworks: string[];\n /**\n * ERC-20 IDs from `includeAssetIds` that were not detected on any requested\n * account, plus other IDs that still need a client fallback flow.\n */\n unprocessedIncludeAssetIds: string[];\n /** Flat token and DeFi balance rows. */\n balances: V6BalanceItem[];\n /**\n * CAIP-10 account IDs whose DeFi positions are still being indexed upstream;\n * poll again shortly. DeFi balance rows for these accounts are omitted from\n * `balances` until indexing completes.\n */\n processingDefiPositions?: string[];\n};\n\n// ============================================================================\n// SUPPORTED NETWORKS TYPES\n// ============================================================================\n\n/** V1 Supported networks response */\nexport type V1SupportedNetworksResponse = {\n supportedNetworks: number[];\n};\n\n/** V2 Supported networks response */\nexport type V2SupportedNetworksResponse = {\n fullSupport: number[];\n partialSupport: {\n balances: number[];\n };\n};\n\n/** Active networks response */\nexport type V2ActiveNetworksResponse = {\n activeNetworks: string[];\n};\n\n// ============================================================================\n// TRANSACTION TYPES\n// ============================================================================\n\n/** Transaction by hash response */\nexport type V1TransactionByHashResponse = {\n hash: string;\n timestamp: string;\n chainId: number;\n blockNumber: number;\n blockHash: string;\n gas: number;\n gasUsed: number;\n gasPrice: string;\n effectiveGasPrice: string;\n nonce: number;\n cumulativeGasUsed: number;\n methodId?: string;\n value: string;\n to: string;\n from: string;\n isError?: boolean;\n valueTransfers?: {\n from: string;\n to: string;\n amount: string;\n decimal: number;\n contractAddress: string;\n symbol: string;\n name: string;\n transferType: string;\n }[];\n logs?: {\n data: string;\n topics: string[];\n address: string;\n logIndex: number;\n }[];\n transactionType?: string;\n transactionCategory?: string;\n transactionProtocol?: string;\n};\n\n/** Account transactions response */\nexport type V1AccountTransactionsResponse = {\n data: V1TransactionByHashResponse[];\n pageInfo: PageInfo;\n};\n\n/** V4 Multi-account transactions response */\nexport type V4MultiAccountTransactionsResponse = {\n unprocessedNetworks: string[];\n pageInfo: {\n count: number;\n hasNextPage: boolean;\n endCursor?: string;\n };\n data: V1TransactionByHashResponse[];\n};\n\n// ============================================================================\n// RELATIONSHIP TYPES\n// ============================================================================\n\n/**\n * Value transfer within a transaction\n */\nexport type ValueTransfer = {\n from: string;\n to: string;\n amount: string;\n decimal: number;\n transferType: string;\n};\n\n/**\n * Account address relationship result from v1 endpoint\n */\nexport type V1AccountRelationshipResult = {\n /** Transaction hash of the relationship */\n txHash?: string;\n /** Chain ID */\n chainId?: number;\n /** Number of interactions */\n count?: number;\n /** Transaction data details */\n data?: {\n hash: string;\n timestamp: string;\n chainId: number;\n blockNumber: number;\n blockHash: string;\n gas: number;\n gasUsed: number;\n gasPrice: string;\n effectiveGasPrice: string;\n nonce: number;\n cumulativeGasUsed: number;\n methodId: string;\n value: string;\n to: string;\n from: string;\n isError: boolean;\n valueTransfers: ValueTransfer[];\n logs: unknown[];\n transactionType: string;\n transactionCategory: string;\n readable: string;\n textFunctionSignature: string;\n };\n /** Error information when relationship lookup fails */\n error?: {\n code: string;\n message: string;\n };\n};\n\n// ============================================================================\n// NFT TYPES\n// ============================================================================\n\n/** NFT item */\nexport type NftItem = {\n tokenId: string;\n contractAddress: string;\n chainId: number;\n name?: string;\n description?: string;\n imageUrl?: string;\n attributes?: Record<string, unknown>[];\n};\n\n/** NFTs response */\nexport type V2NftsResponse = {\n data: NftItem[];\n pageInfo: PageInfo;\n};\n\n// ============================================================================\n// TOKEN DISCOVERY TYPES\n// ============================================================================\n\n/** Token discovery item */\nexport type TokenDiscoveryItem = {\n address: string;\n chainId: number;\n symbol: string;\n name: string;\n decimals: number;\n balance?: string;\n};\n\n/** Tokens response */\nexport type V2TokensResponse = {\n data: TokenDiscoveryItem[];\n};\n"]}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Base API Client - Shared HTTP functionality for all API clients.
3
3
  */
4
- import { QueryClient } from "@tanstack/query-core";
5
- import { API_URLS, STALE_TIMES, GC_TIMES, HttpError } from "./shared-types.cjs";
6
- import type { ApiPlatformClientOptions } from "./shared-types.cjs";
4
+ import { QueryClient } from '@tanstack/query-core';
5
+ import type { QueryKey } from '@tanstack/query-core';
6
+ import { API_URLS, STALE_TIMES, GC_TIMES, HttpError } from './shared-types.js';
7
+ import type { ApiPlatformClientOptions } from './shared-types.js';
7
8
  export declare const authQueryKeys: {
8
- readonly bearerToken: () => readonly unknown[];
9
+ readonly bearerToken: () => QueryKey;
9
10
  };
10
11
  export type { ApiPlatformClientOptions };
11
12
  /**
@@ -51,4 +52,4 @@ export declare class BaseApiClient {
51
52
  protected fetch<ResponseType>(baseUrl: string, path: string, options?: InternalFetchOptions): Promise<ResponseType>;
52
53
  }
53
54
  export { API_URLS, STALE_TIMES, GC_TIMES, HttpError };
54
- //# sourceMappingURL=base-client.d.cts.map
55
+ //# sourceMappingURL=base-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../src/api/base-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EAGR,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,eAAO,MAAM,aAAa;aACxB,WAAW,QAAM,QAAQ;CACjB,CAAC;AAEX,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CACb,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAC5D,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,qBAAa,aAAa;;IACxB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAEzC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAItE;;;;;OAKG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;;;;;OAMG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIzC;IAED,YAAY,OAAO,EAAE,wBAAwB,EAmB5C;IAED;;;;;;;OAOG;IACH,UAAgB,KAAK,CAAC,YAAY,EAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC,CA6EvB;CACF;AAGD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC"}
@@ -13,8 +13,8 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
13
13
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
14
14
  };
15
15
  var _BaseApiClient_queryClientInstance;
16
- import { QueryClient } from "@tanstack/query-core";
17
- import { API_URLS, STALE_TIMES, GC_TIMES, calculateRetryDelay, shouldRetry, HttpError } from "./shared-types.mjs";
16
+ import { QueryClient } from '@tanstack/query-core';
17
+ import { API_URLS, STALE_TIMES, GC_TIMES, calculateRetryDelay, shouldRetry, HttpError, } from './shared-types.js';
18
18
  // Auth query keys - shared for token management across clients
19
19
  export const authQueryKeys = {
20
20
  bearerToken: () => ['auth', 'bearerToken'],
@@ -142,4 +142,4 @@ export class BaseApiClient {
142
142
  _BaseApiClient_queryClientInstance = new WeakMap();
143
143
  // Re-export constants for use by API clients
144
144
  export { API_URLS, STALE_TIMES, GC_TIMES, HttpError };
145
- //# sourceMappingURL=base-client.mjs.map
145
+ //# sourceMappingURL=base-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-client.js","sourceRoot":"","sources":["../../src/api/base-client.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Base API Client - Shared HTTP functionality for all API clients.\n */\n\nimport { QueryClient } from '@tanstack/query-core';\nimport type { QueryKey } from '@tanstack/query-core';\n\nimport {\n API_URLS,\n STALE_TIMES,\n GC_TIMES,\n calculateRetryDelay,\n shouldRetry,\n HttpError,\n} from './shared-types.js';\nimport type { ApiPlatformClientOptions } from './shared-types.js';\n\n// Auth query keys - shared for token management across clients\nexport const authQueryKeys = {\n bearerToken: (): QueryKey => ['auth', 'bearerToken'],\n} as const;\n\nexport type { ApiPlatformClientOptions };\n\n/**\n * Internal fetch options for HTTP requests.\n */\nexport type InternalFetchOptions = {\n signal?: AbortSignal;\n params?: Record<\n string,\n string | string[] | number | number[] | boolean | undefined\n >;\n};\n\n/**\n * Base API Client with shared HTTP and caching functionality.\n * Extended by all specific API clients.\n */\nexport class BaseApiClient {\n protected readonly clientProduct: string;\n\n protected readonly clientVersion?: string;\n\n protected readonly getBearerToken?: () => Promise<string | undefined>;\n\n readonly #queryClientInstance: QueryClient;\n\n /**\n * Get the underlying QueryClient instance.\n * Exposed for cache management operations.\n *\n * @returns The QueryClient instance.\n */\n get queryClient(): QueryClient {\n return this.#queryClientInstance;\n }\n\n /**\n * Invalidate the cached auth token.\n * Call this when the user logs out or the token expires.\n *\n * Uses resetQueries() instead of invalidateQueries() to completely remove\n * the cached value, ensuring the next request fetches a fresh token immediately.\n */\n async invalidateAuthToken(): Promise<void> {\n await this.#queryClientInstance.resetQueries({\n queryKey: authQueryKeys.bearerToken(),\n });\n }\n\n constructor(options: ApiPlatformClientOptions) {\n this.clientProduct = options.clientProduct;\n this.clientVersion = options.clientVersion;\n this.getBearerToken = options.getBearerToken;\n\n this.#queryClientInstance =\n options.queryClient ??\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: STALE_TIMES.DEFAULT,\n gcTime: GC_TIMES.DEFAULT,\n retry: shouldRetry,\n retryDelay: calculateRetryDelay,\n refetchOnWindowFocus: false,\n networkMode: 'always',\n },\n },\n });\n }\n\n /**\n * Internal HTTP fetch method with authentication and error handling.\n *\n * @param baseUrl - The base URL for the API.\n * @param path - The API endpoint path.\n * @param options - Optional fetch configuration.\n * @returns The parsed JSON response.\n */\n protected async fetch<ResponseType>(\n baseUrl: string,\n path: string,\n options?: InternalFetchOptions,\n ): Promise<ResponseType> {\n const url = new URL(path, baseUrl);\n\n if (options?.params) {\n for (const [key, value] of Object.entries(options.params)) {\n if (value === undefined) {\n continue;\n }\n if (Array.isArray(value)) {\n // Convert array values (including number[]) to comma-separated string\n url.searchParams.set(key, value.map(String).join(','));\n } else {\n url.searchParams.set(key, String(value));\n }\n }\n }\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'x-metamask-clientproduct': this.clientProduct,\n };\n\n if (this.clientVersion) {\n headers['x-metamask-clientversion'] = this.clientVersion;\n }\n\n // Get bearer token using fetchQuery for automatic deduplication\n if (this.getBearerToken) {\n const queryKey = authQueryKeys.bearerToken();\n const { getBearerToken } = this;\n\n try {\n // fetchQuery handles caching and deduplicates concurrent requests\n const token = await this.#queryClientInstance.fetchQuery({\n queryKey,\n queryFn: async () => {\n const result = await getBearerToken();\n // Throw if no token - prevents caching null/undefined\n // so subsequent requests can retry (e.g., after user logs in)\n if (!result) {\n throw new Error('No bearer token available');\n }\n return result;\n },\n staleTime: STALE_TIMES.AUTH_TOKEN,\n retry: false, // Don't retry auth failures\n });\n\n headers.Authorization = `Bearer ${token}`;\n } catch {\n // No token available - continue without auth header\n }\n }\n\n const response = await fetch(url.toString(), {\n method: 'GET',\n headers,\n signal: options?.signal,\n });\n\n if (!response.ok) {\n let body: unknown;\n try {\n body = await response.json();\n } catch {\n // Response body is not JSON or is empty, leave body as undefined\n }\n throw new HttpError(\n `HTTP ${response.status}: ${response.statusText}`,\n response.status,\n response.statusText,\n url.toString(),\n body,\n );\n }\n\n return response.json() as Promise<ResponseType>;\n }\n}\n\n// Re-export constants for use by API clients\nexport { API_URLS, STALE_TIMES, GC_TIMES, HttpError };\n"]}