@gauntlet-xyz/sdk 2.5.0 → 3.1.1

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 (362) hide show
  1. package/README.md +121 -7
  2. package/dist/api/activity.d.ts +4 -2
  3. package/dist/api/activity.d.ts.map +1 -1
  4. package/dist/api/activityRows.d.ts +11 -0
  5. package/dist/api/activityRows.d.ts.map +1 -0
  6. package/dist/api/caip.d.ts +1 -1
  7. package/dist/api/caip.d.ts.map +1 -1
  8. package/dist/api/client.d.ts +43 -5
  9. package/dist/api/client.d.ts.map +1 -1
  10. package/dist/api/decimal.d.ts.map +1 -1
  11. package/dist/api/errors.d.ts +1 -1
  12. package/dist/api/errors.d.ts.map +1 -1
  13. package/dist/api/generated.d.ts +570 -7
  14. package/dist/api/generated.d.ts.map +1 -1
  15. package/dist/api/http.d.ts.map +1 -1
  16. package/dist/api/index.d.ts +13 -13
  17. package/dist/api/index.d.ts.map +1 -1
  18. package/dist/api/index.js +47 -8
  19. package/dist/api/index.js.map +7 -1
  20. package/dist/api/positionHistory.d.ts +1 -1
  21. package/dist/api/positionHistory.d.ts.map +1 -1
  22. package/dist/attribution/index.d.ts +8 -5
  23. package/dist/attribution/index.d.ts.map +1 -1
  24. package/dist/chunk-JJOLVL5V.js +546 -0
  25. package/dist/chunk-JJOLVL5V.js.map +7 -0
  26. package/dist/chunk-JRSNLXFY.js +2009 -0
  27. package/dist/chunk-JRSNLXFY.js.map +7 -0
  28. package/dist/chunk-MEKISE2T.js +367 -0
  29. package/dist/chunk-MEKISE2T.js.map +7 -0
  30. package/dist/chunk-YQXTLIJA.js +4477 -0
  31. package/dist/chunk-YQXTLIJA.js.map +7 -0
  32. package/dist/cjs/api/activity.d.ts +72 -0
  33. package/dist/cjs/api/activity.d.ts.map +1 -0
  34. package/dist/cjs/api/activity.js +138 -0
  35. package/dist/cjs/api/activity.js.map +7 -0
  36. package/dist/cjs/api/activityRows.d.ts +11 -0
  37. package/dist/cjs/api/activityRows.d.ts.map +1 -0
  38. package/dist/cjs/api/activityRows.js +139 -0
  39. package/dist/cjs/api/activityRows.js.map +7 -0
  40. package/dist/cjs/api/caip.d.ts +29 -0
  41. package/dist/cjs/api/caip.d.ts.map +1 -0
  42. package/dist/cjs/api/caip.js +61 -0
  43. package/dist/cjs/api/caip.js.map +7 -0
  44. package/dist/cjs/api/client.d.ts +173 -0
  45. package/dist/cjs/api/client.d.ts.map +1 -0
  46. package/dist/cjs/api/client.js +199 -0
  47. package/dist/cjs/api/client.js.map +7 -0
  48. package/dist/cjs/api/decimal.d.ts +21 -0
  49. package/dist/cjs/api/decimal.d.ts.map +1 -0
  50. package/dist/cjs/api/decimal.js +61 -0
  51. package/dist/cjs/api/decimal.js.map +7 -0
  52. package/dist/cjs/api/errors.d.ts +32 -0
  53. package/dist/cjs/api/errors.d.ts.map +1 -0
  54. package/dist/cjs/api/errors.js +80 -0
  55. package/dist/cjs/api/errors.js.map +7 -0
  56. package/dist/cjs/api/generated.d.ts +2068 -0
  57. package/dist/cjs/api/generated.d.ts.map +1 -0
  58. package/dist/cjs/api/generated.js +17 -0
  59. package/dist/cjs/api/generated.js.map +7 -0
  60. package/dist/cjs/api/http.d.ts +16 -0
  61. package/dist/cjs/api/http.d.ts.map +1 -0
  62. package/dist/cjs/api/http.js +65 -0
  63. package/dist/cjs/api/http.js.map +7 -0
  64. package/dist/cjs/api/index.d.ts +14 -0
  65. package/dist/cjs/api/index.d.ts.map +1 -0
  66. package/dist/cjs/api/index.js +73 -0
  67. package/dist/cjs/api/index.js.map +7 -0
  68. package/dist/cjs/api/positionHistory.d.ts +44 -0
  69. package/dist/cjs/api/positionHistory.d.ts.map +1 -0
  70. package/dist/cjs/api/positionHistory.js +144 -0
  71. package/dist/cjs/api/positionHistory.js.map +7 -0
  72. package/dist/cjs/attribution/erc8021.d.ts +9 -0
  73. package/dist/cjs/attribution/erc8021.d.ts.map +1 -0
  74. package/dist/cjs/attribution/erc8021.js +37 -0
  75. package/dist/cjs/attribution/erc8021.js.map +7 -0
  76. package/dist/cjs/attribution/index.d.ts +28 -0
  77. package/dist/cjs/attribution/index.d.ts.map +1 -0
  78. package/dist/cjs/attribution/index.js +70 -0
  79. package/dist/cjs/attribution/index.js.map +7 -0
  80. package/dist/cjs/client.d.ts +72 -0
  81. package/dist/cjs/client.d.ts.map +1 -0
  82. package/dist/cjs/client.js +80 -0
  83. package/dist/cjs/client.js.map +7 -0
  84. package/dist/cjs/constants.d.ts +16 -0
  85. package/dist/cjs/constants.d.ts.map +1 -0
  86. package/dist/cjs/constants.js +83 -0
  87. package/dist/cjs/constants.js.map +7 -0
  88. package/dist/cjs/errors.d.ts +85 -0
  89. package/dist/cjs/errors.d.ts.map +1 -0
  90. package/dist/cjs/errors.js +210 -0
  91. package/dist/cjs/errors.js.map +7 -0
  92. package/dist/cjs/evm/abis/erc20.d.ts +41 -0
  93. package/dist/cjs/evm/abis/erc20.d.ts.map +1 -0
  94. package/dist/cjs/evm/abis/erc20.js +57 -0
  95. package/dist/cjs/evm/abis/erc20.js.map +7 -0
  96. package/dist/cjs/evm/abis/erc4626.d.ts +105 -0
  97. package/dist/cjs/evm/abis/erc4626.d.ts.map +1 -0
  98. package/dist/cjs/evm/abis/erc4626.js +97 -0
  99. package/dist/cjs/evm/abis/erc4626.js.map +7 -0
  100. package/dist/cjs/evm/abis/multiDepositorVault.d.ts +1048 -0
  101. package/dist/cjs/evm/abis/multiDepositorVault.d.ts.map +1 -0
  102. package/dist/cjs/evm/abis/multiDepositorVault.js +614 -0
  103. package/dist/cjs/evm/abis/multiDepositorVault.js.map +7 -0
  104. package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts +910 -0
  105. package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts.map +1 -0
  106. package/dist/cjs/evm/abis/priceAndFeeCalculator.js +517 -0
  107. package/dist/cjs/evm/abis/priceAndFeeCalculator.js.map +7 -0
  108. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts +277 -0
  109. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -0
  110. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js +166 -0
  111. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js.map +7 -0
  112. package/dist/cjs/evm/abis/provisioner.d.ts +4984 -0
  113. package/dist/cjs/evm/abis/provisioner.d.ts.map +1 -0
  114. package/dist/cjs/evm/abis/provisioner.js +2785 -0
  115. package/dist/cjs/evm/abis/provisioner.js.map +7 -0
  116. package/dist/cjs/evm/abis/provisionerV2.d.ts +740 -0
  117. package/dist/cjs/evm/abis/provisionerV2.d.ts.map +1 -0
  118. package/dist/cjs/evm/abis/provisionerV2.js +320 -0
  119. package/dist/cjs/evm/abis/provisionerV2.js.map +7 -0
  120. package/dist/cjs/evm/adapters/aera.d.ts +6 -0
  121. package/dist/cjs/evm/adapters/aera.d.ts.map +1 -0
  122. package/dist/cjs/evm/adapters/aera.js +500 -0
  123. package/dist/cjs/evm/adapters/aera.js.map +7 -0
  124. package/dist/cjs/evm/adapters/index.d.ts +3 -0
  125. package/dist/cjs/evm/adapters/index.d.ts.map +1 -0
  126. package/dist/cjs/evm/adapters/index.js +41 -0
  127. package/dist/cjs/evm/adapters/index.js.map +7 -0
  128. package/dist/cjs/evm/adapters/morpho.d.ts +3 -0
  129. package/dist/cjs/evm/adapters/morpho.d.ts.map +1 -0
  130. package/dist/cjs/evm/adapters/morpho.js +103 -0
  131. package/dist/cjs/evm/adapters/morpho.js.map +7 -0
  132. package/dist/cjs/evm/adapters/types.d.ts +85 -0
  133. package/dist/cjs/evm/adapters/types.d.ts.map +1 -0
  134. package/dist/cjs/evm/adapters/types.js +17 -0
  135. package/dist/cjs/evm/adapters/types.js.map +7 -0
  136. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts +46 -0
  137. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -0
  138. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js +223 -0
  139. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js.map +7 -0
  140. package/dist/cjs/evm/aeraContracts/readOptions.d.ts +8 -0
  141. package/dist/cjs/evm/aeraContracts/readOptions.d.ts.map +1 -0
  142. package/dist/cjs/evm/aeraContracts/readOptions.js +31 -0
  143. package/dist/cjs/evm/aeraContracts/readOptions.js.map +7 -0
  144. package/dist/cjs/evm/aeraContracts/v1.d.ts +2317 -0
  145. package/dist/cjs/evm/aeraContracts/v1.d.ts.map +1 -0
  146. package/dist/cjs/evm/aeraContracts/v1.js +120 -0
  147. package/dist/cjs/evm/aeraContracts/v1.js.map +7 -0
  148. package/dist/cjs/evm/aeraContracts/v2.d.ts +4538 -0
  149. package/dist/cjs/evm/aeraContracts/v2.d.ts.map +1 -0
  150. package/dist/cjs/evm/aeraContracts/v2.js +449 -0
  151. package/dist/cjs/evm/aeraContracts/v2.js.map +7 -0
  152. package/dist/cjs/evm/aeraContracts.d.ts +33 -0
  153. package/dist/cjs/evm/aeraContracts.d.ts.map +1 -0
  154. package/dist/cjs/evm/aeraContracts.js +234 -0
  155. package/dist/cjs/evm/aeraContracts.js.map +7 -0
  156. package/dist/cjs/evm/deposit.d.ts +51 -0
  157. package/dist/cjs/evm/deposit.d.ts.map +1 -0
  158. package/dist/cjs/evm/deposit.js +142 -0
  159. package/dist/cjs/evm/deposit.js.map +7 -0
  160. package/dist/cjs/evm/depositQuote.d.ts +32 -0
  161. package/dist/cjs/evm/depositQuote.d.ts.map +1 -0
  162. package/dist/cjs/evm/depositQuote.js +97 -0
  163. package/dist/cjs/evm/depositQuote.js.map +7 -0
  164. package/dist/cjs/evm/depositReceiverApproval.d.ts +17 -0
  165. package/dist/cjs/evm/depositReceiverApproval.d.ts.map +1 -0
  166. package/dist/cjs/evm/depositReceiverApproval.js +71 -0
  167. package/dist/cjs/evm/depositReceiverApproval.js.map +7 -0
  168. package/dist/cjs/evm/index.d.ts +28 -0
  169. package/dist/cjs/evm/index.d.ts.map +1 -0
  170. package/dist/cjs/evm/index.js +116 -0
  171. package/dist/cjs/evm/index.js.map +7 -0
  172. package/dist/cjs/evm/operationMode.d.ts +9 -0
  173. package/dist/cjs/evm/operationMode.d.ts.map +1 -0
  174. package/dist/cjs/evm/operationMode.js +65 -0
  175. package/dist/cjs/evm/operationMode.js.map +7 -0
  176. package/dist/cjs/evm/tokenModes.d.ts +22 -0
  177. package/dist/cjs/evm/tokenModes.d.ts.map +1 -0
  178. package/dist/cjs/evm/tokenModes.js +47 -0
  179. package/dist/cjs/evm/tokenModes.js.map +7 -0
  180. package/dist/cjs/evm/types.d.ts +34 -0
  181. package/dist/cjs/evm/types.d.ts.map +1 -0
  182. package/dist/cjs/evm/types.js +32 -0
  183. package/dist/cjs/evm/types.js.map +7 -0
  184. package/dist/cjs/evm/userCurrentBalance.d.ts +69 -0
  185. package/dist/cjs/evm/userCurrentBalance.d.ts.map +1 -0
  186. package/dist/cjs/evm/userCurrentBalance.js +268 -0
  187. package/dist/cjs/evm/userCurrentBalance.js.map +7 -0
  188. package/dist/cjs/evm/vaults.d.ts +44 -0
  189. package/dist/cjs/evm/vaults.d.ts.map +1 -0
  190. package/dist/cjs/evm/vaults.js +78 -0
  191. package/dist/cjs/evm/vaults.js.map +7 -0
  192. package/dist/cjs/evm/withdraw.d.ts +75 -0
  193. package/dist/cjs/evm/withdraw.d.ts.map +1 -0
  194. package/dist/cjs/evm/withdraw.js +174 -0
  195. package/dist/cjs/evm/withdraw.js.map +7 -0
  196. package/dist/cjs/evm/withdrawQuote.d.ts +135 -0
  197. package/dist/cjs/evm/withdrawQuote.d.ts.map +1 -0
  198. package/dist/cjs/evm/withdrawQuote.js +257 -0
  199. package/dist/cjs/evm/withdrawQuote.js.map +7 -0
  200. package/dist/cjs/index.d.ts +31 -0
  201. package/dist/cjs/index.d.ts.map +1 -0
  202. package/dist/cjs/index.js +128 -0
  203. package/dist/cjs/index.js.map +7 -0
  204. package/dist/cjs/package.json +1 -0
  205. package/dist/cjs/privy/index.d.ts +52 -0
  206. package/dist/cjs/privy/index.d.ts.map +1 -0
  207. package/dist/cjs/privy/index.js +57 -0
  208. package/dist/cjs/privy/index.js.map +7 -0
  209. package/dist/client.d.ts +4 -2
  210. package/dist/client.d.ts.map +1 -1
  211. package/dist/constants.d.ts.map +1 -1
  212. package/dist/errors.d.ts +4 -1
  213. package/dist/errors.d.ts.map +1 -1
  214. package/dist/evm/adapters/aera.d.ts +1 -1
  215. package/dist/evm/adapters/aera.d.ts.map +1 -1
  216. package/dist/evm/adapters/index.d.ts +1 -1
  217. package/dist/evm/adapters/index.d.ts.map +1 -1
  218. package/dist/evm/adapters/morpho.d.ts +1 -1
  219. package/dist/evm/adapters/morpho.d.ts.map +1 -1
  220. package/dist/evm/adapters/types.d.ts +6 -3
  221. package/dist/evm/adapters/types.d.ts.map +1 -1
  222. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +1 -1
  223. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -1
  224. package/dist/evm/aeraContracts/v1.d.ts +2 -2
  225. package/dist/evm/aeraContracts/v1.d.ts.map +1 -1
  226. package/dist/evm/aeraContracts/v2.d.ts +25 -4
  227. package/dist/evm/aeraContracts/v2.d.ts.map +1 -1
  228. package/dist/evm/aeraContracts.d.ts +2 -2
  229. package/dist/evm/aeraContracts.d.ts.map +1 -1
  230. package/dist/evm/deposit.d.ts +7 -4
  231. package/dist/evm/deposit.d.ts.map +1 -1
  232. package/dist/evm/depositQuote.d.ts +32 -0
  233. package/dist/evm/depositQuote.d.ts.map +1 -0
  234. package/dist/evm/depositReceiverApproval.d.ts +2 -2
  235. package/dist/evm/depositReceiverApproval.d.ts.map +1 -1
  236. package/dist/evm/index.d.ts +27 -25
  237. package/dist/evm/index.d.ts.map +1 -1
  238. package/dist/evm/index.js +86 -12
  239. package/dist/evm/index.js.map +7 -1
  240. package/dist/evm/tokenModes.d.ts +2 -2
  241. package/dist/evm/tokenModes.d.ts.map +1 -1
  242. package/dist/evm/userCurrentBalance.d.ts +21 -3
  243. package/dist/evm/userCurrentBalance.d.ts.map +1 -1
  244. package/dist/evm/vaults.d.ts +2 -9
  245. package/dist/evm/vaults.d.ts.map +1 -1
  246. package/dist/evm/withdraw.d.ts +5 -3
  247. package/dist/evm/withdraw.d.ts.map +1 -1
  248. package/dist/evm/withdrawQuote.d.ts +14 -6
  249. package/dist/evm/withdrawQuote.d.ts.map +1 -1
  250. package/dist/index.d.ts +30 -28
  251. package/dist/index.d.ts.map +1 -1
  252. package/dist/index.js +137 -14
  253. package/dist/index.js.map +7 -1
  254. package/dist/manifest/vaults.json +1958 -0
  255. package/dist/privy/index.d.ts +1 -1
  256. package/dist/privy/index.d.ts.map +1 -1
  257. package/dist/privy/index.js +39 -48
  258. package/dist/privy/index.js.map +7 -1
  259. package/manifest/vaults.json +22 -395
  260. package/package.json +43 -9
  261. package/src/api/activity.ts +18 -15
  262. package/src/api/activityRows.ts +143 -0
  263. package/src/api/caip.ts +3 -1
  264. package/src/api/client.ts +105 -6
  265. package/src/api/decimal.ts +1 -0
  266. package/src/api/generated.ts +570 -7
  267. package/src/api/http.ts +1 -0
  268. package/src/api/index.ts +8 -0
  269. package/src/api/positionHistory.ts +20 -5
  270. package/src/attribution/index.ts +6 -2
  271. package/src/client.ts +4 -1
  272. package/src/constants.ts +2 -0
  273. package/src/errors.ts +7 -0
  274. package/src/evm/adapters/aera.ts +40 -19
  275. package/src/evm/adapters/types.ts +3 -0
  276. package/src/evm/aeraContracts/v2.ts +124 -16
  277. package/src/evm/aeraContracts.ts +29 -14
  278. package/src/evm/deposit.ts +61 -18
  279. package/src/evm/depositQuote.ts +138 -0
  280. package/src/evm/depositReceiverApproval.ts +14 -9
  281. package/src/evm/index.ts +10 -1
  282. package/src/evm/userCurrentBalance.ts +155 -60
  283. package/src/evm/vaults.ts +0 -7
  284. package/src/evm/withdraw.ts +20 -1
  285. package/src/evm/withdrawQuote.ts +126 -51
  286. package/src/index.ts +11 -2
  287. package/dist/api/activity.js +0 -154
  288. package/dist/api/activity.js.map +0 -1
  289. package/dist/api/caip.js +0 -38
  290. package/dist/api/caip.js.map +0 -1
  291. package/dist/api/client.js +0 -119
  292. package/dist/api/client.js.map +0 -1
  293. package/dist/api/decimal.js +0 -44
  294. package/dist/api/decimal.js.map +0 -1
  295. package/dist/api/errors.js +0 -41
  296. package/dist/api/errors.js.map +0 -1
  297. package/dist/api/generated.js +0 -6
  298. package/dist/api/generated.js.map +0 -1
  299. package/dist/api/http.js +0 -39
  300. package/dist/api/http.js.map +0 -1
  301. package/dist/api/positionHistory.js +0 -126
  302. package/dist/api/positionHistory.js.map +0 -1
  303. package/dist/attribution/erc8021.js +0 -17
  304. package/dist/attribution/erc8021.js.map +0 -1
  305. package/dist/attribution/index.js +0 -45
  306. package/dist/attribution/index.js.map +0 -1
  307. package/dist/client.js +0 -72
  308. package/dist/client.js.map +0 -1
  309. package/dist/constants.js +0 -28
  310. package/dist/constants.js.map +0 -1
  311. package/dist/errors.js +0 -134
  312. package/dist/errors.js.map +0 -1
  313. package/dist/evm/abis/erc20.js +0 -30
  314. package/dist/evm/abis/erc20.js.map +0 -1
  315. package/dist/evm/abis/erc4626.js +0 -70
  316. package/dist/evm/abis/erc4626.js.map +0 -1
  317. package/dist/evm/abis/multiDepositorVault.js +0 -587
  318. package/dist/evm/abis/multiDepositorVault.js.map +0 -1
  319. package/dist/evm/abis/priceAndFeeCalculator.js +0 -490
  320. package/dist/evm/abis/priceAndFeeCalculator.js.map +0 -1
  321. package/dist/evm/abis/priceAndFeeCalculatorV2.js +0 -141
  322. package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +0 -1
  323. package/dist/evm/abis/provisioner.js +0 -2768
  324. package/dist/evm/abis/provisioner.js.map +0 -1
  325. package/dist/evm/abis/provisionerV2.js +0 -295
  326. package/dist/evm/abis/provisionerV2.js.map +0 -1
  327. package/dist/evm/adapters/aera.js +0 -280
  328. package/dist/evm/adapters/aera.js.map +0 -1
  329. package/dist/evm/adapters/index.js +0 -14
  330. package/dist/evm/adapters/index.js.map +0 -1
  331. package/dist/evm/adapters/morpho.js +0 -79
  332. package/dist/evm/adapters/morpho.js.map +0 -1
  333. package/dist/evm/adapters/types.js +0 -2
  334. package/dist/evm/adapters/types.js.map +0 -1
  335. package/dist/evm/aeraContracts/priceAndFeeCalculator.js +0 -174
  336. package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +0 -1
  337. package/dist/evm/aeraContracts/readOptions.js +0 -4
  338. package/dist/evm/aeraContracts/readOptions.js.map +0 -1
  339. package/dist/evm/aeraContracts/v1.js +0 -59
  340. package/dist/evm/aeraContracts/v1.js.map +0 -1
  341. package/dist/evm/aeraContracts/v2.js +0 -273
  342. package/dist/evm/aeraContracts/v2.js.map +0 -1
  343. package/dist/evm/aeraContracts.js +0 -195
  344. package/dist/evm/aeraContracts.js.map +0 -1
  345. package/dist/evm/deposit.js +0 -109
  346. package/dist/evm/deposit.js.map +0 -1
  347. package/dist/evm/depositReceiverApproval.js +0 -32
  348. package/dist/evm/depositReceiverApproval.js.map +0 -1
  349. package/dist/evm/operationMode.js +0 -41
  350. package/dist/evm/operationMode.js.map +0 -1
  351. package/dist/evm/tokenModes.js +0 -34
  352. package/dist/evm/tokenModes.js.map +0 -1
  353. package/dist/evm/types.js +0 -5
  354. package/dist/evm/types.js.map +0 -1
  355. package/dist/evm/userCurrentBalance.js +0 -211
  356. package/dist/evm/userCurrentBalance.js.map +0 -1
  357. package/dist/evm/vaults.js +0 -75
  358. package/dist/evm/vaults.js.map +0 -1
  359. package/dist/evm/withdraw.js +0 -177
  360. package/dist/evm/withdraw.js.map +0 -1
  361. package/dist/evm/withdrawQuote.js +0 -164
  362. package/dist/evm/withdrawQuote.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../manifest/vaults.json", "../src/client.ts"],
