@gauntlet-xyz/sdk 2.3.0 → 3.0.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 (353) hide show
  1. package/README.md +135 -0
  2. package/dist/api/activity.d.ts +1 -1
  3. package/dist/api/activity.d.ts.map +1 -1
  4. package/dist/api/caip.d.ts +1 -1
  5. package/dist/api/caip.d.ts.map +1 -1
  6. package/dist/api/client.d.ts +65 -6
  7. package/dist/api/client.d.ts.map +1 -1
  8. package/dist/api/errors.d.ts +1 -1
  9. package/dist/api/errors.d.ts.map +1 -1
  10. package/dist/api/generated.d.ts +621 -14
  11. package/dist/api/generated.d.ts.map +1 -1
  12. package/dist/api/index.d.ts +13 -13
  13. package/dist/api/index.d.ts.map +1 -1
  14. package/dist/api/index.js +48 -8
  15. package/dist/api/index.js.map +7 -1
  16. package/dist/api/positionHistory.d.ts +1 -1
  17. package/dist/api/positionHistory.d.ts.map +1 -1
  18. package/dist/attribution/index.d.ts +3 -3
  19. package/dist/attribution/index.d.ts.map +1 -1
  20. package/dist/chunk-7TA2OJUK.js +4364 -0
  21. package/dist/chunk-7TA2OJUK.js.map +7 -0
  22. package/dist/chunk-HC2BS7MK.js +439 -0
  23. package/dist/chunk-HC2BS7MK.js.map +7 -0
  24. package/dist/chunk-S2TTA45N.js +2009 -0
  25. package/dist/chunk-S2TTA45N.js.map +7 -0
  26. package/dist/chunk-STIV2CC4.js +57 -0
  27. package/dist/chunk-STIV2CC4.js.map +7 -0
  28. package/dist/chunk-SU6JAKIA.js +283 -0
  29. package/dist/chunk-SU6JAKIA.js.map +7 -0
  30. package/dist/cjs/api/activity.d.ts +70 -0
  31. package/dist/cjs/api/activity.d.ts.map +1 -0
  32. package/dist/cjs/api/activity.js +136 -0
  33. package/dist/cjs/api/activity.js.map +7 -0
  34. package/dist/cjs/api/caip.d.ts +29 -0
  35. package/dist/cjs/api/caip.d.ts.map +1 -0
  36. package/dist/cjs/api/caip.js +59 -0
  37. package/dist/cjs/api/caip.js.map +7 -0
  38. package/dist/cjs/api/client.d.ts +173 -0
  39. package/dist/cjs/api/client.d.ts.map +1 -0
  40. package/dist/cjs/api/client.js +171 -0
  41. package/dist/cjs/api/client.js.map +7 -0
  42. package/dist/cjs/api/decimal.d.ts +21 -0
  43. package/dist/cjs/api/decimal.d.ts.map +1 -0
  44. package/dist/cjs/api/decimal.js +60 -0
  45. package/dist/cjs/api/decimal.js.map +7 -0
  46. package/dist/cjs/api/errors.d.ts +32 -0
  47. package/dist/cjs/api/errors.d.ts.map +1 -0
  48. package/dist/cjs/api/errors.js +80 -0
  49. package/dist/cjs/api/errors.js.map +7 -0
  50. package/dist/cjs/api/generated.d.ts +2068 -0
  51. package/dist/cjs/api/generated.d.ts.map +1 -0
  52. package/dist/cjs/api/generated.js +17 -0
  53. package/dist/cjs/api/generated.js.map +7 -0
  54. package/dist/cjs/api/http.d.ts +16 -0
  55. package/dist/cjs/api/http.d.ts.map +1 -0
  56. package/dist/cjs/api/http.js +64 -0
  57. package/dist/cjs/api/http.js.map +7 -0
  58. package/dist/cjs/api/index.d.ts +14 -0
  59. package/dist/cjs/api/index.d.ts.map +1 -0
  60. package/dist/cjs/api/index.js +73 -0
  61. package/dist/cjs/api/index.js.map +7 -0
  62. package/dist/cjs/api/positionHistory.d.ts +44 -0
  63. package/dist/cjs/api/positionHistory.d.ts.map +1 -0
  64. package/dist/cjs/api/positionHistory.js +131 -0
  65. package/dist/cjs/api/positionHistory.js.map +7 -0
  66. package/dist/cjs/attribution/erc8021.d.ts +9 -0
  67. package/dist/cjs/attribution/erc8021.d.ts.map +1 -0
  68. package/dist/cjs/attribution/erc8021.js +37 -0
  69. package/dist/cjs/attribution/erc8021.js.map +7 -0
  70. package/dist/cjs/attribution/index.d.ts +25 -0
  71. package/dist/cjs/attribution/index.d.ts.map +1 -0
  72. package/dist/cjs/attribution/index.js +68 -0
  73. package/dist/cjs/attribution/index.js.map +7 -0
  74. package/dist/cjs/client.d.ts +72 -0
  75. package/dist/cjs/client.d.ts.map +1 -0
  76. package/dist/cjs/client.js +80 -0
  77. package/dist/cjs/client.js.map +7 -0
  78. package/dist/cjs/constants.d.ts +16 -0
  79. package/dist/cjs/constants.d.ts.map +1 -0
  80. package/dist/cjs/constants.js +83 -0
  81. package/dist/cjs/constants.js.map +7 -0
  82. package/dist/cjs/errors.d.ts +85 -0
  83. package/dist/cjs/errors.d.ts.map +1 -0
  84. package/dist/cjs/errors.js +210 -0
  85. package/dist/cjs/errors.js.map +7 -0
  86. package/dist/cjs/evm/abis/erc20.d.ts +41 -0
  87. package/dist/cjs/evm/abis/erc20.d.ts.map +1 -0
  88. package/dist/cjs/evm/abis/erc20.js +57 -0
  89. package/dist/cjs/evm/abis/erc20.js.map +7 -0
  90. package/dist/cjs/evm/abis/erc4626.d.ts +105 -0
  91. package/dist/cjs/evm/abis/erc4626.d.ts.map +1 -0
  92. package/dist/cjs/evm/abis/erc4626.js +97 -0
  93. package/dist/cjs/evm/abis/erc4626.js.map +7 -0
  94. package/dist/cjs/evm/abis/multiDepositorVault.d.ts +1048 -0
  95. package/dist/cjs/evm/abis/multiDepositorVault.d.ts.map +1 -0
  96. package/dist/cjs/evm/abis/multiDepositorVault.js +614 -0
  97. package/dist/cjs/evm/abis/multiDepositorVault.js.map +7 -0
  98. package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts +910 -0
  99. package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts.map +1 -0
  100. package/dist/cjs/evm/abis/priceAndFeeCalculator.js +517 -0
  101. package/dist/cjs/evm/abis/priceAndFeeCalculator.js.map +7 -0
  102. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts +277 -0
  103. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -0
  104. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js +166 -0
  105. package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js.map +7 -0
  106. package/dist/cjs/evm/abis/provisioner.d.ts +4984 -0
  107. package/dist/cjs/evm/abis/provisioner.d.ts.map +1 -0
  108. package/dist/cjs/evm/abis/provisioner.js +2785 -0
  109. package/dist/cjs/evm/abis/provisioner.js.map +7 -0
  110. package/dist/cjs/evm/abis/provisionerV2.d.ts +740 -0
  111. package/dist/cjs/evm/abis/provisionerV2.d.ts.map +1 -0
  112. package/dist/cjs/evm/abis/provisionerV2.js +320 -0
  113. package/dist/cjs/evm/abis/provisionerV2.js.map +7 -0
  114. package/dist/cjs/evm/adapters/aera.d.ts +6 -0
  115. package/dist/cjs/evm/adapters/aera.d.ts.map +1 -0
  116. package/dist/cjs/evm/adapters/aera.js +491 -0
  117. package/dist/cjs/evm/adapters/aera.js.map +7 -0
  118. package/dist/cjs/evm/adapters/index.d.ts +3 -0
  119. package/dist/cjs/evm/adapters/index.d.ts.map +1 -0
  120. package/dist/cjs/evm/adapters/index.js +41 -0
  121. package/dist/cjs/evm/adapters/index.js.map +7 -0
  122. package/dist/cjs/evm/adapters/morpho.d.ts +3 -0
  123. package/dist/cjs/evm/adapters/morpho.d.ts.map +1 -0
  124. package/dist/cjs/evm/adapters/morpho.js +103 -0
  125. package/dist/cjs/evm/adapters/morpho.js.map +7 -0
  126. package/dist/cjs/evm/adapters/types.d.ts +84 -0
  127. package/dist/cjs/evm/adapters/types.d.ts.map +1 -0
  128. package/dist/cjs/evm/adapters/types.js +17 -0
  129. package/dist/cjs/evm/adapters/types.js.map +7 -0
  130. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts +46 -0
  131. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -0
  132. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js +223 -0
  133. package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js.map +7 -0
  134. package/dist/cjs/evm/aeraContracts/readOptions.d.ts +8 -0
  135. package/dist/cjs/evm/aeraContracts/readOptions.d.ts.map +1 -0
  136. package/dist/cjs/evm/aeraContracts/readOptions.js +31 -0
  137. package/dist/cjs/evm/aeraContracts/readOptions.js.map +7 -0
  138. package/dist/cjs/evm/aeraContracts/v1.d.ts +2317 -0
  139. package/dist/cjs/evm/aeraContracts/v1.d.ts.map +1 -0
  140. package/dist/cjs/evm/aeraContracts/v1.js +120 -0
  141. package/dist/cjs/evm/aeraContracts/v1.js.map +7 -0
  142. package/dist/cjs/evm/aeraContracts/v2.d.ts +4538 -0
  143. package/dist/cjs/evm/aeraContracts/v2.d.ts.map +1 -0
  144. package/dist/cjs/evm/aeraContracts/v2.js +449 -0
  145. package/dist/cjs/evm/aeraContracts/v2.js.map +7 -0
  146. package/dist/cjs/evm/aeraContracts.d.ts +33 -0
  147. package/dist/cjs/evm/aeraContracts.d.ts.map +1 -0
  148. package/dist/cjs/evm/aeraContracts.js +224 -0
  149. package/dist/cjs/evm/aeraContracts.js.map +7 -0
  150. package/dist/cjs/evm/deposit.d.ts +50 -0
  151. package/dist/cjs/evm/deposit.d.ts.map +1 -0
  152. package/dist/cjs/evm/deposit.js +112 -0
  153. package/dist/cjs/evm/deposit.js.map +7 -0
  154. package/dist/cjs/evm/depositQuote.d.ts +32 -0
  155. package/dist/cjs/evm/depositQuote.d.ts.map +1 -0
  156. package/dist/cjs/evm/depositQuote.js +96 -0
  157. package/dist/cjs/evm/depositQuote.js.map +7 -0
  158. package/dist/cjs/evm/depositReceiverApproval.d.ts +17 -0
  159. package/dist/cjs/evm/depositReceiverApproval.d.ts.map +1 -0
  160. package/dist/cjs/evm/depositReceiverApproval.js +66 -0
  161. package/dist/cjs/evm/depositReceiverApproval.js.map +7 -0
  162. package/dist/cjs/evm/index.d.ts +28 -0
  163. package/dist/cjs/evm/index.d.ts.map +1 -0
  164. package/dist/cjs/evm/index.js +116 -0
  165. package/dist/cjs/evm/index.js.map +7 -0
  166. package/dist/cjs/evm/operationMode.d.ts +9 -0
  167. package/dist/cjs/evm/operationMode.d.ts.map +1 -0
  168. package/dist/cjs/evm/operationMode.js +65 -0
  169. package/dist/cjs/evm/operationMode.js.map +7 -0
  170. package/dist/cjs/evm/tokenModes.d.ts +22 -0
  171. package/dist/cjs/evm/tokenModes.d.ts.map +1 -0
  172. package/dist/cjs/evm/tokenModes.js +47 -0
  173. package/dist/cjs/evm/tokenModes.js.map +7 -0
  174. package/dist/cjs/evm/types.d.ts +34 -0
  175. package/dist/cjs/evm/types.d.ts.map +1 -0
  176. package/dist/cjs/evm/types.js +32 -0
  177. package/dist/cjs/evm/types.js.map +7 -0
  178. package/dist/cjs/evm/userCurrentBalance.d.ts +55 -0
  179. package/dist/cjs/evm/userCurrentBalance.d.ts.map +1 -0
  180. package/dist/cjs/evm/userCurrentBalance.js +225 -0
  181. package/dist/cjs/evm/userCurrentBalance.js.map +7 -0
  182. package/dist/cjs/evm/vaults.d.ts +44 -0
  183. package/dist/cjs/evm/vaults.d.ts.map +1 -0
  184. package/dist/cjs/evm/vaults.js +78 -0
  185. package/dist/cjs/evm/vaults.js.map +7 -0
  186. package/dist/cjs/evm/withdraw.d.ts +73 -0
  187. package/dist/cjs/evm/withdraw.d.ts.map +1 -0
  188. package/dist/cjs/evm/withdraw.js +161 -0
  189. package/dist/cjs/evm/withdraw.js.map +7 -0
  190. package/dist/cjs/evm/withdrawQuote.d.ts +135 -0
  191. package/dist/cjs/evm/withdrawQuote.d.ts.map +1 -0
  192. package/dist/cjs/evm/withdrawQuote.js +256 -0
  193. package/dist/cjs/evm/withdrawQuote.js.map +7 -0
  194. package/dist/cjs/index.d.ts +31 -0
  195. package/dist/cjs/index.d.ts.map +1 -0
  196. package/dist/cjs/index.js +128 -0
  197. package/dist/cjs/index.js.map +7 -0
  198. package/dist/cjs/package.json +1 -0
  199. package/dist/cjs/privy/index.d.ts +52 -0
  200. package/dist/cjs/privy/index.d.ts.map +1 -0
  201. package/dist/cjs/privy/index.js +57 -0
  202. package/dist/cjs/privy/index.js.map +7 -0
  203. package/dist/client.d.ts +4 -2
  204. package/dist/client.d.ts.map +1 -1
  205. package/dist/constants.d.ts.map +1 -1
  206. package/dist/errors.d.ts +15 -1
  207. package/dist/errors.d.ts.map +1 -1
  208. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts +44 -0
  209. package/dist/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -1
  210. package/dist/evm/abis/provisionerV2.d.ts +56 -0
  211. package/dist/evm/abis/provisionerV2.d.ts.map +1 -1
  212. package/dist/evm/adapters/aera.d.ts +1 -1
  213. package/dist/evm/adapters/aera.d.ts.map +1 -1
  214. package/dist/evm/adapters/index.d.ts +1 -1
  215. package/dist/evm/adapters/index.d.ts.map +1 -1
  216. package/dist/evm/adapters/morpho.d.ts +1 -1
  217. package/dist/evm/adapters/morpho.d.ts.map +1 -1
  218. package/dist/evm/adapters/types.d.ts +6 -2
  219. package/dist/evm/adapters/types.d.ts.map +1 -1
  220. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +11 -6
  221. package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -1
  222. package/dist/evm/aeraContracts/readOptions.d.ts +8 -0
  223. package/dist/evm/aeraContracts/readOptions.d.ts.map +1 -0
  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 +396 -4
  227. package/dist/evm/aeraContracts/v2.d.ts.map +1 -1
  228. package/dist/evm/aeraContracts.d.ts +11 -5
  229. package/dist/evm/aeraContracts.d.ts.map +1 -1
  230. package/dist/evm/deposit.d.ts +4 -2
  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 -17
  237. package/dist/evm/index.d.ts.map +1 -1
  238. package/dist/evm/index.js +88 -9
  239. package/dist/evm/index.js.map +7 -1
  240. package/dist/evm/tokenModes.d.ts +22 -0
  241. package/dist/evm/tokenModes.d.ts.map +1 -0
  242. package/dist/evm/userCurrentBalance.d.ts +6 -2
  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 +10 -2
  247. package/dist/evm/withdraw.d.ts.map +1 -1
  248. package/dist/evm/withdrawQuote.d.ts +135 -0
  249. package/dist/evm/withdrawQuote.d.ts.map +1 -0
  250. package/dist/index.d.ts +30 -22
  251. package/dist/index.d.ts.map +1 -1
  252. package/dist/index.js +139 -12
  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 +45 -460
  260. package/package.json +43 -9
  261. package/src/api/client.ts +104 -7
  262. package/src/api/generated.ts +621 -14
  263. package/src/api/index.ts +13 -0
  264. package/src/client.ts +4 -1
  265. package/src/constants.ts +2 -0
  266. package/src/errors.ts +39 -2
  267. package/src/evm/abis/priceAndFeeCalculatorV2.ts +22 -0
  268. package/src/evm/abis/provisionerV2.ts +33 -0
  269. package/src/evm/adapters/aera.ts +64 -34
  270. package/src/evm/adapters/types.ts +4 -0
  271. package/src/evm/aeraContracts/priceAndFeeCalculator.ts +72 -5
  272. package/src/evm/aeraContracts/readOptions.ts +3 -0
  273. package/src/evm/aeraContracts/v2.ts +273 -41
  274. package/src/evm/aeraContracts.ts +81 -8
  275. package/src/evm/deposit.ts +21 -8
  276. package/src/evm/depositQuote.ts +137 -0
  277. package/src/evm/index.ts +41 -0
  278. package/src/evm/tokenModes.ts +54 -0
  279. package/src/evm/userCurrentBalance.ts +12 -1
  280. package/src/evm/vaults.ts +0 -7
  281. package/src/evm/withdraw.ts +131 -7
  282. package/src/evm/withdrawQuote.ts +434 -0
  283. package/src/index.ts +26 -1
  284. package/dist/api/activity.js +0 -154
  285. package/dist/api/activity.js.map +0 -1
  286. package/dist/api/caip.js +0 -38
  287. package/dist/api/caip.js.map +0 -1
  288. package/dist/api/client.js +0 -109
  289. package/dist/api/client.js.map +0 -1
  290. package/dist/api/decimal.js +0 -44
  291. package/dist/api/decimal.js.map +0 -1
  292. package/dist/api/errors.js +0 -41
  293. package/dist/api/errors.js.map +0 -1
  294. package/dist/api/generated.js +0 -6
  295. package/dist/api/generated.js.map +0 -1
  296. package/dist/api/http.js +0 -39
  297. package/dist/api/http.js.map +0 -1
  298. package/dist/api/positionHistory.js +0 -126
  299. package/dist/api/positionHistory.js.map +0 -1
  300. package/dist/attribution/erc8021.js +0 -17
  301. package/dist/attribution/erc8021.js.map +0 -1
  302. package/dist/attribution/index.js +0 -45
  303. package/dist/attribution/index.js.map +0 -1
  304. package/dist/client.js +0 -72
  305. package/dist/client.js.map +0 -1
  306. package/dist/constants.js +0 -28
  307. package/dist/constants.js.map +0 -1
  308. package/dist/errors.js +0 -115
  309. package/dist/errors.js.map +0 -1
  310. package/dist/evm/abis/erc20.js +0 -30
  311. package/dist/evm/abis/erc20.js.map +0 -1
  312. package/dist/evm/abis/erc4626.js +0 -70
  313. package/dist/evm/abis/erc4626.js.map +0 -1
  314. package/dist/evm/abis/multiDepositorVault.js +0 -587
  315. package/dist/evm/abis/multiDepositorVault.js.map +0 -1
  316. package/dist/evm/abis/priceAndFeeCalculator.js +0 -490
  317. package/dist/evm/abis/priceAndFeeCalculator.js.map +0 -1
  318. package/dist/evm/abis/priceAndFeeCalculatorV2.js +0 -119
  319. package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +0 -1
  320. package/dist/evm/abis/provisioner.js +0 -2768
  321. package/dist/evm/abis/provisioner.js.map +0 -1
  322. package/dist/evm/abis/provisionerV2.js +0 -262
  323. package/dist/evm/abis/provisionerV2.js.map +0 -1
  324. package/dist/evm/adapters/aera.js +0 -249
  325. package/dist/evm/adapters/aera.js.map +0 -1
  326. package/dist/evm/adapters/index.js +0 -14
  327. package/dist/evm/adapters/index.js.map +0 -1
  328. package/dist/evm/adapters/morpho.js +0 -79
  329. package/dist/evm/adapters/morpho.js.map +0 -1
  330. package/dist/evm/adapters/types.js +0 -2
  331. package/dist/evm/adapters/types.js.map +0 -1
  332. package/dist/evm/aeraContracts/priceAndFeeCalculator.js +0 -140
  333. package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +0 -1
  334. package/dist/evm/aeraContracts/v1.js +0 -59
  335. package/dist/evm/aeraContracts/v1.js.map +0 -1
  336. package/dist/evm/aeraContracts/v2.js +0 -217
  337. package/dist/evm/aeraContracts/v2.js.map +0 -1
  338. package/dist/evm/aeraContracts.js +0 -134
  339. package/dist/evm/aeraContracts.js.map +0 -1
  340. package/dist/evm/deposit.js +0 -109
  341. package/dist/evm/deposit.js.map +0 -1
  342. package/dist/evm/depositReceiverApproval.js +0 -32
  343. package/dist/evm/depositReceiverApproval.js.map +0 -1
  344. package/dist/evm/operationMode.js +0 -41
  345. package/dist/evm/operationMode.js.map +0 -1
  346. package/dist/evm/types.js +0 -5
  347. package/dist/evm/types.js.map +0 -1
  348. package/dist/evm/userCurrentBalance.js +0 -211
  349. package/dist/evm/userCurrentBalance.js.map +0 -1
  350. package/dist/evm/vaults.js +0 -75
  351. package/dist/evm/vaults.js.map +0 -1
  352. package/dist/evm/withdraw.js +0 -97
  353. package/dist/evm/withdraw.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,57 @@
