tapimo 0.7.1 → 0.8.0

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 (786) hide show
  1. package/README.md +10 -7
  2. package/dist/ApiKey.d.ts +3 -0
  3. package/dist/ApiKey.d.ts.map +1 -1
  4. package/dist/ApiKey.js +10 -0
  5. package/dist/ApiKey.js.map +1 -1
  6. package/dist/ApiKeys.d.ts +29 -8
  7. package/dist/ApiKeys.d.ts.map +1 -1
  8. package/dist/ApiKeys.js +24 -5
  9. package/dist/ApiKeys.js.map +1 -1
  10. package/dist/App.d.ts +20680 -15487
  11. package/dist/App.d.ts.map +1 -1
  12. package/dist/App.js +250 -129
  13. package/dist/App.js.map +1 -1
  14. package/dist/Assets.d.ts +10 -0
  15. package/dist/Assets.d.ts.map +1 -1
  16. package/dist/Assets.js +17 -4
  17. package/dist/Assets.js.map +1 -1
  18. package/dist/Scope.d.ts +19 -8
  19. package/dist/Scope.d.ts.map +1 -1
  20. package/dist/Scope.js +25 -9
  21. package/dist/Scope.js.map +1 -1
  22. package/dist/Webhooks.d.ts +1 -1
  23. package/dist/admin/App.d.ts +667 -76
  24. package/dist/admin/App.d.ts.map +1 -1
  25. package/dist/admin/App.js +12 -2
  26. package/dist/admin/App.js.map +1 -1
  27. package/dist/admin/apps/api-keys.d.ts +107 -11
  28. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  29. package/dist/admin/apps/api-keys.js +145 -32
  30. package/dist/admin/apps/api-keys.js.map +1 -1
  31. package/dist/admin/apps/earn-vaults.d.ts +1069 -0
  32. package/dist/admin/apps/earn-vaults.d.ts.map +1 -0
  33. package/dist/admin/apps/earn-vaults.js +409 -0
  34. package/dist/admin/apps/earn-vaults.js.map +1 -0
  35. package/dist/admin/apps/organizations.d.ts +2 -0
  36. package/dist/admin/apps/organizations.d.ts.map +1 -1
  37. package/dist/admin/apps/verified-tokens.d.ts +74 -74
  38. package/dist/admin/ui.generated.d.ts +1 -1
  39. package/dist/admin/ui.generated.d.ts.map +1 -1
  40. package/dist/admin/ui.generated.js +99 -43
  41. package/dist/admin/ui.generated.js.map +1 -1
  42. package/dist/analytics/Analytics.d.ts +4 -0
  43. package/dist/analytics/Analytics.d.ts.map +1 -1
  44. package/dist/analytics/Analytics.js +21 -2
  45. package/dist/analytics/Analytics.js.map +1 -1
  46. package/dist/analytics/tables/requestEvents.d.ts +22 -1
  47. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  48. package/dist/analytics/tables/requestEvents.js +59 -39
  49. package/dist/analytics/tables/requestEvents.js.map +1 -1
  50. package/dist/apps/Zones.d.ts +8335 -0
  51. package/dist/apps/Zones.d.ts.map +1 -0
  52. package/dist/apps/Zones.js +38 -0
  53. package/dist/apps/Zones.js.map +1 -0
  54. package/dist/apps/data/App.d.ts +5666 -3934
  55. package/dist/apps/data/App.d.ts.map +1 -1
  56. package/dist/apps/data/App.js +90 -22
  57. package/dist/apps/data/App.js.map +1 -1
  58. package/dist/apps/data/FxOracle.d.ts +1 -1
  59. package/dist/apps/data/FxOracle.d.ts.map +1 -1
  60. package/dist/apps/data/index.d.ts +0 -1
  61. package/dist/apps/data/index.d.ts.map +1 -1
  62. package/dist/apps/data/index.js +0 -1
  63. package/dist/apps/data/index.js.map +1 -1
  64. package/dist/apps/data/routes/activities.d.ts +56 -56
  65. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  66. package/dist/apps/data/routes/activities.js +130 -65
  67. package/dist/apps/data/routes/activities.js.map +1 -1
  68. package/dist/apps/data/routes/addresses.d.ts +65 -65
  69. package/dist/apps/data/routes/balances.d.ts +14 -14
  70. package/dist/apps/data/routes/balances.js +5 -5
  71. package/dist/apps/data/routes/balances.js.map +1 -1
  72. package/dist/apps/data/routes/blocks.d.ts +39 -39
  73. package/dist/apps/data/routes/coingecko.d.ts +54 -54
  74. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  75. package/dist/apps/data/routes/coingecko.js +62 -35
  76. package/dist/apps/data/routes/coingecko.js.map +1 -1
  77. package/dist/apps/data/routes/earn.d.ts +2574 -0
  78. package/dist/apps/data/routes/earn.d.ts.map +1 -0
  79. package/dist/apps/data/routes/earn.js +1574 -0
  80. package/dist/apps/data/routes/earn.js.map +1 -0
  81. package/dist/apps/data/routes/exchanges.d.ts +1626 -719
  82. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  83. package/dist/apps/data/routes/exchanges.js +656 -193
  84. package/dist/apps/data/routes/exchanges.js.map +1 -1
  85. package/dist/apps/data/routes/fee-amm.d.ts +108 -108
  86. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  87. package/dist/apps/data/routes/fee-amm.js +59 -8
  88. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  89. package/dist/apps/data/routes/indexer.d.ts +35 -35
  90. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  91. package/dist/apps/data/routes/indexer.js +23 -3
  92. package/dist/apps/data/routes/indexer.js.map +1 -1
  93. package/dist/apps/data/routes/receipts.d.ts +33 -33
  94. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  95. package/dist/apps/data/routes/receipts.js +11 -11
  96. package/dist/apps/data/routes/receipts.js.map +1 -1
  97. package/dist/apps/data/routes/rpc.d.ts +6 -6
  98. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  99. package/dist/apps/data/routes/rpc.js +214 -22
  100. package/dist/apps/data/routes/rpc.js.map +1 -1
  101. package/dist/apps/data/routes/tokenlist.d.ts +1 -1
  102. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  103. package/dist/apps/data/routes/tokenlist.js +39 -8
  104. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  105. package/dist/apps/data/routes/tokens.d.ts +115 -87
  106. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  107. package/dist/apps/data/routes/tokens.js +194 -91
  108. package/dist/apps/data/routes/tokens.js.map +1 -1
  109. package/dist/apps/data/routes/transactions.d.ts +54 -54
  110. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  111. package/dist/apps/data/routes/transactions.js +78 -39
  112. package/dist/apps/data/routes/transactions.js.map +1 -1
  113. package/dist/apps/data/routes/transfers.d.ts +76 -27
  114. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  115. package/dist/apps/data/routes/transfers.js +165 -67
  116. package/dist/apps/data/routes/transfers.js.map +1 -1
  117. package/dist/apps/data/routes/valuation.d.ts +42 -42
  118. package/dist/apps/data/routes/valuation.js +2 -2
  119. package/dist/apps/data/routes/valuation.js.map +1 -1
  120. package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
  121. package/dist/apps/data/routes/webhooks.d.ts +370 -368
  122. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  123. package/dist/apps/data/routes/webhooks.js +161 -59
  124. package/dist/apps/data/routes/webhooks.js.map +1 -1
  125. package/dist/apps/data/routes/zones.d.ts +281 -0
  126. package/dist/apps/data/routes/zones.d.ts.map +1 -0
  127. package/dist/apps/data/routes/zones.js +252 -0
  128. package/dist/apps/data/routes/zones.js.map +1 -0
  129. package/dist/apps/docs/reference.js +6 -5
  130. package/dist/apps/docs/reference.js.map +1 -1
  131. package/dist/apps/funding/Access.d.ts +16 -0
  132. package/dist/apps/funding/Access.d.ts.map +1 -0
  133. package/dist/apps/funding/Access.js +22 -0
  134. package/dist/apps/funding/Access.js.map +1 -0
  135. package/dist/apps/funding/App.d.ts +3183 -0
  136. package/dist/apps/funding/App.d.ts.map +1 -0
  137. package/dist/apps/funding/App.js +46 -0
  138. package/dist/apps/funding/App.js.map +1 -0
  139. package/dist/apps/funding/Inventory.d.ts +5 -0
  140. package/dist/apps/funding/Inventory.d.ts.map +1 -0
  141. package/dist/apps/funding/Inventory.js +25 -0
  142. package/dist/apps/funding/Inventory.js.map +1 -0
  143. package/dist/apps/funding/ProviderAttempts.d.ts +5 -0
  144. package/dist/apps/funding/ProviderAttempts.d.ts.map +1 -0
  145. package/dist/apps/funding/ProviderAttempts.js +24 -0
  146. package/dist/apps/funding/ProviderAttempts.js.map +1 -0
  147. package/dist/apps/funding/index.d.ts +2 -0
  148. package/dist/apps/funding/index.d.ts.map +1 -0
  149. package/dist/apps/funding/index.js +2 -0
  150. package/dist/apps/funding/index.js.map +1 -0
  151. package/dist/apps/funding/routes/chains.d.ts +169 -0
  152. package/dist/apps/funding/routes/chains.d.ts.map +1 -0
  153. package/dist/apps/funding/routes/chains.js +80 -0
  154. package/dist/apps/funding/routes/chains.js.map +1 -0
  155. package/dist/apps/funding/routes/deposit-addresses.d.ts +2388 -0
  156. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -0
  157. package/dist/apps/funding/routes/deposit-addresses.js +860 -0
  158. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -0
  159. package/dist/apps/funding/routes/providers.d.ts +91 -0
  160. package/dist/apps/funding/routes/providers.d.ts.map +1 -0
  161. package/dist/apps/funding/routes/providers.js +56 -0
  162. package/dist/apps/funding/routes/providers.js.map +1 -0
  163. package/dist/apps/{data/routes/funding.d.ts → funding/routes/quotes.d.ts} +26 -396
  164. package/dist/apps/funding/routes/quotes.d.ts.map +1 -0
  165. package/dist/apps/funding/routes/quotes.js +188 -0
  166. package/dist/apps/funding/routes/quotes.js.map +1 -0
  167. package/dist/apps/funding/routes/transfers.d.ts +1999 -0
  168. package/dist/apps/funding/routes/transfers.d.ts.map +1 -0
  169. package/dist/apps/funding/routes/transfers.js +614 -0
  170. package/dist/apps/funding/routes/transfers.js.map +1 -0
  171. package/dist/apps/index.d.ts +3 -1
  172. package/dist/apps/index.d.ts.map +1 -1
  173. package/dist/apps/index.js +3 -1
  174. package/dist/apps/index.js.map +1 -1
  175. package/dist/apps/management/App.d.ts +839 -574
  176. package/dist/apps/management/App.d.ts.map +1 -1
  177. package/dist/apps/management/Billing.d.ts +8 -0
  178. package/dist/apps/management/Billing.d.ts.map +1 -1
  179. package/dist/apps/management/Billing.js +12 -0
  180. package/dist/apps/management/Billing.js.map +1 -1
  181. package/dist/apps/management/Error.d.ts +12 -0
  182. package/dist/apps/management/Error.d.ts.map +1 -0
  183. package/dist/apps/management/Error.js +10 -0
  184. package/dist/apps/management/Error.js.map +1 -0
  185. package/dist/apps/management/routes/api-keys.d.ts +296 -19
  186. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  187. package/dist/apps/management/routes/api-keys.js +77 -9
  188. package/dist/apps/management/routes/api-keys.js.map +1 -1
  189. package/dist/apps/management/routes/billing.d.ts +119 -119
  190. package/dist/apps/management/routes/faucet.d.ts +35 -35
  191. package/dist/apps/management/routes/invitations.d.ts +17 -17
  192. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  193. package/dist/apps/management/routes/invitations.js +4 -10
  194. package/dist/apps/management/routes/invitations.js.map +1 -1
  195. package/dist/apps/management/routes/invite-links.d.ts +38 -38
  196. package/dist/apps/management/routes/me.d.ts +6 -6
  197. package/dist/apps/management/routes/members.d.ts +69 -69
  198. package/dist/apps/management/routes/orgs.d.ts +16 -16
  199. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  200. package/dist/apps/management/routes/orgs.js +2 -8
  201. package/dist/apps/management/routes/orgs.js.map +1 -1
  202. package/dist/apps/management/routes/projects.d.ts +19 -19
  203. package/dist/apps/management/routes/scopes.d.ts +1 -1
  204. package/dist/apps/management/routes/scopes.js +2 -2
  205. package/dist/apps/management/routes/scopes.js.map +1 -1
  206. package/dist/apps/management/routes/usage.d.ts +72 -72
  207. package/dist/apps/management/routes/verified-token-requests.d.ts +18 -18
  208. package/dist/apps/management/routes/webhooks.d.ts +122 -122
  209. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  210. package/dist/apps/management/routes/webhooks.js +15 -3
  211. package/dist/apps/management/routes/webhooks.js.map +1 -1
  212. package/dist/apps/mcp.d.ts +2 -3
  213. package/dist/apps/mcp.d.ts.map +1 -1
  214. package/dist/apps/mcp.js +16 -14
  215. package/dist/apps/mcp.js.map +1 -1
  216. package/dist/apps/metadata.d.ts +4 -0
  217. package/dist/apps/metadata.d.ts.map +1 -1
  218. package/dist/apps/metadata.js +10 -0
  219. package/dist/apps/metadata.js.map +1 -1
  220. package/dist/apps/mpp/App.d.ts +57 -58
  221. package/dist/apps/mpp/App.d.ts.map +1 -1
  222. package/dist/apps/mpp/App.js +192 -27
  223. package/dist/apps/mpp/App.js.map +1 -1
  224. package/dist/apps/mpp/Mpp.d.ts +0 -20
  225. package/dist/apps/mpp/Mpp.d.ts.map +1 -1
  226. package/dist/apps/mpp/Mpp.js +0 -24
  227. package/dist/apps/mpp/Mpp.js.map +1 -1
  228. package/dist/apps/mpp/internal/Adapter.d.ts +40 -0
  229. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -0
  230. package/dist/apps/mpp/internal/Adapter.js +66 -0
  231. package/dist/apps/mpp/internal/Adapter.js.map +1 -0
  232. package/dist/apps/mpp/internal/Error.d.ts +4 -0
  233. package/dist/apps/mpp/internal/Error.d.ts.map +1 -0
  234. package/dist/apps/mpp/internal/Error.js +41 -0
  235. package/dist/apps/mpp/internal/Error.js.map +1 -0
  236. package/dist/apps/mpp/internal/Idempotency.d.ts +33 -0
  237. package/dist/apps/mpp/internal/Idempotency.d.ts.map +1 -0
  238. package/dist/apps/mpp/internal/Idempotency.js +28 -0
  239. package/dist/apps/mpp/internal/Idempotency.js.map +1 -0
  240. package/dist/apps/mpp/internal/Policy.d.ts +46 -0
  241. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -0
  242. package/dist/apps/mpp/internal/Policy.js +57 -0
  243. package/dist/apps/mpp/internal/Policy.js.map +1 -0
  244. package/dist/apps/mpp/internal/ScreenManager.d.ts +27 -0
  245. package/dist/apps/mpp/internal/ScreenManager.d.ts.map +1 -0
  246. package/dist/apps/mpp/internal/ScreenManager.js +18 -0
  247. package/dist/apps/mpp/internal/ScreenManager.js.map +1 -0
  248. package/dist/apps/mpp/internal/Screening.d.ts +35 -0
  249. package/dist/apps/mpp/internal/Screening.d.ts.map +1 -0
  250. package/dist/apps/mpp/internal/Screening.js +20 -0
  251. package/dist/apps/mpp/internal/Screening.js.map +1 -0
  252. package/dist/apps/mpp/internal/Sponsorship.d.ts +36 -0
  253. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -0
  254. package/dist/apps/mpp/internal/Sponsorship.js +103 -0
  255. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -0
  256. package/dist/apps/mpp/internal/Utils.d.ts +7 -0
  257. package/dist/apps/mpp/internal/Utils.d.ts.map +1 -0
  258. package/dist/apps/mpp/internal/Utils.js +24 -0
  259. package/dist/apps/mpp/internal/Utils.js.map +1 -0
  260. package/dist/apps/relay/App.js +183 -23
  261. package/dist/apps/relay/App.js.map +1 -1
  262. package/dist/apps/relay/Sponsorships.d.ts +4 -0
  263. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  264. package/dist/apps/relay/Sponsorships.js +15 -6
  265. package/dist/apps/relay/Sponsorships.js.map +1 -1
  266. package/dist/cloudflare.d.ts +50 -0
  267. package/dist/cloudflare.d.ts.map +1 -1
  268. package/dist/cloudflare.js +178 -0
  269. package/dist/cloudflare.js.map +1 -1
  270. package/dist/db/Db.d.ts +22 -0
  271. package/dist/db/Db.d.ts.map +1 -1
  272. package/dist/db/Db.js +379 -0
  273. package/dist/db/Db.js.map +1 -1
  274. package/dist/db/Schema.d.ts +933 -1
  275. package/dist/db/Schema.d.ts.map +1 -1
  276. package/dist/db/Schema.js +289 -1
  277. package/dist/db/Schema.js.map +1 -1
  278. package/dist/db/tables/earnVaults.d.ts +68 -0
  279. package/dist/db/tables/earnVaults.d.ts.map +1 -0
  280. package/dist/db/tables/earnVaults.js +72 -0
  281. package/dist/db/tables/earnVaults.js.map +1 -0
  282. package/dist/db/tables/fundingCatalog.d.ts +56 -0
  283. package/dist/db/tables/fundingCatalog.d.ts.map +1 -0
  284. package/dist/db/tables/fundingCatalog.js +85 -0
  285. package/dist/db/tables/fundingCatalog.js.map +1 -0
  286. package/dist/db/tables/fundingDepositAddresses.d.ts +172 -0
  287. package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -0
  288. package/dist/db/tables/fundingDepositAddresses.js +218 -0
  289. package/dist/db/tables/fundingDepositAddresses.js.map +1 -0
  290. package/dist/db/tables/fundingDepositRequestObservations.d.ts +45 -0
  291. package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +1 -0
  292. package/dist/db/tables/fundingDepositRequestObservations.js +46 -0
  293. package/dist/db/tables/fundingDepositRequestObservations.js.map +1 -0
  294. package/dist/db/tables/fundingDeposits.d.ts +171 -0
  295. package/dist/db/tables/fundingDeposits.d.ts.map +1 -0
  296. package/dist/db/tables/fundingDeposits.js +182 -0
  297. package/dist/db/tables/fundingDeposits.js.map +1 -0
  298. package/dist/db/tables/fundingIdempotency.d.ts +91 -0
  299. package/dist/db/tables/fundingIdempotency.d.ts.map +1 -0
  300. package/dist/db/tables/fundingIdempotency.js +103 -0
  301. package/dist/db/tables/fundingIdempotency.js.map +1 -0
  302. package/dist/db/tables/fundingTransferEvents.d.ts +12 -0
  303. package/dist/db/tables/fundingTransferEvents.d.ts.map +1 -0
  304. package/dist/db/tables/fundingTransferEvents.js +18 -0
  305. package/dist/db/tables/fundingTransferEvents.js.map +1 -0
  306. package/dist/db/tables/fundingTransferTransactions.d.ts +15 -0
  307. package/dist/db/tables/fundingTransferTransactions.d.ts.map +1 -0
  308. package/dist/db/tables/fundingTransferTransactions.js +27 -0
  309. package/dist/db/tables/fundingTransferTransactions.js.map +1 -0
  310. package/dist/db/tables/fundingTransfers.d.ts +82 -0
  311. package/dist/db/tables/fundingTransfers.d.ts.map +1 -0
  312. package/dist/db/tables/fundingTransfers.js +89 -0
  313. package/dist/db/tables/fundingTransfers.js.map +1 -0
  314. package/dist/db/tables/organizations.d.ts +8 -0
  315. package/dist/db/tables/organizations.d.ts.map +1 -1
  316. package/dist/db/tables/organizations.js +16 -0
  317. package/dist/db/tables/organizations.js.map +1 -1
  318. package/dist/db/tables/projects.d.ts +8 -0
  319. package/dist/db/tables/projects.d.ts.map +1 -1
  320. package/dist/db/tables/projects.js +16 -0
  321. package/dist/db/tables/projects.js.map +1 -1
  322. package/dist/db/tables/requestUsage.d.ts +13 -0
  323. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  324. package/dist/db/tables/requestUsage.js +16 -0
  325. package/dist/db/tables/requestUsage.js.map +1 -1
  326. package/dist/db/tables/sponsoredTransactions.d.ts +2 -2
  327. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  328. package/dist/db/tables/sponsoredTransactions.js +1 -1
  329. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  330. package/dist/db/tables/users.d.ts +8 -0
  331. package/dist/db/tables/users.d.ts.map +1 -1
  332. package/dist/db/tables/users.js +16 -0
  333. package/dist/db/tables/users.js.map +1 -1
  334. package/dist/db/tables/verifiedTokens.d.ts +14 -7
  335. package/dist/db/tables/verifiedTokens.d.ts.map +1 -1
  336. package/dist/db/tables/verifiedTokens.js +9 -7
  337. package/dist/db/tables/verifiedTokens.js.map +1 -1
  338. package/dist/db/tables/webhookSubscriptions.d.ts +31 -1
  339. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  340. package/dist/db/tables/webhookSubscriptions.js +24 -3
  341. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  342. package/dist/handlers/relay.js +108 -108
  343. package/dist/handlers/relay.js.map +1 -1
  344. package/dist/internal/Auth.d.ts +37 -11
  345. package/dist/internal/Auth.d.ts.map +1 -1
  346. package/dist/internal/Auth.js +75 -16
  347. package/dist/internal/Auth.js.map +1 -1
  348. package/dist/internal/Cache.d.ts.map +1 -1
  349. package/dist/internal/Cache.js +17 -11
  350. package/dist/internal/Cache.js.map +1 -1
  351. package/dist/internal/Cursor.js +1 -1
  352. package/dist/internal/Cursor.js.map +1 -1
  353. package/dist/internal/EarnRates.d.ts +89 -0
  354. package/dist/internal/EarnRates.d.ts.map +1 -0
  355. package/dist/internal/EarnRates.js +266 -0
  356. package/dist/internal/EarnRates.js.map +1 -0
  357. package/dist/internal/EarnVaults.d.ts +171 -0
  358. package/dist/internal/EarnVaults.d.ts.map +1 -0
  359. package/dist/internal/EarnVaults.js +547 -0
  360. package/dist/internal/EarnVaults.js.map +1 -0
  361. package/dist/internal/EdgeCache.d.ts +10 -3
  362. package/dist/internal/EdgeCache.d.ts.map +1 -1
  363. package/dist/internal/EdgeCache.js +43 -11
  364. package/dist/internal/EdgeCache.js.map +1 -1
  365. package/dist/internal/Id.d.ts +11 -0
  366. package/dist/internal/Id.d.ts.map +1 -1
  367. package/dist/internal/Id.js +13 -0
  368. package/dist/internal/Id.js.map +1 -1
  369. package/dist/internal/Idempotency.d.ts +83 -0
  370. package/dist/internal/Idempotency.d.ts.map +1 -0
  371. package/dist/internal/Idempotency.js +113 -0
  372. package/dist/internal/Idempotency.js.map +1 -0
  373. package/dist/internal/IpAllowlist.d.ts +15 -0
  374. package/dist/internal/IpAllowlist.d.ts.map +1 -0
  375. package/dist/internal/IpAllowlist.js +27 -0
  376. package/dist/internal/IpAllowlist.js.map +1 -0
  377. package/dist/internal/Log.d.ts +64 -9
  378. package/dist/internal/Log.d.ts.map +1 -1
  379. package/dist/internal/Log.js +29 -7
  380. package/dist/internal/Log.js.map +1 -1
  381. package/dist/internal/MetricSink.d.ts.map +1 -1
  382. package/dist/internal/MetricSink.js +47 -1
  383. package/dist/internal/MetricSink.js.map +1 -1
  384. package/dist/internal/OpenApi.d.ts +2 -2
  385. package/dist/internal/OpenApi.d.ts.map +1 -1
  386. package/dist/internal/OpenApi.js +4 -1
  387. package/dist/internal/OpenApi.js.map +1 -1
  388. package/dist/internal/Provider.d.ts +14 -0
  389. package/dist/internal/Provider.d.ts.map +1 -0
  390. package/dist/internal/Provider.js +5 -0
  391. package/dist/internal/Provider.js.map +1 -0
  392. package/dist/internal/Schema.d.ts +6 -1
  393. package/dist/internal/Schema.d.ts.map +1 -1
  394. package/dist/internal/Schema.js +20 -11
  395. package/dist/internal/Schema.js.map +1 -1
  396. package/dist/internal/Store.d.ts +6 -0
  397. package/dist/internal/Store.d.ts.map +1 -1
  398. package/dist/internal/Store.js +35 -0
  399. package/dist/internal/Store.js.map +1 -1
  400. package/dist/internal/Tidx.d.ts +49 -24
  401. package/dist/internal/Tidx.d.ts.map +1 -1
  402. package/dist/internal/Tidx.js +90 -12
  403. package/dist/internal/Tidx.js.map +1 -1
  404. package/dist/internal/Viem.d.ts +90 -65
  405. package/dist/internal/Viem.d.ts.map +1 -1
  406. package/dist/internal/Viem.js +90 -12
  407. package/dist/internal/Viem.js.map +1 -1
  408. package/dist/internal/WebhookDestination.d.ts.map +1 -1
  409. package/dist/internal/WebhookDestination.js +34 -28
  410. package/dist/internal/WebhookDestination.js.map +1 -1
  411. package/dist/internal/Webhooks.d.ts +9 -0
  412. package/dist/internal/Webhooks.d.ts.map +1 -1
  413. package/dist/internal/Webhooks.js +15 -10
  414. package/dist/internal/Webhooks.js.map +1 -1
  415. package/dist/internal/exchange/Provider.d.ts +219 -0
  416. package/dist/internal/exchange/Provider.d.ts.map +1 -0
  417. package/dist/internal/exchange/Provider.js +117 -0
  418. package/dist/internal/exchange/Provider.js.map +1 -0
  419. package/dist/internal/exchange/index.d.ts +2 -0
  420. package/dist/internal/exchange/index.d.ts.map +1 -0
  421. package/dist/internal/exchange/index.js +2 -0
  422. package/dist/internal/exchange/index.js.map +1 -0
  423. package/dist/internal/exchange/providers/uniswap.d.ts +57 -0
  424. package/dist/internal/exchange/providers/uniswap.d.ts.map +1 -0
  425. package/dist/internal/exchange/providers/uniswap.js +553 -0
  426. package/dist/internal/exchange/providers/uniswap.js.map +1 -0
  427. package/dist/internal/funding/Action.d.ts +55 -0
  428. package/dist/internal/funding/Action.d.ts.map +1 -0
  429. package/dist/internal/funding/Action.js +74 -0
  430. package/dist/internal/funding/Action.js.map +1 -0
  431. package/dist/internal/funding/Catalog.d.ts +107 -0
  432. package/dist/internal/funding/Catalog.d.ts.map +1 -0
  433. package/dist/internal/funding/Catalog.js +270 -0
  434. package/dist/internal/funding/Catalog.js.map +1 -0
  435. package/dist/internal/funding/Chain.d.ts +76 -0
  436. package/dist/internal/funding/Chain.d.ts.map +1 -0
  437. package/dist/internal/funding/Chain.js +38 -0
  438. package/dist/internal/funding/Chain.js.map +1 -0
  439. package/dist/internal/funding/Deposit.d.ts +408 -0
  440. package/dist/internal/funding/Deposit.d.ts.map +1 -0
  441. package/dist/internal/funding/Deposit.js +318 -0
  442. package/dist/internal/funding/Deposit.js.map +1 -0
  443. package/dist/internal/funding/DepositAddress.d.ts +345 -0
  444. package/dist/internal/funding/DepositAddress.d.ts.map +1 -0
  445. package/dist/internal/funding/DepositAddress.js +189 -0
  446. package/dist/internal/funding/DepositAddress.js.map +1 -0
  447. package/dist/internal/funding/Evidence.d.ts +48 -0
  448. package/dist/internal/funding/Evidence.d.ts.map +1 -0
  449. package/dist/internal/funding/Evidence.js +315 -0
  450. package/dist/internal/funding/Evidence.js.map +1 -0
  451. package/dist/internal/funding/Provider.d.ts +1288 -0
  452. package/dist/internal/funding/Provider.d.ts.map +1 -0
  453. package/dist/internal/funding/Provider.js +1086 -0
  454. package/dist/internal/funding/Provider.js.map +1 -0
  455. package/dist/internal/funding/Reconciliation.d.ts +127 -0
  456. package/dist/internal/funding/Reconciliation.d.ts.map +1 -0
  457. package/dist/internal/funding/Reconciliation.js +885 -0
  458. package/dist/internal/funding/Reconciliation.js.map +1 -0
  459. package/dist/internal/funding/Route.d.ts +21 -0
  460. package/dist/internal/funding/Route.d.ts.map +1 -0
  461. package/dist/internal/funding/Route.js +5 -0
  462. package/dist/internal/funding/Route.js.map +1 -0
  463. package/dist/internal/funding/SourceObservation.d.ts +108 -0
  464. package/dist/internal/funding/SourceObservation.d.ts.map +1 -0
  465. package/dist/internal/funding/SourceObservation.js +143 -0
  466. package/dist/internal/funding/SourceObservation.js.map +1 -0
  467. package/dist/internal/funding/Subsidy.d.ts +113 -0
  468. package/dist/internal/funding/Subsidy.d.ts.map +1 -0
  469. package/dist/internal/funding/Subsidy.js +138 -0
  470. package/dist/internal/funding/Subsidy.js.map +1 -0
  471. package/dist/internal/funding/Token.d.ts +41 -0
  472. package/dist/internal/funding/Token.d.ts.map +1 -0
  473. package/dist/internal/funding/Token.js +22 -0
  474. package/dist/internal/funding/Token.js.map +1 -0
  475. package/dist/internal/funding/Transfer.d.ts +643 -0
  476. package/dist/internal/funding/Transfer.d.ts.map +1 -0
  477. package/dist/internal/funding/Transfer.js +332 -0
  478. package/dist/internal/funding/Transfer.js.map +1 -0
  479. package/dist/internal/funding/index.d.ts +14 -0
  480. package/dist/internal/funding/index.d.ts.map +1 -0
  481. package/dist/internal/funding/index.js +14 -0
  482. package/dist/internal/funding/index.js.map +1 -0
  483. package/dist/internal/funding/providers/across.d.ts +21 -0
  484. package/dist/internal/funding/providers/across.d.ts.map +1 -0
  485. package/dist/internal/funding/providers/across.js +117 -0
  486. package/dist/internal/funding/providers/across.js.map +1 -0
  487. package/dist/internal/funding/providers/relay.d.ts +88 -0
  488. package/dist/internal/funding/providers/relay.d.ts.map +1 -0
  489. package/dist/internal/funding/providers/relay.js +871 -0
  490. package/dist/internal/funding/providers/relay.js.map +1 -0
  491. package/dist/internal/funding/providers/rhino.d.ts +15 -0
  492. package/dist/internal/funding/providers/rhino.d.ts.map +1 -0
  493. package/dist/internal/funding/providers/rhino.js +116 -0
  494. package/dist/internal/funding/providers/rhino.js.map +1 -0
  495. package/dist/internal/funding/providers/squid.d.ts +19 -0
  496. package/dist/internal/funding/providers/squid.d.ts.map +1 -0
  497. package/dist/internal/funding/providers/squid.js +120 -0
  498. package/dist/internal/funding/providers/squid.js.map +1 -0
  499. package/dist/internal/funding/providers/symbiosis.d.ts +20 -0
  500. package/dist/internal/funding/providers/symbiosis.d.ts.map +1 -0
  501. package/dist/internal/funding/providers/symbiosis.js +176 -0
  502. package/dist/internal/funding/providers/symbiosis.js.map +1 -0
  503. package/dist/internal/index.d.ts +5 -1
  504. package/dist/internal/index.d.ts.map +1 -1
  505. package/dist/internal/index.js +5 -1
  506. package/dist/internal/index.js.map +1 -1
  507. package/dist/internal/webhookDestinations/url.js +61 -57
  508. package/dist/internal/webhookDestinations/url.js.map +1 -1
  509. package/dist/providers/index.d.ts +43 -0
  510. package/dist/providers/index.d.ts.map +1 -0
  511. package/dist/providers/index.js +19 -0
  512. package/dist/providers/index.js.map +1 -0
  513. package/package.json +10 -5
  514. package/src/ApiKey.test.ts +35 -0
  515. package/src/ApiKey.ts +27 -0
  516. package/src/ApiKeys.test.ts +40 -7
  517. package/src/ApiKeys.ts +46 -10
  518. package/src/App.test.ts +108 -15
  519. package/src/App.ts +296 -138
  520. package/src/Assets.ts +29 -4
  521. package/src/Client.test-d.ts +809 -37
  522. package/src/Scope.test.ts +19 -0
  523. package/src/Scope.ts +28 -11
  524. package/src/Webhooks.test.ts +25 -0
  525. package/src/Webhooks.ts +1 -1
  526. package/src/admin/App.test.ts +9 -2
  527. package/src/admin/App.ts +32 -9
  528. package/src/admin/apps/api-keys.test.ts +190 -22
  529. package/src/admin/apps/api-keys.ts +170 -28
  530. package/src/admin/apps/earn-vaults.test.ts +338 -0
  531. package/src/admin/apps/earn-vaults.ts +572 -0
  532. package/src/admin/apps/scopes.test.ts +16 -1
  533. package/src/admin/ui/plugin.ts +2 -2
  534. package/src/admin/ui/src/components/EarnVaultForm.tsx +137 -0
  535. package/src/admin/ui/src/components/MobileProfile.tsx +2 -2
  536. package/src/admin/ui/src/components/Page.tsx +1 -1
  537. package/src/admin/ui/src/components/ThemeToggle.tsx +1 -1
  538. package/src/admin/ui/src/lib/api-keys.ts +37 -7
  539. package/src/admin/ui/src/lib/client.ts +1 -1
  540. package/src/admin/ui/src/lib/config.ts +1 -1
  541. package/src/admin/ui/src/lib/early-access.ts +8 -9
  542. package/src/admin/ui/src/lib/earn-vaults.ts +207 -0
  543. package/src/admin/ui/src/lib/format.ts +13 -0
  544. package/src/admin/ui/src/lib/organizations.test.ts +14 -4
  545. package/src/admin/ui/src/lib/organizations.ts +7 -1
  546. package/src/admin/ui/src/lib/response.ts +22 -0
  547. package/src/admin/ui/src/lib/scopes.test.ts +19 -11
  548. package/src/admin/ui/src/lib/scopes.ts +28 -7
  549. package/src/admin/ui/src/lib/verified-tokens.ts +10 -9
  550. package/src/admin/ui/src/routeTree.gen.ts +70 -7
  551. package/src/admin/ui/src/router.tsx +2 -2
  552. package/src/admin/ui/src/routes/__root.tsx +9 -8
  553. package/src/admin/ui/src/routes/api-keys.tsx +475 -64
  554. package/src/admin/ui/src/routes/early-access.tsx +5 -12
  555. package/src/admin/ui/src/routes/earn.vaults.tsx +348 -0
  556. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +154 -0
  557. package/src/admin/ui/src/routes/earn.vaults_.new.tsx +190 -0
  558. package/src/admin/ui/src/routes/organizations.tsx +4 -7
  559. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +56 -54
  560. package/src/admin/ui/src/routes/verified-tokens.tsx +4 -4
  561. package/src/admin/ui/vite.config.ts +4 -1
  562. package/src/admin/ui.generated.ts +113 -43
  563. package/src/analytics/Analytics.test.ts +69 -10
  564. package/src/analytics/Analytics.ts +24 -1
  565. package/src/analytics/tables/requestEvents.ts +79 -37
  566. package/src/apps/Zones.test.ts +33 -0
  567. package/src/apps/Zones.ts +40 -0
  568. package/src/apps/composition.test.ts +184 -3
  569. package/src/apps/data/App.test.ts +28 -23
  570. package/src/apps/data/App.ts +95 -36
  571. package/src/apps/data/FxOracle.ts +1 -1
  572. package/src/apps/data/index.ts +0 -1
  573. package/src/apps/data/routes/activities.test.ts +82 -6
  574. package/src/apps/data/routes/activities.ts +131 -71
  575. package/src/apps/data/routes/balances.test.ts +50 -37
  576. package/src/apps/data/routes/balances.ts +5 -5
  577. package/src/apps/data/routes/blocks.test.ts +2 -0
  578. package/src/apps/data/routes/coingecko.test.ts +22 -0
  579. package/src/apps/data/routes/coingecko.ts +84 -48
  580. package/src/apps/data/routes/earn.test.ts +1391 -0
  581. package/src/apps/data/routes/earn.ts +2188 -0
  582. package/src/apps/data/routes/exchanges.test.ts +82 -33
  583. package/src/apps/data/routes/exchanges.ts +842 -227
  584. package/src/apps/data/routes/fee-amm.test.ts +4 -6
  585. package/src/apps/data/routes/fee-amm.ts +69 -12
  586. package/src/apps/data/routes/indexer.test.ts +43 -34
  587. package/src/apps/data/routes/indexer.ts +21 -3
  588. package/src/apps/data/routes/receipts.test.ts +5 -3
  589. package/src/apps/data/routes/receipts.ts +13 -11
  590. package/src/apps/data/routes/rpc.test.ts +446 -28
  591. package/src/apps/data/routes/rpc.ts +245 -25
  592. package/src/apps/data/routes/tokenlist.ts +72 -19
  593. package/src/apps/data/routes/tokens.test.ts +6 -8
  594. package/src/apps/data/routes/tokens.ts +258 -86
  595. package/src/apps/data/routes/transactions.test.ts +2 -0
  596. package/src/apps/data/routes/transactions.ts +77 -42
  597. package/src/apps/data/routes/transfers.test.ts +166 -4
  598. package/src/apps/data/routes/transfers.ts +216 -78
  599. package/src/apps/data/routes/valuation.test.ts +62 -9
  600. package/src/apps/data/routes/valuation.ts +2 -2
  601. package/src/apps/data/routes/webhooks.test.ts +386 -43
  602. package/src/apps/data/routes/webhooks.ts +172 -71
  603. package/src/apps/data/routes/zones.test.ts +473 -0
  604. package/src/apps/data/routes/zones.ts +338 -0
  605. package/src/apps/docs/reference.ts +8 -6
  606. package/src/apps/funding/Access.ts +26 -0
  607. package/src/apps/funding/App.test.ts +78 -0
  608. package/src/apps/funding/App.ts +63 -0
  609. package/src/apps/funding/Inventory.ts +30 -0
  610. package/src/apps/funding/ProviderAttempts.ts +26 -0
  611. package/src/apps/funding/index.ts +1 -0
  612. package/src/apps/funding/routes/chains.test.ts +78 -0
  613. package/src/apps/funding/routes/chains.ts +101 -0
  614. package/src/apps/funding/routes/deposit-addresses.test.ts +1628 -0
  615. package/src/apps/funding/routes/deposit-addresses.ts +1015 -0
  616. package/src/apps/funding/routes/providers.test.ts +165 -0
  617. package/src/apps/funding/routes/providers.ts +73 -0
  618. package/src/apps/funding/routes/quotes.test.ts +511 -0
  619. package/src/apps/funding/routes/quotes.ts +205 -0
  620. package/src/apps/funding/routes/transfers.test.ts +1255 -0
  621. package/src/apps/funding/routes/transfers.ts +704 -0
  622. package/src/apps/index.ts +3 -1
  623. package/src/apps/management/Billing.test.ts +29 -0
  624. package/src/apps/management/Billing.ts +23 -0
  625. package/src/apps/management/Error.ts +12 -0
  626. package/src/apps/management/routes/api-keys.test.ts +103 -3
  627. package/src/apps/management/routes/api-keys.ts +98 -10
  628. package/src/apps/management/routes/invitations.ts +4 -11
  629. package/src/apps/management/routes/orgs.ts +2 -9
  630. package/src/apps/management/routes/scopes.test.ts +7 -2
  631. package/src/apps/management/routes/scopes.ts +2 -2
  632. package/src/apps/management/routes/webhooks.test.ts +6 -1
  633. package/src/apps/management/routes/webhooks.ts +15 -3
  634. package/src/apps/mcp.test.ts +17 -2
  635. package/src/apps/mcp.ts +18 -13
  636. package/src/apps/metadata.ts +12 -0
  637. package/src/apps/mpp/App.ts +276 -29
  638. package/src/apps/mpp/Mpp.test.ts +631 -26
  639. package/src/apps/mpp/Mpp.ts +0 -42
  640. package/src/apps/mpp/internal/Adapter.ts +108 -3
  641. package/src/apps/mpp/internal/Error.test.ts +33 -0
  642. package/src/apps/mpp/internal/Error.ts +44 -6
  643. package/src/apps/mpp/internal/Idempotency.test.ts +213 -0
  644. package/src/apps/mpp/internal/Idempotency.ts +59 -5
  645. package/src/apps/mpp/internal/Policy.test.ts +128 -0
  646. package/src/apps/mpp/internal/Policy.ts +98 -0
  647. package/src/apps/mpp/internal/ScreenManager.test.ts +68 -0
  648. package/src/apps/mpp/internal/ScreenManager.ts +41 -0
  649. package/src/apps/mpp/internal/Screening.ts +40 -3
  650. package/src/apps/mpp/internal/Sponsorship.ts +144 -0
  651. package/src/apps/mpp/internal/Utils.ts +30 -0
  652. package/src/apps/relay/App.test.ts +493 -62
  653. package/src/apps/relay/App.ts +233 -23
  654. package/src/apps/relay/Sponsorships.test.ts +49 -0
  655. package/src/apps/relay/Sponsorships.ts +18 -6
  656. package/src/cloudflare.ts +279 -0
  657. package/src/db/Db.ts +501 -0
  658. package/src/db/Schema.ts +349 -2
  659. package/src/db/tables/earnVaults.test.ts +185 -0
  660. package/src/db/tables/earnVaults.ts +151 -0
  661. package/src/db/tables/fundingCatalog.test.ts +108 -0
  662. package/src/db/tables/fundingCatalog.ts +157 -0
  663. package/src/db/tables/fundingDepositAddresses.test.ts +580 -0
  664. package/src/db/tables/fundingDepositAddresses.ts +404 -0
  665. package/src/db/tables/fundingDepositRequestObservations.test.ts +106 -0
  666. package/src/db/tables/fundingDepositRequestObservations.ts +99 -0
  667. package/src/db/tables/fundingDeposits.test.ts +399 -0
  668. package/src/db/tables/fundingDeposits.ts +373 -0
  669. package/src/db/tables/fundingIdempotency.test.ts +182 -0
  670. package/src/db/tables/fundingIdempotency.ts +180 -0
  671. package/src/db/tables/fundingTransferEvents.ts +28 -0
  672. package/src/db/tables/fundingTransferTransactions.test.ts +69 -0
  673. package/src/db/tables/fundingTransferTransactions.ts +37 -0
  674. package/src/db/tables/fundingTransfers.test.ts +89 -0
  675. package/src/db/tables/fundingTransfers.ts +153 -0
  676. package/src/db/tables/organizations.ts +16 -0
  677. package/src/db/tables/projects.ts +16 -0
  678. package/src/db/tables/requestUsage.ts +23 -0
  679. package/src/db/tables/sponsoredTransactions.test.ts +11 -0
  680. package/src/db/tables/sponsoredTransactions.ts +3 -3
  681. package/src/db/tables/users.ts +16 -0
  682. package/src/db/tables/verifiedTokens.ts +19 -14
  683. package/src/db/tables/webhookSubscriptions.ts +58 -3
  684. package/src/handlers/relay.test.ts +2 -0
  685. package/src/handlers/relay.ts +95 -99
  686. package/src/internal/Auth.test.ts +225 -5
  687. package/src/internal/Auth.ts +109 -20
  688. package/src/internal/Cache.test.ts +37 -3
  689. package/src/internal/Cache.ts +14 -10
  690. package/src/internal/Cursor.test.ts +2 -2
  691. package/src/internal/Cursor.ts +1 -1
  692. package/src/internal/EarnRates.test.ts +125 -0
  693. package/src/internal/EarnRates.ts +409 -0
  694. package/src/internal/EarnVaults.test.ts +195 -0
  695. package/src/internal/EarnVaults.ts +876 -0
  696. package/src/internal/EdgeCache.test.ts +26 -7
  697. package/src/internal/EdgeCache.ts +48 -9
  698. package/src/internal/Id.ts +14 -0
  699. package/src/internal/Idempotency.test.ts +109 -0
  700. package/src/internal/Idempotency.ts +237 -0
  701. package/src/internal/IpAllowlist.test.ts +52 -0
  702. package/src/internal/IpAllowlist.ts +39 -0
  703. package/src/internal/Log.test-d.ts +41 -8
  704. package/src/internal/Log.test.ts +196 -9
  705. package/src/internal/Log.ts +124 -17
  706. package/src/internal/MetricSink.test.ts +244 -4
  707. package/src/internal/MetricSink.ts +51 -1
  708. package/src/internal/OpenApi.ts +4 -1
  709. package/src/internal/Provider.test.ts +17 -0
  710. package/src/internal/Provider.ts +17 -0
  711. package/src/internal/Schema.ts +27 -17
  712. package/src/internal/Store.test.ts +25 -0
  713. package/src/internal/Store.ts +46 -0
  714. package/src/internal/Tidx.local.test.ts +78 -3
  715. package/src/internal/Tidx.test.ts +240 -18
  716. package/src/internal/Tidx.ts +129 -33
  717. package/src/internal/VerifiedTokens.test.ts +15 -0
  718. package/src/internal/Viem.test.ts +198 -17
  719. package/src/internal/Viem.ts +127 -28
  720. package/src/internal/WebhookDestination.ts +25 -23
  721. package/src/internal/Webhooks.test.ts +59 -0
  722. package/src/internal/Webhooks.ts +34 -10
  723. package/src/internal/exchange/Provider.test.ts +216 -0
  724. package/src/internal/exchange/Provider.ts +326 -0
  725. package/src/internal/exchange/index.test.ts +6 -0
  726. package/src/internal/exchange/index.ts +1 -0
  727. package/src/internal/exchange/providers/uniswap.test.ts +122 -0
  728. package/src/internal/exchange/providers/uniswap.ts +682 -0
  729. package/src/internal/funding/Action.test.ts +138 -0
  730. package/src/internal/funding/Action.ts +117 -0
  731. package/src/internal/funding/Catalog.test.ts +311 -0
  732. package/src/internal/funding/Catalog.ts +347 -0
  733. package/src/internal/funding/Chain.test.ts +79 -0
  734. package/src/internal/funding/Chain.ts +120 -0
  735. package/src/internal/funding/Deposit.test.ts +26 -0
  736. package/src/internal/funding/Deposit.ts +522 -0
  737. package/src/internal/funding/DepositAddress.test.ts +18 -0
  738. package/src/internal/funding/DepositAddress.ts +312 -0
  739. package/src/internal/funding/Evidence.test.ts +297 -0
  740. package/src/internal/funding/Evidence.ts +425 -0
  741. package/src/internal/funding/Provider.test.ts +1328 -0
  742. package/src/internal/funding/Provider.ts +1911 -0
  743. package/src/internal/funding/Reconciliation.local.test.ts +511 -0
  744. package/src/internal/funding/Reconciliation.test.ts +3037 -0
  745. package/src/internal/funding/Reconciliation.ts +1202 -0
  746. package/src/internal/funding/Route.test.ts +66 -0
  747. package/src/internal/funding/Route.ts +29 -0
  748. package/src/internal/funding/SourceObservation.test.ts +301 -0
  749. package/src/internal/funding/SourceObservation.ts +267 -0
  750. package/src/internal/funding/Subsidy.local.test.ts +152 -0
  751. package/src/internal/funding/Subsidy.test.ts +75 -0
  752. package/src/internal/funding/Subsidy.ts +260 -0
  753. package/src/internal/funding/Token.test.ts +47 -0
  754. package/src/internal/funding/Token.ts +59 -0
  755. package/src/internal/funding/Transfer.test.ts +369 -0
  756. package/src/internal/funding/Transfer.ts +522 -0
  757. package/src/internal/funding/index.test.ts +21 -0
  758. package/src/internal/funding/index.ts +13 -0
  759. package/src/internal/funding/providers/across.ts +149 -0
  760. package/src/{apps/data/FundingQuoteProviders.test.ts → internal/funding/providers/index.test.ts} +178 -157
  761. package/src/internal/funding/providers/relay.test.ts +564 -0
  762. package/src/internal/funding/providers/relay.ts +1060 -0
  763. package/src/internal/funding/providers/rhino.ts +139 -0
  764. package/src/internal/funding/providers/squid.ts +151 -0
  765. package/src/internal/funding/providers/symbiosis.ts +221 -0
  766. package/src/internal/index.test.ts +5 -1
  767. package/src/internal/index.ts +5 -1
  768. package/src/internal/webhookDestinations/url.ts +49 -45
  769. package/src/providers/index.test.ts +14 -0
  770. package/src/providers/index.ts +54 -0
  771. package/dist/apps/data/FundingQuoteProviders.d.ts +0 -174
  772. package/dist/apps/data/FundingQuoteProviders.d.ts.map +0 -1
  773. package/dist/apps/data/FundingQuoteProviders.js +0 -775
  774. package/dist/apps/data/FundingQuoteProviders.js.map +0 -1
  775. package/dist/apps/data/routes/funding.d.ts.map +0 -1
  776. package/dist/apps/data/routes/funding.js +0 -410
  777. package/dist/apps/data/routes/funding.js.map +0 -1
  778. package/dist/internal/FundingQuotes.d.ts +0 -864
  779. package/dist/internal/FundingQuotes.d.ts.map +0 -1
  780. package/dist/internal/FundingQuotes.js +0 -672
  781. package/dist/internal/FundingQuotes.js.map +0 -1
  782. package/src/apps/data/FundingQuoteProviders.ts +0 -1043
  783. package/src/apps/data/routes/funding.test.ts +0 -503
  784. package/src/apps/data/routes/funding.ts +0 -604
  785. package/src/internal/FundingQuotes.test.ts +0 -456
  786. package/src/internal/FundingQuotes.ts +0 -944