4
+ "sourcesContent": ["{\n \"version\": \"2026-08-07\",\n \"vaults\": [\n {\n \"vaultId\": \"baseUsdcPrime\",\n \"name\": \"Gauntlet USDC Prime\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0xeE8F4eC5672F09119b96Ab6fB59C27E1b7e44b61\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdcPrime\",\n \"name\": \"Gauntlet USDC Prime\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xdd0f28e19C1780eb6396170735D45153D261490d\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdcPrimeV2\",\n \"name\": \"Gauntlet USDC Prime v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x8c106EEDAd96553e64287A5A6839c3Cc78afA3D0\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdcBalanced\",\n \"name\": \"Gauntlet USDC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethWethPrime\",\n \"name\": \"Gauntlet WETH Prime\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x2371e134e3455e0593363cBF89d3b6cf53740618\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethWethBalanced\",\n \"name\": \"Gauntlet WETH Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdtPrime\",\n \"name\": \"Gauntlet USDT Prime\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x8CB3649114051cA5119141a34C200D65dc0Faa73\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"symbol\": \"USDT\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethEusdBalanced\",\n \"name\": \"Gauntlet eUSD Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xc080f56504e0278828A403269DB945F6c6D6E014\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0d69E286B938e21CBf7E51D71F6A4c8918f482F\",\n \"symbol\": \"eUSD\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethDaiBalanced\",\n \"name\": \"Gauntlet DAI Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x500331c9fF24D9d11aee6B07734Aa72343EA74a5\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x6B175474E89094C44Da98b954EedeAC495271d0F\",\n \"symbol\": \"DAI\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethAusdBalanced\",\n \"name\": \"Gauntlet AUSD Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x1B4cd53a1A8e5F50aB6320EF34E5fB4D3df7B6f6\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a\",\n \"symbol\": \"AUSD\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"swissborgUsdc\",\n \"name\": \"SwissBorg USDC\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x4Ff4186188f8406917293A9e01A1ca16d3cf9E59\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethWbtcBalanced\",\n \"name\": \"Gauntlet WBTC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x443df5eEE3196e9b2Dd77CaBd3eA76C3dee8f9b2\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599\",\n \"symbol\": \"WBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethCbbtcBalanced\",\n \"name\": \"Gauntlet cbBTC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xF587f2e8AfF7D76618d3B6B4626621860FbD54e3\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf\",\n \"symbol\": \"cbBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethLbtcBalanced\",\n \"name\": \"Gauntlet LBTC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xdC94785959B73F7A168452b3654E44fEc6A750e4\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x8236a87084f8B84306f72007F36F2618A5634494\",\n \"symbol\": \"LBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethMsethCore\",\n \"name\": \"Metronome msETH\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x78B18E07dc43017fcEaabaD0751d6464c0F56b25\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x64351fC9810aDAd17A690E4e1717Df5e7e085160\",\n \"symbol\": \"msETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethMsusdCore\",\n \"name\": \"Metronome msUSD\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x6859B34a9379122d25A9FA46f0882d434fee36c3\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xab5eB14c09D416F0aC63661E57EDB7AEcDb9BEfA\",\n \"symbol\": \"msUSD\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"indexCoopHyeth\",\n \"name\": \"Index Coop hyETH\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x701907283a57FF77E255C3f1aAD790466B8CE4ef\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"resolvUsdc\",\n \"name\": \"Resolv USDC\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x132E6C9C33A62D7727cd359b1f51e5B566E485Eb\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethWethEcosystem\",\n \"name\": \"Gauntlet WETH Ecosystem\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Ecosystem Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x1e6ffa4e9F63d10B8820A3ab52566Af881Dab53c\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"swissborgTbtc\",\n \"name\": \"SwissBorg tBTC\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x059Fc6723b9bF77DbF4283C8d7C90eA8Af44EF10\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x18084fbA666a33d37592fA2633fD49a74DD93a88\",\n \"symbol\": \"tBTC\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdcRwa\",\n \"name\": \"Gauntlet USDC RWA\",\n \"protocol\": \"morpho\",\n \"strategy\": \"RWA Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xA8875aaeBc4f830524e35d57F9772FfAcbdD6C45\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"solvbtcBabylon\",\n \"name\": \"SolvBTC Babylon\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xdBB316375B4dC992B2c8827D120c09dFB1d3455D\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xd9D920AA40f578ab794426F5C90F6C731D159DEf\",\n \"symbol\": \"xSolvBTC\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdcFrontier\",\n \"name\": \"Gauntlet USDC Frontier\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Frontier Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xc582F04d8a82795aa2Ff9c8bb4c1c889fe7b754e\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethOlympusSusds\",\n \"name\": \"Gauntlet Olympus sUSDS\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x3365184e87d2Bd75961780454A5810BEc956F0dD\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD\",\n \"symbol\": \"sUSDS\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdtFrontier\",\n \"name\": \"Gauntlet USDT Frontier\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Frontier Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x79FD640000F8563A866322483524a4b48f1Ed702\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"symbol\": \"USDT\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"vaultBridgeWeth\",\n \"name\": \"Vault Bridge WETH\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x31A5684983EeE865d943A696AAC155363bA024f9\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"vaultBridgeWbtc\",\n \"name\": \"Vault Bridge WBTC\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x812B2C6Ab3f4471c0E43D4BB61098a9211017427\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599\",\n \"symbol\": \"WBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"vaultBridgeUsdt\",\n \"name\": \"Vault Bridge USDT\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xc54b4E08C1Dcc199fdd35c6b5Ab589ffD3428a8d\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"symbol\": \"USDT\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethEurcBalanced\",\n \"name\": \"Gauntlet EURC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x2ed10624315b74a78f11FAbedAa1A228c198aEfB\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c\",\n \"symbol\": \"EURC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdcFrontierV2\",\n \"name\": \"Gauntlet USDC Frontier v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Frontier Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x9a1D6bd5b8642C41F25e0958129B85f8E1176F3e\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdtFrontierV2\",\n \"name\": \"Gauntlet USDT Frontier v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Frontier Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xE571B648569619566CF6ce1060C97B621CB635D3\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"symbol\": \"USDT\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethEurcBalancedV2\",\n \"name\": \"Gauntlet EURC Balanced v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x842A84Df61DbE701c5dAE345F3f8E64aF727E48C\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c\",\n \"symbol\": \"EURC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethWethPrimeV2\",\n \"name\": \"Gauntlet WETH Prime v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x43fCd85E8D9D003D515f886891B7C742AC9f92da\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethUsdtPrimeV2\",\n \"name\": \"Gauntlet USDT Prime v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xf3557AD5E984211ac8A0874A670344f2C3376471\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"symbol\": \"USDT\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"ethWethBalancedV2\",\n \"name\": \"Gauntlet WETH Balanced v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x5f342382D5F77F0f99E8f26161E689df6c7Cded3\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseWethBalanced\",\n \"name\": \"Gauntlet WETH Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x6b13c060F13Af1fdB319F52315BbbF3fb1D88844\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x4200000000000000000000000000000000000006\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseUsdcBalanced\",\n \"name\": \"Gauntlet USDC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0xc0c5689e6f4D256E861F65465b691aeEcC0dEb12\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseCbbtcBalanced\",\n \"name\": \"Gauntlet cbBTC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x6770216aC60F634483Ec073cBABC4011c94307Cb\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf\",\n \"symbol\": \"cbBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"extrafiXlendUsdc\",\n \"name\": \"Extrafi XLend USDC\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x23479229e52Ab6aaD312D0B03DF9F33B46753B5e\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"extrafiXlendWeth\",\n \"name\": \"Extrafi XLend WETH\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x5A32099837D89E3a794a44fb131CBbAD41f87a8C\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x4200000000000000000000000000000000000006\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseLbtcBalanced\",\n \"name\": \"Gauntlet LBTC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x0D05e6ec0A10f9fFE9229EAA785c11606a1d13Fb\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xecAc9C5F704e954931349Da37F60E39f515c11c1\",\n \"symbol\": \"LBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"seamlessUsdc\",\n \"name\": \"Seamless USDC\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x616a4E1db48e22028f6bbf20444Cd3b8e3273738\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"seamlessCbbtc\",\n \"name\": \"Seamless cbBTC\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x5a47C803488FE2BB0A0EAaf346b420e4dF22F3C7\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf\",\n \"symbol\": \"cbBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"seamlessWeth\",\n \"name\": \"Seamless WETH\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x27D8c7273fd3fcC6956a0B370cE5Fd4A7fc65c18\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x4200000000000000000000000000000000000006\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseSusdsBalanced\",\n \"name\": \"Gauntlet sUSDS Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x0FE5b4aF0337Fd5b2E1675D5f5E8c9101E4D3c7e\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x5875eEE11Cf8398102FdAd704C9E96607675467a\",\n \"symbol\": \"sUSDS\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseMsethCore\",\n \"name\": \"Metronome msETH\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x43Cd00De63485618A5CEEBE0de364cD6cBeB26E7\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x7Ba6F01772924a82D9626c126347A28299E98c98\",\n \"symbol\": \"msETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseEurcBalanced\",\n \"name\": \"Gauntlet EURC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x1c155be6bC51F2c37d472d4C2Eba7a637806e122\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42\",\n \"symbol\": \"EURC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseUsdcFrontier\",\n \"name\": \"Gauntlet USDC Frontier\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Frontier Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x236919F11ff9eA9550A4287696C2FC9e18E6e890\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseUsdcPrimeV2\",\n \"name\": \"Gauntlet USDC Prime v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x050cE30b927Da55177A4914EC73480238BAD56f0\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseUsdcFrontierV2\",\n \"name\": \"Gauntlet USDC Frontier v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Frontier Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x1deEfABEe758AAbdC29a542B24ca3b75aFD56765\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseWethBalancedV2\",\n \"name\": \"Gauntlet WETH Balanced v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0xFeFeC33668E22677c4762d0853d56245a800ff08\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x4200000000000000000000000000000000000006\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"baseEurcBalancedV2\",\n \"name\": \"Gauntlet EURC Balanced v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x94Af495DE1F56Aa5576dEB17986bDCeE5Dd9778D\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42\",\n \"symbol\": \"EURC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"junoMxnbPrime\",\n \"name\": \"Juno MXNB Prime\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x08cc279532f159BdB450eBc0bAf6562f585Ded58\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xF197FFC28c23E0309B5559e7a166f2c6164C80aA\",\n \"symbol\": \"MXNB\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"unichainUsdt0\",\n \"name\": \"Gauntlet USDT0\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 130,\n \"vaultAddress\": \"0x89849B6e57e1c61e447257242bDa97c70FA99b6b\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x9151434b16b9763660705744891fA906F660EcC5\",\n \"symbol\": \"USDT0\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"unichainUsdcBalanced\",\n \"name\": \"Gauntlet USDC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 130,\n \"vaultAddress\": \"0x38f4f3B6533de0023b9DCd04b02F93d36ad1F9f9\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x078D782b760474a361dDA0AF3839290b0EF57AD6\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"unichainWethBalanced\",\n \"name\": \"Gauntlet WETH Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 130,\n \"vaultAddress\": \"0x830898200F0E8Be8Dc1C9A836f4AB29ECEdf76eb\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x4200000000000000000000000000000000000006\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"katanaUsdtBalanced\",\n \"name\": \"Gauntlet USDT Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 747474,\n \"vaultAddress\": \"0x1ecDC3F2B5E90bfB55fF45a7476FF98A8957388E\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x2DCa96907fde857dd3D816880A0df407eeB2D2F2\",\n \"symbol\": \"vbUSDT\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"katanaUsdcBalanced\",\n \"name\": \"Gauntlet USDC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 747474,\n \"vaultAddress\": \"0xE4248e2105508FcBad3fe95691551d1AF14015f7\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x203A662b0BD271A6ed5a60EdFbd04bFce608FD36\",\n \"symbol\": \"vbUSDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"katanaAusdBalanced\",\n \"name\": \"Gauntlet AUSD Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 747474,\n \"vaultAddress\": \"0x9540441C503D763094921dbE4f13268E6d1d3B56\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a\",\n \"symbol\": \"AUSD\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"katanaWbtcBalanced\",\n \"name\": \"Gauntlet WBTC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 747474,\n \"vaultAddress\": \"0xf243523996ADbb273F0B237B53f30017C4364bBC\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x0913DA6Da4b42f538B445599b46Bb4622342Cf52\",\n \"symbol\": \"vbWBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"katanaWethBalanced\",\n \"name\": \"Gauntlet WETH Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 747474,\n \"vaultAddress\": \"0xC5e7AB07030305fc925175b25B93b285d40dCdFf\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xEE7D8BCFb72bC1880D0Cf19822eB0A2e6577aB62\",\n \"symbol\": \"vbETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"arbUsdcBalanced\",\n \"name\": \"Gauntlet USDC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x7e97fa6893871A2751B5fE961978DCCb2c201E65\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"arbUsdcPrime\",\n \"name\": \"Gauntlet USDC Prime\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x7c574174DA4b2be3f705c6244B4BfA0815a8B3Ed\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"arbUsdt0Balanced\",\n \"name\": \"Gauntlet USDT0 Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x139250CdB310D657eAC506c7C7FC6AcDE34Af1ec\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9\",\n \"symbol\": \"USDT0\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"arbWethBalanced\",\n \"name\": \"Gauntlet WETH Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0xBD14bEa2eCECeCD5F32149B0f84BE7f7F446B964\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"arbUsdcBalancedV2\",\n \"name\": \"Gauntlet USDC Balanced v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x55a2B207b0074E13AdCb858950a81B7a04775E0F\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"arbUsdcPrimeV2\",\n \"name\": \"Gauntlet USDC Prime v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x610D151aE40662AE148cdBaaE1Ea5904b6AFAE78\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"hyperevmUsdcBalanced\",\n \"name\": \"Gauntlet USDC Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 999,\n \"vaultAddress\": \"0x08C00F8279dFF5B0CB5a04d349E7d79708Ceadf3\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xb88339CB7199b77E23DB6E890353E22632Ba630f\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"hyperevmUsdt0Balanced\",\n \"name\": \"Gauntlet USDT0 Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 999,\n \"vaultAddress\": \"0x53A333e51E96FE288bC9aDd7cdC4B1EAD2CD2FfA\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb\",\n \"symbol\": \"USDT0\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"hyperevmUethBalanced\",\n \"name\": \"Gauntlet uETH Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 999,\n \"vaultAddress\": \"0x0571362ba5EA9784a97605f57483f865A37dBEAA\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xBe6727B535545C67d5cAa73dEa54865B92CF7907\",\n \"symbol\": \"UETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"hyperevmUsdeBalanced\",\n \"name\": \"Gauntlet USDe Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 999,\n \"vaultAddress\": \"0x5eEC795d919FA97688Fb9844eeB0072E6B846F9d\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34\",\n \"symbol\": \"USDe\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"hyperevmWhypeBalanced\",\n \"name\": \"Gauntlet WHYPE Balanced\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 999,\n \"vaultAddress\": \"0x264a06Fd7A7C9E0Bfe75163b475E2A3cc1856578\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x5555555555555555555555555555555555555555\",\n \"symbol\": \"WHYPE\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"opUsdcPrime\",\n \"name\": \"Gauntlet USDC Prime\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Prime Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 10,\n \"vaultAddress\": \"0xC30ce6A5758786e0F640cC5f881Dd96e9a1C5C59\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"opUsdcBalancedV2\",\n \"name\": \"Gauntlet USDC Balanced v2\",\n \"protocol\": \"morpho\",\n \"strategy\": \"Core Lending v2\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 10,\n \"vaultAddress\": \"0x4fFc4e5F1f1F5C43dc9Bc27b53728DA13b02bE35\",\n \"vaultType\": \"single-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtusda\",\n \"name\": \"Gauntlet USD Alpha\",\n \"protocol\": \"aera\",\n \"strategy\": \"Multi-strategy Stablecoin Yield\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x000000000001CdB57E58Fa75Fe420a0f4D6640D5\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n },\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x3bd9248048df95db4fbd748c6cd99c1baa40bad0\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n },\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x000000001DC8bd45d7E7829fb1c969cbe4D0D1eC\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n },\n {\n \"chain\": \"evm\",\n \"chainId\": 10,\n \"vaultAddress\": \"0x000000001DC8bd45d7E7829fb1c969cbe4D0D1eC\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gpaafalconx\",\n \"name\": \"Gauntlet Levered FalconX\",\n \"protocol\": \"aera\",\n \"strategy\": \"Levered FalconX USDC\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x00000000d8f3d6c5DFeB2D2b5ED2276095f3aF44\",\n \"vaultType\": \"multi-depositor\",\n \"expirationDays\": 90,\n \"supplyToken\": [\n {\n \"address\": \"0xc26a6fa2c37b38e549a4a1807543801db684f99c\",\n \"symbol\": \"AA_FalconXUSDC\",\n \"decimals\": 18\n },\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gpsyrupusdc\",\n \"name\": \"Gauntlet SyrupUSDC\",\n \"protocol\": \"aera\",\n \"strategy\": \"Levered Maple syrupUSDC\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x00000000D283e5f8294e7E2dc06b55D43e060F49\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x80ac24aa929eaf5013f6436cda2a7ba190f5cc0b\",\n \"symbol\": \"syrupUSDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtbtc\",\n \"name\": \"Gauntlet BTC Yield\",\n \"protocol\": \"aera\",\n \"strategy\": \"BTC Carry Trade Yield\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xefF0AE5b39271b33f448cD408b51DC8aA72a672b\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf\",\n \"symbol\": \"cbBTC\",\n \"decimals\": 8\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtuscc\",\n \"name\": \"Gauntlet Levered USCC\",\n \"protocol\": \"aera\",\n \"strategy\": \"Levered Superstate USCC\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x02b6bFD9561aC669305A0af0e5b88D9Cf850Bf67\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x14d60e7fdc0d71d8611742720e4c50e7a974020c\",\n \"symbol\": \"USCC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtlend\",\n \"name\": \"Gauntlet Lend\",\n \"protocol\": \"aera\",\n \"strategy\": \"Multi-chain Stablecoin Lending\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x2Bb2e3c0a970E74D219bADeC5d05E2D4cf456Ac8\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n },\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xF008043d4a0301E7dC45A92FFf77e3af1F975Ce5\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n },\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x93d5226FA75C1Ff8ba55943355A659Ed0A634eF5\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n },\n {\n \"chain\": \"evm\",\n \"chainId\": 10,\n \"vaultAddress\": \"0x79A296131A8cAE82613AA16A158Ae146742Ac592\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"kasteth\",\n \"name\": \"KastETH\",\n \"protocol\": \"aera\",\n \"strategy\": \"WETH Yield\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x6e4713B21E2879642a83d1c4dC0daCaa7ec6dB63\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtlpsnib\",\n \"name\": \"gtLPSNIB\",\n \"protocol\": \"aera\",\n \"strategy\": \"Gauntlet x SecondFi LP Vault\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x785F3D804aCdA02CD0eC2243dc6f9F408CC075C8\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtlpluia\",\n \"name\": \"gtLPLUIA\",\n \"protocol\": \"aera\",\n \"strategy\": \"Gauntlet x Liquid LP Vault\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 42161,\n \"vaultAddress\": \"0x364d2ACDc98d1bF8A734141178996E9fB0b37d2E\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"exausd\",\n \"name\": \"exaUSD\",\n \"protocol\": \"aera\",\n \"strategy\": \"Institutional USD Yield Vault\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0xDDDFf4bE1a90CD6F05CE1e977c674ff3aa556C97\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"exaeth\",\n \"name\": \"exaETH\",\n \"protocol\": \"aera\",\n \"strategy\": \"Institutional ETH Yield Vault\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x2B02DA0A074b690075f0b8E6921e2526B0Ff7896\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"prime\",\n \"name\": \"Gauntlet Levered PRIME\",\n \"protocol\": \"aera\",\n \"strategy\": \"Levered PRIME Looping\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xc4C7Ea9af473046559F0492bbBa186A2E043fe94\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtlpraen\",\n \"name\": \"gtLPRAEN\",\n \"protocol\": \"aera\",\n \"strategy\": \"Gauntlet x Raenest Base LP Vault\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 8453,\n \"vaultAddress\": \"0x970173b2666736ebe040e2C3bef6c62664D9b0B9\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtusdhy\",\n \"name\": \"gtUSDhy\",\n \"protocol\": \"aera\",\n \"strategy\": \"Gauntlet High Yield Prod\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0x15218Fbb0Efc0A3D5D731a242d853fa625532C3D\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"symbol\": \"USDC\",\n \"decimals\": 6\n }\n ]\n }\n ]\n },\n {\n \"vaultId\": \"gtskylooping\",\n \"name\": \"Gauntlet sUSDS Looping\",\n \"protocol\": \"aera\",\n \"strategy\": \"sUSDS Looping\",\n \"deployments\": [\n {\n \"chain\": \"evm\",\n \"chainId\": 1,\n \"vaultAddress\": \"0xeA40De595f099cA04695b0Ca105499E50AF77f92\",\n \"vaultType\": \"multi-depositor\",\n \"supplyToken\": [\n {\n \"address\": \"0xdC035D45d973E3EC169d2276DDab16f1e407384F\",\n \"symbol\": \"USDS\",\n \"decimals\": 18\n }\n ]\n }\n ]\n }\n ]\n}\n", "import { type PublicClient, type WalletClient } from 'viem';\nimport bundledManifest from '../manifest/vaults.json';\nimport { GauntletApi } from './api/client';\nimport { RpcNotConfiguredError, UnimplementedFeatureError } from './errors';\nimport type { VaultManifest } from './evm/types';\nimport { base } from 'viem/chains';\n\n/**\n * Controls how builder attribution is appended to transactions.\n *\n * - `PUBLIC` \u2013 attribution is sent as plain calldata (default).\n * - `ENCODED` \u2013 attribution is encoded using ERC-8021 with a builder code fetched from the API.\n * - `PRIVATE` \u2013 no attribution data is appended.\n */\nexport enum AttributionMode {\n PUBLIC = 'public',\n ENCODED = 'encoded',\n PRIVATE = 'private',\n}\n\nexport type ChainId = string | number;\n\n/** The static vault manifest bundled with this SDK release; the GauntletClient default. */\nexport const bundledVaultManifest = bundledManifest as VaultManifest;\n\nexport interface GauntletClientConfig {\n /** Gaia API key, sent as `x-api-key` on `client.api` requests. Anonymous access is rate-limited. */\n apiKey?: string;\n /** Override the Gaia API origin (e.g. a same-origin proxy route). Defaults to `https://api.gauntlet.xyz`. */\n apiUrl?: string;\n /** Map of chainId \u2192 PublicClient, e.g. { [base.id]: createPublicClient(...) } */\n evmClients?: Record<ChainId, PublicClient>;\n attributionMode?: AttributionMode;\n builderCode?: string;\n /** Viem WalletClient for signing transactions. */\n wallet?: WalletClient;\n}\n\n/**\n * Main entry point for the Gauntlet SDK.\n *\n * Holds configuration (RPC clients, wallet, attribution mode) and exposes helpers\n * for reading the vault manifest. Pass an instance of this class to every SDK\n * function (e.g. `getDepositTx`, `getWithdrawTx`, `getVaults`).\n *\n * @example\n * ```ts\n * import { createPublicClient, createWalletClient, http } from 'viem';\n * import { base } from 'viem/chains';\n * import { GauntletClient, AttributionMode } from '@gauntlet-xyz/sdk';\n *\n * const wallet = createWalletClient({\n * account: privateKeyToAccount('0x...'), // or other account source\n * chain: base,\n * transport: http()\n * })\n *\n * const client = new GauntletClient({\n * evmClients: { [base.id]: createPublicClient({ chain: base, transport: http() }) },\n * wallet,\n * attributionMode: AttributionMode.PUBLIC,\n * });\n * ```\n */\nexport class GauntletClient {\n readonly apiKey?: string;\n readonly builderCode?: string;\n readonly attributionMode: AttributionMode;\n readonly evmClients: Record<ChainId, PublicClient>;\n readonly wallet?: WalletClient;\n /** Typed client for the Gaia REST API (vaults, positions, activity, tvl, prices). */\n readonly api: GauntletApi;\n\n private _manifest: VaultManifest = bundledVaultManifest;\n\n constructor(config: GauntletClientConfig) {\n this.apiKey = config.apiKey;\n this.evmClients = config.evmClients ?? {};\n this.attributionMode = config.attributionMode ?? AttributionMode.PUBLIC;\n this.builderCode = config.builderCode;\n this.wallet = config.wallet;\n this.api = new GauntletApi({ apiKey: config.apiKey, apiUrl: config.apiUrl });\n }\n\n get manifest(): Promise<VaultManifest> {\n return Promise.resolve(this._manifest);\n }\n\n setManifest(manifest: VaultManifest): void {\n this._manifest = manifest;\n }\n\n getPublicClient(chainId: ChainId = base.id): PublicClient {\n const client = this.evmClients[chainId];\n if (!client) throw new RpcNotConfiguredError(chainId);\n return client;\n }\n\n // Will be used for encoded attribution\n // Will use apiKey to get a builder ID from core api\n async getSourceId(): Promise<string> {\n throw new UnimplementedFeatureError('getSourceId');\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["AttributionMode"]
7
+ }
@@ -0,0 +1,367 @@
1
+ import {
2
+ DecimalPrecisionError,
3
+ GauntletSDKError,
4
+ InvalidDecimalError,
5
+ SettlementTimeoutError
6
+ } from "./chunk-JJOLVL5V.js";
7
+
8
+ // src/api/decimal.ts
9
+ import { formatUnits } from "viem";
10
+ var DECIMAL_RE = /^(-?)(\d+)(?:\.(\d+))?$/;
11
+ function decimalToBigInt(value, decimals) {
12
+ if (!Number.isInteger(decimals) || decimals < 0) {
13
+ throw new InvalidDecimalError(`decimals=${decimals}`);
14
+ }
15
+ if (typeof value !== "string") throw new InvalidDecimalError(String(value));
16
+ const match = DECIMAL_RE.exec(value);
17
+ if (!match) throw new InvalidDecimalError(value);
18
+ const [, sign, whole, frac = ""] = match;
19
+ if (frac.length > decimals && !/^0*$/.test(frac.slice(decimals))) {
20
+ throw new DecimalPrecisionError(value, decimals);
21
+ }
22
+ const scaled = BigInt(whole + frac.slice(0, decimals).padEnd(decimals, "0"));
23
+ return sign === "-" ? -scaled : scaled;
24
+ }
25
+ function bigIntToDecimal(value, decimals) {
26
+ if (!Number.isInteger(decimals) || decimals < 0) {
27
+ throw new InvalidDecimalError(`decimals=${decimals}`);
28
+ }
29
+ return formatUnits(value, decimals);
30
+ }
31
+ var SHARE_DECIMALS = 18;
32
+ function sharesToBigInt(value) {
33
+ return decimalToBigInt(value, SHARE_DECIMALS);
34
+ }
35
+
36
+ // src/api/activityRows.ts
37
+ function isPending(row) {
38
+ return row.type === "deposit_pending" || row.type === "withdraw_pending";
39
+ }
40
+ function requireSameToken(leftRow, rightRow) {
41
+ if (leftRow.vault_id.split(":")[0] !== rightRow.vault_id.split(":")[0]) {
42
+ throw new GauntletSDKError("Activity rows contain assets on different chains");
43
+ }
44
+ const left = leftRow.assets_delta.token;
45
+ const right = rightRow.assets_delta.token;
46
+ if (left != null && right != null && (left.address.toLowerCase() !== right.address.toLowerCase() || (left.decimals ?? null) !== (right.decimals ?? null))) {
47
+ throw new GauntletSDKError("Activity rows contain different asset denominations");
48
+ }
49
+ }
50
+ function validateActivityRow(row) {
51
+ const shares = sharesToBigInt(row.shares_delta);
52
+ const assets = decimalToBigInt(row.assets_delta.native, 18);
53
+ if (!Number.isSafeInteger(row.block_number) || row.block_number < 0 || !Number.isSafeInteger(row.block_timestamp) || row.block_timestamp < 0 || typeof row.vault_id !== "string" || row.vault_id.length === 0 || typeof row.tx_hash !== "string" || row.tx_hash.length === 0 || row.request_hash != null && (typeof row.request_hash !== "string" || row.request_hash.length === 0)) {
54
+ throw new GauntletSDKError("The activity row has invalid event identifiers");
55
+ }
56
+ const token = row.assets_delta.token;
57
+ if (token != null && token.decimals != null) {
58
+ if (!Number.isInteger(token.decimals) || token.decimals < 0 || token.decimals > 255) {
59
+ throw new GauntletSDKError("The activity token has invalid decimals");
60
+ }
61
+ decimalToBigInt(row.assets_delta.native, token.decimals);
62
+ }
63
+ let valid;
64
+ switch (row.type) {
65
+ case "deposit":
66
+ valid = shares >= 0n && assets >= 0n && (row.request_hash == null || assets === 0n);
67
+ break;
68
+ case "deposit_pending":
69
+ valid = shares === 0n && assets > 0n && row.request_hash != null;
70
+ break;
71
+ case "deposit_refunded":
72
+ valid = shares === 0n && assets < 0n && row.request_hash != null;
73
+ break;
74
+ case "withdraw":
75
+ valid = shares <= 0n && assets <= 0n && (row.request_hash == null || shares === 0n);
76
+ break;
77
+ case "withdraw_pending":
78
+ valid = shares < 0n && assets === 0n && row.request_hash != null;
79
+ break;
80
+ case "withdraw_refunded":
81
+ valid = shares > 0n && assets === 0n && row.request_hash != null;
82
+ break;
83
+ case "transfer_in":
84
+ valid = shares >= 0n && assets >= 0n && row.request_hash == null;
85
+ break;
86
+ case "transfer_out":
87
+ valid = shares <= 0n && assets <= 0n && row.request_hash == null;
88
+ break;
89
+ default:
90
+ valid = false;
91
+ }
92
+ if (!valid) throw new GauntletSDKError(`Invalid activity deltas for ${row.type}`);
93
+ }
94
+ function orderActivityRows(rows) {
95
+ rows.forEach(validateActivityRow);
96
+ return [...rows].sort(
97
+ (a, b) => a.block_number - b.block_number || a.block_timestamp - b.block_timestamp || Number(isPending(b)) - Number(isPending(a))
98
+ );
99
+ }
100
+ function activityLifecycles(ordered) {
101
+ const groups = [];
102
+ const latest = /* @__PURE__ */ new Map();
103
+ for (const row of ordered) {
104
+ if (row.request_hash == null) {
105
+ groups.push([row]);
106
+ continue;
107
+ }
108
+ const key = `${row.vault_id}:${row.request_hash}`;
109
+ const previous = latest.get(key);
110
+ if (previous === void 0 || isPending(row)) {
111
+ if (previous !== void 0 && previous.every(isPending)) {
112
+ throw new GauntletSDKError("An activity request has duplicate pending rows");
113
+ }
114
+ const group = [row];
115
+ latest.set(key, group);
116
+ groups.push(group);
117
+ continue;
118
+ }
119
+ if (previous.some((entry) => !isPending(entry))) {
120
+ throw new GauntletSDKError("An activity request has conflicting terminal rows");
121
+ }
122
+ const pending = previous[0];
123
+ requireSameToken(pending, row);
124
+ const expected = pending.type === "deposit_pending" ? ["deposit", "deposit_refunded"] : ["withdraw", "withdraw_refunded"];
125
+ if (!expected.includes(row.type)) {
126
+ throw new GauntletSDKError("The activity terminal does not match its request");
127
+ }
128
+ if (row.type === "deposit_refunded" && decimalToBigInt(pending.assets_delta.native, 18) !== -decimalToBigInt(row.assets_delta.native, 18)) {
129
+ throw new GauntletSDKError("The deposit refund does not match its request");
130
+ }
131
+ if (row.type === "withdraw_refunded" && sharesToBigInt(pending.shares_delta) !== -sharesToBigInt(row.shares_delta)) {
132
+ throw new GauntletSDKError("The withdrawal refund does not match its request");
133
+ }
134
+ previous.push(row);
135
+ }
136
+ return groups;
137
+ }
138
+
139
+ // src/api/activity.ts
140
+ var PENDING_TYPES = /* @__PURE__ */ new Set(["deposit_pending", "withdraw_pending"]);
141
+ var REFUNDED_TYPES = /* @__PURE__ */ new Set(["deposit_refunded", "withdraw_refunded"]);
142
+ function flowKind(rowType) {
143
+ if (["deposit", "deposit_pending", "deposit_refunded"].includes(rowType)) return "deposit";
144
+ if (["withdraw", "withdraw_pending", "withdraw_refunded"].includes(rowType)) return "withdraw";
145
+ if (rowType === "transfer_in" || rowType === "transfer_out") return rowType;
146
+ throw new GauntletSDKError(`Unknown activity row type "${rowType}"`);
147
+ }
148
+ function abs(value) {
149
+ return value < 0n ? -value : value;
150
+ }
151
+ var ASSET_SCALE = 18;
152
+ function toAssetAmount(rows) {
153
+ let best = rows[0];
154
+ let bestMagnitude = abs(decimalToBigInt(best.assets_delta.native, ASSET_SCALE));
155
+ for (const row of rows.slice(1)) {
156
+ const magnitude = abs(decimalToBigInt(row.assets_delta.native, ASSET_SCALE));
157
+ if (magnitude > bestMagnitude) {
158
+ best = row;
159
+ bestMagnitude = magnitude;
160
+ }
161
+ }
162
+ const token = best.assets_delta.token ?? rows.find((r) => r.assets_delta.token)?.assets_delta.token ?? null;
163
+ const decimal = best.assets_delta.native.replace(/^-/, "");
164
+ const raw = token?.decimals != null ? decimalToBigInt(decimal, token.decimals) : null;
165
+ return { decimal, raw, token };
166
+ }
167
+ function stitchActivityFlows(rows) {
168
+ const groups = activityLifecycles(orderActivityRows(rows));
169
+ const flows = [];
170
+ for (const group of groups) {
171
+ group.sort((a, b) => a.block_timestamp - b.block_timestamp);
172
+ const pendingRow = group.find((r) => PENDING_TYPES.has(r.type)) ?? null;
173
+ const terminalRow = group.find((r) => !PENDING_TYPES.has(r.type)) ?? null;
174
+ const isAsync = group.some((r) => r.request_hash != null);
175
+ let status;
176
+ if (!terminalRow) status = "pending";
177
+ else if (REFUNDED_TYPES.has(terminalRow.type)) status = "refunded";
178
+ else status = "settled";
179
+ let sharesMagnitude = 0n;
180
+ for (const row of group) {
181
+ const shares = abs(sharesToBigInt(row.shares_delta));
182
+ if (shares > sharesMagnitude) sharesMagnitude = shares;
183
+ }
184
+ flows.push({
185
+ kind: flowKind((terminalRow ?? pendingRow ?? group[0]).type),
186
+ status,
187
+ vaultId: group[0].vault_id,
188
+ requestHash: group[0].request_hash ?? null,
189
+ requestedAt: pendingRow ? new Date(pendingRow.block_timestamp * 1e3) : isAsync ? null : new Date(group[0].block_timestamp * 1e3),
190
+ settledAt: terminalRow ? new Date(terminalRow.block_timestamp * 1e3) : null,
191
+ assets: toAssetAmount(group),
192
+ shares: sharesMagnitude,
193
+ txHashes: [...new Set(group.map((r) => r.tx_hash))]
194
+ });
195
+ }
196
+ return flows.sort((a, b) => {
197
+ const aAt = (a.settledAt ?? a.requestedAt)?.getTime() ?? 0;
198
+ const bAt = (b.settledAt ?? b.requestedAt)?.getTime() ?? 0;
199
+ return bAt - aAt;
200
+ });
201
+ }
202
+ async function getActivityFlows(api, walletAddress, options = {}) {
203
+ const maxRows = options.maxRows ?? 1e3;
204
+ const rows = [];
205
+ for await (const row of api.activityRows(walletAddress, {
206
+ vaultId: options.vaultId,
207
+ // The API caps page size at 1000; request maxRows per page so the common
208
+ // case is a single round trip instead of ten default-100 pages.
209
+ limit: options.limit ?? Math.min(maxRows, 1e3),
210
+ order: "desc"
211
+ })) {
212
+ rows.push(row);
213
+ if (rows.length >= maxRows) break;
214
+ }
215
+ const flows = stitchActivityFlows(rows);
216
+ if (rows.length >= maxRows) {
217
+ return flows.filter((f) => f.requestHash === null || f.requestedAt !== null);
218
+ }
219
+ return flows;
220
+ }
221
+ async function waitForRequestSettlement(api, walletAddress, requestHash, options) {
222
+ if (typeof options?.requestTxHash !== "string" || options.requestTxHash.length === 0) {
223
+ throw new GauntletSDKError(
224
+ "Settlement polling requires the submitted request transaction hash"
225
+ );
226
+ }
227
+ const pollIntervalMs = options.pollIntervalMs ?? 5e3;
228
+ const timeoutMs = options.timeoutMs ?? 6e5;
229
+ const deadline = Date.now() + timeoutMs;
230
+ for (; ; ) {
231
+ const flows = await getActivityFlows(api, walletAddress, { vaultId: options.vaultId });
232
+ const flow = flows.find(
233
+ (f) => f.requestHash === requestHash && f.txHashes.some((hash) => hash.toLowerCase() === options.requestTxHash.toLowerCase())
234
+ );
235
+ if (flow && flow.status !== "pending") return flow;
236
+ if (Date.now() + pollIntervalMs > deadline) {
237
+ throw new SettlementTimeoutError(requestHash, timeoutMs);
238
+ }
239
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
240
+ }
241
+ }
242
+
243
+ // src/api/positionHistory.ts
244
+ var ASSET_SCALE2 = 18;
245
+ function buildPositionHistory(rows) {
246
+ if (rows.length === 0) {
247
+ throw new GauntletSDKError("Cannot build position history from zero activity rows");
248
+ }
249
+ const vaultIds = new Set(rows.map((r) => r.vault_id));
250
+ if (vaultIds.size > 1) {
251
+ throw new GauntletSDKError(
252
+ `Position history requires rows from a single vault; got ${[...vaultIds].join(", ")}`
253
+ );
254
+ }
255
+ const ordered = orderActivityRows(rows);
256
+ activityLifecycles(ordered);
257
+ const tokenRow = ordered.find((r) => r.assets_delta.token) ?? ordered[0];
258
+ const token = tokenRow.assets_delta.token ?? null;
259
+ for (const row of ordered) requireSameToken(tokenRow, row);
260
+ let sharesBalance = 0n;
261
+ let pendingDepositAssets = 0n;
262
+ let pendingRedeemShares = 0n;
263
+ let netAssetsIn = 0n;
264
+ const pendingDepositByHash = /* @__PURE__ */ new Map();
265
+ const pendingRedeemByHash = /* @__PURE__ */ new Map();
266
+ const points = [];
267
+ for (const row of ordered) {
268
+ const sharesDelta = sharesToBigInt(row.shares_delta);
269
+ const assetsDelta = decimalToBigInt(row.assets_delta.native, ASSET_SCALE2);
270
+ sharesBalance += sharesDelta;
271
+ switch (row.type) {
272
+ case "deposit":
273
+ if (row.request_hash != null) {
274
+ const requested = pendingDepositByHash.get(row.request_hash);
275
+ if (requested === void 0) {
276
+ throw new GauntletSDKError(
277
+ `Deposit settlement ${row.tx_hash} references request_hash "${row.request_hash}" with no matching deposit_pending row`
278
+ );
279
+ }
280
+ pendingDepositByHash.delete(row.request_hash);
281
+ pendingDepositAssets -= requested;
282
+ netAssetsIn += requested;
283
+ } else {
284
+ netAssetsIn += assetsDelta;
285
+ }
286
+ break;
287
+ case "deposit_pending":
288
+ pendingDepositAssets += assetsDelta;
289
+ if (row.request_hash != null) pendingDepositByHash.set(row.request_hash, assetsDelta);
290
+ break;
291
+ case "deposit_refunded":
292
+ if (row.request_hash == null || pendingDepositByHash.get(row.request_hash) !== -assetsDelta) {
293
+ throw new GauntletSDKError("The deposit refund does not match its escrow");
294
+ }
295
+ pendingDepositAssets += assetsDelta;
296
+ pendingDepositByHash.delete(row.request_hash);
297
+ break;
298
+ case "withdraw":
299
+ netAssetsIn += assetsDelta;
300
+ if (row.request_hash != null) {
301
+ const escrowed = pendingRedeemByHash.get(row.request_hash);
302
+ if (escrowed === void 0) {
303
+ throw new GauntletSDKError(
304
+ `Withdraw settlement ${row.tx_hash} references request_hash "${row.request_hash}" with no matching withdraw_pending row`
305
+ );
306
+ }
307
+ pendingRedeemByHash.delete(row.request_hash);
308
+ pendingRedeemShares -= escrowed;
309
+ }
310
+ break;
311
+ case "withdraw_pending": {
312
+ const escrowed = -sharesDelta;
313
+ pendingRedeemShares += escrowed;
314
+ if (row.request_hash != null) pendingRedeemByHash.set(row.request_hash, escrowed);
315
+ break;
316
+ }
317
+ case "withdraw_refunded":
318
+ if (row.request_hash == null || pendingRedeemByHash.get(row.request_hash) !== sharesDelta) {
319
+ throw new GauntletSDKError("The withdrawal refund does not match its escrow");
320
+ }
321
+ pendingRedeemShares -= sharesDelta;
322
+ pendingRedeemByHash.delete(row.request_hash);
323
+ break;
324
+ case "transfer_in":
325
+ case "transfer_out":
326
+ break;
327
+ default:
328
+ throw new GauntletSDKError(`Unknown activity row type "${row.type}"`);
329
+ }
330
+ if (sharesBalance < 0n || pendingDepositAssets < 0n || pendingRedeemShares < 0n) {
331
+ throw new GauntletSDKError("The activity history produces a negative position balance");
332
+ }
333
+ points.push({
334
+ timestamp: new Date(row.block_timestamp * 1e3),
335
+ txHash: row.tx_hash,
336
+ type: row.type,
337
+ sharesDelta,
338
+ assetsDelta: row.assets_delta.native,
339
+ sharesBalance,
340
+ pendingDepositAssets: bigIntToDecimal(pendingDepositAssets, ASSET_SCALE2),
341
+ pendingRedeemShares,
342
+ netAssetsIn: bigIntToDecimal(netAssetsIn, ASSET_SCALE2)
343
+ });
344
+ }
345
+ return { vaultId: ordered[0].vault_id, token, points };
346
+ }
347
+ async function getPositionHistory(api, walletAddress, vaultId) {
348
+ const rows = [];
349
+ for await (const row of api.activityRows(walletAddress, { vaultId, order: "asc", limit: 1e3 })) {
350
+ rows.push(row);
351
+ }
352
+ if (rows.length === 0) return { vaultId, token: null, points: [] };
353
+ return buildPositionHistory(rows);
354
+ }
355
+
356
+ export {
357
+ decimalToBigInt,
358
+ bigIntToDecimal,
359
+ SHARE_DECIMALS,
360
+ sharesToBigInt,
361
+ stitchActivityFlows,
362
+ getActivityFlows,
363
+ waitForRequestSettlement,
364
+ buildPositionHistory,
365
+ getPositionHistory
366
+ };
367
+ //# sourceMappingURL=chunk-MEKISE2T.js.map