1
+ import {
2
+ ChainMismatchError
3
+ } from "./chunk-HC2BS7MK.js";
4
+
5
+ // src/evm/vaults.ts
6
+ import { base } from "viem/chains";
7
+ var VaultId = /* @__PURE__ */ ((VaultId2) => {
8
+ VaultId2["BaseUsdcPrime"] = "baseUsdcPrime";
9
+ VaultId2["EthUsdcPrime"] = "ethUsdcPrime";
10
+ VaultId2["AeraUsdAlpha"] = "gtusda";
11
+ VaultId2["EthUsdcPrimeV2"] = "ethUsdcPrimeV2";
12
+ VaultId2["AeraLeveredFalconX"] = "gpaafalconx";
13
+ VaultId2["AeraSyrupUsdc"] = "gpsyrupusdc";
14
+ VaultId2["AeraBtcYield"] = "gtbtc";
15
+ VaultId2["AeraLeveredUscc"] = "gtuscc";
16
+ VaultId2["AeraLend"] = "gtlend";
17
+ VaultId2["AeraKastEth"] = "kasteth";
18
+ return VaultId2;
19
+ })(VaultId || {});
20
+ async function getVaults(client, filter) {
21
+ const manifest = await client.manifest;
22
+ let vaults = manifest.vaults;
23
+ if (filter?.chainId) {
24
+ vaults = vaults.filter(
25
+ (v) => v.deployments.some((d) => d.chain === "evm" && d.chainId === filter.chainId)
26
+ );
27
+ }
28
+ if (filter?.protocol) {
29
+ vaults = vaults.filter((v) => v.protocol === filter.protocol);
30
+ }
31
+ return vaults;
32
+ }
33
+ async function resolveVault(client, vaultId, chainId) {
34
+ const manifest = await client.manifest;
35
+ const vaultInfo = manifest.vaults.find((v) => v.vaultId === vaultId);
36
+ if (!vaultInfo) return void 0;
37
+ const evmDeployments = vaultInfo.deployments.filter(
38
+ (d) => d.chain === "evm"
39
+ );
40
+ if (evmDeployments.length === 1) {
41
+ if (chainId !== void 0 && evmDeployments[0].chainId !== chainId) {
42
+ throw new ChainMismatchError(`${chainId}`, `${evmDeployments[0].chainId}`);
43
+ }
44
+ return { vault: evmDeployments[0], protocol: vaultInfo.protocol };
45
+ }
46
+ const defaultChainId = chainId ?? base.id;
47
+ const deployment = evmDeployments.find((d) => d.chainId === defaultChainId);
48
+ if (!deployment) return void 0;
49
+ return { vault: deployment, protocol: vaultInfo.protocol };
50
+ }
51
+
52
+ export {
53
+ VaultId,
54
+ getVaults,
55
+ resolveVault
56
+ };
57
+ //# sourceMappingURL=chunk-STIV2CC4.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/evm/vaults.ts"],
4
+ "sourcesContent": ["import { base } from 'viem/chains';\nimport type { GauntletClient } from '../client';\nimport type { EvmVaultDeployment, VaultDeployment, VaultInfo } from './types';\nimport { ChainMismatchError } from '../errors';\n\nexport enum VaultId {\n BaseUsdcPrime = 'baseUsdcPrime',\n EthUsdcPrime = 'ethUsdcPrime',\n AeraUsdAlpha = 'gtusda',\n EthUsdcPrimeV2 = 'ethUsdcPrimeV2',\n AeraLeveredFalconX = 'gpaafalconx',\n AeraSyrupUsdc = 'gpsyrupusdc',\n AeraBtcYield = 'gtbtc',\n AeraLeveredUscc = 'gtuscc',\n AeraLend = 'gtlend',\n AeraKastEth = 'kasteth',\n}\n\nexport interface VaultFilter {\n /** Filter to vaults that have at least one EVM deployment on this chainId. */\n chainId?: number;\n protocol?: string;\n}\n\n/**\n * Returns vaults from the bundled manifest, optionally filtered by chain and/or protocol.\n * Does not make any network requests.\n *\n * @param client - A configured `GauntletClient` instance.\n * @param filter - Optional filter criteria. `chainId` restricts results to vaults that have\n * at least one EVM deployment on that chain. `protocol` restricts results to a specific\n * protocol (e.g. `'aera'`, `'morpho'`).\n * @returns Array of `VaultInfo` objects matching the filter, or all vaults if no filter is given.\n *\n * @example\n * ```ts\n * // All vaults on Base\n * const vaults = await getVaults(client, { chainId: base.id });\n *\n * // All Aera vaults\n * const aeraVaults = await getVaults(client, { protocol: 'aera' });\n * ```\n */\nexport async function getVaults(\n client: GauntletClient,\n filter?: VaultFilter\n): Promise<VaultInfo[]> {\n const manifest = await client.manifest;\n let vaults = manifest.vaults;\n\n if (filter?.chainId) {\n vaults = vaults.filter((v) =>\n v.deployments.some((d) => d.chain === 'evm' && d.chainId === filter.chainId)\n );\n }\n\n if (filter?.protocol) {\n vaults = vaults.filter((v) => v.protocol === filter.protocol);\n }\n\n return vaults;\n}\n\nexport async function resolveVault(\n client: GauntletClient,\n vaultId: string,\n chainId?: string | number\n): Promise<{ vault: VaultDeployment; protocol: string } | undefined> {\n const manifest = await client.manifest;\n const vaultInfo = manifest.vaults.find((v) => v.vaultId === vaultId);\n if (!vaultInfo) return undefined;\n\n const evmDeployments = vaultInfo.deployments.filter(\n (d): d is EvmVaultDeployment => d.chain === 'evm'\n );\n\n if (evmDeployments.length === 1) {\n // if user specifies a chain we need to make sure they get it\n if (chainId !== undefined && evmDeployments[0].chainId !== chainId) {\n throw new ChainMismatchError(`${chainId}`, `${evmDeployments[0].chainId}`);\n }\n // otherwise they're expected to know what chain\n // the single chain vault they request is on\n return { vault: evmDeployments[0], protocol: vaultInfo.protocol };\n }\n\n // now we default to base\n const defaultChainId = chainId ?? base.id;\n\n const deployment = evmDeployments.find((d) => d.chainId === defaultChainId);\n if (!deployment) return undefined;\n\n return { vault: deployment, protocol: vaultInfo.protocol };\n}\n"],
5
+ "mappings": ";;;;;AAAA,SAAS,YAAY;AAKd,IAAK,UAAL,kBAAKA,aAAL;AACL,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,oBAAiB;AACjB,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,qBAAkB;AAClB,EAAAA,SAAA,cAAW;AACX,EAAAA,SAAA,iBAAc;AAVJ,SAAAA;AAAA,GAAA;AAsCZ,eAAsB,UACpB,QACA,QACsB;AACtB,QAAM,WAAW,MAAM,OAAO;AAC9B,MAAI,SAAS,SAAS;AAEtB,MAAI,QAAQ,SAAS;AACnB,aAAS,OAAO;AAAA,MAAO,CAAC,MACtB,EAAE,YAAY,KAAK,CAAC,MAAM,EAAE,UAAU,SAAS,EAAE,YAAY,OAAO,OAAO;AAAA,IAC7E;AAAA,EACF;AAEA,MAAI,QAAQ,UAAU;AACpB,aAAS,OAAO,OAAO,CAAC,MAAM,EAAE,aAAa,OAAO,QAAQ;AAAA,EAC9D;AAEA,SAAO;AACT;AAEA,eAAsB,aACpB,QACA,SACA,SACmE;AACnE,QAAM,WAAW,MAAM,OAAO;AAC9B,QAAM,YAAY,SAAS,OAAO,KAAK,CAAC,MAAM,EAAE,YAAY,OAAO;AACnE,MAAI,CAAC,UAAW,QAAO;AAEvB,QAAM,iBAAiB,UAAU,YAAY;AAAA,IAC3C,CAAC,MAA+B,EAAE,UAAU;AAAA,EAC9C;AAEA,MAAI,eAAe,WAAW,GAAG;AAE/B,QAAI,YAAY,UAAa,eAAe,CAAC,EAAE,YAAY,SAAS;AAClE,YAAM,IAAI,mBAAmB,GAAG,OAAO,IAAI,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE;AAAA,IAC3E;AAGA,WAAO,EAAE,OAAO,eAAe,CAAC,GAAG,UAAU,UAAU,SAAS;AAAA,EAClE;AAGA,QAAM,iBAAiB,WAAW,KAAK;AAEvC,QAAM,aAAa,eAAe,KAAK,CAAC,MAAM,EAAE,YAAY,cAAc;AAC1E,MAAI,CAAC,WAAY,QAAO;AAExB,SAAO,EAAE,OAAO,YAAY,UAAU,UAAU,SAAS;AAC3D;",
6
+ "names": ["VaultId"]
7
+ }
@@ -0,0 +1,283 @@
1
+ import {
2
+ resolveVault
3
+ } from "./chunk-STIV2CC4.js";
4
+ import {
5
+ DecimalPrecisionError,
6
+ GauntletSDKError,
7
+ InvalidCaipIdError,
8
+ InvalidDecimalError,
9
+ SettlementTimeoutError,
10
+ VaultNotFoundError
11
+ } from "./chunk-HC2BS7MK.js";
12
+
13
+ // src/api/decimal.ts
14
+ import { formatUnits } from "viem";
15
+ var DECIMAL_RE = /^(-?)(\d+)(?:\.(\d+))?$/;
16
+ function decimalToBigInt(value, decimals) {
17
+ if (!Number.isInteger(decimals) || decimals < 0) {
18
+ throw new InvalidDecimalError(`decimals=${decimals}`);
19
+ }
20
+ const match = DECIMAL_RE.exec(value);
21
+ if (!match) throw new InvalidDecimalError(value);
22
+ const [, sign, whole, frac = ""] = match;
23
+ if (frac.length > decimals && !/^0*$/.test(frac.slice(decimals))) {
24
+ throw new DecimalPrecisionError(value, decimals);
25
+ }
26
+ const scaled = BigInt(whole + frac.slice(0, decimals).padEnd(decimals, "0"));
27
+ return sign === "-" ? -scaled : scaled;
28
+ }
29
+ function bigIntToDecimal(value, decimals) {
30
+ if (!Number.isInteger(decimals) || decimals < 0) {
31
+ throw new InvalidDecimalError(`decimals=${decimals}`);
32
+ }
33
+ return formatUnits(value, decimals);
34
+ }
35
+ var SHARE_DECIMALS = 18;
36
+ function sharesToBigInt(value) {
37
+ return decimalToBigInt(value, SHARE_DECIMALS);
38
+ }
39
+
40
+ // src/api/caip.ts
41
+ function parseApiVaultId(id) {
42
+ const match = /^(?:eip155:)?(\d+):(0x[0-9a-fA-F]{40})$/.exec(id);
43
+ if (!match) throw new InvalidCaipIdError(id);
44
+ return { chainId: Number(match[1]), address: match[2].toLowerCase() };
45
+ }
46
+ function formatApiVaultId(chainId, address) {
47
+ return `${chainId}:${address.toLowerCase()}`;
48
+ }
49
+ async function apiVaultIdFromVaultId(client, vaultId, chainId) {
50
+ const resolved = await resolveVault(client, vaultId, chainId);
51
+ if (!resolved) throw new VaultNotFoundError(vaultId, chainId);
52
+ return formatApiVaultId(resolved.vault.chainId, resolved.vault.vaultAddress);
53
+ }
54
+ async function vaultIdFromApiVaultId(client, apiVaultId) {
55
+ const { chainId, address } = parseApiVaultId(apiVaultId);
56
+ const manifest = await client.manifest;
57
+ return manifest.vaults.find(
58
+ (v) => v.deployments.some(
59
+ (d) => d.chain === "evm" && d.chainId === chainId && d.vaultAddress.toLowerCase() === address
60
+ )
61
+ )?.vaultId;
62
+ }
63
+
64
+ // src/api/activity.ts
65
+ var PENDING_TYPES = /* @__PURE__ */ new Set(["deposit_pending", "withdraw_pending"]);
66
+ var REFUNDED_TYPES = /* @__PURE__ */ new Set(["deposit_refunded", "withdraw_refunded"]);
67
+ function flowKind(rowType) {
68
+ if (rowType.startsWith("deposit")) return "deposit";
69
+ if (rowType.startsWith("withdraw")) return "withdraw";
70
+ if (rowType === "transfer_in" || rowType === "transfer_out") return rowType;
71
+ throw new GauntletSDKError(`Unknown activity row type "${rowType}"`);
72
+ }
73
+ function abs(value) {
74
+ return value < 0n ? -value : value;
75
+ }
76
+ var ASSET_SCALE = 18;
77
+ function toAssetAmount(rows) {
78
+ let best = rows[0];
79
+ let bestMagnitude = abs(decimalToBigInt(best.assets_delta.native, ASSET_SCALE));
80
+ for (const row of rows.slice(1)) {
81
+ const magnitude = abs(decimalToBigInt(row.assets_delta.native, ASSET_SCALE));
82
+ if (magnitude > bestMagnitude) {
83
+ best = row;
84
+ bestMagnitude = magnitude;
85
+ }
86
+ }
87
+ const token = best.assets_delta.token ?? rows.find((r) => r.assets_delta.token)?.assets_delta.token ?? null;
88
+ const decimal = best.assets_delta.native.replace(/^-/, "");
89
+ const raw = token?.decimals != null ? decimalToBigInt(decimal, token.decimals) : null;
90
+ return { decimal, raw, token };
91
+ }
92
+ function stitchActivityFlows(rows) {
93
+ const groups = /* @__PURE__ */ new Map();
94
+ for (const [index, row] of rows.entries()) {
95
+ const key = row.request_hash ?? `row:${index}`;
96
+ const group = groups.get(key);
97
+ if (group) group.push(row);
98
+ else groups.set(key, [row]);
99
+ }
100
+ const flows = [];
101
+ for (const group of groups.values()) {
102
+ group.sort((a, b) => a.block_timestamp - b.block_timestamp);
103
+ const pendingRow = group.find((r) => PENDING_TYPES.has(r.type)) ?? null;
104
+ const terminalRow = group.find((r) => !PENDING_TYPES.has(r.type)) ?? null;
105
+ const isAsync = group.some((r) => r.request_hash != null);
106
+ let status;
107
+ if (!terminalRow) status = "pending";
108
+ else if (REFUNDED_TYPES.has(terminalRow.type)) status = "refunded";
109
+ else status = "settled";
110
+ let sharesMagnitude = 0n;
111
+ for (const row of group) {
112
+ const shares = abs(sharesToBigInt(row.shares_delta));
113
+ if (shares > sharesMagnitude) sharesMagnitude = shares;
114
+ }
115
+ flows.push({
116
+ kind: flowKind((terminalRow ?? pendingRow ?? group[0]).type),
117
+ status,
118
+ vaultId: group[0].vault_id,
119
+ requestHash: group[0].request_hash ?? null,
120
+ requestedAt: pendingRow ? new Date(pendingRow.block_timestamp * 1e3) : isAsync ? null : new Date(group[0].block_timestamp * 1e3),
121
+ settledAt: terminalRow ? new Date(terminalRow.block_timestamp * 1e3) : null,
122
+ assets: toAssetAmount(group),
123
+ shares: sharesMagnitude,
124
+ txHashes: [...new Set(group.map((r) => r.tx_hash))]
125
+ });
126
+ }
127
+ return flows.sort((a, b) => {
128
+ const aAt = (a.settledAt ?? a.requestedAt)?.getTime() ?? 0;
129
+ const bAt = (b.settledAt ?? b.requestedAt)?.getTime() ?? 0;
130
+ return bAt - aAt;
131
+ });
132
+ }
133
+ async function getActivityFlows(api, walletAddress, options = {}) {
134
+ const maxRows = options.maxRows ?? 1e3;
135
+ const rows = [];
136
+ for await (const row of api.activityRows(walletAddress, {
137
+ vaultId: options.vaultId,
138
+ // The API caps page size at 1000; request maxRows per page so the common
139
+ // case is a single round trip instead of ten default-100 pages.
140
+ limit: options.limit ?? Math.min(maxRows, 1e3),
141
+ order: "desc"
142
+ })) {
143
+ rows.push(row);
144
+ if (rows.length >= maxRows) break;
145
+ }
146
+ const flows = stitchActivityFlows(rows);
147
+ if (rows.length >= maxRows) {
148
+ return flows.filter((f) => f.requestHash === null || f.requestedAt !== null);
149
+ }
150
+ return flows;
151
+ }
152
+ async function waitForRequestSettlement(api, walletAddress, requestHash, options = {}) {
153
+ const pollIntervalMs = options.pollIntervalMs ?? 5e3;
154
+ const timeoutMs = options.timeoutMs ?? 6e5;
155
+ const deadline = Date.now() + timeoutMs;
156
+ for (; ; ) {
157
+ const flows = await getActivityFlows(api, walletAddress, { vaultId: options.vaultId });
158
+ const flow = flows.find((f) => f.requestHash === requestHash);
159
+ if (flow && flow.status !== "pending") return flow;
160
+ if (Date.now() + pollIntervalMs > deadline) {
161
+ throw new SettlementTimeoutError(requestHash, timeoutMs);
162
+ }
163
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
164
+ }
165
+ }
166
+
167
+ // src/api/positionHistory.ts
168
+ var ASSET_SCALE2 = 18;
169
+ function buildPositionHistory(rows) {
170
+ if (rows.length === 0) {
171
+ throw new GauntletSDKError("Cannot build position history from zero activity rows");
172
+ }
173
+ const vaultIds = new Set(rows.map((r) => r.vault_id));
174
+ if (vaultIds.size > 1) {
175
+ throw new GauntletSDKError(
176
+ `Position history requires rows from a single vault; got ${[...vaultIds].join(", ")}`
177
+ );
178
+ }
179
+ const ordered = [...rows].sort((a, b) => a.block_timestamp - b.block_timestamp);
180
+ const token = ordered.find((r) => r.assets_delta.token)?.assets_delta.token ?? null;
181
+ let sharesBalance = 0n;
182
+ let pendingDepositAssets = 0n;
183
+ let pendingRedeemShares = 0n;
184
+ let netAssetsIn = 0n;
185
+ const pendingDepositByHash = /* @__PURE__ */ new Map();
186
+ const pendingRedeemByHash = /* @__PURE__ */ new Map();
187
+ const points = [];
188
+ for (const row of ordered) {
189
+ const sharesDelta = sharesToBigInt(row.shares_delta);
190
+ const assetsDelta = decimalToBigInt(row.assets_delta.native, ASSET_SCALE2);
191
+ sharesBalance += sharesDelta;
192
+ switch (row.type) {
193
+ case "deposit":
194
+ if (row.request_hash != null) {
195
+ const requested = pendingDepositByHash.get(row.request_hash);
196
+ if (requested === void 0) {
197
+ throw new GauntletSDKError(
198
+ `Deposit settlement ${row.tx_hash} references request_hash "${row.request_hash}" with no matching deposit_pending row`
199
+ );
200
+ }
201
+ pendingDepositByHash.delete(row.request_hash);
202
+ pendingDepositAssets -= requested;
203
+ netAssetsIn += requested;
204
+ } else {
205
+ netAssetsIn += assetsDelta;
206
+ }
207
+ break;
208
+ case "deposit_pending":
209
+ pendingDepositAssets += assetsDelta;
210
+ if (row.request_hash != null) pendingDepositByHash.set(row.request_hash, assetsDelta);
211
+ break;
212
+ case "deposit_refunded":
213
+ pendingDepositAssets += assetsDelta;
214
+ if (row.request_hash != null) pendingDepositByHash.delete(row.request_hash);
215
+ break;
216
+ case "withdraw":
217
+ netAssetsIn += assetsDelta;
218
+ if (row.request_hash != null) {
219
+ const escrowed = pendingRedeemByHash.get(row.request_hash);
220
+ if (escrowed === void 0) {
221
+ throw new GauntletSDKError(
222
+ `Withdraw settlement ${row.tx_hash} references request_hash "${row.request_hash}" with no matching withdraw_pending row`
223
+ );
224
+ }
225
+ pendingRedeemByHash.delete(row.request_hash);
226
+ pendingRedeemShares -= escrowed;
227
+ }
228
+ break;
229
+ case "withdraw_pending": {
230
+ const escrowed = -sharesDelta;
231
+ pendingRedeemShares += escrowed;
232
+ if (row.request_hash != null) pendingRedeemByHash.set(row.request_hash, escrowed);
233
+ break;
234
+ }
235
+ case "withdraw_refunded":
236
+ pendingRedeemShares -= sharesDelta;
237
+ if (row.request_hash != null) pendingRedeemByHash.delete(row.request_hash);
238
+ break;
239
+ case "transfer_in":
240
+ case "transfer_out":
241
+ break;
242
+ default:
243
+ throw new GauntletSDKError(`Unknown activity row type "${row.type}"`);
244
+ }
245
+ points.push({
246
+ timestamp: new Date(row.block_timestamp * 1e3),
247
+ txHash: row.tx_hash,
248
+ type: row.type,
249
+ sharesDelta,
250
+ assetsDelta: row.assets_delta.native,
251
+ sharesBalance,
252
+ pendingDepositAssets: bigIntToDecimal(pendingDepositAssets, ASSET_SCALE2),
253
+ pendingRedeemShares,
254
+ netAssetsIn: bigIntToDecimal(netAssetsIn, ASSET_SCALE2)
255
+ });
256
+ }
257
+ return { vaultId: ordered[0].vault_id, token, points };
258
+ }
259
+ async function getPositionHistory(api, walletAddress, vaultId) {
260
+ const rows = [];
261
+ for await (const row of api.activityRows(walletAddress, { vaultId, order: "asc", limit: 1e3 })) {
262
+ rows.push(row);
263
+ }
264
+ if (rows.length === 0) return { vaultId, token: null, points: [] };
265
+ return buildPositionHistory(rows);
266
+ }
267
+
268
+ export {
269
+ decimalToBigInt,
270
+ bigIntToDecimal,
271
+ SHARE_DECIMALS,
272
+ sharesToBigInt,
273
+ parseApiVaultId,
274
+ formatApiVaultId,
275
+ apiVaultIdFromVaultId,
276
+ vaultIdFromApiVaultId,
277
+ stitchActivityFlows,
278
+ getActivityFlows,
279
+ waitForRequestSettlement,
280
+ buildPositionHistory,
281
+ getPositionHistory
282
+ };
283
+ //# sourceMappingURL=chunk-SU6JAKIA.js.map