@@ -0,0 +1,2574 @@
1
+ import { type Context } from 'hono';
2
+ import { type Chain } from 'viem';
3
+ import * as z from 'zod/mini';
4
+ import type * as App from '../../../App.js';
5
+ import * as core_EarnVaults from '../../../db/tables/earnVaults.js';
6
+ import * as EarnRates from '../../../internal/EarnRates.js';
7
+ import * as EarnVaults from '../../../internal/EarnVaults.js';
8
+ import * as Response from '../../../internal/Response.js';
9
+ import * as Schema from '../../../internal/Schema.js';
10
+ import * as FxOracle from '../FxOracle.js';
11
+ import * as Tokens from './tokens.js';
12
+ import * as Valuation from './valuation.js';
13
+ /** Returns the smallest useful live-discovery batch. */
14
+ export declare function discoveryBatchLimit(options: discoveryBatchLimit.Options): number;
15
+ export declare namespace discoveryBatchLimit {
16
+ /** Inputs controlling one discovery batch. */
17
+ type Options = {
18
+ /** Whether filters can reject resolved candidates. */
19
+ filtered: boolean;
20
+ /** Requested response page size. */
21
+ limit: number;
22
+ /** Compatible matches already collected. */
23
+ matches: number;
24
+ /** Candidates remaining within the scan bound. */
25
+ remaining: number;
26
+ };
27
+ }
28
+ /** Zod schemas owned by the public Earn-vault resource. */
29
+ export declare namespace schema {
30
+ /** One compatible Earn vault resolved from current chain state. */
31
+ const Vault: z.ZodMiniObject<{
32
+ access: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
33
+ status: z.ZodMiniEnum<{
34
+ allowlisted: "allowlisted";
35
+ open: "open";
36
+ }>;
37
+ }, z.core.$strict>>>;
38
+ apy: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
39
+ asOf: z.ZodMiniISODateTime;
40
+ methodology: z.ZodMiniLiteral<"share-price-growth-annualized:v1">;
41
+ net: z.ZodMiniString<string>;
42
+ window: z.ZodMiniEnum<{
43
+ "1d": "1d";
44
+ "1h": "1h";
45
+ "30d": "30d";
46
+ "7d": "7d";
47
+ }>;
48
+ }, z.core.$strict>>>;
49
+ assetToken: z.ZodMiniObject<{
50
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
51
+ currency: z.ZodMiniString<string>;
52
+ decimals: z.ZodMiniNumber<number>;
53
+ id: z.ZodMiniString<string>;
54
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
55
+ name: z.ZodMiniString<string>;
56
+ symbol: z.ZodMiniString<string>;
57
+ verified: z.ZodMiniBoolean<boolean>;
58
+ }, z.core.$strip>;
59
+ capabilities: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
60
+ asyncRedeem: z.ZodMiniBoolean<boolean>;
61
+ boundedRedeem: z.ZodMiniBoolean<boolean>;
62
+ deposit: z.ZodMiniBoolean<boolean>;
63
+ exactWithdraw: z.ZodMiniBoolean<boolean>;
64
+ inKindDeposit: z.ZodMiniBoolean<boolean>;
65
+ privateRouting: z.ZodMiniBoolean<boolean>;
66
+ redeem: z.ZodMiniBoolean<boolean>;
67
+ routerSwaps: z.ZodMiniBoolean<boolean>;
68
+ }, z.core.$strict>>>;
69
+ description: z.ZodMiniNullable<z.ZodMiniString<string>>;
70
+ engine: z.ZodMiniObject<{
71
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
72
+ type: z.ZodMiniNullable<z.ZodMiniEnum<{
73
+ erc4626: "erc4626";
74
+ veda: "veda";
75
+ }>>;
76
+ venue: z.ZodMiniNullable<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
77
+ }, z.core.$strict>;
78
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
79
+ instantLiquidity: z.ZodMiniNullable<z.ZodMiniString<string>>;
80
+ label: z.ZodMiniString<string>;
81
+ sharePrice: z.ZodMiniNullable<z.ZodMiniObject<{
82
+ amount: z.ZodMiniString<string>;
83
+ currency: z.ZodMiniString<string>;
84
+ decimals: z.ZodMiniNumber<number>;
85
+ formatted: z.ZodMiniString<string>;
86
+ }, z.core.$strict>>;
87
+ shareToken: z.ZodMiniObject<{
88
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
89
+ currency: z.ZodMiniString<string>;
90
+ decimals: z.ZodMiniNumber<number>;
91
+ id: z.ZodMiniString<string>;
92
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
93
+ name: z.ZodMiniString<string>;
94
+ symbol: z.ZodMiniString<string>;
95
+ verified: z.ZodMiniBoolean<boolean>;
96
+ }, z.core.$strip>;
97
+ slug: z.ZodMiniNullable<z.ZodMiniString<string>>;
98
+ state: z.ZodMiniObject<{
99
+ depositsPaused: z.ZodMiniBoolean<boolean>;
100
+ engineShares: z.ZodMiniString<string>;
101
+ feesActive: z.ZodMiniBoolean<boolean>;
102
+ isAccountingAligned: z.ZodMiniBoolean<boolean>;
103
+ openRedeemRequestCount: z.ZodMiniNumber<number>;
104
+ totalAssets: z.ZodMiniString<string>;
105
+ totalEarnShares: z.ZodMiniString<string>;
106
+ }, z.core.$strict>;
107
+ tvl: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
108
+ amount: z.ZodMiniString<string>;
109
+ currency: z.ZodMiniString<string>;
110
+ decimals: z.ZodMiniNumber<number>;
111
+ formatted: z.ZodMiniString<string>;
112
+ }, z.core.$strict>>>;
113
+ vaultAddress: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
114
+ verified: z.ZodMiniBoolean<boolean>;
115
+ zone: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
116
+ chainId: z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
117
+ mainnet: "mainnet";
118
+ testnet: "testnet";
119
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>;
120
+ inputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
121
+ name: z.ZodMiniString<string>;
122
+ outputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
123
+ }, z.core.$strict>>>;
124
+ }, z.core.$strict>;
125
+ /** One registry-curated Earn vault. */
126
+ const VerifiedVault: z.ZodMiniObject<{
127
+ access: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
128
+ status: z.ZodMiniEnum<{
129
+ allowlisted: "allowlisted";
130
+ open: "open";
131
+ }>;
132
+ }, z.core.$strict>>>;
133
+ apy: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
134
+ asOf: z.ZodMiniISODateTime;
135
+ methodology: z.ZodMiniLiteral<"share-price-growth-annualized:v1">;
136
+ net: z.ZodMiniString<string>;
137
+ window: z.ZodMiniEnum<{
138
+ "1d": "1d";
139
+ "1h": "1h";
140
+ "30d": "30d";
141
+ "7d": "7d";
142
+ }>;
143
+ }, z.core.$strict>>>;
144
+ assetToken: z.ZodMiniObject<{
145
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
146
+ currency: z.ZodMiniString<string>;
147
+ decimals: z.ZodMiniNumber<number>;
148
+ id: z.ZodMiniString<string>;
149
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
150
+ name: z.ZodMiniString<string>;
151
+ symbol: z.ZodMiniString<string>;
152
+ verified: z.ZodMiniBoolean<boolean>;
153
+ }, z.core.$strip>;
154
+ capabilities: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
155
+ asyncRedeem: z.ZodMiniBoolean<boolean>;
156
+ boundedRedeem: z.ZodMiniBoolean<boolean>;
157
+ deposit: z.ZodMiniBoolean<boolean>;
158
+ exactWithdraw: z.ZodMiniBoolean<boolean>;
159
+ inKindDeposit: z.ZodMiniBoolean<boolean>;
160
+ privateRouting: z.ZodMiniBoolean<boolean>;
161
+ redeem: z.ZodMiniBoolean<boolean>;
162
+ routerSwaps: z.ZodMiniBoolean<boolean>;
163
+ }, z.core.$strict>>>;
164
+ description: z.ZodMiniNullable<z.ZodMiniString<string>>;
165
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
166
+ instantLiquidity: z.ZodMiniNullable<z.ZodMiniString<string>>;
167
+ label: z.ZodMiniString<string>;
168
+ sharePrice: z.ZodMiniNullable<z.ZodMiniObject<{
169
+ amount: z.ZodMiniString<string>;
170
+ currency: z.ZodMiniString<string>;
171
+ decimals: z.ZodMiniNumber<number>;
172
+ formatted: z.ZodMiniString<string>;
173
+ }, z.core.$strict>>;
174
+ shareToken: z.ZodMiniObject<{
175
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
176
+ currency: z.ZodMiniString<string>;
177
+ decimals: z.ZodMiniNumber<number>;
178
+ id: z.ZodMiniString<string>;
179
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
180
+ name: z.ZodMiniString<string>;
181
+ symbol: z.ZodMiniString<string>;
182
+ verified: z.ZodMiniBoolean<boolean>;
183
+ }, z.core.$strip>;
184
+ state: z.ZodMiniObject<{
185
+ depositsPaused: z.ZodMiniBoolean<boolean>;
186
+ engineShares: z.ZodMiniString<string>;
187
+ feesActive: z.ZodMiniBoolean<boolean>;
188
+ isAccountingAligned: z.ZodMiniBoolean<boolean>;
189
+ openRedeemRequestCount: z.ZodMiniNumber<number>;
190
+ totalAssets: z.ZodMiniString<string>;
191
+ totalEarnShares: z.ZodMiniString<string>;
192
+ }, z.core.$strict>;
193
+ tvl: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
194
+ amount: z.ZodMiniString<string>;
195
+ currency: z.ZodMiniString<string>;
196
+ decimals: z.ZodMiniNumber<number>;
197
+ formatted: z.ZodMiniString<string>;
198
+ }, z.core.$strict>>>;
199
+ vaultAddress: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
200
+ zone: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
201
+ chainId: z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
202
+ mainnet: "mainnet";
203
+ testnet: "testnet";
204
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>;
205
+ inputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
206
+ name: z.ZodMiniString<string>;
207
+ outputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
208
+ }, z.core.$strict>>>;
209
+ engine: z.ZodMiniObject<{
210
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
211
+ venue: z.ZodMiniNullable<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
212
+ type: z.ZodMiniEnum<{
213
+ erc4626: "erc4626";
214
+ veda: "veda";
215
+ }>;
216
+ }, z.core.$strict>;
217
+ slug: z.ZodMiniString<string>;
218
+ verified: z.ZodMiniLiteral<true>;
219
+ }, z.core.$strict>;
220
+ /** Schemas for the getEarnVaults operation. */
221
+ namespace getEarnVaults {
222
+ /** Query parameters for all compatible deployed Earn vaults. */
223
+ const Query: z.ZodMiniObject<{
224
+ asset: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
225
+ capability: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
226
+ asyncRedeem: "asyncRedeem";
227
+ boundedRedeem: "boundedRedeem";
228
+ deposit: "deposit";
229
+ exactWithdraw: "exactWithdraw";
230
+ inKindDeposit: "inKindDeposit";
231
+ privateRouting: "privateRouting";
232
+ redeem: "redeem";
233
+ routerSwaps: "routerSwaps";
234
+ }>>>;
235
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
236
+ mainnet: "mainnet";
237
+ testnet: "testnet";
238
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
239
+ cursor: z.ZodMiniOptional<z.ZodMiniString<string>>;
240
+ 'engine.type': z.ZodMiniOptional<z.ZodMiniEnum<{
241
+ erc4626: "erc4626";
242
+ veda: "veda";
243
+ }>>;
244
+ include: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
245
+ access: "access";
246
+ apy: "apy";
247
+ capabilities: "capabilities";
248
+ "token.logoUri": "token.logoUri";
249
+ tvl: "tvl";
250
+ zone: "zone";
251
+ }>>>;
252
+ limit: z.ZodMiniDefault<z.ZodMiniNumber<unknown>>;
253
+ 'apy.window': z.ZodMiniOptional<z.ZodMiniEnum<{
254
+ "1d": "1d";
255
+ "1h": "1h";
256
+ "30d": "30d";
257
+ "7d": "7d";
258
+ }>>;
259
+ }, z.core.$strict>;
260
+ /** Paginated list of compatible deployed Earn vaults. */
261
+ const Response: z.ZodMiniObject<{
262
+ data: z.ZodMiniArray<z.ZodMiniObject<{
263
+ access: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
264
+ status: z.ZodMiniEnum<{
265
+ allowlisted: "allowlisted";
266
+ open: "open";
267
+ }>;
268
+ }, z.core.$strict>>>;
269
+ apy: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
270
+ asOf: z.ZodMiniISODateTime;
271
+ methodology: z.ZodMiniLiteral<"share-price-growth-annualized:v1">;
272
+ net: z.ZodMiniString<string>;
273
+ window: z.ZodMiniEnum<{
274
+ "1d": "1d";
275
+ "1h": "1h";
276
+ "30d": "30d";
277
+ "7d": "7d";
278
+ }>;
279
+ }, z.core.$strict>>>;
280
+ assetToken: z.ZodMiniObject<{
281
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
282
+ currency: z.ZodMiniString<string>;
283
+ decimals: z.ZodMiniNumber<number>;
284
+ id: z.ZodMiniString<string>;
285
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
286
+ name: z.ZodMiniString<string>;
287
+ symbol: z.ZodMiniString<string>;
288
+ verified: z.ZodMiniBoolean<boolean>;
289
+ }, z.core.$strip>;
290
+ capabilities: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
291
+ asyncRedeem: z.ZodMiniBoolean<boolean>;
292
+ boundedRedeem: z.ZodMiniBoolean<boolean>;
293
+ deposit: z.ZodMiniBoolean<boolean>;
294
+ exactWithdraw: z.ZodMiniBoolean<boolean>;
295
+ inKindDeposit: z.ZodMiniBoolean<boolean>;
296
+ privateRouting: z.ZodMiniBoolean<boolean>;
297
+ redeem: z.ZodMiniBoolean<boolean>;
298
+ routerSwaps: z.ZodMiniBoolean<boolean>;
299
+ }, z.core.$strict>>>;
300
+ description: z.ZodMiniNullable<z.ZodMiniString<string>>;
301
+ engine: z.ZodMiniObject<{
302
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
303
+ type: z.ZodMiniNullable<z.ZodMiniEnum<{
304
+ erc4626: "erc4626";
305
+ veda: "veda";
306
+ }>>;
307
+ venue: z.ZodMiniNullable<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
308
+ }, z.core.$strict>;
309
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
310
+ instantLiquidity: z.ZodMiniNullable<z.ZodMiniString<string>>;
311
+ label: z.ZodMiniString<string>;
312
+ sharePrice: z.ZodMiniNullable<z.ZodMiniObject<{
313
+ amount: z.ZodMiniString<string>;
314
+ currency: z.ZodMiniString<string>;
315
+ decimals: z.ZodMiniNumber<number>;
316
+ formatted: z.ZodMiniString<string>;
317
+ }, z.core.$strict>>;
318
+ shareToken: z.ZodMiniObject<{
319
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
320
+ currency: z.ZodMiniString<string>;
321
+ decimals: z.ZodMiniNumber<number>;
322
+ id: z.ZodMiniString<string>;
323
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
324
+ name: z.ZodMiniString<string>;
325
+ symbol: z.ZodMiniString<string>;
326
+ verified: z.ZodMiniBoolean<boolean>;
327
+ }, z.core.$strip>;
328
+ slug: z.ZodMiniNullable<z.ZodMiniString<string>>;
329
+ state: z.ZodMiniObject<{
330
+ depositsPaused: z.ZodMiniBoolean<boolean>;
331
+ engineShares: z.ZodMiniString<string>;
332
+ feesActive: z.ZodMiniBoolean<boolean>;
333
+ isAccountingAligned: z.ZodMiniBoolean<boolean>;
334
+ openRedeemRequestCount: z.ZodMiniNumber<number>;
335
+ totalAssets: z.ZodMiniString<string>;
336
+ totalEarnShares: z.ZodMiniString<string>;
337
+ }, z.core.$strict>;
338
+ tvl: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
339
+ amount: z.ZodMiniString<string>;
340
+ currency: z.ZodMiniString<string>;
341
+ decimals: z.ZodMiniNumber<number>;
342
+ formatted: z.ZodMiniString<string>;
343
+ }, z.core.$strict>>>;
344
+ vaultAddress: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
345
+ verified: z.ZodMiniBoolean<boolean>;
346
+ zone: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
347
+ chainId: z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
348
+ mainnet: "mainnet";
349
+ testnet: "testnet";
350
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>;
351
+ inputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
352
+ name: z.ZodMiniString<string>;
353
+ outputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
354
+ }, z.core.$strict>>>;
355
+ }, z.core.$strict>>;
356
+ meta: z.ZodMiniOptional<z.ZodMiniObject<{
357
+ valuation: z.ZodMiniOptional<z.ZodMiniObject<{
358
+ asOf: z.ZodMiniISODateTime;
359
+ basis: z.ZodMiniLiteral<"nominal">;
360
+ source: z.ZodMiniString<string>;
361
+ }, z.core.$strip>>;
362
+ }, z.core.$strip>>;
363
+ nextCursor: z.ZodMiniNullable<z.ZodMiniString<string>>;
364
+ }, z.core.$strict>;
365
+ }
366
+ /** Schemas for the getVerifiedEarnVaults operation. */
367
+ namespace getVerifiedEarnVaults {
368
+ /** Collection query without rates or valuation, for surfaces that cannot measure them. */
369
+ const BaseQuery: z.ZodMiniObject<{
370
+ asset: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
371
+ capability: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
372
+ asyncRedeem: "asyncRedeem";
373
+ boundedRedeem: "boundedRedeem";
374
+ deposit: "deposit";
375
+ exactWithdraw: "exactWithdraw";
376
+ inKindDeposit: "inKindDeposit";
377
+ privateRouting: "privateRouting";
378
+ redeem: "redeem";
379
+ routerSwaps: "routerSwaps";
380
+ }>>>;
381
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
382
+ mainnet: "mainnet";
383
+ testnet: "testnet";
384
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
385
+ cursor: z.ZodMiniOptional<z.ZodMiniString<string>>;
386
+ 'engine.type': z.ZodMiniOptional<z.ZodMiniEnum<{
387
+ erc4626: "erc4626";
388
+ veda: "veda";
389
+ }>>;
390
+ limit: z.ZodMiniDefault<z.ZodMiniNumber<unknown>>;
391
+ include: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
392
+ access: "access";
393
+ capabilities: "capabilities";
394
+ "token.logoUri": "token.logoUri";
395
+ zone: "zone";
396
+ }>>>;
397
+ }, z.core.$strict>;
398
+ /** Query parameters for registry-curated Earn vaults. */
399
+ const Query: z.ZodMiniObject<{
400
+ asset: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
401
+ capability: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
402
+ asyncRedeem: "asyncRedeem";
403
+ boundedRedeem: "boundedRedeem";
404
+ deposit: "deposit";
405
+ exactWithdraw: "exactWithdraw";
406
+ inKindDeposit: "inKindDeposit";
407
+ privateRouting: "privateRouting";
408
+ redeem: "redeem";
409
+ routerSwaps: "routerSwaps";
410
+ }>>>;
411
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
412
+ mainnet: "mainnet";
413
+ testnet: "testnet";
414
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
415
+ cursor: z.ZodMiniOptional<z.ZodMiniString<string>>;
416
+ 'engine.type': z.ZodMiniOptional<z.ZodMiniEnum<{
417
+ erc4626: "erc4626";
418
+ veda: "veda";
419
+ }>>;
420
+ include: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
421
+ access: "access";
422
+ apy: "apy";
423
+ capabilities: "capabilities";
424
+ "token.logoUri": "token.logoUri";
425
+ tvl: "tvl";
426
+ zone: "zone";
427
+ }>>>;
428
+ limit: z.ZodMiniDefault<z.ZodMiniNumber<unknown>>;
429
+ 'apy.window': z.ZodMiniOptional<z.ZodMiniEnum<{
430
+ "1d": "1d";
431
+ "1h": "1h";
432
+ "30d": "30d";
433
+ "7d": "7d";
434
+ }>>;
435
+ }, z.core.$strict>;
436
+ /** Paginated list of registry-curated Earn vaults. */
437
+ const Response: z.ZodMiniObject<{
438
+ data: z.ZodMiniArray<z.ZodMiniObject<{
439
+ access: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
440
+ status: z.ZodMiniEnum<{
441
+ allowlisted: "allowlisted";
442
+ open: "open";
443
+ }>;
444
+ }, z.core.$strict>>>;
445
+ apy: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
446
+ asOf: z.ZodMiniISODateTime;
447
+ methodology: z.ZodMiniLiteral<"share-price-growth-annualized:v1">;
448
+ net: z.ZodMiniString<string>;
449
+ window: z.ZodMiniEnum<{
450
+ "1d": "1d";
451
+ "1h": "1h";
452
+ "30d": "30d";
453
+ "7d": "7d";
454
+ }>;
455
+ }, z.core.$strict>>>;
456
+ assetToken: z.ZodMiniObject<{
457
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
458
+ currency: z.ZodMiniString<string>;
459
+ decimals: z.ZodMiniNumber<number>;
460
+ id: z.ZodMiniString<string>;
461
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
462
+ name: z.ZodMiniString<string>;
463
+ symbol: z.ZodMiniString<string>;
464
+ verified: z.ZodMiniBoolean<boolean>;
465
+ }, z.core.$strip>;
466
+ capabilities: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
467
+ asyncRedeem: z.ZodMiniBoolean<boolean>;
468
+ boundedRedeem: z.ZodMiniBoolean<boolean>;
469
+ deposit: z.ZodMiniBoolean<boolean>;
470
+ exactWithdraw: z.ZodMiniBoolean<boolean>;
471
+ inKindDeposit: z.ZodMiniBoolean<boolean>;
472
+ privateRouting: z.ZodMiniBoolean<boolean>;
473
+ redeem: z.ZodMiniBoolean<boolean>;
474
+ routerSwaps: z.ZodMiniBoolean<boolean>;
475
+ }, z.core.$strict>>>;
476
+ description: z.ZodMiniNullable<z.ZodMiniString<string>>;
477
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
478
+ instantLiquidity: z.ZodMiniNullable<z.ZodMiniString<string>>;
479
+ label: z.ZodMiniString<string>;
480
+ sharePrice: z.ZodMiniNullable<z.ZodMiniObject<{
481
+ amount: z.ZodMiniString<string>;
482
+ currency: z.ZodMiniString<string>;
483
+ decimals: z.ZodMiniNumber<number>;
484
+ formatted: z.ZodMiniString<string>;
485
+ }, z.core.$strict>>;
486
+ shareToken: z.ZodMiniObject<{
487
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
488
+ currency: z.ZodMiniString<string>;
489
+ decimals: z.ZodMiniNumber<number>;
490
+ id: z.ZodMiniString<string>;
491
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
492
+ name: z.ZodMiniString<string>;
493
+ symbol: z.ZodMiniString<string>;
494
+ verified: z.ZodMiniBoolean<boolean>;
495
+ }, z.core.$strip>;
496
+ state: z.ZodMiniObject<{
497
+ depositsPaused: z.ZodMiniBoolean<boolean>;
498
+ engineShares: z.ZodMiniString<string>;
499
+ feesActive: z.ZodMiniBoolean<boolean>;
500
+ isAccountingAligned: z.ZodMiniBoolean<boolean>;
501
+ openRedeemRequestCount: z.ZodMiniNumber<number>;
502
+ totalAssets: z.ZodMiniString<string>;
503
+ totalEarnShares: z.ZodMiniString<string>;
504
+ }, z.core.$strict>;
505
+ tvl: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
506
+ amount: z.ZodMiniString<string>;
507
+ currency: z.ZodMiniString<string>;
508
+ decimals: z.ZodMiniNumber<number>;
509
+ formatted: z.ZodMiniString<string>;
510
+ }, z.core.$strict>>>;
511
+ vaultAddress: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
512
+ zone: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
513
+ chainId: z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
514
+ mainnet: "mainnet";
515
+ testnet: "testnet";
516
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>;
517
+ inputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
518
+ name: z.ZodMiniString<string>;
519
+ outputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
520
+ }, z.core.$strict>>>;
521
+ engine: z.ZodMiniObject<{
522
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
523
+ venue: z.ZodMiniNullable<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
524
+ type: z.ZodMiniEnum<{
525
+ erc4626: "erc4626";
526
+ veda: "veda";
527
+ }>;
528
+ }, z.core.$strict>;
529
+ slug: z.ZodMiniString<string>;
530
+ verified: z.ZodMiniLiteral<true>;
531
+ }, z.core.$strict>>;
532
+ meta: z.ZodMiniOptional<z.ZodMiniObject<{
533
+ valuation: z.ZodMiniOptional<z.ZodMiniObject<{
534
+ asOf: z.ZodMiniISODateTime;
535
+ basis: z.ZodMiniLiteral<"nominal">;
536
+ source: z.ZodMiniString<string>;
537
+ }, z.core.$strip>>;
538
+ }, z.core.$strip>>;
539
+ nextCursor: z.ZodMiniNullable<z.ZodMiniString<string>>;
540
+ }, z.core.$strict>;
541
+ }
542
+ /** Schemas for the getEarnVault operation. */
543
+ namespace getEarnVault {
544
+ /** Path parameters identifying one Earn vault. */
545
+ const Params: z.ZodMiniObject<{
546
+ vaultId: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
547
+ }, z.core.$strict>;
548
+ /** Detail query without rates or valuation, for surfaces that cannot measure them. */
549
+ const BaseQuery: z.ZodMiniObject<{
550
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
551
+ mainnet: "mainnet";
552
+ testnet: "testnet";
553
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
554
+ include: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
555
+ access: "access";
556
+ capabilities: "capabilities";
557
+ "token.logoUri": "token.logoUri";
558
+ zone: "zone";
559
+ }>>>;
560
+ }, z.core.$strict>;
561
+ /** Query parameters selecting the chain containing the vault. */
562
+ const Query: z.ZodMiniObject<{
563
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
564
+ mainnet: "mainnet";
565
+ testnet: "testnet";
566
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
567
+ include: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
568
+ access: "access";
569
+ apy: "apy";
570
+ capabilities: "capabilities";
571
+ "token.logoUri": "token.logoUri";
572
+ tvl: "tvl";
573
+ zone: "zone";
574
+ }>>>;
575
+ 'apy.window': z.ZodMiniOptional<z.ZodMiniEnum<{
576
+ "1d": "1d";
577
+ "1h": "1h";
578
+ "30d": "30d";
579
+ "7d": "7d";
580
+ }>>;
581
+ }, z.core.$strict>;
582
+ /** One compatible Earn vault resolved directly from current chain state. */
583
+ const Response: z.ZodMiniObject<{
584
+ access: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
585
+ status: z.ZodMiniEnum<{
586
+ allowlisted: "allowlisted";
587
+ open: "open";
588
+ }>;
589
+ }, z.core.$strict>>>;
590
+ apy: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
591
+ asOf: z.ZodMiniISODateTime;
592
+ methodology: z.ZodMiniLiteral<"share-price-growth-annualized:v1">;
593
+ net: z.ZodMiniString<string>;
594
+ window: z.ZodMiniEnum<{
595
+ "1d": "1d";
596
+ "1h": "1h";
597
+ "30d": "30d";
598
+ "7d": "7d";
599
+ }>;
600
+ }, z.core.$strict>>>;
601
+ assetToken: z.ZodMiniObject<{
602
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
603
+ currency: z.ZodMiniString<string>;
604
+ decimals: z.ZodMiniNumber<number>;
605
+ id: z.ZodMiniString<string>;
606
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
607
+ name: z.ZodMiniString<string>;
608
+ symbol: z.ZodMiniString<string>;
609
+ verified: z.ZodMiniBoolean<boolean>;
610
+ }, z.core.$strip>;
611
+ capabilities: z.ZodMiniOptional<z.ZodMiniOptional<z.ZodMiniObject<{
612
+ asyncRedeem: z.ZodMiniBoolean<boolean>;
613
+ boundedRedeem: z.ZodMiniBoolean<boolean>;
614
+ deposit: z.ZodMiniBoolean<boolean>;
615
+ exactWithdraw: z.ZodMiniBoolean<boolean>;
616
+ inKindDeposit: z.ZodMiniBoolean<boolean>;
617
+ privateRouting: z.ZodMiniBoolean<boolean>;
618
+ redeem: z.ZodMiniBoolean<boolean>;
619
+ routerSwaps: z.ZodMiniBoolean<boolean>;
620
+ }, z.core.$strict>>>;
621
+ description: z.ZodMiniNullable<z.ZodMiniString<string>>;
622
+ engine: z.ZodMiniObject<{
623
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
624
+ type: z.ZodMiniNullable<z.ZodMiniEnum<{
625
+ erc4626: "erc4626";
626
+ veda: "veda";
627
+ }>>;
628
+ venue: z.ZodMiniNullable<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
629
+ }, z.core.$strict>;
630
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
631
+ instantLiquidity: z.ZodMiniNullable<z.ZodMiniString<string>>;
632
+ label: z.ZodMiniString<string>;
633
+ sharePrice: z.ZodMiniNullable<z.ZodMiniObject<{
634
+ amount: z.ZodMiniString<string>;
635
+ currency: z.ZodMiniString<string>;
636
+ decimals: z.ZodMiniNumber<number>;
637
+ formatted: z.ZodMiniString<string>;
638
+ }, z.core.$strict>>;
639
+ shareToken: z.ZodMiniObject<{
640
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
641
+ currency: z.ZodMiniString<string>;
642
+ decimals: z.ZodMiniNumber<number>;
643
+ id: z.ZodMiniString<string>;
644
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
645
+ name: z.ZodMiniString<string>;
646
+ symbol: z.ZodMiniString<string>;
647
+ verified: z.ZodMiniBoolean<boolean>;
648
+ }, z.core.$strip>;
649
+ slug: z.ZodMiniNullable<z.ZodMiniString<string>>;
650
+ state: z.ZodMiniObject<{
651
+ depositsPaused: z.ZodMiniBoolean<boolean>;
652
+ engineShares: z.ZodMiniString<string>;
653
+ feesActive: z.ZodMiniBoolean<boolean>;
654
+ isAccountingAligned: z.ZodMiniBoolean<boolean>;
655
+ openRedeemRequestCount: z.ZodMiniNumber<number>;
656
+ totalAssets: z.ZodMiniString<string>;
657
+ totalEarnShares: z.ZodMiniString<string>;
658
+ }, z.core.$strict>;
659
+ tvl: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
660
+ amount: z.ZodMiniString<string>;
661
+ currency: z.ZodMiniString<string>;
662
+ decimals: z.ZodMiniNumber<number>;
663
+ formatted: z.ZodMiniString<string>;
664
+ }, z.core.$strict>>>;
665
+ vaultAddress: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
666
+ verified: z.ZodMiniBoolean<boolean>;
667
+ zone: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
668
+ chainId: z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
669
+ mainnet: "mainnet";
670
+ testnet: "testnet";
671
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>;
672
+ inputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
673
+ name: z.ZodMiniString<string>;
674
+ outputTokens: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
675
+ }, z.core.$strict>>>;
676
+ meta: z.ZodMiniOptional<z.ZodMiniObject<{
677
+ valuation: z.ZodMiniOptional<z.ZodMiniObject<{
678
+ asOf: z.ZodMiniISODateTime;
679
+ basis: z.ZodMiniLiteral<"nominal">;
680
+ source: z.ZodMiniString<string>;
681
+ }, z.core.$strip>>;
682
+ }, z.core.$strip>>;
683
+ }, z.core.$strict>;
684
+ }
685
+ /** Schemas for the getEarnVaultPosition operation. */
686
+ namespace getEarnVaultPosition {
687
+ /** Path parameters identifying the Earn vault and account. */
688
+ const Params: z.ZodMiniObject<{
689
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
690
+ vaultId: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
691
+ }, z.core.$strict>;
692
+ /** Query parameters selecting the chain containing the vault. */
693
+ const Query: z.ZodMiniObject<{
694
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
695
+ mainnet: "mainnet";
696
+ testnet: "testnet";
697
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
698
+ }, z.core.$strict>;
699
+ /** Current asset and Earn-share state for one account in one vault. */
700
+ const Response: z.ZodMiniObject<{
701
+ account: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
702
+ assetAllowance: z.ZodMiniString<string>;
703
+ assetBalance: z.ZodMiniString<string>;
704
+ assetToken: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
705
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
706
+ shareAllowance: z.ZodMiniString<string>;
707
+ shareBalance: z.ZodMiniString<string>;
708
+ shareToken: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
709
+ value: z.ZodMiniString<string>;
710
+ }, z.core.$strict>;
711
+ }
712
+ /** Schemas for the getEarnVaultEarnings operation. */
713
+ namespace getEarnVaultEarnings {
714
+ /** Path parameters identifying the Earn vault and account. */
715
+ const Params: z.ZodMiniObject<{
716
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
717
+ vaultId: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
718
+ }, z.core.$strict>;
719
+ /** Query parameters selecting the chain containing the vault. */
720
+ const Query: z.ZodMiniObject<{
721
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
722
+ mainnet: "mainnet";
723
+ testnet: "testnet";
724
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
725
+ period: z.ZodMiniDefault<z.ZodMiniEnum<{
726
+ active: "active";
727
+ lifetime: "lifetime";
728
+ }>>;
729
+ }, z.core.$strict>;
730
+ /** Earnings for one account and period in one Earn vault. */
731
+ const Response: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
732
+ account: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
733
+ assetToken: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
734
+ currentValue: z.ZodMiniString<string>;
735
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
736
+ lifetimeEarnings: z.ZodMiniString<string>;
737
+ period: z.ZodMiniLiteral<"lifetime">;
738
+ status: z.ZodMiniLiteral<"complete">;
739
+ }, z.core.$strict>, z.ZodMiniObject<{
740
+ account: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
741
+ assetToken: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
742
+ currentValue: z.ZodMiniString<string>;
743
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
744
+ activeEarnings: z.ZodMiniString<string>;
745
+ period: z.ZodMiniLiteral<"active">;
746
+ status: z.ZodMiniLiteral<"complete">;
747
+ }, z.core.$strict>, z.ZodMiniObject<{
748
+ account: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
749
+ assetToken: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
750
+ currentValue: z.ZodMiniString<string>;
751
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
752
+ period: z.ZodMiniEnum<{
753
+ active: "active";
754
+ lifetime: "lifetime";
755
+ }>;
756
+ status: z.ZodMiniLiteral<"incomplete_cost_basis">;
757
+ }, z.core.$strict>, z.ZodMiniObject<{
758
+ account: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
759
+ assetToken: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
760
+ currentValue: z.ZodMiniString<string>;
761
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
762
+ period: z.ZodMiniLiteral<"lifetime">;
763
+ status: z.ZodMiniLiteral<"pending_redemption">;
764
+ }, z.core.$strict>]>;
765
+ }
766
+ }
767
+ /** Creates the public Earn-vault handlers. */
768
+ export declare function earn(options?: earn.Options): import("hono/hono-base").HonoBase<App.Environment, {
769
+ "/v1/earn/vaults": {
770
+ $get: {
771
+ output: null;
772
+ outputFormat: "body";
773
+ status: 402;
774
+ input: {
775
+ query?: {
776
+ asset?: string | string[];
777
+ capability?: string | string[];
778
+ chainId?: string | string[];
779
+ cursor?: string | string[];
780
+ 'engine.type'?: string | string[];
781
+ include?: string | string[];
782
+ limit?: string | string[];
783
+ 'apy.window'?: string | string[];
784
+ } | undefined;
785
+ };
786
+ } | {
787
+ output: {
788
+ error: {
789
+ code: "api_key_malformed";
790
+ details?: readonly Response.error.Detail[] | undefined;
791
+ message: string;
792
+ };
793
+ requestId: string;
794
+ };
795
+ outputFormat: "json";
796
+ status: 400;
797
+ input: {
798
+ query?: {
799
+ asset?: string | string[];
800
+ capability?: string | string[];
801
+ chainId?: string | string[];
802
+ cursor?: string | string[];
803
+ 'engine.type'?: string | string[];
804
+ include?: string | string[];
805
+ limit?: string | string[];
806
+ 'apy.window'?: string | string[];
807
+ } | undefined;
808
+ };
809
+ } | {
810
+ output: {
811
+ error: {
812
+ code: "api_key_invalid" | "api_key_missing";
813
+ details?: readonly Response.error.Detail[] | undefined;
814
+ message: string;
815
+ };
816
+ requestId: string;
817
+ };
818
+ outputFormat: "json";
819
+ status: 401;
820
+ input: {
821
+ query?: {
822
+ asset?: string | string[];
823
+ capability?: string | string[];
824
+ chainId?: string | string[];
825
+ cursor?: string | string[];
826
+ 'engine.type'?: string | string[];
827
+ include?: string | string[];
828
+ limit?: string | string[];
829
+ 'apy.window'?: string | string[];
830
+ } | undefined;
831
+ };
832
+ } | {
833
+ output: {
834
+ error: {
835
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
836
+ details?: readonly Response.error.Detail[] | undefined;
837
+ message: string;
838
+ };
839
+ requestId: string;
840
+ };
841
+ outputFormat: "json";
842
+ status: 403;
843
+ input: {
844
+ query?: {
845
+ asset?: string | string[];
846
+ capability?: string | string[];
847
+ chainId?: string | string[];
848
+ cursor?: string | string[];
849
+ 'engine.type'?: string | string[];
850
+ include?: string | string[];
851
+ limit?: string | string[];
852
+ 'apy.window'?: string | string[];
853
+ } | undefined;
854
+ };
855
+ } | {
856
+ output: {
857
+ error: {
858
+ code: "payment_required" | "rate_limit_exceeded";
859
+ details?: readonly Response.error.Detail[] | undefined;
860
+ message: string;
861
+ };
862
+ requestId: string;
863
+ };
864
+ outputFormat: "json";
865
+ status: 429;
866
+ input: {
867
+ query?: {
868
+ asset?: string | string[];
869
+ capability?: string | string[];
870
+ chainId?: string | string[];
871
+ cursor?: string | string[];
872
+ 'engine.type'?: string | string[];
873
+ include?: string | string[];
874
+ limit?: string | string[];
875
+ 'apy.window'?: string | string[];
876
+ } | undefined;
877
+ };
878
+ } | {
879
+ output: {
880
+ error: {
881
+ code: "query_invalid";
882
+ details?: readonly Response.error.Detail[] | undefined;
883
+ message: string;
884
+ };
885
+ requestId: string;
886
+ };
887
+ outputFormat: "json";
888
+ status: 400;
889
+ input: {
890
+ query?: {
891
+ asset?: string | string[];
892
+ capability?: string | string[];
893
+ chainId?: string | string[];
894
+ cursor?: string | string[];
895
+ 'engine.type'?: string | string[];
896
+ include?: string | string[];
897
+ limit?: string | string[];
898
+ 'apy.window'?: string | string[];
899
+ } | undefined;
900
+ };
901
+ } | {
902
+ output: {
903
+ error: {
904
+ code: "upstream_error";
905
+ details?: readonly Response.error.Detail[] | undefined;
906
+ message: string;
907
+ };
908
+ requestId: string;
909
+ };
910
+ outputFormat: "json";
911
+ status: 502;
912
+ input: {
913
+ query?: {
914
+ asset?: string | string[];
915
+ capability?: string | string[];
916
+ chainId?: string | string[];
917
+ cursor?: string | string[];
918
+ 'engine.type'?: string | string[];
919
+ include?: string | string[];
920
+ limit?: string | string[];
921
+ 'apy.window'?: string | string[];
922
+ } | undefined;
923
+ };
924
+ } | {
925
+ output: {
926
+ data: {
927
+ access?: {
928
+ status: "allowlisted" | "open";
929
+ } | undefined;
930
+ apy?: {
931
+ asOf: string;
932
+ methodology: "share-price-growth-annualized:v1";
933
+ net: string;
934
+ window: "1d" | "1h" | "30d" | "7d";
935
+ } | null | undefined;
936
+ assetToken: {
937
+ address: `0x${string}`;
938
+ currency: string;
939
+ decimals: number;
940
+ id: string;
941
+ logoUri?: string | undefined;
942
+ name: string;
943
+ symbol: string;
944
+ verified: boolean;
945
+ };
946
+ capabilities?: {
947
+ asyncRedeem: boolean;
948
+ boundedRedeem: boolean;
949
+ deposit: boolean;
950
+ exactWithdraw: boolean;
951
+ inKindDeposit: boolean;
952
+ privateRouting: boolean;
953
+ redeem: boolean;
954
+ routerSwaps: boolean;
955
+ } | undefined;
956
+ description: string | null;
957
+ engine: {
958
+ address: `0x${string}`;
959
+ type: "erc4626" | "veda" | null;
960
+ venue: `0x${string}` | null;
961
+ };
962
+ id: `0x${string}`;
963
+ instantLiquidity: string | null;
964
+ label: string;
965
+ sharePrice: {
966
+ amount: string;
967
+ currency: string;
968
+ decimals: number;
969
+ formatted: string;
970
+ } | null;
971
+ shareToken: {
972
+ address: `0x${string}`;
973
+ currency: string;
974
+ decimals: number;
975
+ id: string;
976
+ logoUri?: string | undefined;
977
+ name: string;
978
+ symbol: string;
979
+ verified: boolean;
980
+ };
981
+ slug: string | null;
982
+ state: {
983
+ depositsPaused: boolean;
984
+ engineShares: string;
985
+ feesActive: boolean;
986
+ isAccountingAligned: boolean;
987
+ openRedeemRequestCount: number;
988
+ totalAssets: string;
989
+ totalEarnShares: string;
990
+ };
991
+ tvl?: {
992
+ amount: string;
993
+ currency: string;
994
+ decimals: number;
995
+ formatted: string;
996
+ } | null | undefined;
997
+ vaultAddress: `0x${string}`;
998
+ verified: boolean;
999
+ zone?: {
1000
+ chainId: number;
1001
+ inputTokens: `0x${string}`[];
1002
+ name: string;
1003
+ outputTokens: `0x${string}`[];
1004
+ } | null | undefined;
1005
+ }[];
1006
+ meta?: {
1007
+ valuation?: {
1008
+ asOf: string;
1009
+ basis: "nominal";
1010
+ source: string;
1011
+ } | undefined;
1012
+ } | undefined;
1013
+ nextCursor: string | null;
1014
+ };
1015
+ outputFormat: "json";
1016
+ status: 200;
1017
+ input: {
1018
+ query?: {
1019
+ asset?: string | string[];
1020
+ capability?: string | string[];
1021
+ chainId?: string | string[];
1022
+ cursor?: string | string[];
1023
+ 'engine.type'?: string | string[];
1024
+ include?: string | string[];
1025
+ limit?: string | string[];
1026
+ 'apy.window'?: string | string[];
1027
+ } | undefined;
1028
+ };
1029
+ };
1030
+ };
1031
+ } & {
1032
+ "/v1/earn/vaults/verified": {
1033
+ $get: {
1034
+ output: null;
1035
+ outputFormat: "body";
1036
+ status: 402;
1037
+ input: {
1038
+ query?: {
1039
+ asset?: string | string[];
1040
+ capability?: string | string[];
1041
+ chainId?: string | string[];
1042
+ cursor?: string | string[];
1043
+ 'engine.type'?: string | string[];
1044
+ include?: string | string[];
1045
+ limit?: string | string[];
1046
+ 'apy.window'?: string | string[];
1047
+ } | undefined;
1048
+ };
1049
+ } | {
1050
+ output: {
1051
+ error: {
1052
+ code: "api_key_malformed";
1053
+ details?: readonly Response.error.Detail[] | undefined;
1054
+ message: string;
1055
+ };
1056
+ requestId: string;
1057
+ };
1058
+ outputFormat: "json";
1059
+ status: 400;
1060
+ input: {
1061
+ query?: {
1062
+ asset?: string | string[];
1063
+ capability?: string | string[];
1064
+ chainId?: string | string[];
1065
+ cursor?: string | string[];
1066
+ 'engine.type'?: string | string[];
1067
+ include?: string | string[];
1068
+ limit?: string | string[];
1069
+ 'apy.window'?: string | string[];
1070
+ } | undefined;
1071
+ };
1072
+ } | {
1073
+ output: {
1074
+ error: {
1075
+ code: "api_key_invalid" | "api_key_missing";
1076
+ details?: readonly Response.error.Detail[] | undefined;
1077
+ message: string;
1078
+ };
1079
+ requestId: string;
1080
+ };
1081
+ outputFormat: "json";
1082
+ status: 401;
1083
+ input: {
1084
+ query?: {
1085
+ asset?: string | string[];
1086
+ capability?: string | string[];
1087
+ chainId?: string | string[];
1088
+ cursor?: string | string[];
1089
+ 'engine.type'?: string | string[];
1090
+ include?: string | string[];
1091
+ limit?: string | string[];
1092
+ 'apy.window'?: string | string[];
1093
+ } | undefined;
1094
+ };
1095
+ } | {
1096
+ output: {
1097
+ error: {
1098
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
1099
+ details?: readonly Response.error.Detail[] | undefined;
1100
+ message: string;
1101
+ };
1102
+ requestId: string;
1103
+ };
1104
+ outputFormat: "json";
1105
+ status: 403;
1106
+ input: {
1107
+ query?: {
1108
+ asset?: string | string[];
1109
+ capability?: string | string[];
1110
+ chainId?: string | string[];
1111
+ cursor?: string | string[];
1112
+ 'engine.type'?: string | string[];
1113
+ include?: string | string[];
1114
+ limit?: string | string[];
1115
+ 'apy.window'?: string | string[];
1116
+ } | undefined;
1117
+ };
1118
+ } | {
1119
+ output: {
1120
+ error: {
1121
+ code: "payment_required" | "rate_limit_exceeded";
1122
+ details?: readonly Response.error.Detail[] | undefined;
1123
+ message: string;
1124
+ };
1125
+ requestId: string;
1126
+ };
1127
+ outputFormat: "json";
1128
+ status: 429;
1129
+ input: {
1130
+ query?: {
1131
+ asset?: string | string[];
1132
+ capability?: string | string[];
1133
+ chainId?: string | string[];
1134
+ cursor?: string | string[];
1135
+ 'engine.type'?: string | string[];
1136
+ include?: string | string[];
1137
+ limit?: string | string[];
1138
+ 'apy.window'?: string | string[];
1139
+ } | undefined;
1140
+ };
1141
+ } | {
1142
+ output: {
1143
+ error: {
1144
+ code: "query_invalid";
1145
+ details?: readonly Response.error.Detail[] | undefined;
1146
+ message: string;
1147
+ };
1148
+ requestId: string;
1149
+ };
1150
+ outputFormat: "json";
1151
+ status: 400;
1152
+ input: {
1153
+ query?: {
1154
+ asset?: string | string[];
1155
+ capability?: string | string[];
1156
+ chainId?: string | string[];
1157
+ cursor?: string | string[];
1158
+ 'engine.type'?: string | string[];
1159
+ include?: string | string[];
1160
+ limit?: string | string[];
1161
+ 'apy.window'?: string | string[];
1162
+ } | undefined;
1163
+ };
1164
+ } | {
1165
+ output: {
1166
+ error: {
1167
+ code: "upstream_error";
1168
+ details?: readonly Response.error.Detail[] | undefined;
1169
+ message: string;
1170
+ };
1171
+ requestId: string;
1172
+ };
1173
+ outputFormat: "json";
1174
+ status: 502;
1175
+ input: {
1176
+ query?: {
1177
+ asset?: string | string[];
1178
+ capability?: string | string[];
1179
+ chainId?: string | string[];
1180
+ cursor?: string | string[];
1181
+ 'engine.type'?: string | string[];
1182
+ include?: string | string[];
1183
+ limit?: string | string[];
1184
+ 'apy.window'?: string | string[];
1185
+ } | undefined;
1186
+ };
1187
+ } | {
1188
+ output: {
1189
+ data: {
1190
+ access?: {
1191
+ status: "allowlisted" | "open";
1192
+ } | undefined;
1193
+ apy?: {
1194
+ asOf: string;
1195
+ methodology: "share-price-growth-annualized:v1";
1196
+ net: string;
1197
+ window: "1d" | "1h" | "30d" | "7d";
1198
+ } | null | undefined;
1199
+ assetToken: {
1200
+ address: `0x${string}`;
1201
+ currency: string;
1202
+ decimals: number;
1203
+ id: string;
1204
+ logoUri?: string | undefined;
1205
+ name: string;
1206
+ symbol: string;
1207
+ verified: boolean;
1208
+ };
1209
+ capabilities?: {
1210
+ asyncRedeem: boolean;
1211
+ boundedRedeem: boolean;
1212
+ deposit: boolean;
1213
+ exactWithdraw: boolean;
1214
+ inKindDeposit: boolean;
1215
+ privateRouting: boolean;
1216
+ redeem: boolean;
1217
+ routerSwaps: boolean;
1218
+ } | undefined;
1219
+ description: string | null;
1220
+ id: `0x${string}`;
1221
+ instantLiquidity: string | null;
1222
+ label: string;
1223
+ sharePrice: {
1224
+ amount: string;
1225
+ currency: string;
1226
+ decimals: number;
1227
+ formatted: string;
1228
+ } | null;
1229
+ shareToken: {
1230
+ address: `0x${string}`;
1231
+ currency: string;
1232
+ decimals: number;
1233
+ id: string;
1234
+ logoUri?: string | undefined;
1235
+ name: string;
1236
+ symbol: string;
1237
+ verified: boolean;
1238
+ };
1239
+ state: {
1240
+ depositsPaused: boolean;
1241
+ engineShares: string;
1242
+ feesActive: boolean;
1243
+ isAccountingAligned: boolean;
1244
+ openRedeemRequestCount: number;
1245
+ totalAssets: string;
1246
+ totalEarnShares: string;
1247
+ };
1248
+ tvl?: {
1249
+ amount: string;
1250
+ currency: string;
1251
+ decimals: number;
1252
+ formatted: string;
1253
+ } | null | undefined;
1254
+ vaultAddress: `0x${string}`;
1255
+ zone?: {
1256
+ chainId: number;
1257
+ inputTokens: `0x${string}`[];
1258
+ name: string;
1259
+ outputTokens: `0x${string}`[];
1260
+ } | null | undefined;
1261
+ engine: {
1262
+ address: `0x${string}`;
1263
+ venue: `0x${string}` | null;
1264
+ type: "erc4626" | "veda";
1265
+ };
1266
+ slug: string;
1267
+ verified: true;
1268
+ }[];
1269
+ meta?: {
1270
+ valuation?: {
1271
+ asOf: string;
1272
+ basis: "nominal";
1273
+ source: string;
1274
+ } | undefined;
1275
+ } | undefined;
1276
+ nextCursor: string | null;
1277
+ };
1278
+ outputFormat: "json";
1279
+ status: 200;
1280
+ input: {
1281
+ query?: {
1282
+ asset?: string | string[];
1283
+ capability?: string | string[];
1284
+ chainId?: string | string[];
1285
+ cursor?: string | string[];
1286
+ 'engine.type'?: string | string[];
1287
+ include?: string | string[];
1288
+ limit?: string | string[];
1289
+ 'apy.window'?: string | string[];
1290
+ } | undefined;
1291
+ };
1292
+ };
1293
+ };
1294
+ } & {
1295
+ "/v1/earn/vaults/:vaultId/positions/:address": {
1296
+ $get: {
1297
+ output: null;
1298
+ outputFormat: "body";
1299
+ status: 402;
1300
+ input: {
1301
+ param: {
1302
+ address: `0x${string}`;
1303
+ vaultId: `0x${string}`;
1304
+ };
1305
+ } & {
1306
+ query?: {
1307
+ chainId?: string | string[];
1308
+ } | undefined;
1309
+ };
1310
+ } | {
1311
+ output: {
1312
+ error: {
1313
+ code: "api_key_malformed";
1314
+ details?: readonly Response.error.Detail[] | undefined;
1315
+ message: string;
1316
+ };
1317
+ requestId: string;
1318
+ };
1319
+ outputFormat: "json";
1320
+ status: 400;
1321
+ input: {
1322
+ param: {
1323
+ address: `0x${string}`;
1324
+ vaultId: `0x${string}`;
1325
+ };
1326
+ } & {
1327
+ query?: {
1328
+ chainId?: string | string[];
1329
+ } | undefined;
1330
+ };
1331
+ } | {
1332
+ output: {
1333
+ error: {
1334
+ code: "api_key_invalid" | "api_key_missing";
1335
+ details?: readonly Response.error.Detail[] | undefined;
1336
+ message: string;
1337
+ };
1338
+ requestId: string;
1339
+ };
1340
+ outputFormat: "json";
1341
+ status: 401;
1342
+ input: {
1343
+ param: {
1344
+ address: `0x${string}`;
1345
+ vaultId: `0x${string}`;
1346
+ };
1347
+ } & {
1348
+ query?: {
1349
+ chainId?: string | string[];
1350
+ } | undefined;
1351
+ };
1352
+ } | {
1353
+ output: {
1354
+ error: {
1355
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
1356
+ details?: readonly Response.error.Detail[] | undefined;
1357
+ message: string;
1358
+ };
1359
+ requestId: string;
1360
+ };
1361
+ outputFormat: "json";
1362
+ status: 403;
1363
+ input: {
1364
+ param: {
1365
+ address: `0x${string}`;
1366
+ vaultId: `0x${string}`;
1367
+ };
1368
+ } & {
1369
+ query?: {
1370
+ chainId?: string | string[];
1371
+ } | undefined;
1372
+ };
1373
+ } | {
1374
+ output: {
1375
+ error: {
1376
+ code: "payment_required" | "rate_limit_exceeded";
1377
+ details?: readonly Response.error.Detail[] | undefined;
1378
+ message: string;
1379
+ };
1380
+ requestId: string;
1381
+ };
1382
+ outputFormat: "json";
1383
+ status: 429;
1384
+ input: {
1385
+ param: {
1386
+ address: `0x${string}`;
1387
+ vaultId: `0x${string}`;
1388
+ };
1389
+ } & {
1390
+ query?: {
1391
+ chainId?: string | string[];
1392
+ } | undefined;
1393
+ };
1394
+ } | {
1395
+ output: {
1396
+ error: {
1397
+ code: "query_invalid";
1398
+ details?: readonly Response.error.Detail[] | undefined;
1399
+ message: string;
1400
+ };
1401
+ requestId: string;
1402
+ };
1403
+ outputFormat: "json";
1404
+ status: 400;
1405
+ input: {
1406
+ param: {
1407
+ address: `0x${string}`;
1408
+ vaultId: `0x${string}`;
1409
+ };
1410
+ } & {
1411
+ query?: {
1412
+ chainId?: string | string[];
1413
+ } | undefined;
1414
+ };
1415
+ } | {
1416
+ output: {
1417
+ error: {
1418
+ code: "upstream_error";
1419
+ details?: readonly Response.error.Detail[] | undefined;
1420
+ message: string;
1421
+ };
1422
+ requestId: string;
1423
+ };
1424
+ outputFormat: "json";
1425
+ status: 502;
1426
+ input: {
1427
+ param: {
1428
+ address: `0x${string}`;
1429
+ vaultId: `0x${string}`;
1430
+ };
1431
+ } & {
1432
+ query?: {
1433
+ chainId?: string | string[];
1434
+ } | undefined;
1435
+ };
1436
+ } | {
1437
+ output: {
1438
+ error: {
1439
+ code: "chain_id_invalid";
1440
+ details?: readonly Response.error.Detail[] | undefined;
1441
+ message: string;
1442
+ };
1443
+ requestId: string;
1444
+ };
1445
+ outputFormat: "json";
1446
+ status: 400;
1447
+ input: {
1448
+ param: {
1449
+ address: `0x${string}`;
1450
+ vaultId: `0x${string}`;
1451
+ };
1452
+ } & {
1453
+ query?: {
1454
+ chainId?: string | string[];
1455
+ } | undefined;
1456
+ };
1457
+ } | {
1458
+ output: {
1459
+ error: {
1460
+ code: "chain_id_unsupported";
1461
+ details?: readonly Response.error.Detail[] | undefined;
1462
+ message: string;
1463
+ };
1464
+ requestId: string;
1465
+ };
1466
+ outputFormat: "json";
1467
+ status: 400;
1468
+ input: {
1469
+ param: {
1470
+ address: `0x${string}`;
1471
+ vaultId: `0x${string}`;
1472
+ };
1473
+ } & {
1474
+ query?: {
1475
+ chainId?: string | string[];
1476
+ } | undefined;
1477
+ };
1478
+ } | {
1479
+ output: {
1480
+ error: {
1481
+ code: "position_invalid";
1482
+ details?: readonly Response.error.Detail[] | undefined;
1483
+ message: string;
1484
+ };
1485
+ requestId: string;
1486
+ };
1487
+ outputFormat: "json";
1488
+ status: 400;
1489
+ input: {
1490
+ param: {
1491
+ address: `0x${string}`;
1492
+ vaultId: `0x${string}`;
1493
+ };
1494
+ } & {
1495
+ query?: {
1496
+ chainId?: string | string[];
1497
+ } | undefined;
1498
+ };
1499
+ } | {
1500
+ output: {
1501
+ account: `0x${string}`;
1502
+ assetAllowance: string;
1503
+ assetBalance: string;
1504
+ assetToken: `0x${string}`;
1505
+ id: `0x${string}`;
1506
+ shareAllowance: string;
1507
+ shareBalance: string;
1508
+ shareToken: `0x${string}`;
1509
+ value: string;
1510
+ };
1511
+ outputFormat: "json";
1512
+ status: 200;
1513
+ input: {
1514
+ param: {
1515
+ address: `0x${string}`;
1516
+ vaultId: `0x${string}`;
1517
+ };
1518
+ } & {
1519
+ query?: {
1520
+ chainId?: string | string[];
1521
+ } | undefined;
1522
+ };
1523
+ } | {
1524
+ output: {
1525
+ error: {
1526
+ code: "earn_vault_not_found";
1527
+ details?: readonly Response.error.Detail[] | undefined;
1528
+ message: string;
1529
+ };
1530
+ requestId: string;
1531
+ };
1532
+ outputFormat: "json";
1533
+ status: 404;
1534
+ input: {
1535
+ param: {
1536
+ address: `0x${string}`;
1537
+ vaultId: `0x${string}`;
1538
+ };
1539
+ } & {
1540
+ query?: {
1541
+ chainId?: string | string[];
1542
+ } | undefined;
1543
+ };
1544
+ };
1545
+ };
1546
+ } & {
1547
+ "/v1/earn/vaults/:vaultId/earnings/:address": {
1548
+ $get: {
1549
+ output: null;
1550
+ outputFormat: "body";
1551
+ status: 402;
1552
+ input: {
1553
+ param: {
1554
+ address: `0x${string}`;
1555
+ vaultId: `0x${string}`;
1556
+ };
1557
+ } & {
1558
+ query?: {
1559
+ chainId?: string | string[];
1560
+ period?: string | string[];
1561
+ } | undefined;
1562
+ };
1563
+ } | {
1564
+ output: {
1565
+ error: {
1566
+ code: "api_key_malformed";
1567
+ details?: readonly Response.error.Detail[] | undefined;
1568
+ message: string;
1569
+ };
1570
+ requestId: string;
1571
+ };
1572
+ outputFormat: "json";
1573
+ status: 400;
1574
+ input: {
1575
+ param: {
1576
+ address: `0x${string}`;
1577
+ vaultId: `0x${string}`;
1578
+ };
1579
+ } & {
1580
+ query?: {
1581
+ chainId?: string | string[];
1582
+ period?: string | string[];
1583
+ } | undefined;
1584
+ };
1585
+ } | {
1586
+ output: {
1587
+ error: {
1588
+ code: "api_key_invalid" | "api_key_missing";
1589
+ details?: readonly Response.error.Detail[] | undefined;
1590
+ message: string;
1591
+ };
1592
+ requestId: string;
1593
+ };
1594
+ outputFormat: "json";
1595
+ status: 401;
1596
+ input: {
1597
+ param: {
1598
+ address: `0x${string}`;
1599
+ vaultId: `0x${string}`;
1600
+ };
1601
+ } & {
1602
+ query?: {
1603
+ chainId?: string | string[];
1604
+ period?: string | string[];
1605
+ } | undefined;
1606
+ };
1607
+ } | {
1608
+ output: {
1609
+ error: {
1610
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
1611
+ details?: readonly Response.error.Detail[] | undefined;
1612
+ message: string;
1613
+ };
1614
+ requestId: string;
1615
+ };
1616
+ outputFormat: "json";
1617
+ status: 403;
1618
+ input: {
1619
+ param: {
1620
+ address: `0x${string}`;
1621
+ vaultId: `0x${string}`;
1622
+ };
1623
+ } & {
1624
+ query?: {
1625
+ chainId?: string | string[];
1626
+ period?: string | string[];
1627
+ } | undefined;
1628
+ };
1629
+ } | {
1630
+ output: {
1631
+ error: {
1632
+ code: "payment_required" | "rate_limit_exceeded";
1633
+ details?: readonly Response.error.Detail[] | undefined;
1634
+ message: string;
1635
+ };
1636
+ requestId: string;
1637
+ };
1638
+ outputFormat: "json";
1639
+ status: 429;
1640
+ input: {
1641
+ param: {
1642
+ address: `0x${string}`;
1643
+ vaultId: `0x${string}`;
1644
+ };
1645
+ } & {
1646
+ query?: {
1647
+ chainId?: string | string[];
1648
+ period?: string | string[];
1649
+ } | undefined;
1650
+ };
1651
+ } | {
1652
+ output: {
1653
+ error: {
1654
+ code: "query_invalid";
1655
+ details?: readonly Response.error.Detail[] | undefined;
1656
+ message: string;
1657
+ };
1658
+ requestId: string;
1659
+ };
1660
+ outputFormat: "json";
1661
+ status: 400;
1662
+ input: {
1663
+ param: {
1664
+ address: `0x${string}`;
1665
+ vaultId: `0x${string}`;
1666
+ };
1667
+ } & {
1668
+ query?: {
1669
+ chainId?: string | string[];
1670
+ period?: string | string[];
1671
+ } | undefined;
1672
+ };
1673
+ } | {
1674
+ output: {
1675
+ error: {
1676
+ code: "upstream_error";
1677
+ details?: readonly Response.error.Detail[] | undefined;
1678
+ message: string;
1679
+ };
1680
+ requestId: string;
1681
+ };
1682
+ outputFormat: "json";
1683
+ status: 502;
1684
+ input: {
1685
+ param: {
1686
+ address: `0x${string}`;
1687
+ vaultId: `0x${string}`;
1688
+ };
1689
+ } & {
1690
+ query?: {
1691
+ chainId?: string | string[];
1692
+ period?: string | string[];
1693
+ } | undefined;
1694
+ };
1695
+ } | {
1696
+ output: {
1697
+ error: {
1698
+ code: "chain_id_invalid";
1699
+ details?: readonly Response.error.Detail[] | undefined;
1700
+ message: string;
1701
+ };
1702
+ requestId: string;
1703
+ };
1704
+ outputFormat: "json";
1705
+ status: 400;
1706
+ input: {
1707
+ param: {
1708
+ address: `0x${string}`;
1709
+ vaultId: `0x${string}`;
1710
+ };
1711
+ } & {
1712
+ query?: {
1713
+ chainId?: string | string[];
1714
+ period?: string | string[];
1715
+ } | undefined;
1716
+ };
1717
+ } | {
1718
+ output: {
1719
+ error: {
1720
+ code: "chain_id_unsupported";
1721
+ details?: readonly Response.error.Detail[] | undefined;
1722
+ message: string;
1723
+ };
1724
+ requestId: string;
1725
+ };
1726
+ outputFormat: "json";
1727
+ status: 400;
1728
+ input: {
1729
+ param: {
1730
+ address: `0x${string}`;
1731
+ vaultId: `0x${string}`;
1732
+ };
1733
+ } & {
1734
+ query?: {
1735
+ chainId?: string | string[];
1736
+ period?: string | string[];
1737
+ } | undefined;
1738
+ };
1739
+ } | {
1740
+ output: {
1741
+ error: {
1742
+ code: "earn_vault_not_found";
1743
+ details?: readonly Response.error.Detail[] | undefined;
1744
+ message: string;
1745
+ };
1746
+ requestId: string;
1747
+ };
1748
+ outputFormat: "json";
1749
+ status: 404;
1750
+ input: {
1751
+ param: {
1752
+ address: `0x${string}`;
1753
+ vaultId: `0x${string}`;
1754
+ };
1755
+ } & {
1756
+ query?: {
1757
+ chainId?: string | string[];
1758
+ period?: string | string[];
1759
+ } | undefined;
1760
+ };
1761
+ } | {
1762
+ output: {
1763
+ error: {
1764
+ code: "earnings_invalid";
1765
+ details?: readonly Response.error.Detail[] | undefined;
1766
+ message: string;
1767
+ };
1768
+ requestId: string;
1769
+ };
1770
+ outputFormat: "json";
1771
+ status: 400;
1772
+ input: {
1773
+ param: {
1774
+ address: `0x${string}`;
1775
+ vaultId: `0x${string}`;
1776
+ };
1777
+ } & {
1778
+ query?: {
1779
+ chainId?: string | string[];
1780
+ period?: string | string[];
1781
+ } | undefined;
1782
+ };
1783
+ } | {
1784
+ output: {
1785
+ account: `0x${string}`;
1786
+ assetToken: `0x${string}`;
1787
+ currentValue: string;
1788
+ id: `0x${string}`;
1789
+ lifetimeEarnings: string;
1790
+ period: "lifetime";
1791
+ status: "complete";
1792
+ } | {
1793
+ account: `0x${string}`;
1794
+ assetToken: `0x${string}`;
1795
+ currentValue: string;
1796
+ id: `0x${string}`;
1797
+ activeEarnings: string;
1798
+ period: "active";
1799
+ status: "complete";
1800
+ } | {
1801
+ account: `0x${string}`;
1802
+ assetToken: `0x${string}`;
1803
+ currentValue: string;
1804
+ id: `0x${string}`;
1805
+ period: "active" | "lifetime";
1806
+ status: "incomplete_cost_basis";
1807
+ } | {
1808
+ account: `0x${string}`;
1809
+ assetToken: `0x${string}`;
1810
+ currentValue: string;
1811
+ id: `0x${string}`;
1812
+ period: "lifetime";
1813
+ status: "pending_redemption";
1814
+ };
1815
+ outputFormat: "json";
1816
+ status: 200;
1817
+ input: {
1818
+ param: {
1819
+ address: `0x${string}`;
1820
+ vaultId: `0x${string}`;
1821
+ };
1822
+ } & {
1823
+ query?: {
1824
+ chainId?: string | string[];
1825
+ period?: string | string[];
1826
+ } | undefined;
1827
+ };
1828
+ };
1829
+ };
1830
+ } & {
1831
+ "/v1/earn/vaults/:vaultId": {
1832
+ $get: {
1833
+ output: null;
1834
+ outputFormat: "body";
1835
+ status: 402;
1836
+ input: {
1837
+ param: {
1838
+ vaultId: `0x${string}`;
1839
+ };
1840
+ } & {
1841
+ query?: {
1842
+ chainId?: string | string[];
1843
+ include?: string | string[];
1844
+ 'apy.window'?: string | string[];
1845
+ } | undefined;
1846
+ };
1847
+ } | {
1848
+ output: {
1849
+ error: {
1850
+ code: "api_key_malformed";
1851
+ details?: readonly Response.error.Detail[] | undefined;
1852
+ message: string;
1853
+ };
1854
+ requestId: string;
1855
+ };
1856
+ outputFormat: "json";
1857
+ status: 400;
1858
+ input: {
1859
+ param: {
1860
+ vaultId: `0x${string}`;
1861
+ };
1862
+ } & {
1863
+ query?: {
1864
+ chainId?: string | string[];
1865
+ include?: string | string[];
1866
+ 'apy.window'?: string | string[];
1867
+ } | undefined;
1868
+ };
1869
+ } | {
1870
+ output: {
1871
+ error: {
1872
+ code: "api_key_invalid" | "api_key_missing";
1873
+ details?: readonly Response.error.Detail[] | undefined;
1874
+ message: string;
1875
+ };
1876
+ requestId: string;
1877
+ };
1878
+ outputFormat: "json";
1879
+ status: 401;
1880
+ input: {
1881
+ param: {
1882
+ vaultId: `0x${string}`;
1883
+ };
1884
+ } & {
1885
+ query?: {
1886
+ chainId?: string | string[];
1887
+ include?: string | string[];
1888
+ 'apy.window'?: string | string[];
1889
+ } | undefined;
1890
+ };
1891
+ } | {
1892
+ output: {
1893
+ error: {
1894
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
1895
+ details?: readonly Response.error.Detail[] | undefined;
1896
+ message: string;
1897
+ };
1898
+ requestId: string;
1899
+ };
1900
+ outputFormat: "json";
1901
+ status: 403;
1902
+ input: {
1903
+ param: {
1904
+ vaultId: `0x${string}`;
1905
+ };
1906
+ } & {
1907
+ query?: {
1908
+ chainId?: string | string[];
1909
+ include?: string | string[];
1910
+ 'apy.window'?: string | string[];
1911
+ } | undefined;
1912
+ };
1913
+ } | {
1914
+ output: {
1915
+ error: {
1916
+ code: "payment_required" | "rate_limit_exceeded";
1917
+ details?: readonly Response.error.Detail[] | undefined;
1918
+ message: string;
1919
+ };
1920
+ requestId: string;
1921
+ };
1922
+ outputFormat: "json";
1923
+ status: 429;
1924
+ input: {
1925
+ param: {
1926
+ vaultId: `0x${string}`;
1927
+ };
1928
+ } & {
1929
+ query?: {
1930
+ chainId?: string | string[];
1931
+ include?: string | string[];
1932
+ 'apy.window'?: string | string[];
1933
+ } | undefined;
1934
+ };
1935
+ } | {
1936
+ output: {
1937
+ error: {
1938
+ code: "query_invalid";
1939
+ details?: readonly Response.error.Detail[] | undefined;
1940
+ message: string;
1941
+ };
1942
+ requestId: string;
1943
+ };
1944
+ outputFormat: "json";
1945
+ status: 400;
1946
+ input: {
1947
+ param: {
1948
+ vaultId: `0x${string}`;
1949
+ };
1950
+ } & {
1951
+ query?: {
1952
+ chainId?: string | string[];
1953
+ include?: string | string[];
1954
+ 'apy.window'?: string | string[];
1955
+ } | undefined;
1956
+ };
1957
+ } | {
1958
+ output: {
1959
+ error: {
1960
+ code: "upstream_error";
1961
+ details?: readonly Response.error.Detail[] | undefined;
1962
+ message: string;
1963
+ };
1964
+ requestId: string;
1965
+ };
1966
+ outputFormat: "json";
1967
+ status: 502;
1968
+ input: {
1969
+ param: {
1970
+ vaultId: `0x${string}`;
1971
+ };
1972
+ } & {
1973
+ query?: {
1974
+ chainId?: string | string[];
1975
+ include?: string | string[];
1976
+ 'apy.window'?: string | string[];
1977
+ } | undefined;
1978
+ };
1979
+ } | {
1980
+ output: {
1981
+ error: {
1982
+ code: "earn_vault_not_found";
1983
+ details?: readonly Response.error.Detail[] | undefined;
1984
+ message: string;
1985
+ };
1986
+ requestId: string;
1987
+ };
1988
+ outputFormat: "json";
1989
+ status: 404;
1990
+ input: {
1991
+ param: {
1992
+ vaultId: `0x${string}`;
1993
+ };
1994
+ } & {
1995
+ query?: {
1996
+ chainId?: string | string[];
1997
+ include?: string | string[];
1998
+ 'apy.window'?: string | string[];
1999
+ } | undefined;
2000
+ };
2001
+ } | {
2002
+ output: {
2003
+ error: {
2004
+ code: "vault_id_invalid";
2005
+ details?: readonly Response.error.Detail[] | undefined;
2006
+ message: string;
2007
+ };
2008
+ requestId: string;
2009
+ };
2010
+ outputFormat: "json";
2011
+ status: 400;
2012
+ input: {
2013
+ param: {
2014
+ vaultId: `0x${string}`;
2015
+ };
2016
+ } & {
2017
+ query?: {
2018
+ chainId?: string | string[];
2019
+ include?: string | string[];
2020
+ 'apy.window'?: string | string[];
2021
+ } | undefined;
2022
+ };
2023
+ } | {
2024
+ output: {
2025
+ access?: {
2026
+ status: "allowlisted" | "open";
2027
+ } | undefined;
2028
+ apy?: {
2029
+ asOf: string;
2030
+ methodology: "share-price-growth-annualized:v1";
2031
+ net: string;
2032
+ window: "1d" | "1h" | "30d" | "7d";
2033
+ } | null | undefined;
2034
+ assetToken: {
2035
+ address: `0x${string}`;
2036
+ currency: string;
2037
+ decimals: number;
2038
+ id: string;
2039
+ logoUri?: string | undefined;
2040
+ name: string;
2041
+ symbol: string;
2042
+ verified: boolean;
2043
+ };
2044
+ capabilities?: {
2045
+ asyncRedeem: boolean;
2046
+ boundedRedeem: boolean;
2047
+ deposit: boolean;
2048
+ exactWithdraw: boolean;
2049
+ inKindDeposit: boolean;
2050
+ privateRouting: boolean;
2051
+ redeem: boolean;
2052
+ routerSwaps: boolean;
2053
+ } | undefined;
2054
+ description: string | null;
2055
+ engine: {
2056
+ address: `0x${string}`;
2057
+ type: "erc4626" | "veda" | null;
2058
+ venue: `0x${string}` | null;
2059
+ };
2060
+ id: `0x${string}`;
2061
+ instantLiquidity: string | null;
2062
+ label: string;
2063
+ sharePrice: {
2064
+ amount: string;
2065
+ currency: string;
2066
+ decimals: number;
2067
+ formatted: string;
2068
+ } | null;
2069
+ shareToken: {
2070
+ address: `0x${string}`;
2071
+ currency: string;
2072
+ decimals: number;
2073
+ id: string;
2074
+ logoUri?: string | undefined;
2075
+ name: string;
2076
+ symbol: string;
2077
+ verified: boolean;
2078
+ };
2079
+ slug: string | null;
2080
+ state: {
2081
+ depositsPaused: boolean;
2082
+ engineShares: string;
2083
+ feesActive: boolean;
2084
+ isAccountingAligned: boolean;
2085
+ openRedeemRequestCount: number;
2086
+ totalAssets: string;
2087
+ totalEarnShares: string;
2088
+ };
2089
+ tvl?: {
2090
+ amount: string;
2091
+ currency: string;
2092
+ decimals: number;
2093
+ formatted: string;
2094
+ } | null | undefined;
2095
+ vaultAddress: `0x${string}`;
2096
+ verified: boolean;
2097
+ zone?: {
2098
+ chainId: number;
2099
+ inputTokens: `0x${string}`[];
2100
+ name: string;
2101
+ outputTokens: `0x${string}`[];
2102
+ } | null | undefined;
2103
+ meta?: {
2104
+ valuation?: {
2105
+ asOf: string;
2106
+ basis: "nominal";
2107
+ source: string;
2108
+ } | undefined;
2109
+ } | undefined;
2110
+ };
2111
+ outputFormat: "json";
2112
+ status: 200;
2113
+ input: {
2114
+ param: {
2115
+ vaultId: `0x${string}`;
2116
+ };
2117
+ } & {
2118
+ query?: {
2119
+ chainId?: string | string[];
2120
+ include?: string | string[];
2121
+ 'apy.window'?: string | string[];
2122
+ } | undefined;
2123
+ };
2124
+ };
2125
+ };
2126
+ }, "/", "/v1/earn/vaults/:vaultId">;
2127
+ export declare namespace earn {
2128
+ /** Options for the public Earn-vault handlers. */
2129
+ type Options = {
2130
+ /** FX configuration backing TVL valuation. */
2131
+ fx?: Valuation.addresses.Fx | undefined;
2132
+ };
2133
+ }
2134
+ /** Reads one account's indexed value and returns earnings when the history is complete. */
2135
+ export declare function getVaultEarnings(c: Context<App.Environment>, options: getVaultEarnings.Options): Promise<{
2136
+ account: `0x${string}`;
2137
+ assetToken: `0x${string}`;
2138
+ currentValue: string;
2139
+ id: `0x${string}`;
2140
+ period: "active";
2141
+ status: 'incomplete_cost_basis';
2142
+ } | {
2143
+ account: `0x${string}`;
2144
+ assetToken: `0x${string}`;
2145
+ currentValue: string;
2146
+ id: `0x${string}`;
2147
+ period: "active";
2148
+ activeEarnings: string;
2149
+ status: 'complete';
2150
+ } | {
2151
+ account: `0x${string}`;
2152
+ assetToken: `0x${string}`;
2153
+ currentValue: string;
2154
+ id: `0x${string}`;
2155
+ period: "lifetime";
2156
+ status: 'incomplete_cost_basis';
2157
+ } | {
2158
+ account: `0x${string}`;
2159
+ assetToken: `0x${string}`;
2160
+ currentValue: string;
2161
+ id: `0x${string}`;
2162
+ period: "lifetime";
2163
+ status: 'pending_redemption';
2164
+ } | {
2165
+ account: `0x${string}`;
2166
+ assetToken: `0x${string}`;
2167
+ currentValue: string;
2168
+ id: `0x${string}`;
2169
+ period: "lifetime";
2170
+ lifetimeEarnings: string;
2171
+ status: 'complete';
2172
+ }>;
2173
+ export declare namespace getVaultEarnings {
2174
+ /** Inputs identifying the account and vault to calculate. */
2175
+ type Options = {
2176
+ account: z.output<typeof Schema.Address>;
2177
+ chainId: z.output<typeof Schema.ChainId>;
2178
+ period: z.output<typeof schema.getEarnVaultEarnings.Query>['period'];
2179
+ vault: z.output<typeof Schema.Address>;
2180
+ };
2181
+ }
2182
+ /** Calculates the asset cost basis attached to an account's remaining Earn shares. */
2183
+ export declare function calculateActiveCostBasis(options: calculateActiveCostBasis.Options): bigint | undefined;
2184
+ export declare namespace calculateActiveCostBasis {
2185
+ /** One indexed share or cost-basis mutation. */
2186
+ type Action = {
2187
+ /** Action discriminator. */
2188
+ kind: 'cancel';
2189
+ /** Async redemption request being cancelled. */
2190
+ requestId: string;
2191
+ /** Shares restored to the account. */
2192
+ shares: bigint;
2193
+ } | {
2194
+ /** Assets added to the account's cost basis. */
2195
+ assets: bigint;
2196
+ /** Action discriminator. */
2197
+ kind: 'deposit';
2198
+ /** Shares issued for the deposit. */
2199
+ shares: bigint;
2200
+ } | {
2201
+ /** Action discriminator. */
2202
+ kind: 'redeem';
2203
+ /** Shares removed from the account. */
2204
+ shares: bigint;
2205
+ } | {
2206
+ /** Action discriminator. */
2207
+ kind: 'request';
2208
+ /** Async redemption request holding the removed basis. */
2209
+ requestId: string;
2210
+ /** Shares removed from the account. */
2211
+ shares: bigint;
2212
+ } | {
2213
+ /** Action discriminator. */
2214
+ kind: 'unknown';
2215
+ /** Shares received without an asset-denominated cost basis. */
2216
+ shares: bigint;
2217
+ };
2218
+ /** Inputs for calculating the remaining cost basis. */
2219
+ type Options = {
2220
+ /** Indexed mutations in chain order. */
2221
+ actions: readonly Action[];
2222
+ /** Share balance read at the same indexed block. */
2223
+ shareBalance: bigint;
2224
+ };
2225
+ }
2226
+ /** Lists compatible deployed Earn vaults. */
2227
+ export declare function listVaults(c: Context<App.Environment>, options: listVaults.Options): Promise<{
2228
+ data: {
2229
+ access?: {
2230
+ status: "allowlisted" | "open";
2231
+ } | undefined;
2232
+ apy?: {
2233
+ asOf: string;
2234
+ methodology: "share-price-growth-annualized:v1";
2235
+ net: string;
2236
+ window: "1d" | "1h" | "30d" | "7d";
2237
+ } | null | undefined;
2238
+ assetToken: {
2239
+ address: `0x${string}`;
2240
+ currency: string;
2241
+ decimals: number;
2242
+ id: string;
2243
+ logoUri?: string | undefined;
2244
+ name: string;
2245
+ symbol: string;
2246
+ verified: boolean;
2247
+ };
2248
+ capabilities?: {
2249
+ asyncRedeem: boolean;
2250
+ boundedRedeem: boolean;
2251
+ deposit: boolean;
2252
+ exactWithdraw: boolean;
2253
+ inKindDeposit: boolean;
2254
+ privateRouting: boolean;
2255
+ redeem: boolean;
2256
+ routerSwaps: boolean;
2257
+ } | undefined;
2258
+ description: string | null;
2259
+ engine: {
2260
+ address: `0x${string}`;
2261
+ type: "erc4626" | "veda" | null;
2262
+ venue: `0x${string}` | null;
2263
+ };
2264
+ id: `0x${string}`;
2265
+ instantLiquidity: string | null;
2266
+ label: string;
2267
+ sharePrice: {
2268
+ amount: string;
2269
+ currency: string;
2270
+ decimals: number;
2271
+ formatted: string;
2272
+ } | null;
2273
+ shareToken: {
2274
+ address: `0x${string}`;
2275
+ currency: string;
2276
+ decimals: number;
2277
+ id: string;
2278
+ logoUri?: string | undefined;
2279
+ name: string;
2280
+ symbol: string;
2281
+ verified: boolean;
2282
+ };
2283
+ slug: string | null;
2284
+ state: {
2285
+ depositsPaused: boolean;
2286
+ engineShares: string;
2287
+ feesActive: boolean;
2288
+ isAccountingAligned: boolean;
2289
+ openRedeemRequestCount: number;
2290
+ totalAssets: string;
2291
+ totalEarnShares: string;
2292
+ };
2293
+ tvl?: {
2294
+ amount: string;
2295
+ currency: string;
2296
+ decimals: number;
2297
+ formatted: string;
2298
+ } | null | undefined;
2299
+ vaultAddress: `0x${string}`;
2300
+ verified: boolean;
2301
+ zone?: {
2302
+ chainId: number;
2303
+ inputTokens: `0x${string}`[];
2304
+ name: string;
2305
+ outputTokens: `0x${string}`[];
2306
+ } | null | undefined;
2307
+ }[];
2308
+ meta?: {
2309
+ valuation: {
2310
+ asOf: string;
2311
+ basis: 'nominal';
2312
+ source: string;
2313
+ };
2314
+ };
2315
+ nextCursor: string | null;
2316
+ }>;
2317
+ export declare namespace listVaults {
2318
+ /** One compatible deployment found while scanning TIDX. */
2319
+ type Match = {
2320
+ discovery: EarnVaults.Discovery;
2321
+ position: Position;
2322
+ record?: RegistryRecord | undefined;
2323
+ };
2324
+ /** Options for listing compatible Earn vaults. */
2325
+ type Options = z.output<typeof schema.getEarnVaults.Query> & {
2326
+ chainId: z.output<typeof Schema.ChainId>;
2327
+ /** FX rate oracle backing TVL valuation. */
2328
+ oracle: FxOracle.Oracle;
2329
+ };
2330
+ /** TIDX deployment cursor position. */
2331
+ type Position = [number, number];
2332
+ }
2333
+ /** Lists registry-curated Earn vaults. */
2334
+ export declare function listVerifiedVaults(c: Context<App.Environment>, options: listVerifiedVaults.Options): Promise<{
2335
+ data: {
2336
+ access?: {
2337
+ status: "allowlisted" | "open";
2338
+ } | undefined;
2339
+ apy?: {
2340
+ asOf: string;
2341
+ methodology: "share-price-growth-annualized:v1";
2342
+ net: string;
2343
+ window: "1d" | "1h" | "30d" | "7d";
2344
+ } | null | undefined;
2345
+ assetToken: {
2346
+ address: `0x${string}`;
2347
+ currency: string;
2348
+ decimals: number;
2349
+ id: string;
2350
+ logoUri?: string | undefined;
2351
+ name: string;
2352
+ symbol: string;
2353
+ verified: boolean;
2354
+ };
2355
+ capabilities?: {
2356
+ asyncRedeem: boolean;
2357
+ boundedRedeem: boolean;
2358
+ deposit: boolean;
2359
+ exactWithdraw: boolean;
2360
+ inKindDeposit: boolean;
2361
+ privateRouting: boolean;
2362
+ redeem: boolean;
2363
+ routerSwaps: boolean;
2364
+ } | undefined;
2365
+ description: string | null;
2366
+ id: `0x${string}`;
2367
+ instantLiquidity: string | null;
2368
+ label: string;
2369
+ sharePrice: {
2370
+ amount: string;
2371
+ currency: string;
2372
+ decimals: number;
2373
+ formatted: string;
2374
+ } | null;
2375
+ shareToken: {
2376
+ address: `0x${string}`;
2377
+ currency: string;
2378
+ decimals: number;
2379
+ id: string;
2380
+ logoUri?: string | undefined;
2381
+ name: string;
2382
+ symbol: string;
2383
+ verified: boolean;
2384
+ };
2385
+ state: {
2386
+ depositsPaused: boolean;
2387
+ engineShares: string;
2388
+ feesActive: boolean;
2389
+ isAccountingAligned: boolean;
2390
+ openRedeemRequestCount: number;
2391
+ totalAssets: string;
2392
+ totalEarnShares: string;
2393
+ };
2394
+ tvl?: {
2395
+ amount: string;
2396
+ currency: string;
2397
+ decimals: number;
2398
+ formatted: string;
2399
+ } | null | undefined;
2400
+ vaultAddress: `0x${string}`;
2401
+ zone?: {
2402
+ chainId: number;
2403
+ inputTokens: `0x${string}`[];
2404
+ name: string;
2405
+ outputTokens: `0x${string}`[];
2406
+ } | null | undefined;
2407
+ engine: {
2408
+ address: `0x${string}`;
2409
+ venue: `0x${string}` | null;
2410
+ type: "erc4626" | "veda";
2411
+ };
2412
+ slug: string;
2413
+ verified: true;
2414
+ }[];
2415
+ meta?: {
2416
+ valuation: {
2417
+ asOf: string;
2418
+ basis: 'nominal';
2419
+ source: string;
2420
+ };
2421
+ };
2422
+ nextCursor: string | null;
2423
+ }>;
2424
+ export declare namespace listVerifiedVaults {
2425
+ /** One verified vault and its current onchain state. */
2426
+ type Match = {
2427
+ discovery: EarnVaults.Discovery;
2428
+ record: RegistryRecord;
2429
+ };
2430
+ /** Options for listing verified Earn vaults. */
2431
+ type Options = z.output<typeof schema.getVerifiedEarnVaults.Query> & {
2432
+ chainId: z.output<typeof Schema.ChainId>;
2433
+ /** FX rate oracle backing TVL valuation. */
2434
+ oracle: FxOracle.Oracle;
2435
+ };
2436
+ }
2437
+ /** Gets one compatible Earn vault. */
2438
+ export declare function getVault(c: Context<App.Environment>, options: getVault.Options): Promise<{
2439
+ access?: {
2440
+ status: "allowlisted" | "open";
2441
+ } | undefined;
2442
+ apy?: {
2443
+ asOf: string;
2444
+ methodology: "share-price-growth-annualized:v1";
2445
+ net: string;
2446
+ window: "1d" | "1h" | "30d" | "7d";
2447
+ } | null | undefined;
2448
+ assetToken: {
2449
+ address: `0x${string}`;
2450
+ currency: string;
2451
+ decimals: number;
2452
+ id: string;
2453
+ logoUri?: string | undefined;
2454
+ name: string;
2455
+ symbol: string;
2456
+ verified: boolean;
2457
+ };
2458
+ capabilities?: {
2459
+ asyncRedeem: boolean;
2460
+ boundedRedeem: boolean;
2461
+ deposit: boolean;
2462
+ exactWithdraw: boolean;
2463
+ inKindDeposit: boolean;
2464
+ privateRouting: boolean;
2465
+ redeem: boolean;
2466
+ routerSwaps: boolean;
2467
+ } | undefined;
2468
+ description: string | null;
2469
+ engine: {
2470
+ address: `0x${string}`;
2471
+ type: "erc4626" | "veda" | null;
2472
+ venue: `0x${string}` | null;
2473
+ };
2474
+ id: `0x${string}`;
2475
+ instantLiquidity: string | null;
2476
+ label: string;
2477
+ sharePrice: {
2478
+ amount: string;
2479
+ currency: string;
2480
+ decimals: number;
2481
+ formatted: string;
2482
+ } | null;
2483
+ shareToken: {
2484
+ address: `0x${string}`;
2485
+ currency: string;
2486
+ decimals: number;
2487
+ id: string;
2488
+ logoUri?: string | undefined;
2489
+ name: string;
2490
+ symbol: string;
2491
+ verified: boolean;
2492
+ };
2493
+ slug: string | null;
2494
+ state: {
2495
+ depositsPaused: boolean;
2496
+ engineShares: string;
2497
+ feesActive: boolean;
2498
+ isAccountingAligned: boolean;
2499
+ openRedeemRequestCount: number;
2500
+ totalAssets: string;
2501
+ totalEarnShares: string;
2502
+ };
2503
+ tvl?: {
2504
+ amount: string;
2505
+ currency: string;
2506
+ decimals: number;
2507
+ formatted: string;
2508
+ } | null | undefined;
2509
+ vaultAddress: `0x${string}`;
2510
+ verified: boolean;
2511
+ zone?: {
2512
+ chainId: number;
2513
+ inputTokens: `0x${string}`[];
2514
+ name: string;
2515
+ outputTokens: `0x${string}`[];
2516
+ } | null | undefined;
2517
+ meta?: {
2518
+ valuation: {
2519
+ asOf: string;
2520
+ basis: 'nominal';
2521
+ source: string;
2522
+ };
2523
+ };
2524
+ }>;
2525
+ export declare namespace getVault {
2526
+ /** Options for getting one Earn vault. */
2527
+ type Options = {
2528
+ /** Canonical rate window the vault's APY covers. */
2529
+ 'apy.window': z.output<typeof schema.getEarnVault.Query>['apy.window'];
2530
+ chainId: z.output<typeof Schema.ChainId>;
2531
+ include: z.output<typeof schema.getEarnVault.Query>['include'];
2532
+ /** FX rate oracle backing TVL valuation. */
2533
+ oracle: FxOracle.Oracle;
2534
+ vaultAddress: z.output<typeof Schema.Address>;
2535
+ };
2536
+ }
2537
+ /** Serializes resolved onchain and curated fields into the shared vault contract. */
2538
+ export declare function serializeVault(options: serializeVault.Options): z.output<typeof schema.Vault>;
2539
+ export declare namespace serializeVault {
2540
+ /** Values used to serialize one resolved Earn vault. */
2541
+ type Options = {
2542
+ /** Measured rate, or null when unavailable; omitted unless `include` carries `apy`. */
2543
+ apy: EarnRates.Apy | null;
2544
+ /** Resolved asset token. */
2545
+ assetToken: z.output<typeof Tokens.schema.Token>;
2546
+ /** Live onchain vault state. */
2547
+ discovery: EarnVaults.Discovery;
2548
+ /** Optional vault fields selected by the request. */
2549
+ include: z.output<typeof schema.getEarnVault.Query>['include'];
2550
+ /** Curated registry row, when verified. */
2551
+ record?: core_EarnVaults.Record | undefined;
2552
+ /** Resolved share token. */
2553
+ shareToken: z.output<typeof Tokens.schema.Token>;
2554
+ /** USD value of the assets, or null when unpriced; omitted unless `include` carries `tvl`. */
2555
+ tvl: z.output<typeof schema.Vault>['tvl'];
2556
+ /** Private Zones available to the vault. */
2557
+ zones: readonly Chain[];
2558
+ };
2559
+ }
2560
+ /** Tests live vault state against the shared collection filters. */
2561
+ export declare function matchesVaultFilters(discovery: EarnVaults.Discovery, options: matchesVaultFilters.Options): boolean;
2562
+ export declare namespace matchesVaultFilters {
2563
+ /** Filters shared by the all-vault and verified-vault collections. */
2564
+ type Options = Pick<z.output<typeof schema.getEarnVaults.Query>, 'asset' | 'capability' | 'engine.type'>;
2565
+ }
2566
+ /** Returns whether a failed read proves the address is not a compatible Earn vault. */
2567
+ export declare function isIncompatible(cause: unknown): boolean;
2568
+ type RegistryRecord = Awaited<ReturnType<typeof core_EarnVaults.list>>[number];
2569
+ /** Thrown when no compatible Earn vault exists at the requested address. */
2570
+ export declare class NotFoundError extends Error {
2571
+ name: string;
2572
+ }
2573
+ export {};
2574
+ //# sourceMappingURL=earn.d.ts.map