tapimo 0.14.0 → 0.15.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 (1141) hide show
  1. package/README.md +7 -4
  2. package/dist/ApiKey.js +1 -1
  3. package/dist/ApiKey.js.map +1 -1
  4. package/dist/ApiKeys.d.ts +95 -14
  5. package/dist/ApiKeys.d.ts.map +1 -1
  6. package/dist/ApiKeys.js +360 -49
  7. package/dist/ApiKeys.js.map +1 -1
  8. package/dist/App.d.ts +12457 -10365
  9. package/dist/App.d.ts.map +1 -1
  10. package/dist/App.js +300 -22
  11. package/dist/App.js.map +1 -1
  12. package/dist/Assets.d.ts.map +1 -1
  13. package/dist/Assets.js +2 -1
  14. package/dist/Assets.js.map +1 -1
  15. package/dist/Handler.d.ts +0 -1
  16. package/dist/Handler.d.ts.map +1 -1
  17. package/dist/Handler.js +0 -1
  18. package/dist/Handler.js.map +1 -1
  19. package/dist/Scope.d.ts +13 -5
  20. package/dist/Scope.d.ts.map +1 -1
  21. package/dist/Scope.js +16 -5
  22. package/dist/Scope.js.map +1 -1
  23. package/dist/Webhooks.js +1 -1
  24. package/dist/Webhooks.js.map +1 -1
  25. package/dist/admin/App.d.ts +3057 -549
  26. package/dist/admin/App.d.ts.map +1 -1
  27. package/dist/admin/App.js +26 -5
  28. package/dist/admin/App.js.map +1 -1
  29. package/dist/admin/apps/api-keys.d.ts +159 -7
  30. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  31. package/dist/admin/apps/api-keys.js +95 -43
  32. package/dist/admin/apps/api-keys.js.map +1 -1
  33. package/dist/admin/apps/earn-vaults.d.ts +1398 -0
  34. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  35. package/dist/admin/apps/earn-vaults.js +463 -7
  36. package/dist/admin/apps/earn-vaults.js.map +1 -1
  37. package/dist/admin/apps/organizations.d.ts +267 -15
  38. package/dist/admin/apps/organizations.d.ts.map +1 -1
  39. package/dist/admin/apps/organizations.js +241 -25
  40. package/dist/admin/apps/organizations.js.map +1 -1
  41. package/dist/admin/apps/routes-support.d.ts +95 -0
  42. package/dist/admin/apps/routes-support.d.ts.map +1 -0
  43. package/dist/admin/apps/routes-support.js +151 -0
  44. package/dist/admin/apps/routes-support.js.map +1 -0
  45. package/dist/admin/apps/routes.d.ts +2764 -0
  46. package/dist/admin/apps/routes.d.ts.map +1 -0
  47. package/dist/admin/apps/routes.js +728 -0
  48. package/dist/admin/apps/routes.js.map +1 -0
  49. package/dist/admin/apps/subsidies.d.ts +501 -0
  50. package/dist/admin/apps/subsidies.d.ts.map +1 -0
  51. package/dist/admin/apps/subsidies.js +384 -0
  52. package/dist/admin/apps/subsidies.js.map +1 -0
  53. package/dist/admin/apps/verified-tokens.d.ts +88 -88
  54. package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
  55. package/dist/admin/apps/verified-tokens.js +3 -3
  56. package/dist/admin/apps/verified-tokens.js.map +1 -1
  57. package/dist/admin/ui.generated.d.ts +1 -1
  58. package/dist/admin/ui.generated.d.ts.map +1 -1
  59. package/dist/admin/ui.generated.js +129 -69
  60. package/dist/admin/ui.generated.js.map +1 -1
  61. package/dist/analytics/Analytics.d.ts +5 -2
  62. package/dist/analytics/Analytics.d.ts.map +1 -1
  63. package/dist/analytics/Analytics.js +31 -1
  64. package/dist/analytics/Analytics.js.map +1 -1
  65. package/dist/analytics/tables/requestEvents.d.ts +2 -1
  66. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  67. package/dist/analytics/tables/requestEvents.js +10 -1
  68. package/dist/analytics/tables/requestEvents.js.map +1 -1
  69. package/dist/analytics/tables/routesLifecycleIntervals.d.ts +72 -0
  70. package/dist/analytics/tables/routesLifecycleIntervals.d.ts.map +1 -0
  71. package/dist/analytics/tables/routesLifecycleIntervals.js +56 -0
  72. package/dist/analytics/tables/routesLifecycleIntervals.js.map +1 -0
  73. package/dist/apps/Zones.d.ts +21 -12526
  74. package/dist/apps/Zones.d.ts.map +1 -1
  75. package/dist/apps/Zones.js +37 -5
  76. package/dist/apps/Zones.js.map +1 -1
  77. package/dist/apps/data/App.d.ts +3971 -2595
  78. package/dist/apps/data/App.d.ts.map +1 -1
  79. package/dist/apps/data/App.js +76 -21
  80. package/dist/apps/data/App.js.map +1 -1
  81. package/dist/apps/data/routes/activities.d.ts +364 -34
  82. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  83. package/dist/apps/data/routes/activities.js +495 -190
  84. package/dist/apps/data/routes/activities.js.map +1 -1
  85. package/dist/apps/data/routes/addresses.d.ts +72 -0
  86. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  87. package/dist/apps/data/routes/blocks.d.ts +37 -37
  88. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  89. package/dist/apps/data/routes/coingecko.js +47 -21
  90. package/dist/apps/data/routes/coingecko.js.map +1 -1
  91. package/dist/apps/data/routes/earn.d.ts +1450 -337
  92. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  93. package/dist/apps/data/routes/earn.js +1226 -144
  94. package/dist/apps/data/routes/earn.js.map +1 -1
  95. package/dist/apps/data/routes/fee-amm.d.ts +5 -0
  96. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  97. package/dist/apps/data/routes/fee-amm.js +31 -19
  98. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  99. package/dist/apps/data/routes/indexer.d.ts +125 -0
  100. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  101. package/dist/apps/data/routes/indexer.js +83 -27
  102. package/dist/apps/data/routes/indexer.js.map +1 -1
  103. package/dist/apps/data/routes/rpc.d.ts +507 -33
  104. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  105. package/dist/apps/data/routes/rpc.js +266 -156
  106. package/dist/apps/data/routes/rpc.js.map +1 -1
  107. package/dist/apps/data/routes/tokenlist.d.ts +47 -15
  108. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  109. package/dist/apps/data/routes/tokenlist.js +68 -11
  110. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  111. package/dist/apps/data/routes/tokens.d.ts +2 -0
  112. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  113. package/dist/apps/data/routes/tokens.js +26 -14
  114. package/dist/apps/data/routes/tokens.js.map +1 -1
  115. package/dist/apps/data/routes/transfers.d.ts +28 -12
  116. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  117. package/dist/apps/data/routes/transfers.js +9 -7
  118. package/dist/apps/data/routes/transfers.js.map +1 -1
  119. package/dist/apps/data/routes/valuation.d.ts +30 -30
  120. package/dist/apps/data/routes/verified-tokens.d.ts +9 -9
  121. package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
  122. package/dist/apps/data/routes/verified-tokens.js +64 -20
  123. package/dist/apps/data/routes/verified-tokens.js.map +1 -1
  124. package/dist/apps/data/routes/webhooks.d.ts +613 -176
  125. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  126. package/dist/apps/data/routes/webhooks.js +291 -195
  127. package/dist/apps/data/routes/webhooks.js.map +1 -1
  128. package/dist/apps/data/routes/zones.d.ts.map +1 -1
  129. package/dist/apps/data/routes/zones.js +20 -12
  130. package/dist/apps/data/routes/zones.js.map +1 -1
  131. package/dist/apps/docs/reference.js +2 -2
  132. package/dist/apps/docs/reference.js.map +1 -1
  133. package/dist/apps/index.d.ts +1 -1
  134. package/dist/apps/index.d.ts.map +1 -1
  135. package/dist/apps/index.js +1 -1
  136. package/dist/apps/index.js.map +1 -1
  137. package/dist/apps/management/App.d.ts +3763 -3385
  138. package/dist/apps/management/App.d.ts.map +1 -1
  139. package/dist/apps/management/App.js +5 -14
  140. package/dist/apps/management/App.js.map +1 -1
  141. package/dist/apps/management/Billing.d.ts +48 -7
  142. package/dist/apps/management/Billing.d.ts.map +1 -1
  143. package/dist/apps/management/Billing.js +204 -25
  144. package/dist/apps/management/Billing.js.map +1 -1
  145. package/dist/apps/management/routes/api-keys.d.ts +106 -4
  146. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  147. package/dist/apps/management/routes/api-keys.js +43 -15
  148. package/dist/apps/management/routes/api-keys.js.map +1 -1
  149. package/dist/apps/management/routes/billing.d.ts +290 -4
  150. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  151. package/dist/apps/management/routes/billing.js +274 -49
  152. package/dist/apps/management/routes/billing.js.map +1 -1
  153. package/dist/apps/management/routes/faucet.d.ts +6 -6
  154. package/dist/apps/management/routes/faucet.js +1 -1
  155. package/dist/apps/management/routes/faucet.js.map +1 -1
  156. package/dist/apps/management/routes/invitations.d.ts +77 -2
  157. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  158. package/dist/apps/management/routes/invitations.js +117 -13
  159. package/dist/apps/management/routes/invitations.js.map +1 -1
  160. package/dist/apps/management/routes/invite-links.d.ts +4 -4
  161. package/dist/apps/management/routes/me.d.ts.map +1 -1
  162. package/dist/apps/management/routes/me.js +6 -2
  163. package/dist/apps/management/routes/me.js.map +1 -1
  164. package/dist/apps/management/routes/members.d.ts +30 -30
  165. package/dist/apps/management/routes/orgs.d.ts +18 -2
  166. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  167. package/dist/apps/management/routes/orgs.js +52 -12
  168. package/dist/apps/management/routes/orgs.js.map +1 -1
  169. package/dist/apps/management/routes/projects.d.ts +4 -4
  170. package/dist/apps/management/routes/projects.d.ts.map +1 -1
  171. package/dist/apps/management/routes/projects.js +6 -1
  172. package/dist/apps/management/routes/projects.js.map +1 -1
  173. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  174. package/dist/apps/management/routes/scopes.js +4 -1
  175. package/dist/apps/management/routes/scopes.js.map +1 -1
  176. package/dist/apps/management/routes/usage.d.ts +24 -24
  177. package/dist/apps/management/routes/usage.js +21 -4
  178. package/dist/apps/management/routes/usage.js.map +1 -1
  179. package/dist/apps/management/routes/verified-token-requests.d.ts +2 -2
  180. package/dist/apps/management/routes/webhooks.d.ts +280 -214
  181. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  182. package/dist/apps/management/routes/webhooks.js +58 -12
  183. package/dist/apps/management/routes/webhooks.js.map +1 -1
  184. package/dist/apps/mcp.d.ts +1 -1
  185. package/dist/apps/mcp.js +7 -7
  186. package/dist/apps/mcp.js.map +1 -1
  187. package/dist/apps/mpp/App.d.ts.map +1 -1
  188. package/dist/apps/mpp/App.js +35 -7
  189. package/dist/apps/mpp/App.js.map +1 -1
  190. package/dist/apps/mpp/internal/Adapter.d.ts +2 -0
  191. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
  192. package/dist/apps/mpp/internal/Adapter.js +30 -1
  193. package/dist/apps/mpp/internal/Adapter.js.map +1 -1
  194. package/dist/apps/mpp/internal/Policy.d.ts +22 -4
  195. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
  196. package/dist/apps/mpp/internal/Policy.js +24 -6
  197. package/dist/apps/mpp/internal/Policy.js.map +1 -1
  198. package/dist/apps/mpp/internal/Sponsorship.d.ts +3 -0
  199. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -1
  200. package/dist/apps/mpp/internal/Sponsorship.js +6 -3
  201. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -1
  202. package/dist/apps/relay/App.d.ts +2 -0
  203. package/dist/apps/relay/App.d.ts.map +1 -1
  204. package/dist/apps/relay/App.js +134 -75
  205. package/dist/apps/relay/App.js.map +1 -1
  206. package/dist/apps/relay/Sponsorships.d.ts +5 -3
  207. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  208. package/dist/apps/relay/Sponsorships.js +209 -28
  209. package/dist/apps/relay/Sponsorships.js.map +1 -1
  210. package/dist/apps/{funding → routes}/Access.d.ts +4 -4
  211. package/dist/apps/routes/Access.d.ts.map +1 -0
  212. package/dist/apps/{funding → routes}/Access.js +4 -4
  213. package/dist/apps/routes/Access.js.map +1 -0
  214. package/dist/apps/{funding → routes}/App.d.ts +418 -124
  215. package/dist/apps/{funding → routes}/App.d.ts.map +1 -1
  216. package/dist/apps/{funding → routes}/App.js +16 -16
  217. package/dist/apps/routes/App.js.map +1 -0
  218. package/dist/apps/routes/Inventory.d.ts.map +1 -0
  219. package/dist/apps/{funding → routes}/Inventory.js +2 -2
  220. package/dist/apps/routes/Inventory.js.map +1 -0
  221. package/dist/apps/routes/index.d.ts +2 -0
  222. package/dist/apps/routes/index.d.ts.map +1 -0
  223. package/dist/apps/routes/index.js +2 -0
  224. package/dist/apps/routes/index.js.map +1 -0
  225. package/dist/apps/{funding → routes}/routes/chains.d.ts +7 -7
  226. package/dist/apps/routes/routes/chains.d.ts.map +1 -0
  227. package/dist/apps/{funding → routes}/routes/chains.js +25 -25
  228. package/dist/apps/routes/routes/chains.js.map +1 -0
  229. package/dist/apps/{funding → routes}/routes/deposit-addresses.d.ts +107 -43
  230. package/dist/apps/routes/routes/deposit-addresses.d.ts.map +1 -0
  231. package/dist/apps/{funding → routes}/routes/deposit-addresses.js +497 -222
  232. package/dist/apps/routes/routes/deposit-addresses.js.map +1 -0
  233. package/dist/apps/{funding → routes}/routes/providers.d.ts +8 -8
  234. package/dist/apps/routes/routes/providers.d.ts.map +1 -0
  235. package/dist/apps/routes/routes/providers.js +57 -0
  236. package/dist/apps/routes/routes/providers.js.map +1 -0
  237. package/dist/apps/{funding → routes}/routes/quotes.d.ts +19 -16
  238. package/dist/apps/routes/routes/quotes.d.ts.map +1 -0
  239. package/dist/apps/{funding → routes}/routes/quotes.js +55 -38
  240. package/dist/apps/routes/routes/quotes.js.map +1 -0
  241. package/dist/apps/{funding → routes}/routes/transfers.d.ts +379 -74
  242. package/dist/apps/routes/routes/transfers.d.ts.map +1 -0
  243. package/dist/apps/routes/routes/transfers.js +1140 -0
  244. package/dist/apps/routes/routes/transfers.js.map +1 -0
  245. package/dist/cli/Cli.d.ts +30 -0
  246. package/dist/cli/Cli.d.ts.map +1 -1
  247. package/dist/cli/commands/admin.d.ts +36 -0
  248. package/dist/cli/commands/admin.d.ts.map +1 -1
  249. package/dist/cli/commands/admin.js +273 -0
  250. package/dist/cli/commands/admin.js.map +1 -1
  251. package/dist/cloudflare.d.ts +16 -14
  252. package/dist/cloudflare.d.ts.map +1 -1
  253. package/dist/cloudflare.js +26 -21
  254. package/dist/cloudflare.js.map +1 -1
  255. package/dist/db/Db.d.ts +63 -21
  256. package/dist/db/Db.d.ts.map +1 -1
  257. package/dist/db/Db.js +1030 -15
  258. package/dist/db/Db.js.map +1 -1
  259. package/dist/db/Schema.d.ts +780 -133
  260. package/dist/db/Schema.d.ts.map +1 -1
  261. package/dist/db/Schema.js +575 -162
  262. package/dist/db/Schema.js.map +1 -1
  263. package/dist/db/tables/apiKeyAdmissionBootstraps.d.ts +4 -0
  264. package/dist/db/tables/apiKeyAdmissionBootstraps.d.ts.map +1 -0
  265. package/dist/db/tables/apiKeyAdmissionBootstraps.js +2 -0
  266. package/dist/db/tables/apiKeyAdmissionBootstraps.js.map +1 -0
  267. package/dist/db/tables/apiKeyAdmissions.d.ts +73 -0
  268. package/dist/db/tables/apiKeyAdmissions.d.ts.map +1 -0
  269. package/dist/db/tables/apiKeyAdmissions.js +142 -0
  270. package/dist/db/tables/apiKeyAdmissions.js.map +1 -0
  271. package/dist/db/tables/apiKeyOwnerAdmissions.d.ts +4 -0
  272. package/dist/db/tables/apiKeyOwnerAdmissions.d.ts.map +1 -0
  273. package/dist/db/tables/apiKeyOwnerAdmissions.js +2 -0
  274. package/dist/db/tables/apiKeyOwnerAdmissions.js.map +1 -0
  275. package/dist/db/tables/apiKeyOwnerTombstones.d.ts +20 -0
  276. package/dist/db/tables/apiKeyOwnerTombstones.d.ts.map +1 -0
  277. package/dist/db/tables/apiKeyOwnerTombstones.js +57 -0
  278. package/dist/db/tables/apiKeyOwnerTombstones.js.map +1 -0
  279. package/dist/db/tables/apiKeyRevocations.d.ts +21 -0
  280. package/dist/db/tables/apiKeyRevocations.d.ts.map +1 -0
  281. package/dist/db/tables/apiKeyRevocations.js +98 -0
  282. package/dist/db/tables/apiKeyRevocations.js.map +1 -0
  283. package/dist/db/tables/authAccounts.d.ts +47 -0
  284. package/dist/db/tables/authAccounts.d.ts.map +1 -0
  285. package/dist/db/tables/authAccounts.js +72 -0
  286. package/dist/db/tables/authAccounts.js.map +1 -0
  287. package/dist/db/tables/authSessions.d.ts +12 -0
  288. package/dist/db/tables/authSessions.d.ts.map +1 -0
  289. package/dist/db/tables/authSessions.js +2 -0
  290. package/dist/db/tables/authSessions.js.map +1 -0
  291. package/dist/db/tables/authVerifications.d.ts +12 -0
  292. package/dist/db/tables/authVerifications.d.ts.map +1 -0
  293. package/dist/db/tables/authVerifications.js +2 -0
  294. package/dist/db/tables/authVerifications.js.map +1 -0
  295. package/dist/db/tables/invitations.d.ts +17 -1
  296. package/dist/db/tables/invitations.d.ts.map +1 -1
  297. package/dist/db/tables/invitations.js +123 -43
  298. package/dist/db/tables/invitations.js.map +1 -1
  299. package/dist/db/tables/memberships.d.ts +8 -0
  300. package/dist/db/tables/memberships.d.ts.map +1 -1
  301. package/dist/db/tables/memberships.js +51 -2
  302. package/dist/db/tables/memberships.js.map +1 -1
  303. package/dist/db/tables/organizations.d.ts +32 -10
  304. package/dist/db/tables/organizations.d.ts.map +1 -1
  305. package/dist/db/tables/organizations.js +110 -49
  306. package/dist/db/tables/organizations.js.map +1 -1
  307. package/dist/db/tables/projects.d.ts +2 -0
  308. package/dist/db/tables/projects.d.ts.map +1 -1
  309. package/dist/db/tables/projects.js +12 -3
  310. package/dist/db/tables/projects.js.map +1 -1
  311. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  312. package/dist/db/tables/requestUsage.js.map +1 -1
  313. package/dist/db/tables/rewardAccounts.d.ts +86 -0
  314. package/dist/db/tables/rewardAccounts.d.ts.map +1 -0
  315. package/dist/db/tables/rewardAccounts.js +88 -0
  316. package/dist/db/tables/rewardAccounts.js.map +1 -0
  317. package/dist/db/tables/rewardCampaignDistributors.d.ts +36 -0
  318. package/dist/db/tables/rewardCampaignDistributors.d.ts.map +1 -0
  319. package/dist/db/tables/rewardCampaignDistributors.js +30 -0
  320. package/dist/db/tables/rewardCampaignDistributors.js.map +1 -0
  321. package/dist/db/tables/rewardCampaigns.d.ts +171 -0
  322. package/dist/db/tables/rewardCampaigns.d.ts.map +1 -0
  323. package/dist/db/tables/rewardCampaigns.js +392 -0
  324. package/dist/db/tables/rewardCampaigns.js.map +1 -0
  325. package/dist/db/tables/rewardCredits.d.ts +53 -0
  326. package/dist/db/tables/rewardCredits.d.ts.map +1 -0
  327. package/dist/db/tables/rewardCredits.js +63 -0
  328. package/dist/db/tables/rewardCredits.js.map +1 -0
  329. package/dist/db/tables/rewardEligibilityAssociations.d.ts +61 -0
  330. package/dist/db/tables/rewardEligibilityAssociations.d.ts.map +1 -0
  331. package/dist/db/tables/rewardEligibilityAssociations.js +103 -0
  332. package/dist/db/tables/rewardEligibilityAssociations.js.map +1 -0
  333. package/dist/db/tables/rewardRuns.d.ts +188 -0
  334. package/dist/db/tables/rewardRuns.d.ts.map +1 -0
  335. package/dist/db/tables/rewardRuns.js +278 -0
  336. package/dist/db/tables/rewardRuns.js.map +1 -0
  337. package/dist/db/tables/rewardTransactionAttempts.d.ts +100 -0
  338. package/dist/db/tables/rewardTransactionAttempts.d.ts.map +1 -0
  339. package/dist/db/tables/rewardTransactionAttempts.js +163 -0
  340. package/dist/db/tables/rewardTransactionAttempts.js.map +1 -0
  341. package/dist/db/tables/routesCatalog.d.ts +58 -0
  342. package/dist/db/tables/routesCatalog.d.ts.map +1 -0
  343. package/dist/db/tables/{fundingCatalog.js → routesCatalog.js} +19 -19
  344. package/dist/db/tables/routesCatalog.js.map +1 -0
  345. package/dist/db/tables/routesDepositAddresses.d.ts +476 -0
  346. package/dist/db/tables/routesDepositAddresses.d.ts.map +1 -0
  347. package/dist/db/tables/routesDepositAddresses.js +587 -0
  348. package/dist/db/tables/routesDepositAddresses.js.map +1 -0
  349. package/dist/db/tables/{fundingDepositRequestObservations.d.ts → routesDepositRequestObservations.d.ts} +6 -6
  350. package/dist/db/tables/routesDepositRequestObservations.d.ts.map +1 -0
  351. package/dist/db/tables/{fundingDepositRequestObservations.js → routesDepositRequestObservations.js} +6 -6
  352. package/dist/db/tables/routesDepositRequestObservations.js.map +1 -0
  353. package/dist/db/tables/{fundingDeposits.d.ts → routesDeposits.d.ts} +210 -22
  354. package/dist/db/tables/routesDeposits.d.ts.map +1 -0
  355. package/dist/db/tables/routesDeposits.js +576 -0
  356. package/dist/db/tables/routesDeposits.js.map +1 -0
  357. package/dist/db/tables/routesIdempotency.d.ts +166 -0
  358. package/dist/db/tables/routesIdempotency.d.ts.map +1 -0
  359. package/dist/db/tables/routesIdempotency.js +330 -0
  360. package/dist/db/tables/routesIdempotency.js.map +1 -0
  361. package/dist/db/tables/routesSubsidies.d.ts +27 -0
  362. package/dist/db/tables/routesSubsidies.d.ts.map +1 -0
  363. package/dist/db/tables/routesSubsidies.js +45 -0
  364. package/dist/db/tables/routesSubsidies.js.map +1 -0
  365. package/dist/db/tables/{fundingTransferEvents.d.ts → routesTransferEvents.d.ts} +3 -3
  366. package/dist/db/tables/routesTransferEvents.d.ts.map +1 -0
  367. package/dist/db/tables/{fundingTransferEvents.js → routesTransferEvents.js} +3 -3
  368. package/dist/db/tables/routesTransferEvents.js.map +1 -0
  369. package/dist/db/tables/routesTransferSubsidies.d.ts +19 -0
  370. package/dist/db/tables/routesTransferSubsidies.d.ts.map +1 -0
  371. package/dist/db/tables/routesTransferSubsidies.js +17 -0
  372. package/dist/db/tables/routesTransferSubsidies.js.map +1 -0
  373. package/dist/db/tables/routesTransferSubsidyNonces.d.ts +51 -0
  374. package/dist/db/tables/routesTransferSubsidyNonces.d.ts.map +1 -0
  375. package/dist/db/tables/routesTransferSubsidyNonces.js +82 -0
  376. package/dist/db/tables/routesTransferSubsidyNonces.js.map +1 -0
  377. package/dist/db/tables/routesTransferTransactions.d.ts +77 -0
  378. package/dist/db/tables/routesTransferTransactions.d.ts.map +1 -0
  379. package/dist/db/tables/{fundingTransferTransactions.js → routesTransferTransactions.js} +31 -13
  380. package/dist/db/tables/routesTransferTransactions.js.map +1 -0
  381. package/dist/db/tables/routesTransfers.d.ts +319 -0
  382. package/dist/db/tables/routesTransfers.d.ts.map +1 -0
  383. package/dist/db/tables/routesTransfers.js +372 -0
  384. package/dist/db/tables/routesTransfers.js.map +1 -0
  385. package/dist/db/tables/sponsoredTransactions.d.ts +75 -20
  386. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  387. package/dist/db/tables/sponsoredTransactions.js +124 -54
  388. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  389. package/dist/db/tables/sponsorshipAttributions.d.ts +69 -0
  390. package/dist/db/tables/sponsorshipAttributions.d.ts.map +1 -0
  391. package/dist/db/tables/sponsorshipAttributions.js +77 -0
  392. package/dist/db/tables/sponsorshipAttributions.js.map +1 -0
  393. package/dist/db/tables/sponsorshipReconciliationCursors.d.ts +22 -0
  394. package/dist/db/tables/sponsorshipReconciliationCursors.d.ts.map +1 -0
  395. package/dist/db/tables/sponsorshipReconciliationCursors.js +45 -0
  396. package/dist/db/tables/sponsorshipReconciliationCursors.js.map +1 -0
  397. package/dist/db/tables/stripeCustomers.d.ts +11 -0
  398. package/dist/db/tables/stripeCustomers.d.ts.map +1 -1
  399. package/dist/db/tables/stripeCustomers.js +13 -0
  400. package/dist/db/tables/stripeCustomers.js.map +1 -1
  401. package/dist/db/tables/users.d.ts +17 -1
  402. package/dist/db/tables/users.d.ts.map +1 -1
  403. package/dist/db/tables/users.js +47 -2
  404. package/dist/db/tables/users.js.map +1 -1
  405. package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
  406. package/dist/db/tables/webhookQueueEvents.js +5 -1
  407. package/dist/db/tables/webhookQueueEvents.js.map +1 -1
  408. package/dist/db/tables/webhookSubscriptions.d.ts +19 -11
  409. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  410. package/dist/db/tables/webhookSubscriptions.js +45 -13
  411. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  412. package/dist/handlers/internal/executionError.d.ts +2 -2
  413. package/dist/handlers/internal/executionError.d.ts.map +1 -1
  414. package/dist/handlers/internal/executionError.js +1 -2
  415. package/dist/handlers/internal/executionError.js.map +1 -1
  416. package/dist/handlers/internal/multisig.d.ts +4 -232
  417. package/dist/handlers/internal/multisig.d.ts.map +1 -1
  418. package/dist/handlers/internal/multisig.js +11 -537
  419. package/dist/handlers/internal/multisig.js.map +1 -1
  420. package/dist/handlers/internal/sponsorship.d.ts +19 -8
  421. package/dist/handlers/internal/sponsorship.d.ts.map +1 -1
  422. package/dist/handlers/internal/sponsorship.js +13 -9
  423. package/dist/handlers/internal/sponsorship.js.map +1 -1
  424. package/dist/handlers/relay.d.ts +9 -12
  425. package/dist/handlers/relay.d.ts.map +1 -1
  426. package/dist/handlers/relay.js +81 -85
  427. package/dist/handlers/relay.js.map +1 -1
  428. package/dist/index.d.ts +0 -17
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +0 -17
  431. package/dist/index.js.map +1 -1
  432. package/dist/internal/AssetResponse.d.ts +12 -0
  433. package/dist/internal/AssetResponse.d.ts.map +1 -0
  434. package/dist/internal/AssetResponse.js +21 -0
  435. package/dist/internal/AssetResponse.js.map +1 -0
  436. package/dist/internal/Auth.d.ts +48 -12
  437. package/dist/internal/Auth.d.ts.map +1 -1
  438. package/dist/internal/Auth.js +603 -175
  439. package/dist/internal/Auth.js.map +1 -1
  440. package/dist/internal/BetterAuth.d.ts +1488 -0
  441. package/dist/internal/BetterAuth.d.ts.map +1 -0
  442. package/dist/internal/BetterAuth.js +253 -0
  443. package/dist/internal/BetterAuth.js.map +1 -0
  444. package/dist/internal/Cache.d.ts +2 -0
  445. package/dist/internal/Cache.d.ts.map +1 -1
  446. package/dist/internal/Cache.js +2 -0
  447. package/dist/internal/Cache.js.map +1 -1
  448. package/dist/internal/EarnRates.d.ts +26 -3
  449. package/dist/internal/EarnRates.d.ts.map +1 -1
  450. package/dist/internal/EarnRates.js +84 -19
  451. package/dist/internal/EarnRates.js.map +1 -1
  452. package/dist/internal/EarnSharePrices.d.ts +120 -0
  453. package/dist/internal/EarnSharePrices.d.ts.map +1 -0
  454. package/dist/internal/EarnSharePrices.js +179 -0
  455. package/dist/internal/EarnSharePrices.js.map +1 -0
  456. package/dist/internal/EarnVaults.d.ts +4 -0
  457. package/dist/internal/EarnVaults.d.ts.map +1 -1
  458. package/dist/internal/EarnVaults.js +27 -10
  459. package/dist/internal/EarnVaults.js.map +1 -1
  460. package/dist/internal/Email.d.ts +37 -0
  461. package/dist/internal/Email.d.ts.map +1 -0
  462. package/dist/internal/Email.js +16 -0
  463. package/dist/internal/Email.js.map +1 -0
  464. package/dist/internal/Log.d.ts +32 -28
  465. package/dist/internal/Log.d.ts.map +1 -1
  466. package/dist/internal/Log.js +18 -11
  467. package/dist/internal/Log.js.map +1 -1
  468. package/dist/internal/MetricSink.d.ts +3 -0
  469. package/dist/internal/MetricSink.d.ts.map +1 -1
  470. package/dist/internal/MetricSink.js +67 -8
  471. package/dist/internal/MetricSink.js.map +1 -1
  472. package/dist/internal/Mpp.d.ts.map +1 -1
  473. package/dist/internal/Mpp.js +20 -25
  474. package/dist/internal/Mpp.js.map +1 -1
  475. package/dist/internal/OpenApi.d.ts +26 -3
  476. package/dist/internal/OpenApi.d.ts.map +1 -1
  477. package/dist/internal/OpenApi.js +25 -10
  478. package/dist/internal/OpenApi.js.map +1 -1
  479. package/dist/internal/Provider.d.ts +1 -1
  480. package/dist/internal/Provider.d.ts.map +1 -1
  481. package/dist/internal/RateLimit.d.ts.map +1 -1
  482. package/dist/internal/RateLimit.js +13 -1
  483. package/dist/internal/RateLimit.js.map +1 -1
  484. package/dist/internal/Store.d.ts +16 -0
  485. package/dist/internal/Store.d.ts.map +1 -1
  486. package/dist/internal/Store.js +59 -8
  487. package/dist/internal/Store.js.map +1 -1
  488. package/dist/internal/Tidx.d.ts +9 -2
  489. package/dist/internal/Tidx.d.ts.map +1 -1
  490. package/dist/internal/Tidx.js +78 -11
  491. package/dist/internal/Tidx.js.map +1 -1
  492. package/dist/internal/Timing.d.ts +26 -0
  493. package/dist/internal/Timing.d.ts.map +1 -1
  494. package/dist/internal/Timing.js +63 -5
  495. package/dist/internal/Timing.js.map +1 -1
  496. package/dist/internal/VercelOidc.d.ts +94 -0
  497. package/dist/internal/VercelOidc.d.ts.map +1 -0
  498. package/dist/internal/VercelOidc.js +128 -0
  499. package/dist/internal/VercelOidc.js.map +1 -0
  500. package/dist/internal/VerifiedTokens.d.ts +2 -8
  501. package/dist/internal/VerifiedTokens.d.ts.map +1 -1
  502. package/dist/internal/VerifiedTokens.js +24 -24
  503. package/dist/internal/VerifiedTokens.js.map +1 -1
  504. package/dist/internal/Viem.d.ts +30 -2067
  505. package/dist/internal/Viem.d.ts.map +1 -1
  506. package/dist/internal/Viem.js +167 -17
  507. package/dist/internal/Viem.js.map +1 -1
  508. package/dist/internal/Webhooks.d.ts +12 -4
  509. package/dist/internal/Webhooks.d.ts.map +1 -1
  510. package/dist/internal/Webhooks.js +9 -3
  511. package/dist/internal/Webhooks.js.map +1 -1
  512. package/dist/internal/ZoneRpc.d.ts +7 -0
  513. package/dist/internal/ZoneRpc.d.ts.map +1 -0
  514. package/dist/internal/ZoneRpc.js +49 -0
  515. package/dist/internal/ZoneRpc.js.map +1 -0
  516. package/dist/internal/index.d.ts +3 -1
  517. package/dist/internal/index.d.ts.map +1 -1
  518. package/dist/internal/index.js +3 -1
  519. package/dist/internal/index.js.map +1 -1
  520. package/dist/internal/rewards/Audit.d.ts +88 -0
  521. package/dist/internal/rewards/Audit.d.ts.map +1 -0
  522. package/dist/internal/rewards/Audit.js +134 -0
  523. package/dist/internal/rewards/Audit.js.map +1 -0
  524. package/dist/internal/rewards/Campaigns.d.ts +572 -0
  525. package/dist/internal/rewards/Campaigns.d.ts.map +1 -0
  526. package/dist/internal/rewards/Campaigns.js +531 -0
  527. package/dist/internal/rewards/Campaigns.js.map +1 -0
  528. package/dist/internal/rewards/Credits.d.ts +76 -0
  529. package/dist/internal/rewards/Credits.d.ts.map +1 -0
  530. package/dist/internal/rewards/Credits.js +95 -0
  531. package/dist/internal/rewards/Credits.js.map +1 -0
  532. package/dist/internal/rewards/Events.d.ts +100 -0
  533. package/dist/internal/rewards/Events.d.ts.map +1 -0
  534. package/dist/internal/rewards/Events.js +340 -0
  535. package/dist/internal/rewards/Events.js.map +1 -0
  536. package/dist/internal/rewards/Projection.d.ts +237 -0
  537. package/dist/internal/rewards/Projection.d.ts.map +1 -0
  538. package/dist/internal/rewards/Projection.js +616 -0
  539. package/dist/internal/rewards/Projection.js.map +1 -0
  540. package/dist/internal/rewards/Rates.d.ts +44 -0
  541. package/dist/internal/rewards/Rates.d.ts.map +1 -0
  542. package/dist/internal/rewards/Rates.js +60 -0
  543. package/dist/internal/rewards/Rates.js.map +1 -0
  544. package/dist/internal/rewards/Read.d.ts +158 -0
  545. package/dist/internal/rewards/Read.d.ts.map +1 -0
  546. package/dist/internal/rewards/Read.js +292 -0
  547. package/dist/internal/rewards/Read.js.map +1 -0
  548. package/dist/internal/rewards/Runner.d.ts +164 -0
  549. package/dist/internal/rewards/Runner.d.ts.map +1 -0
  550. package/dist/internal/rewards/Runner.js +1778 -0
  551. package/dist/internal/rewards/Runner.js.map +1 -0
  552. package/dist/internal/rewards/Signer.d.ts +224 -0
  553. package/dist/internal/rewards/Signer.d.ts.map +1 -0
  554. package/dist/internal/rewards/Signer.js +135 -0
  555. package/dist/internal/rewards/Signer.js.map +1 -0
  556. package/dist/internal/rewards/index.d.ts +15 -0
  557. package/dist/internal/rewards/index.d.ts.map +1 -0
  558. package/dist/internal/rewards/index.js +15 -0
  559. package/dist/internal/rewards/index.js.map +1 -0
  560. package/dist/internal/{funding → routes}/Action.d.ts +12 -1
  561. package/dist/internal/routes/Action.d.ts.map +1 -0
  562. package/dist/internal/{funding → routes}/Action.js +17 -9
  563. package/dist/internal/routes/Action.js.map +1 -0
  564. package/dist/internal/{funding → routes}/Catalog.d.ts +20 -20
  565. package/dist/internal/routes/Catalog.d.ts.map +1 -0
  566. package/dist/internal/{funding → routes}/Catalog.js +29 -29
  567. package/dist/internal/routes/Catalog.js.map +1 -0
  568. package/dist/internal/{funding → routes}/Chain.d.ts +10 -10
  569. package/dist/internal/routes/Chain.d.ts.map +1 -0
  570. package/dist/internal/{funding → routes}/Chain.js +3 -3
  571. package/dist/internal/routes/Chain.js.map +1 -0
  572. package/dist/internal/{funding → routes}/Deposit.d.ts +45 -23
  573. package/dist/internal/routes/Deposit.d.ts.map +1 -0
  574. package/dist/internal/{funding → routes}/Deposit.js +60 -27
  575. package/dist/internal/routes/Deposit.js.map +1 -0
  576. package/dist/internal/{funding → routes}/DepositAddress.d.ts +56 -27
  577. package/dist/internal/routes/DepositAddress.d.ts.map +1 -0
  578. package/dist/internal/{funding → routes}/DepositAddress.js +95 -33
  579. package/dist/internal/routes/DepositAddress.js.map +1 -0
  580. package/dist/internal/{funding → routes}/DepositWebhook.d.ts +4 -4
  581. package/dist/internal/routes/DepositWebhook.d.ts.map +1 -0
  582. package/dist/internal/{funding → routes}/DepositWebhook.js +4 -4
  583. package/dist/internal/routes/DepositWebhook.js.map +1 -0
  584. package/dist/internal/routes/Economics.d.ts +25 -0
  585. package/dist/internal/routes/Economics.d.ts.map +1 -0
  586. package/dist/internal/routes/Economics.js +28 -0
  587. package/dist/internal/routes/Economics.js.map +1 -0
  588. package/dist/internal/{funding → routes}/Evidence.d.ts +3 -3
  589. package/dist/internal/routes/Evidence.d.ts.map +1 -0
  590. package/dist/internal/{funding → routes}/Evidence.js +7 -7
  591. package/dist/internal/routes/Evidence.js.map +1 -0
  592. package/dist/internal/routes/Observability.d.ts +154 -0
  593. package/dist/internal/routes/Observability.d.ts.map +1 -0
  594. package/dist/internal/routes/Observability.js +389 -0
  595. package/dist/internal/routes/Observability.js.map +1 -0
  596. package/dist/internal/{funding → routes}/Provider.d.ts +311 -105
  597. package/dist/internal/routes/Provider.d.ts.map +1 -0
  598. package/dist/internal/{funding → routes}/Provider.js +229 -98
  599. package/dist/internal/routes/Provider.js.map +1 -0
  600. package/dist/internal/{funding → routes}/Reconciliation.d.ts +11 -6
  601. package/dist/internal/routes/Reconciliation.d.ts.map +1 -0
  602. package/dist/internal/{funding → routes}/Reconciliation.js +408 -158
  603. package/dist/internal/routes/Reconciliation.js.map +1 -0
  604. package/dist/internal/routes/Route.d.ts +21 -0
  605. package/dist/internal/routes/Route.d.ts.map +1 -0
  606. package/dist/internal/{funding → routes}/Route.js +1 -1
  607. package/dist/internal/routes/Route.js.map +1 -0
  608. package/dist/internal/{funding → routes}/SourceObservation.d.ts +6 -6
  609. package/dist/internal/routes/SourceObservation.d.ts.map +1 -0
  610. package/dist/internal/{funding → routes}/SourceObservation.js +8 -8
  611. package/dist/internal/routes/SourceObservation.js.map +1 -0
  612. package/dist/internal/{funding → routes}/Subsidy.d.ts +48 -3
  613. package/dist/internal/routes/Subsidy.d.ts.map +1 -0
  614. package/dist/internal/{funding → routes}/Subsidy.js +43 -3
  615. package/dist/internal/routes/Subsidy.js.map +1 -0
  616. package/dist/internal/{funding → routes}/Token.d.ts +4 -4
  617. package/dist/internal/routes/Token.d.ts.map +1 -0
  618. package/dist/internal/{funding → routes}/Token.js +3 -3
  619. package/dist/internal/routes/Token.js.map +1 -0
  620. package/dist/internal/{funding → routes}/Transfer.d.ts +241 -46
  621. package/dist/internal/routes/Transfer.d.ts.map +1 -0
  622. package/dist/internal/routes/Transfer.js +728 -0
  623. package/dist/internal/routes/Transfer.js.map +1 -0
  624. package/dist/internal/{funding → routes}/TransferReconciliation.d.ts +13 -10
  625. package/dist/internal/routes/TransferReconciliation.d.ts.map +1 -0
  626. package/dist/internal/routes/TransferReconciliation.js +422 -0
  627. package/dist/internal/routes/TransferReconciliation.js.map +1 -0
  628. package/dist/internal/routes/TransferSubsidy.d.ts +201 -0
  629. package/dist/internal/routes/TransferSubsidy.d.ts.map +1 -0
  630. package/dist/internal/routes/TransferSubsidy.js +256 -0
  631. package/dist/internal/routes/TransferSubsidy.js.map +1 -0
  632. package/dist/internal/{funding → routes}/TransferWebhook.d.ts +5 -5
  633. package/dist/internal/routes/TransferWebhook.d.ts.map +1 -0
  634. package/dist/internal/{funding → routes}/TransferWebhook.js +3 -3
  635. package/dist/internal/routes/TransferWebhook.js.map +1 -0
  636. package/dist/internal/{funding → routes}/index.d.ts +2 -0
  637. package/dist/internal/routes/index.d.ts.map +1 -0
  638. package/dist/internal/{funding → routes}/index.js +2 -0
  639. package/dist/internal/routes/index.js.map +1 -0
  640. package/dist/internal/{funding → routes}/providers/across.d.ts +4 -4
  641. package/dist/internal/routes/providers/across.d.ts.map +1 -0
  642. package/dist/internal/{funding → routes}/providers/across.js +13 -13
  643. package/dist/internal/routes/providers/across.js.map +1 -0
  644. package/dist/internal/{funding → routes}/providers/relay.d.ts +21 -12
  645. package/dist/internal/routes/providers/relay.d.ts.map +1 -0
  646. package/dist/internal/{funding → routes}/providers/relay.js +194 -110
  647. package/dist/internal/routes/providers/relay.js.map +1 -0
  648. package/dist/internal/{funding → routes}/providers/rhino.d.ts +4 -4
  649. package/dist/internal/routes/providers/rhino.d.ts.map +1 -0
  650. package/dist/internal/{funding → routes}/providers/rhino.js +10 -10
  651. package/dist/internal/routes/providers/rhino.js.map +1 -0
  652. package/dist/internal/{funding → routes}/providers/squid.d.ts +4 -4
  653. package/dist/internal/routes/providers/squid.d.ts.map +1 -0
  654. package/dist/internal/{funding → routes}/providers/squid.js +14 -14
  655. package/dist/internal/routes/providers/squid.js.map +1 -0
  656. package/dist/internal/{funding → routes}/providers/stargate.d.ts +46 -18
  657. package/dist/internal/routes/providers/stargate.d.ts.map +1 -0
  658. package/dist/internal/routes/providers/stargate.js +898 -0
  659. package/dist/internal/routes/providers/stargate.js.map +1 -0
  660. package/dist/internal/{funding → routes}/providers/symbiosis.d.ts +4 -4
  661. package/dist/internal/routes/providers/symbiosis.d.ts.map +1 -0
  662. package/dist/internal/{funding → routes}/providers/symbiosis.js +30 -20
  663. package/dist/internal/routes/providers/symbiosis.js.map +1 -0
  664. package/dist/internal/webhookDestinations/slack.js +12 -12
  665. package/dist/internal/webhookDestinations/slack.js.map +1 -1
  666. package/dist/providers/index.d.ts +12 -12
  667. package/dist/providers/index.d.ts.map +1 -1
  668. package/dist/providers/index.js +12 -12
  669. package/dist/providers/index.js.map +1 -1
  670. package/dist/server.d.ts +19 -0
  671. package/dist/server.d.ts.map +1 -0
  672. package/dist/server.js +19 -0
  673. package/dist/server.js.map +1 -0
  674. package/package.json +15 -4
  675. package/src/ApiKey.ts +1 -1
  676. package/src/ApiKeys.test.ts +1033 -3
  677. package/src/ApiKeys.ts +489 -48
  678. package/src/App.test-d.ts +1 -1
  679. package/src/App.test.ts +216 -25
  680. package/src/App.ts +334 -31
  681. package/src/Assets.test.ts +2 -2
  682. package/src/Assets.ts +3 -1
  683. package/src/Auth.test-d.ts +1 -1
  684. package/src/Client.test-d.ts +539 -110
  685. package/src/Handler.ts +0 -1
  686. package/src/OpenApi.contract.test.ts +195 -0
  687. package/src/Scope.ts +17 -5
  688. package/src/Webhooks.ts +1 -1
  689. package/src/admin/App.test.ts +30 -2
  690. package/src/admin/App.ts +42 -6
  691. package/src/admin/apps/api-keys.test.ts +267 -5
  692. package/src/admin/apps/api-keys.ts +100 -50
  693. package/src/admin/apps/earn-vaults.test.ts +158 -0
  694. package/src/admin/apps/earn-vaults.ts +679 -6
  695. package/src/admin/apps/organizations.test.ts +306 -17
  696. package/src/admin/apps/organizations.ts +299 -24
  697. package/src/admin/apps/routes-support.test.ts +200 -0
  698. package/src/admin/apps/routes-support.ts +201 -0
  699. package/src/admin/apps/routes.test.ts +450 -0
  700. package/src/admin/apps/routes.ts +896 -0
  701. package/src/admin/apps/scopes.test.ts +15 -5
  702. package/src/admin/apps/subsidies.test.ts +306 -0
  703. package/src/admin/apps/subsidies.ts +457 -0
  704. package/src/admin/apps/verified-tokens.test.ts +8 -3
  705. package/src/admin/apps/verified-tokens.ts +3 -3
  706. package/src/admin/ui/plugin.ts +1 -2
  707. package/src/admin/ui/src/components/RewardCampaignForm.tsx +1009 -0
  708. package/src/admin/ui/src/lib/config.ts +11 -2
  709. package/src/admin/ui/src/lib/earn-vaults.ts +2 -2
  710. package/src/admin/ui/src/lib/organizations.test.ts +83 -50
  711. package/src/admin/ui/src/lib/organizations.ts +106 -25
  712. package/src/admin/ui/src/lib/query-client.ts +1 -1
  713. package/src/admin/ui/src/lib/reward-campaigns.ts +136 -0
  714. package/src/admin/ui/src/lib/routes.test.ts +88 -0
  715. package/src/admin/ui/src/lib/routes.ts +304 -0
  716. package/src/admin/ui/src/lib/subsidies.ts +75 -0
  717. package/src/admin/ui/src/routeTree.gen.ts +63 -0
  718. package/src/admin/ui/src/routes/__root.tsx +12 -1
  719. package/src/admin/ui/src/routes/api-keys.tsx +196 -84
  720. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +105 -70
  721. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +239 -23
  722. package/src/admin/ui/src/routes/routes.tsx +1615 -0
  723. package/src/admin/ui/src/routes/routes_.support.tsx +248 -0
  724. package/src/admin/ui/src/routes/subsidies.tsx +799 -0
  725. package/src/admin/ui.generated.ts +144 -69
  726. package/src/analytics/Analytics.test.ts +108 -18
  727. package/src/analytics/Analytics.ts +38 -6
  728. package/src/analytics/tables/requestEvents.test.ts +100 -0
  729. package/src/analytics/tables/requestEvents.ts +10 -1
  730. package/src/analytics/tables/routesLifecycleIntervals.ts +140 -0
  731. package/src/apps/Zones.test.ts +15 -0
  732. package/src/apps/Zones.ts +52 -5
  733. package/src/apps/composition.test.ts +68 -60
  734. package/src/apps/data/App.test.ts +154 -2
  735. package/src/apps/data/App.ts +88 -28
  736. package/src/apps/data/routes/activities.test.ts +419 -7
  737. package/src/apps/data/routes/activities.ts +683 -216
  738. package/src/apps/data/routes/balances.test.ts +2 -2
  739. package/src/apps/data/routes/blocks.test.ts +46 -1
  740. package/src/apps/data/routes/coingecko.test.ts +419 -1
  741. package/src/apps/data/routes/coingecko.ts +309 -253
  742. package/src/apps/data/routes/earn.discovery.test.ts +274 -0
  743. package/src/apps/data/routes/earn.test.ts +1294 -17
  744. package/src/apps/data/routes/earn.ts +1838 -321
  745. package/src/apps/data/routes/exchanges.test.ts +12 -15
  746. package/src/apps/data/routes/fee-amm.test.ts +224 -0
  747. package/src/apps/data/routes/fee-amm.ts +191 -160
  748. package/src/apps/data/routes/indexer.test.ts +389 -0
  749. package/src/apps/data/routes/indexer.ts +165 -69
  750. package/src/apps/data/routes/receipts.test.ts +1 -1
  751. package/src/apps/data/routes/rpc.test.ts +352 -8
  752. package/src/apps/data/routes/rpc.ts +407 -219
  753. package/src/apps/data/routes/rpc.zone.test.ts +340 -0
  754. package/src/apps/data/routes/tokenlist.test.ts +285 -0
  755. package/src/apps/data/routes/tokenlist.ts +173 -88
  756. package/src/apps/data/routes/tokens.test.ts +93 -3
  757. package/src/apps/data/routes/tokens.ts +39 -23
  758. package/src/apps/data/routes/transactions.test.ts +1 -1
  759. package/src/apps/data/routes/transfers.test.ts +56 -24
  760. package/src/apps/data/routes/transfers.ts +19 -8
  761. package/src/apps/data/routes/valuation.test.ts +1 -1
  762. package/src/apps/data/routes/verified-tokens.test.ts +345 -0
  763. package/src/apps/data/routes/verified-tokens.ts +99 -29
  764. package/src/apps/data/routes/webhooks.test.ts +645 -83
  765. package/src/apps/data/routes/webhooks.ts +1089 -857
  766. package/src/apps/data/routes/zones.test.ts +148 -71
  767. package/src/apps/data/routes/zones.ts +71 -55
  768. package/src/apps/docs/reference.ts +2 -2
  769. package/src/apps/index.ts +1 -1
  770. package/src/apps/management/App.ts +9 -51
  771. package/src/apps/management/Billing.test.ts +375 -14
  772. package/src/apps/management/Billing.ts +265 -29
  773. package/src/apps/management/routes/api-keys.test.ts +269 -7
  774. package/src/apps/management/routes/api-keys.ts +61 -20
  775. package/src/apps/management/routes/billing.test.ts +477 -15
  776. package/src/apps/management/routes/billing.ts +377 -50
  777. package/src/apps/management/routes/faucet.test.ts +1 -1
  778. package/src/apps/management/routes/faucet.ts +1 -1
  779. package/src/apps/management/routes/invitations.test.ts +270 -3
  780. package/src/apps/management/routes/invitations.ts +185 -15
  781. package/src/apps/management/routes/invoicePreview.test.ts +549 -0
  782. package/src/apps/management/routes/me.test.ts +246 -5
  783. package/src/apps/management/routes/me.ts +7 -2
  784. package/src/apps/management/routes/members.test.ts +108 -0
  785. package/src/apps/management/routes/orgs.test.ts +191 -3
  786. package/src/apps/management/routes/orgs.ts +58 -11
  787. package/src/apps/management/routes/projects.test.ts +33 -3
  788. package/src/apps/management/routes/projects.ts +6 -1
  789. package/src/apps/management/routes/scopes.test.ts +30 -2
  790. package/src/apps/management/routes/scopes.ts +4 -1
  791. package/src/apps/management/routes/usage.test.ts +32 -0
  792. package/src/apps/management/routes/usage.ts +22 -4
  793. package/src/apps/management/routes/webhooks.test.ts +49 -26
  794. package/src/apps/management/routes/webhooks.ts +78 -22
  795. package/src/apps/mcp.test.ts +6 -6
  796. package/src/apps/mcp.ts +7 -7
  797. package/src/apps/mpp/App.ts +37 -7
  798. package/src/apps/mpp/Mpp.test.ts +49 -8
  799. package/src/apps/mpp/Mpp.zone.test.ts +219 -0
  800. package/src/apps/mpp/internal/Adapter.ts +34 -0
  801. package/src/apps/mpp/internal/Policy.test.ts +86 -31
  802. package/src/apps/mpp/internal/Policy.ts +49 -7
  803. package/src/apps/mpp/internal/Sponsorship.test.ts +207 -0
  804. package/src/apps/mpp/internal/Sponsorship.ts +9 -3
  805. package/src/apps/relay/App.test.ts +839 -64
  806. package/src/apps/relay/App.ts +148 -81
  807. package/src/apps/relay/App.zone-billing.test.ts +257 -0
  808. package/src/apps/relay/Sponsorships.test.ts +67 -4
  809. package/src/apps/relay/Sponsorships.ts +233 -32
  810. package/src/apps/relay/Sponsorships.zone.test.ts +102 -0
  811. package/src/apps/{funding → routes}/Access.ts +6 -6
  812. package/src/apps/routes/App.test.ts +165 -0
  813. package/src/apps/routes/App.ts +96 -0
  814. package/src/apps/{funding → routes}/Inventory.ts +2 -2
  815. package/src/apps/routes/index.ts +1 -0
  816. package/src/apps/{funding → routes}/routes/chains.test.ts +66 -66
  817. package/src/apps/{funding → routes}/routes/chains.ts +23 -23
  818. package/src/apps/{funding → routes}/routes/deposit-addresses.test.ts +1358 -458
  819. package/src/apps/{funding → routes}/routes/deposit-addresses.ts +566 -246
  820. package/src/apps/{funding → routes}/routes/providers.test.ts +27 -33
  821. package/src/apps/{funding → routes}/routes/providers.ts +23 -23
  822. package/src/apps/{funding → routes}/routes/quotes.test.ts +298 -41
  823. package/src/apps/{funding → routes}/routes/quotes.ts +57 -40
  824. package/src/apps/{funding → routes}/routes/transfers.test.ts +1100 -353
  825. package/src/apps/routes/routes/transfers.ts +1332 -0
  826. package/src/cli/Cli.test.ts +1 -1
  827. package/src/cli/commands/admin.test.ts +748 -1
  828. package/src/cli/commands/admin.ts +278 -0
  829. package/src/cloudflare.ts +52 -47
  830. package/src/db/Db.test.ts +245 -2
  831. package/src/db/Db.ts +1476 -34
  832. package/src/db/Schema.ts +729 -228
  833. package/src/db/tables/apiKeyAdmissionBootstraps.ts +4 -0
  834. package/src/db/tables/apiKeyAdmissions.ts +218 -0
  835. package/src/db/tables/apiKeyOwnerAdmissions.ts +4 -0
  836. package/src/db/tables/apiKeyOwnerTombstones.ts +81 -0
  837. package/src/db/tables/apiKeyRevocations.test.ts +74 -0
  838. package/src/db/tables/apiKeyRevocations.ts +121 -0
  839. package/src/db/tables/authAccounts.ts +105 -0
  840. package/src/db/tables/authSessions.ts +13 -0
  841. package/src/db/tables/authVerifications.ts +13 -0
  842. package/src/db/tables/invitations.ts +142 -45
  843. package/src/db/tables/memberships.ts +79 -3
  844. package/src/db/tables/organizations.test.ts +690 -13
  845. package/src/db/tables/organizations.ts +139 -55
  846. package/src/db/tables/projects.test.ts +16 -0
  847. package/src/db/tables/projects.ts +13 -3
  848. package/src/db/tables/requestUsage.ts +4 -1
  849. package/src/db/tables/rewardAccounts.ts +178 -0
  850. package/src/db/tables/rewardCampaignDistributors.ts +68 -0
  851. package/src/db/tables/rewardCampaigns.test.ts +1388 -0
  852. package/src/db/tables/rewardCampaigns.ts +647 -0
  853. package/src/db/tables/rewardCredits.ts +110 -0
  854. package/src/db/tables/rewardEligibilityAssociations.test.ts +271 -0
  855. package/src/db/tables/rewardEligibilityAssociations.ts +184 -0
  856. package/src/db/tables/rewardRuns.ts +514 -0
  857. package/src/db/tables/rewardTransactionAttempts.ts +272 -0
  858. package/src/db/tables/routesCatalog.test.ts +185 -0
  859. package/src/db/tables/routesCatalog.ts +163 -0
  860. package/src/db/tables/routesDepositAddresses.test.ts +1048 -0
  861. package/src/db/tables/routesDepositAddresses.ts +1008 -0
  862. package/src/db/tables/{fundingDepositRequestObservations.test.ts → routesDepositRequestObservations.test.ts} +13 -14
  863. package/src/db/tables/{fundingDepositRequestObservations.ts → routesDepositRequestObservations.ts} +10 -10
  864. package/src/db/tables/{fundingDeposits.test.ts → routesDeposits.test.ts} +316 -46
  865. package/src/db/tables/routesDeposits.ts +1062 -0
  866. package/src/db/tables/routesIdempotency.test.ts +796 -0
  867. package/src/db/tables/routesIdempotency.ts +496 -0
  868. package/src/db/tables/routesSubsidies.test.ts +120 -0
  869. package/src/db/tables/routesSubsidies.ts +71 -0
  870. package/src/db/tables/{fundingTransferEvents.ts → routesTransferEvents.ts} +4 -4
  871. package/src/db/tables/routesTransferSubsidies.ts +38 -0
  872. package/src/db/tables/routesTransferSubsidyNonces.ts +124 -0
  873. package/src/db/tables/routesTransferTransactions.test.ts +195 -0
  874. package/src/db/tables/{fundingTransferTransactions.ts → routesTransferTransactions.ts} +63 -18
  875. package/src/db/tables/routesTransfers.test.ts +338 -0
  876. package/src/db/tables/routesTransfers.ts +662 -0
  877. package/src/db/tables/sponsoredTransactions.test.ts +269 -45
  878. package/src/db/tables/sponsoredTransactions.ts +225 -65
  879. package/src/db/tables/sponsorshipAttributions.test.ts +160 -0
  880. package/src/db/tables/sponsorshipAttributions.ts +168 -0
  881. package/src/db/tables/sponsorshipReconciliationCursors.test.ts +115 -0
  882. package/src/db/tables/sponsorshipReconciliationCursors.ts +67 -0
  883. package/src/db/tables/stripeCustomers.test.ts +85 -0
  884. package/src/db/tables/stripeCustomers.ts +24 -0
  885. package/src/db/tables/users.test.ts +129 -0
  886. package/src/db/tables/users.ts +49 -3
  887. package/src/db/tables/webhookQueueEvents.ts +8 -1
  888. package/src/db/tables/webhookSubscriptions.ts +95 -20
  889. package/src/handlers/internal/executionError.ts +3 -4
  890. package/src/handlers/internal/multisig.ts +13 -816
  891. package/src/handlers/internal/sponsorship.ts +26 -10
  892. package/src/handlers/relay.test-d.ts +9 -1
  893. package/src/handlers/relay.test.ts +823 -3
  894. package/src/handlers/relay.ts +127 -107
  895. package/src/index.test-d.ts +7 -0
  896. package/src/index.ts +0 -17
  897. package/src/internal/AssetResponse.ts +26 -0
  898. package/src/internal/Auth.test.ts +1564 -9
  899. package/src/internal/Auth.ts +833 -239
  900. package/src/internal/BetterAuth.test.ts +242 -0
  901. package/src/internal/BetterAuth.ts +349 -0
  902. package/src/internal/Cache.ts +2 -0
  903. package/src/internal/EarnRates.test.ts +17 -0
  904. package/src/internal/EarnRates.ts +124 -31
  905. package/src/internal/EarnSharePrices.test.ts +182 -0
  906. package/src/internal/EarnSharePrices.ts +313 -0
  907. package/src/internal/EarnVaults.test.ts +21 -0
  908. package/src/internal/EarnVaults.ts +33 -11
  909. package/src/internal/Email.ts +54 -0
  910. package/src/internal/Idempotency.test.ts +2 -2
  911. package/src/internal/Log.test-d.ts +8 -7
  912. package/src/internal/Log.test.ts +114 -16
  913. package/src/internal/Log.ts +53 -40
  914. package/src/internal/MetricSink.test.ts +313 -26
  915. package/src/internal/MetricSink.ts +73 -8
  916. package/src/internal/Mpp.test.ts +31 -0
  917. package/src/internal/Mpp.ts +21 -24
  918. package/src/internal/OpenApi.ts +45 -12
  919. package/src/internal/Provider.test.ts +1 -1
  920. package/src/internal/Provider.ts +1 -1
  921. package/src/internal/RateLimit.test.ts +21 -3
  922. package/src/internal/RateLimit.ts +12 -1
  923. package/src/internal/Store.test-d.ts +1 -1
  924. package/src/internal/Store.test.ts +151 -8
  925. package/src/internal/Store.ts +76 -9
  926. package/src/internal/Tidx.test.ts +59 -8
  927. package/src/internal/Tidx.ts +86 -14
  928. package/src/internal/Timing.test.ts +77 -0
  929. package/src/internal/Timing.ts +83 -6
  930. package/src/internal/VercelOidc.test.ts +188 -0
  931. package/src/internal/VercelOidc.ts +193 -0
  932. package/src/internal/VerifiedTokens.test.ts +60 -6
  933. package/src/internal/VerifiedTokens.ts +21 -24
  934. package/src/internal/Viem.batch.test.ts +80 -0
  935. package/src/internal/Viem.test.ts +201 -2
  936. package/src/internal/Viem.ts +221 -25
  937. package/src/internal/Webhooks.test.ts +85 -6
  938. package/src/internal/Webhooks.ts +22 -4
  939. package/src/internal/ZoneRpc.ts +50 -0
  940. package/src/internal/exchange/Provider.test.ts +2 -2
  941. package/src/internal/index.test.ts +3 -1
  942. package/src/internal/index.ts +3 -1
  943. package/src/internal/rewards/Audit.ts +231 -0
  944. package/src/internal/rewards/Campaigns.test.ts +1234 -0
  945. package/src/internal/rewards/Campaigns.ts +1205 -0
  946. package/src/internal/rewards/Credits.ts +165 -0
  947. package/src/internal/rewards/Events.local.test.ts +113 -0
  948. package/src/internal/rewards/Events.test.ts +152 -0
  949. package/src/internal/rewards/Events.ts +468 -0
  950. package/src/internal/rewards/Projection.test.ts +681 -0
  951. package/src/internal/rewards/Projection.ts +987 -0
  952. package/src/internal/rewards/Rates.test.ts +171 -0
  953. package/src/internal/rewards/Rates.ts +110 -0
  954. package/src/internal/rewards/Read.test.ts +501 -0
  955. package/src/internal/rewards/Read.ts +476 -0
  956. package/src/internal/rewards/Runner.checkpoint.test.ts +80 -0
  957. package/src/internal/rewards/Runner.states.test.ts +188 -0
  958. package/src/internal/rewards/Runner.test.ts +90 -0
  959. package/src/internal/rewards/Runner.ts +2229 -0
  960. package/src/internal/rewards/Signer.test.ts +79 -0
  961. package/src/internal/rewards/Signer.ts +180 -0
  962. package/src/internal/rewards/index.ts +14 -0
  963. package/src/internal/{funding → routes}/Action.test.ts +63 -14
  964. package/src/internal/{funding → routes}/Action.ts +35 -8
  965. package/src/internal/{funding → routes}/Catalog.test.ts +3 -3
  966. package/src/internal/{funding → routes}/Catalog.ts +39 -39
  967. package/src/internal/{funding → routes}/Chain.test.ts +1 -1
  968. package/src/internal/{funding → routes}/Chain.ts +11 -11
  969. package/src/internal/{funding → routes}/Deposit.test.ts +1 -1
  970. package/src/internal/{funding → routes}/Deposit.ts +93 -45
  971. package/src/internal/{funding → routes}/DepositAddress.test.ts +11 -3
  972. package/src/internal/{funding → routes}/DepositAddress.ts +132 -53
  973. package/src/internal/{funding → routes}/DepositWebhook.test.ts +61 -18
  974. package/src/internal/{funding → routes}/DepositWebhook.ts +9 -9
  975. package/src/internal/routes/Economics.test.ts +42 -0
  976. package/src/internal/routes/Economics.ts +47 -0
  977. package/src/internal/{funding → routes}/Evidence.test.ts +6 -6
  978. package/src/internal/{funding → routes}/Evidence.ts +9 -9
  979. package/src/internal/routes/Observability.test.ts +636 -0
  980. package/src/internal/routes/Observability.ts +668 -0
  981. package/src/internal/{funding → routes}/Provider.test.ts +489 -153
  982. package/src/internal/{funding → routes}/Provider.ts +489 -186
  983. package/src/internal/{funding → routes}/Reconciliation.local.test.ts +84 -12
  984. package/src/internal/{funding → routes}/Reconciliation.test.ts +1213 -279
  985. package/src/internal/{funding → routes}/Reconciliation.ts +501 -203
  986. package/src/internal/routes/Reconciliation.unattributed.test.ts +250 -0
  987. package/src/internal/{funding → routes}/Route.ts +7 -7
  988. package/src/internal/{funding → routes}/SourceObservation.test.ts +13 -14
  989. package/src/internal/{funding → routes}/SourceObservation.ts +13 -13
  990. package/src/internal/{funding → routes}/Subsidy.local.test.ts +7 -7
  991. package/src/internal/routes/Subsidy.test.ts +169 -0
  992. package/src/internal/{funding → routes}/Subsidy.ts +86 -6
  993. package/src/internal/{funding → routes}/Token.test.ts +1 -1
  994. package/src/internal/{funding → routes}/Token.ts +5 -5
  995. package/src/internal/routes/Transfer.test.ts +1199 -0
  996. package/src/internal/routes/Transfer.ts +1206 -0
  997. package/src/internal/routes/TransferReconciliation.test.ts +731 -0
  998. package/src/internal/routes/TransferReconciliation.ts +527 -0
  999. package/src/internal/routes/TransferSubsidy.test.ts +172 -0
  1000. package/src/internal/routes/TransferSubsidy.ts +447 -0
  1001. package/src/internal/{funding → routes}/TransferWebhook.test.ts +13 -13
  1002. package/src/internal/{funding → routes}/TransferWebhook.ts +7 -7
  1003. package/src/internal/{funding → routes}/index.test.ts +5 -3
  1004. package/src/internal/{funding → routes}/index.ts +2 -0
  1005. package/src/internal/{funding → routes}/providers/across.ts +16 -16
  1006. package/src/internal/{funding → routes}/providers/index.test.ts +157 -44
  1007. package/src/internal/{funding → routes}/providers/relay.test.ts +165 -32
  1008. package/src/internal/{funding → routes}/providers/relay.ts +228 -121
  1009. package/src/internal/{funding → routes}/providers/rhino.ts +16 -16
  1010. package/src/internal/{funding → routes}/providers/squid.ts +17 -17
  1011. package/src/internal/routes/providers/stargate.test.ts +728 -0
  1012. package/src/internal/routes/providers/stargate.ts +1276 -0
  1013. package/src/internal/{funding → routes}/providers/symbiosis.ts +64 -24
  1014. package/src/internal/webhookDestinations/slack.ts +10 -10
  1015. package/src/providers/index.ts +13 -13
  1016. package/src/server.ts +18 -0
  1017. package/dist/apps/funding/Access.d.ts.map +0 -1
  1018. package/dist/apps/funding/Access.js.map +0 -1
  1019. package/dist/apps/funding/App.js.map +0 -1
  1020. package/dist/apps/funding/Inventory.d.ts.map +0 -1
  1021. package/dist/apps/funding/Inventory.js.map +0 -1
  1022. package/dist/apps/funding/ProviderAttempts.d.ts +0 -5
  1023. package/dist/apps/funding/ProviderAttempts.d.ts.map +0 -1
  1024. package/dist/apps/funding/ProviderAttempts.js +0 -24
  1025. package/dist/apps/funding/ProviderAttempts.js.map +0 -1
  1026. package/dist/apps/funding/index.d.ts +0 -2
  1027. package/dist/apps/funding/index.d.ts.map +0 -1
  1028. package/dist/apps/funding/index.js +0 -2
  1029. package/dist/apps/funding/index.js.map +0 -1
  1030. package/dist/apps/funding/routes/chains.d.ts.map +0 -1
  1031. package/dist/apps/funding/routes/chains.js.map +0 -1
  1032. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +0 -1
  1033. package/dist/apps/funding/routes/deposit-addresses.js.map +0 -1
  1034. package/dist/apps/funding/routes/providers.d.ts.map +0 -1
  1035. package/dist/apps/funding/routes/providers.js +0 -57
  1036. package/dist/apps/funding/routes/providers.js.map +0 -1
  1037. package/dist/apps/funding/routes/quotes.d.ts.map +0 -1
  1038. package/dist/apps/funding/routes/quotes.js.map +0 -1
  1039. package/dist/apps/funding/routes/transfers.d.ts.map +0 -1
  1040. package/dist/apps/funding/routes/transfers.js +0 -828
  1041. package/dist/apps/funding/routes/transfers.js.map +0 -1
  1042. package/dist/db/tables/fundingCatalog.d.ts +0 -58
  1043. package/dist/db/tables/fundingCatalog.d.ts.map +0 -1
  1044. package/dist/db/tables/fundingCatalog.js.map +0 -1
  1045. package/dist/db/tables/fundingDepositAddresses.d.ts +0 -192
  1046. package/dist/db/tables/fundingDepositAddresses.d.ts.map +0 -1
  1047. package/dist/db/tables/fundingDepositAddresses.js +0 -235
  1048. package/dist/db/tables/fundingDepositAddresses.js.map +0 -1
  1049. package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +0 -1
  1050. package/dist/db/tables/fundingDepositRequestObservations.js.map +0 -1
  1051. package/dist/db/tables/fundingDeposits.d.ts.map +0 -1
  1052. package/dist/db/tables/fundingDeposits.js +0 -295
  1053. package/dist/db/tables/fundingDeposits.js.map +0 -1
  1054. package/dist/db/tables/fundingIdempotency.d.ts +0 -91
  1055. package/dist/db/tables/fundingIdempotency.d.ts.map +0 -1
  1056. package/dist/db/tables/fundingIdempotency.js +0 -103
  1057. package/dist/db/tables/fundingIdempotency.js.map +0 -1
  1058. package/dist/db/tables/fundingTransferEvents.d.ts.map +0 -1
  1059. package/dist/db/tables/fundingTransferEvents.js.map +0 -1
  1060. package/dist/db/tables/fundingTransferTransactions.d.ts +0 -53
  1061. package/dist/db/tables/fundingTransferTransactions.d.ts.map +0 -1
  1062. package/dist/db/tables/fundingTransferTransactions.js.map +0 -1
  1063. package/dist/db/tables/fundingTransfers.d.ts +0 -99
  1064. package/dist/db/tables/fundingTransfers.d.ts.map +0 -1
  1065. package/dist/db/tables/fundingTransfers.js +0 -110
  1066. package/dist/db/tables/fundingTransfers.js.map +0 -1
  1067. package/dist/internal/funding/Action.d.ts.map +0 -1
  1068. package/dist/internal/funding/Action.js.map +0 -1
  1069. package/dist/internal/funding/Catalog.d.ts.map +0 -1
  1070. package/dist/internal/funding/Catalog.js.map +0 -1
  1071. package/dist/internal/funding/Chain.d.ts.map +0 -1
  1072. package/dist/internal/funding/Chain.js.map +0 -1
  1073. package/dist/internal/funding/Deposit.d.ts.map +0 -1
  1074. package/dist/internal/funding/Deposit.js.map +0 -1
  1075. package/dist/internal/funding/DepositAddress.d.ts.map +0 -1
  1076. package/dist/internal/funding/DepositAddress.js.map +0 -1
  1077. package/dist/internal/funding/DepositWebhook.d.ts.map +0 -1
  1078. package/dist/internal/funding/DepositWebhook.js.map +0 -1
  1079. package/dist/internal/funding/Evidence.d.ts.map +0 -1
  1080. package/dist/internal/funding/Evidence.js.map +0 -1
  1081. package/dist/internal/funding/Provider.d.ts.map +0 -1
  1082. package/dist/internal/funding/Provider.js.map +0 -1
  1083. package/dist/internal/funding/Reconciliation.d.ts.map +0 -1
  1084. package/dist/internal/funding/Reconciliation.js.map +0 -1
  1085. package/dist/internal/funding/Route.d.ts +0 -21
  1086. package/dist/internal/funding/Route.d.ts.map +0 -1
  1087. package/dist/internal/funding/Route.js.map +0 -1
  1088. package/dist/internal/funding/SourceObservation.d.ts.map +0 -1
  1089. package/dist/internal/funding/SourceObservation.js.map +0 -1
  1090. package/dist/internal/funding/Subsidy.d.ts.map +0 -1
  1091. package/dist/internal/funding/Subsidy.js.map +0 -1
  1092. package/dist/internal/funding/Token.d.ts.map +0 -1
  1093. package/dist/internal/funding/Token.js.map +0 -1
  1094. package/dist/internal/funding/Transfer.d.ts.map +0 -1
  1095. package/dist/internal/funding/Transfer.js +0 -462
  1096. package/dist/internal/funding/Transfer.js.map +0 -1
  1097. package/dist/internal/funding/TransferReconciliation.d.ts.map +0 -1
  1098. package/dist/internal/funding/TransferReconciliation.js +0 -192
  1099. package/dist/internal/funding/TransferReconciliation.js.map +0 -1
  1100. package/dist/internal/funding/TransferWebhook.d.ts.map +0 -1
  1101. package/dist/internal/funding/TransferWebhook.js.map +0 -1
  1102. package/dist/internal/funding/index.d.ts.map +0 -1
  1103. package/dist/internal/funding/index.js.map +0 -1
  1104. package/dist/internal/funding/providers/across.d.ts.map +0 -1
  1105. package/dist/internal/funding/providers/across.js.map +0 -1
  1106. package/dist/internal/funding/providers/relay.d.ts.map +0 -1
  1107. package/dist/internal/funding/providers/relay.js.map +0 -1
  1108. package/dist/internal/funding/providers/rhino.d.ts.map +0 -1
  1109. package/dist/internal/funding/providers/rhino.js.map +0 -1
  1110. package/dist/internal/funding/providers/squid.d.ts.map +0 -1
  1111. package/dist/internal/funding/providers/squid.js.map +0 -1
  1112. package/dist/internal/funding/providers/stargate.d.ts.map +0 -1
  1113. package/dist/internal/funding/providers/stargate.js +0 -579
  1114. package/dist/internal/funding/providers/stargate.js.map +0 -1
  1115. package/dist/internal/funding/providers/symbiosis.d.ts.map +0 -1
  1116. package/dist/internal/funding/providers/symbiosis.js.map +0 -1
  1117. package/src/apps/funding/App.test.ts +0 -78
  1118. package/src/apps/funding/App.ts +0 -88
  1119. package/src/apps/funding/ProviderAttempts.ts +0 -26
  1120. package/src/apps/funding/index.ts +0 -1
  1121. package/src/apps/funding/routes/transfers.ts +0 -987
  1122. package/src/db/tables/fundingCatalog.test.ts +0 -122
  1123. package/src/db/tables/fundingCatalog.ts +0 -163
  1124. package/src/db/tables/fundingDepositAddresses.test.ts +0 -608
  1125. package/src/db/tables/fundingDepositAddresses.ts +0 -443
  1126. package/src/db/tables/fundingDeposits.ts +0 -572
  1127. package/src/db/tables/fundingIdempotency.test.ts +0 -182
  1128. package/src/db/tables/fundingIdempotency.ts +0 -180
  1129. package/src/db/tables/fundingTransferTransactions.test.ts +0 -112
  1130. package/src/db/tables/fundingTransfers.test.ts +0 -115
  1131. package/src/db/tables/fundingTransfers.ts +0 -189
  1132. package/src/handlers/internal/multisig.test.ts +0 -818
  1133. package/src/internal/funding/Subsidy.test.ts +0 -75
  1134. package/src/internal/funding/Transfer.test.ts +0 -524
  1135. package/src/internal/funding/Transfer.ts +0 -762
  1136. package/src/internal/funding/TransferReconciliation.test.ts +0 -147
  1137. package/src/internal/funding/TransferReconciliation.ts +0 -264
  1138. package/src/internal/funding/providers/stargate.test.ts +0 -328
  1139. package/src/internal/funding/providers/stargate.ts +0 -856
  1140. /package/dist/apps/{funding → routes}/Inventory.d.ts +0 -0
  1141. /package/src/internal/{funding → routes}/Route.test.ts +0 -0
@@ -1,8 +1,11 @@
1
1
  import { type RequestIdVariables } from 'hono/request-id';
2
- import type { Chain } from 'viem';
2
+ import type { Address, Chain } from 'viem';
3
3
  import type * as Assets from '../Assets.js';
4
4
  import type * as Analytics from '../analytics/Analytics.js';
5
5
  import * as Db from '../db/Db.js';
6
+ import type * as Email from '../internal/Email.js';
7
+ import type * as Metrics from '../Metrics.js';
8
+ import * as RateLimit from '../internal/RateLimit.js';
6
9
  import type * as Store from '../internal/Store.js';
7
10
  import * as Response from '../internal/Response.js';
8
11
  import * as Viem from '../internal/Viem.js';
@@ -22,6 +25,8 @@ export type Environment = {
22
25
  basePath: string;
23
26
  /** Authoritative Postgres store, or a per-request factory. Resolve at the leaf with `Db.get`. */
24
27
  db: Db.Source;
28
+ /** Transactional email sender, when configured. */
29
+ email: Email.Sender | undefined;
25
30
  /** Gets a Tempo RPC client for a chain id. */
26
31
  getClient: Viem.GetClient;
27
32
  /** The admin identity, or `null` when unauthenticated (gated routes reject). */
@@ -30,6 +35,10 @@ export type Environment = {
30
35
  kv: {
31
36
  store: Store.State;
32
37
  };
38
+ /** Shared rate-limit counter used by admin-triggered side effects. */
39
+ rateLimit: RateLimit.Store | undefined;
40
+ /** Bounded operational metrics backend. */
41
+ metrics: Metrics.Metrics | undefined;
33
42
  /** Zone chains available to admin routes. */
34
43
  zones: readonly Chain[];
35
44
  };
@@ -53,6 +62,195 @@ export declare function create(options: create.Options): import("hono/hono-base"
53
62
  };
54
63
  };
55
64
  }, "/scopes"> | import("hono/types").MergeSchemaPath<{
65
+ "/": {
66
+ $get: {
67
+ output: {
68
+ data: {
69
+ depositAddressProviders: string[];
70
+ destinationChain: {
71
+ id: string;
72
+ name: string;
73
+ slug: string;
74
+ };
75
+ destinationToken: {
76
+ id: string;
77
+ name: string;
78
+ symbol: string;
79
+ };
80
+ id: string;
81
+ quoteProviders: string[];
82
+ sourceChain: {
83
+ id: string;
84
+ name: string;
85
+ slug: string;
86
+ };
87
+ sourceToken: {
88
+ id: string;
89
+ name: string;
90
+ symbol: string;
91
+ };
92
+ subsidies: {
93
+ depositAddress: boolean;
94
+ walletTransfer: boolean;
95
+ };
96
+ walletTransferProviders: {
97
+ modes: ('exactDestination' | 'exactSource')[];
98
+ providerId: string;
99
+ }[];
100
+ }[];
101
+ updatedAt: string;
102
+ };
103
+ outputFormat: "json";
104
+ status: import("hono/utils/http-status").ContentfulStatusCode;
105
+ input: {};
106
+ };
107
+ };
108
+ }, "/routes/support"> | import("hono/types").MergeSchemaPath<{
109
+ "/transactions": {
110
+ $get: {
111
+ output: {
112
+ data: {
113
+ organization: {
114
+ id: string;
115
+ name: string | null;
116
+ };
117
+ project: {
118
+ id: string;
119
+ name: string | null;
120
+ } | null;
121
+ apiKeyId: string;
122
+ billable: boolean;
123
+ chainId: number;
124
+ createdAt: string;
125
+ environment: "production" | "sandbox";
126
+ feeAmount: {
127
+ baseUnits: string;
128
+ currency: string;
129
+ decimals: number;
130
+ formatted: string;
131
+ } | null;
132
+ feeMaximum: {
133
+ baseUnits: string;
134
+ currency: string;
135
+ decimals: number;
136
+ formatted: string;
137
+ } | null;
138
+ feeToken: string | null;
139
+ finalizedAt: string | null;
140
+ id: string;
141
+ meterReportedAt: string | null;
142
+ sponsorshipAttributionId: string | null;
143
+ status: "failed" | "finalized" | "pending";
144
+ subsidizerAccount: `0x${string}` | null;
145
+ transactionHash: string | null;
146
+ }[];
147
+ nextCursor: string | null;
148
+ };
149
+ outputFormat: "json";
150
+ status: 200;
151
+ input: {
152
+ query?: {
153
+ cursor?: string | string[];
154
+ limit?: string | string[];
155
+ } | undefined;
156
+ };
157
+ };
158
+ };
159
+ } & {
160
+ "/routes": {
161
+ $get: {
162
+ output: {
163
+ data: {
164
+ organization: {
165
+ id: string;
166
+ name: string | null;
167
+ };
168
+ project: {
169
+ id: string;
170
+ name: string | null;
171
+ } | null;
172
+ createdAt: string;
173
+ destinationChain: {
174
+ addressFormat: "base58" | "base58check" | "hex";
175
+ id: string;
176
+ kind: "evm" | "solana" | "tron";
177
+ name: string;
178
+ };
179
+ destinationToken: {
180
+ address: string;
181
+ currency: string;
182
+ decimals: number;
183
+ name: string;
184
+ standard: string;
185
+ symbol: string;
186
+ tokenKey: string;
187
+ verified: boolean;
188
+ };
189
+ direction: "inbound" | "outbound";
190
+ environment: "production" | "sandbox";
191
+ id: string;
192
+ meterReportedAt: string | null;
193
+ provider: {
194
+ id: string;
195
+ name: string;
196
+ };
197
+ recipient: `0x${string}`;
198
+ sourceChain: {
199
+ addressFormat: "base58" | "base58check" | "hex";
200
+ id: string;
201
+ kind: "evm" | "solana" | "tron";
202
+ name: string;
203
+ };
204
+ sourceToken: {
205
+ address: string;
206
+ currency: string;
207
+ decimals: number;
208
+ name: string;
209
+ standard: string;
210
+ symbol: string;
211
+ tokenKey: string;
212
+ verified: boolean;
213
+ };
214
+ status: "action-required" | "awaiting-source" | "bridging" | "completed" | "detected" | "expired" | "processing" | "refunded" | "refunding" | "settling";
215
+ subsidies: readonly {
216
+ amount: {
217
+ baseUnits: string;
218
+ currency: string;
219
+ decimals: number;
220
+ formatted: string;
221
+ };
222
+ provider: string;
223
+ token: {
224
+ address: string;
225
+ currency: string;
226
+ decimals: number;
227
+ name: string;
228
+ standard: string;
229
+ symbol: string;
230
+ tokenKey: string;
231
+ verified: boolean;
232
+ };
233
+ }[];
234
+ subsidizerAccount: `0x${string}` | null;
235
+ subsidyTransaction: {
236
+ chainId: string;
237
+ transactionRef: string;
238
+ } | null;
239
+ updatedAt: string;
240
+ }[];
241
+ nextCursor: string | null;
242
+ };
243
+ outputFormat: "json";
244
+ status: 200;
245
+ input: {
246
+ query?: {
247
+ cursor?: string | string[];
248
+ limit?: string | string[];
249
+ } | undefined;
250
+ };
251
+ };
252
+ };
253
+ }, "/subsidies"> | import("hono/types").MergeSchemaPath<{
56
254
  "/": {
57
255
  $get: {
58
256
  output: {
@@ -138,8 +336,20 @@ export declare function create(options: create.Options): import("hono/hono-base"
138
336
  };
139
337
  };
140
338
  }, "/early-access"> | import("hono/types").MergeSchemaPath<{
339
+ "/backfill": {
340
+ $post: {
341
+ output: {
342
+ indexed: number;
343
+ scanned: number;
344
+ };
345
+ outputFormat: "json";
346
+ status: import("hono/utils/http-status").ContentfulStatusCode;
347
+ input: {};
348
+ };
349
+ };
350
+ } & {
141
351
  "/": {
142
- $get: {
352
+ $post: {
143
353
  output: {
144
354
  error: {
145
355
  code: "upstream_error";
@@ -151,26 +361,1476 @@ export declare function create(options: create.Options): import("hono/hono-base"
151
361
  outputFormat: "json";
152
362
  status: 502;
153
363
  input: {
154
- query?: {
155
- asset?: string | string[];
156
- capability?: string | string[];
157
- chainId?: string | string[];
158
- cursor?: string | string[];
159
- 'engine.type'?: string | string[];
160
- limit?: string | string[];
161
- include?: string | string[];
364
+ json: {
365
+ allowedIps?: readonly string[] | undefined;
366
+ billingActive?: boolean | undefined;
367
+ environment?: "production" | "sandbox" | undefined;
368
+ projectId?: string | undefined;
369
+ rateLimits?: Record<string, {
370
+ limit: number;
371
+ period: "minute" | "second";
372
+ }> | undefined;
373
+ orgId?: string | undefined;
374
+ expiresAt?: string | undefined;
375
+ name: string;
376
+ scopes: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[];
377
+ };
378
+ };
379
+ } | {
380
+ output: {
381
+ error: {
382
+ code: "not_found";
383
+ details?: readonly Response.error.Detail[] | undefined;
384
+ message: string;
385
+ };
386
+ requestId: string;
387
+ };
388
+ outputFormat: "json";
389
+ status: 404;
390
+ input: {
391
+ json: {
392
+ allowedIps?: readonly string[] | undefined;
393
+ billingActive?: boolean | undefined;
394
+ environment?: "production" | "sandbox" | undefined;
395
+ projectId?: string | undefined;
396
+ rateLimits?: Record<string, {
397
+ limit: number;
398
+ period: "minute" | "second";
399
+ }> | undefined;
400
+ orgId?: string | undefined;
401
+ expiresAt?: string | undefined;
402
+ name: string;
403
+ scopes: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[];
404
+ };
405
+ };
406
+ } | {
407
+ output: {
408
+ allowedIps: readonly string[];
409
+ billingActive?: boolean | undefined;
410
+ environment: "production" | "sandbox";
411
+ id: string;
412
+ name?: string | undefined;
413
+ orgId: string;
414
+ projectId?: string | undefined;
415
+ rateLimits?: {
416
+ [x: string]: {
417
+ limit: number;
418
+ period: "minute" | "second";
419
+ };
162
420
  } | undefined;
421
+ scopes: readonly string[];
422
+ createdAt: string;
423
+ createdBy?: string | undefined;
424
+ expiresAt?: string | undefined;
425
+ tokenLast4: string;
426
+ token: string;
427
+ };
428
+ outputFormat: "json";
429
+ status: import("hono/utils/http-status").ContentfulStatusCode;
430
+ input: {
431
+ json: {
432
+ allowedIps?: readonly string[] | undefined;
433
+ billingActive?: boolean | undefined;
434
+ environment?: "production" | "sandbox" | undefined;
435
+ projectId?: string | undefined;
436
+ rateLimits?: Record<string, {
437
+ limit: number;
438
+ period: "minute" | "second";
439
+ }> | undefined;
440
+ orgId?: string | undefined;
441
+ expiresAt?: string | undefined;
442
+ name: string;
443
+ scopes: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[];
444
+ };
163
445
  };
164
446
  } | {
447
+ output: {
448
+ error: {
449
+ code: "api_key_limit_reached";
450
+ details?: readonly Response.error.Detail[] | undefined;
451
+ message: string;
452
+ };
453
+ requestId: string;
454
+ };
455
+ outputFormat: "json";
456
+ status: 409;
457
+ input: {
458
+ json: {
459
+ allowedIps?: readonly string[] | undefined;
460
+ billingActive?: boolean | undefined;
461
+ environment?: "production" | "sandbox" | undefined;
462
+ projectId?: string | undefined;
463
+ rateLimits?: Record<string, {
464
+ limit: number;
465
+ period: "minute" | "second";
466
+ }> | undefined;
467
+ orgId?: string | undefined;
468
+ expiresAt?: string | undefined;
469
+ name: string;
470
+ scopes: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[];
471
+ };
472
+ };
473
+ };
474
+ };
475
+ } & {
476
+ "/": {
477
+ $get: {
165
478
  output: {
166
479
  data: {
167
- access?: {
168
- status: "allowlisted" | "open";
480
+ allowedIps: readonly string[];
481
+ billingActive?: boolean | undefined;
482
+ environment: "production" | "sandbox";
483
+ id: string;
484
+ name?: string | undefined;
485
+ orgId: string;
486
+ projectId?: string | undefined;
487
+ rateLimits?: {
488
+ [x: string]: {
489
+ limit: number;
490
+ period: "minute" | "second";
491
+ };
169
492
  } | undefined;
170
- apy?: {
171
- asOf: string;
172
- methodology: "share-price-growth-annualized:v1";
493
+ scopes: readonly string[];
494
+ createdAt: string;
495
+ createdBy?: string | undefined;
496
+ expiresAt?: string | undefined;
497
+ tokenLast4: string;
498
+ createdByLabel: string | null;
499
+ organizationName: string | null;
500
+ projectName: string | null;
501
+ }[];
502
+ };
503
+ outputFormat: "json";
504
+ status: import("hono/utils/http-status").ContentfulStatusCode;
505
+ input: {
506
+ query?: {
507
+ orgId?: string | string[];
508
+ } | undefined;
509
+ };
510
+ };
511
+ };
512
+ } & {
513
+ "/:id": {
514
+ $delete: {
515
+ output: {
516
+ error: {
517
+ code: "not_found";
518
+ details?: readonly Response.error.Detail[] | undefined;
519
+ message: string;
520
+ };
521
+ requestId: string;
522
+ };
523
+ outputFormat: "json";
524
+ status: 404;
525
+ input: {
526
+ param: {
527
+ id: string;
528
+ };
529
+ };
530
+ } | {
531
+ output: {
532
+ id: string;
533
+ };
534
+ outputFormat: "json";
535
+ status: import("hono/utils/http-status").ContentfulStatusCode;
536
+ input: {
537
+ param: {
538
+ id: string;
539
+ };
540
+ };
541
+ };
542
+ };
543
+ } & {
544
+ "/:id/rotate": {
545
+ $post: {
546
+ output: {
547
+ error: {
548
+ code: "upstream_error";
549
+ details?: readonly Response.error.Detail[] | undefined;
550
+ message: string;
551
+ };
552
+ requestId: string;
553
+ };
554
+ outputFormat: "json";
555
+ status: 502;
556
+ input: {
557
+ param: {
558
+ id: string;
559
+ };
560
+ };
561
+ } | {
562
+ output: {
563
+ error: {
564
+ code: "not_found";
565
+ details?: readonly Response.error.Detail[] | undefined;
566
+ message: string;
567
+ };
568
+ requestId: string;
569
+ };
570
+ outputFormat: "json";
571
+ status: 404;
572
+ input: {
573
+ param: {
574
+ id: string;
575
+ };
576
+ };
577
+ } | {
578
+ output: {
579
+ allowedIps: readonly string[];
580
+ billingActive?: boolean | undefined;
581
+ environment: "production" | "sandbox";
582
+ id: string;
583
+ name?: string | undefined;
584
+ orgId: string;
585
+ projectId?: string | undefined;
586
+ rateLimits?: {
587
+ [x: string]: {
588
+ limit: number;
589
+ period: "minute" | "second";
590
+ };
591
+ } | undefined;
592
+ scopes: readonly string[];
593
+ createdAt: string;
594
+ createdBy?: string | undefined;
595
+ expiresAt?: string | undefined;
596
+ tokenLast4: string;
597
+ token: string;
598
+ };
599
+ outputFormat: "json";
600
+ status: 200;
601
+ input: {
602
+ param: {
603
+ id: string;
604
+ };
605
+ };
606
+ } | {
607
+ output: {
608
+ error: {
609
+ code: "api_key_limit_reached";
610
+ details?: readonly Response.error.Detail[] | undefined;
611
+ message: string;
612
+ };
613
+ requestId: string;
614
+ };
615
+ outputFormat: "json";
616
+ status: 409;
617
+ input: {
618
+ param: {
619
+ id: string;
620
+ };
621
+ };
622
+ };
623
+ };
624
+ } & {
625
+ "/:id": {
626
+ $patch: {
627
+ output: {
628
+ error: {
629
+ code: "upstream_error";
630
+ details?: readonly Response.error.Detail[] | undefined;
631
+ message: string;
632
+ };
633
+ requestId: string;
634
+ };
635
+ outputFormat: "json";
636
+ status: 502;
637
+ input: {
638
+ param: {
639
+ id: string;
640
+ };
641
+ } & {
642
+ json: {
643
+ allowedIps?: readonly string[] | undefined;
644
+ name?: string | undefined;
645
+ orgId?: string | undefined;
646
+ projectId?: string | undefined;
647
+ rateLimits?: Record<string, {
648
+ limit: number;
649
+ period: "minute" | "second";
650
+ }> | undefined;
651
+ scopes?: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[] | undefined;
652
+ };
653
+ };
654
+ } | {
655
+ output: {
656
+ error: {
657
+ code: "not_found";
658
+ details?: readonly Response.error.Detail[] | undefined;
659
+ message: string;
660
+ };
661
+ requestId: string;
662
+ };
663
+ outputFormat: "json";
664
+ status: 404;
665
+ input: {
666
+ param: {
667
+ id: string;
668
+ };
669
+ } & {
670
+ json: {
671
+ allowedIps?: readonly string[] | undefined;
672
+ name?: string | undefined;
673
+ orgId?: string | undefined;
674
+ projectId?: string | undefined;
675
+ rateLimits?: Record<string, {
676
+ limit: number;
677
+ period: "minute" | "second";
678
+ }> | undefined;
679
+ scopes?: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[] | undefined;
680
+ };
681
+ };
682
+ } | {
683
+ output: {
684
+ error: {
685
+ code: "api_key_limit_reached";
686
+ details?: readonly Response.error.Detail[] | undefined;
687
+ message: string;
688
+ };
689
+ requestId: string;
690
+ };
691
+ outputFormat: "json";
692
+ status: 409;
693
+ input: {
694
+ param: {
695
+ id: string;
696
+ };
697
+ } & {
698
+ json: {
699
+ allowedIps?: readonly string[] | undefined;
700
+ name?: string | undefined;
701
+ orgId?: string | undefined;
702
+ projectId?: string | undefined;
703
+ rateLimits?: Record<string, {
704
+ limit: number;
705
+ period: "minute" | "second";
706
+ }> | undefined;
707
+ scopes?: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[] | undefined;
708
+ };
709
+ };
710
+ } | {
711
+ output: {
712
+ error: {
713
+ code: "project_organization_mismatch";
714
+ details?: readonly Response.error.Detail[] | undefined;
715
+ message: string;
716
+ };
717
+ requestId: string;
718
+ };
719
+ outputFormat: "json";
720
+ status: 409;
721
+ input: {
722
+ param: {
723
+ id: string;
724
+ };
725
+ } & {
726
+ json: {
727
+ allowedIps?: readonly string[] | undefined;
728
+ name?: string | undefined;
729
+ orgId?: string | undefined;
730
+ projectId?: string | undefined;
731
+ rateLimits?: Record<string, {
732
+ limit: number;
733
+ period: "minute" | "second";
734
+ }> | undefined;
735
+ scopes?: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[] | undefined;
736
+ };
737
+ };
738
+ } | {
739
+ output: {
740
+ allowedIps: readonly string[];
741
+ billingActive?: boolean | undefined;
742
+ environment: "production" | "sandbox";
743
+ id: string;
744
+ name?: string | undefined;
745
+ orgId: string;
746
+ projectId?: string | undefined;
747
+ rateLimits?: {
748
+ [x: string]: {
749
+ limit: number;
750
+ period: "minute" | "second";
751
+ };
752
+ } | undefined;
753
+ scopes: readonly string[];
754
+ createdAt: string;
755
+ createdBy?: string | undefined;
756
+ expiresAt?: string | undefined;
757
+ tokenLast4: string;
758
+ };
759
+ outputFormat: "json";
760
+ status: import("hono/utils/http-status").ContentfulStatusCode;
761
+ input: {
762
+ param: {
763
+ id: string;
764
+ };
765
+ } & {
766
+ json: {
767
+ allowedIps?: readonly string[] | undefined;
768
+ name?: string | undefined;
769
+ orgId?: string | undefined;
770
+ projectId?: string | undefined;
771
+ rateLimits?: Record<string, {
772
+ limit: number;
773
+ period: "minute" | "second";
774
+ }> | undefined;
775
+ scopes?: readonly ("*" | "data:read" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rewards:read" | "rewards:write" | "routes:read" | "routes:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[] | undefined;
776
+ };
777
+ };
778
+ };
779
+ };
780
+ }, "/api-keys"> | import("hono/types").MergeSchemaPath<{
781
+ "/summary": {
782
+ $get: {
783
+ output: {
784
+ actionRequired: number;
785
+ inProgress: number;
786
+ oldestActiveAt: string | null;
787
+ resources: {
788
+ depositAddresses: {
789
+ actionRequired: number;
790
+ inProgress: number;
791
+ oldestActiveAt: string | null;
792
+ };
793
+ deposits: {
794
+ actionRequired: number;
795
+ inProgress: number;
796
+ oldestActiveAt: string | null;
797
+ };
798
+ transfers: {
799
+ actionRequired: number;
800
+ inProgress: number;
801
+ oldestActiveAt: string | null;
802
+ };
803
+ };
804
+ };
805
+ outputFormat: "json";
806
+ status: 200;
807
+ input: {
808
+ query?: {
809
+ environment?: string | string[];
810
+ orgId?: string | string[];
811
+ projectId?: string | string[];
812
+ provider?: string | string[];
813
+ sourceChain?: string | string[];
814
+ method?: string | string[];
815
+ } | undefined;
816
+ };
817
+ };
818
+ };
819
+ } & {
820
+ "/transfers": {
821
+ $get: {
822
+ output: {
823
+ data: {
824
+ createdAt: string;
825
+ destinationAmount?: {
826
+ baseUnits: string;
827
+ currency: string;
828
+ decimals: number;
829
+ formatted: string;
830
+ } | undefined;
831
+ destinationAmountMin?: {
832
+ baseUnits: string;
833
+ currency: string;
834
+ decimals: number;
835
+ formatted: string;
836
+ } | undefined;
837
+ destinationAmountRequired?: {
838
+ baseUnits: string;
839
+ currency: string;
840
+ decimals: number;
841
+ formatted: string;
842
+ } | undefined;
843
+ destinationChain: {
844
+ addressFormat: "base58" | "base58check" | "hex";
845
+ id: string;
846
+ kind: "evm" | "solana" | "tron";
847
+ name: string;
848
+ };
849
+ destinationToken: {
850
+ address: string;
851
+ currency: string;
852
+ decimals: number;
853
+ name: string;
854
+ standard: string;
855
+ symbol: string;
856
+ tokenKey: string;
857
+ verified: boolean;
858
+ };
859
+ destinationTransactionHashes?: string[] | undefined;
860
+ fees: {
861
+ amount: {
862
+ baseUnits: string;
863
+ currency: string;
864
+ decimals: number;
865
+ formatted: string;
866
+ };
867
+ side: "destination" | "source";
868
+ token: {
869
+ address: string;
870
+ currency: string;
871
+ decimals: number;
872
+ name: string;
873
+ standard: string;
874
+ symbol: string;
875
+ tokenKey: string;
876
+ verified: boolean;
877
+ };
878
+ type: "provider";
879
+ }[];
880
+ id: string;
881
+ method: "depositAddress" | "transaction";
882
+ mode: "exactDestination" | "exactSource";
883
+ provider: {
884
+ id: string;
885
+ name: string;
886
+ };
887
+ quote: {
888
+ expiresAt: string;
889
+ sampledAt: string;
890
+ };
891
+ recipient: string;
892
+ refundAddress?: string | undefined;
893
+ refundAmount?: {
894
+ baseUnits: string;
895
+ currency: string;
896
+ decimals: number;
897
+ formatted: string;
898
+ } | undefined;
899
+ refundTransactionHashes?: string[] | undefined;
900
+ sender?: string | undefined;
901
+ sourceAmount: {
902
+ baseUnits: string;
903
+ currency: string;
904
+ decimals: number;
905
+ formatted: string;
906
+ };
907
+ sourceAmountMax?: {
908
+ baseUnits: string;
909
+ currency: string;
910
+ decimals: number;
911
+ formatted: string;
912
+ } | undefined;
913
+ sourceChain: {
914
+ addressFormat: "base58" | "base58check" | "hex";
915
+ id: string;
916
+ kind: "evm" | "solana" | "tron";
917
+ name: string;
918
+ };
919
+ sourceToken: {
920
+ address: string;
921
+ currency: string;
922
+ decimals: number;
923
+ name: string;
924
+ standard: string;
925
+ symbol: string;
926
+ tokenKey: string;
927
+ verified: boolean;
928
+ };
929
+ sourceTransactionHashes?: string[] | undefined;
930
+ subsidize: boolean;
931
+ status: "action-required" | "awaiting-source" | "completed" | "expired" | "processing" | "refunded" | "refunding";
932
+ statusReason?: {
933
+ code: "billing_past_due" | "billing_required" | "destination_amount_below_minimum" | "destination_recovered" | "manual_recovery_required" | "refund_failed" | "routes_subsidy_limit_exceeded" | "routes_subsidy_not_enabled" | "source_amount_above_maximum" | "source_amount_below_minimum" | "source_chain_mismatch" | "source_token_mismatch" | "subsidy_balance_unavailable" | "subsidy_failed";
934
+ message: string;
935
+ } | undefined;
936
+ updatedAt: string;
937
+ version: number;
938
+ environment: "production" | "sandbox";
939
+ organization: {
940
+ id: string;
941
+ name: string | null;
942
+ };
943
+ project: {
944
+ id: string;
945
+ name: string | null;
946
+ } | null;
947
+ statusUpdatedAt: string | null;
948
+ subsidies: readonly {
949
+ amount: {
950
+ baseUnits: string;
951
+ currency: string;
952
+ decimals: number;
953
+ formatted: string;
954
+ };
955
+ provider: string;
956
+ token: {
957
+ address: string;
958
+ currency: string;
959
+ decimals: number;
960
+ name: string;
961
+ standard: string;
962
+ symbol: string;
963
+ tokenKey: string;
964
+ verified: boolean;
965
+ };
966
+ }[];
967
+ }[];
968
+ nextCursor: string | null;
969
+ };
970
+ outputFormat: "json";
971
+ status: 200;
972
+ input: {
973
+ query?: {
974
+ environment?: string | string[];
975
+ orgId?: string | string[];
976
+ projectId?: string | string[];
977
+ provider?: string | string[];
978
+ sourceChain?: string | string[];
979
+ cursor?: string | string[];
980
+ inProgress?: string | string[];
981
+ limit?: string | string[];
982
+ method?: string | string[];
983
+ needsAttention?: string | string[];
984
+ query?: string | string[];
985
+ status?: string | string[];
986
+ } | undefined;
987
+ };
988
+ };
989
+ };
990
+ } & {
991
+ "/transfers/:id": {
992
+ $get: {
993
+ output: {
994
+ error: {
995
+ code: "routes_transfer_not_found";
996
+ details?: readonly Response.error.Detail[] | undefined;
997
+ message: string;
998
+ };
999
+ requestId: string;
1000
+ };
1001
+ outputFormat: "json";
1002
+ status: 404;
1003
+ input: {
1004
+ param: {
1005
+ id: string;
1006
+ };
1007
+ };
1008
+ } | {
1009
+ output: {
1010
+ createdAt: string;
1011
+ destinationAmount?: {
1012
+ baseUnits: string;
1013
+ currency: string;
1014
+ decimals: number;
1015
+ formatted: string;
1016
+ } | undefined;
1017
+ destinationAmountMin?: {
1018
+ baseUnits: string;
1019
+ currency: string;
1020
+ decimals: number;
1021
+ formatted: string;
1022
+ } | undefined;
1023
+ destinationAmountRequired?: {
1024
+ baseUnits: string;
1025
+ currency: string;
1026
+ decimals: number;
1027
+ formatted: string;
1028
+ } | undefined;
1029
+ destinationChain: {
1030
+ addressFormat: "base58" | "base58check" | "hex";
1031
+ id: string;
1032
+ kind: "evm" | "solana" | "tron";
1033
+ name: string;
1034
+ };
1035
+ destinationToken: {
1036
+ address: string;
1037
+ currency: string;
1038
+ decimals: number;
1039
+ name: string;
1040
+ standard: string;
1041
+ symbol: string;
1042
+ tokenKey: string;
1043
+ verified: boolean;
1044
+ };
1045
+ destinationTransactionHashes?: string[] | undefined;
1046
+ fees: {
1047
+ amount: {
1048
+ baseUnits: string;
1049
+ currency: string;
1050
+ decimals: number;
1051
+ formatted: string;
1052
+ };
1053
+ side: "destination" | "source";
1054
+ token: {
1055
+ address: string;
1056
+ currency: string;
1057
+ decimals: number;
1058
+ name: string;
1059
+ standard: string;
1060
+ symbol: string;
1061
+ tokenKey: string;
1062
+ verified: boolean;
1063
+ };
1064
+ type: "provider";
1065
+ }[];
1066
+ id: string;
1067
+ method: "depositAddress" | "transaction";
1068
+ mode: "exactDestination" | "exactSource";
1069
+ provider: {
1070
+ id: string;
1071
+ name: string;
1072
+ };
1073
+ quote: {
1074
+ expiresAt: string;
1075
+ sampledAt: string;
1076
+ };
1077
+ recipient: string;
1078
+ refundAddress?: string | undefined;
1079
+ refundAmount?: {
1080
+ baseUnits: string;
1081
+ currency: string;
1082
+ decimals: number;
1083
+ formatted: string;
1084
+ } | undefined;
1085
+ refundTransactionHashes?: string[] | undefined;
1086
+ sender?: string | undefined;
1087
+ sourceAmount: {
1088
+ baseUnits: string;
1089
+ currency: string;
1090
+ decimals: number;
1091
+ formatted: string;
1092
+ };
1093
+ sourceAmountMax?: {
1094
+ baseUnits: string;
1095
+ currency: string;
1096
+ decimals: number;
1097
+ formatted: string;
1098
+ } | undefined;
1099
+ sourceChain: {
1100
+ addressFormat: "base58" | "base58check" | "hex";
1101
+ id: string;
1102
+ kind: "evm" | "solana" | "tron";
1103
+ name: string;
1104
+ };
1105
+ sourceToken: {
1106
+ address: string;
1107
+ currency: string;
1108
+ decimals: number;
1109
+ name: string;
1110
+ standard: string;
1111
+ symbol: string;
1112
+ tokenKey: string;
1113
+ verified: boolean;
1114
+ };
1115
+ sourceTransactionHashes?: string[] | undefined;
1116
+ subsidize: boolean;
1117
+ status: "action-required" | "awaiting-source" | "completed" | "expired" | "processing" | "refunded" | "refunding";
1118
+ statusReason?: {
1119
+ code: "billing_past_due" | "billing_required" | "destination_amount_below_minimum" | "destination_recovered" | "manual_recovery_required" | "refund_failed" | "routes_subsidy_limit_exceeded" | "routes_subsidy_not_enabled" | "source_amount_above_maximum" | "source_amount_below_minimum" | "source_chain_mismatch" | "source_token_mismatch" | "subsidy_balance_unavailable" | "subsidy_failed";
1120
+ message: string;
1121
+ } | undefined;
1122
+ updatedAt: string;
1123
+ version: number;
1124
+ environment: "production" | "sandbox";
1125
+ organization: {
1126
+ id: string;
1127
+ name: string | null;
1128
+ };
1129
+ project: {
1130
+ id: string;
1131
+ name: string | null;
1132
+ } | null;
1133
+ statusUpdatedAt: string | null;
1134
+ subsidies: readonly {
1135
+ amount: {
1136
+ baseUnits: string;
1137
+ currency: string;
1138
+ decimals: number;
1139
+ formatted: string;
1140
+ };
1141
+ provider: string;
1142
+ token: {
1143
+ address: string;
1144
+ currency: string;
1145
+ decimals: number;
1146
+ name: string;
1147
+ standard: string;
1148
+ symbol: string;
1149
+ tokenKey: string;
1150
+ verified: boolean;
1151
+ };
1152
+ }[];
1153
+ events: {
1154
+ createdAt: string;
1155
+ status: "action-required" | "awaiting-source" | "completed" | "expired" | "processing" | "refunded" | "refunding";
1156
+ statusReason?: {
1157
+ code: "billing_past_due" | "billing_required" | "destination_amount_below_minimum" | "destination_recovered" | "manual_recovery_required" | "refund_failed" | "routes_subsidy_limit_exceeded" | "routes_subsidy_not_enabled" | "source_amount_above_maximum" | "source_amount_below_minimum" | "source_chain_mismatch" | "source_token_mismatch" | "subsidy_balance_unavailable" | "subsidy_failed";
1158
+ message: string;
1159
+ } | undefined;
1160
+ version: number;
1161
+ }[];
1162
+ transactions: {
1163
+ chainId: string;
1164
+ createdAt: string;
1165
+ role: "destination" | "refund" | "source";
1166
+ transactionRef: string;
1167
+ }[];
1168
+ };
1169
+ outputFormat: "json";
1170
+ status: 200;
1171
+ input: {
1172
+ param: {
1173
+ id: string;
1174
+ };
1175
+ };
1176
+ };
1177
+ };
1178
+ } & {
1179
+ "/deposit-addresses": {
1180
+ $get: {
1181
+ output: {
1182
+ data: {
1183
+ address: string;
1184
+ createdAt: string;
1185
+ destinationChain: {
1186
+ addressFormat: "base58" | "base58check" | "hex";
1187
+ id: string;
1188
+ kind: "evm" | "solana" | "tron";
1189
+ name: string;
1190
+ };
1191
+ destinationToken: {
1192
+ address: string;
1193
+ currency: string;
1194
+ decimals: number;
1195
+ name: string;
1196
+ standard: string;
1197
+ symbol: string;
1198
+ tokenKey: string;
1199
+ verified: boolean;
1200
+ };
1201
+ id: string;
1202
+ provider: {
1203
+ id: string;
1204
+ name: string;
1205
+ };
1206
+ recipient: string;
1207
+ refundAddress: string;
1208
+ sourceChain: {
1209
+ addressFormat: "base58" | "base58check" | "hex";
1210
+ id: string;
1211
+ kind: "evm" | "solana" | "tron";
1212
+ name: string;
1213
+ };
1214
+ sourceToken: {
1215
+ address: string;
1216
+ currency: string;
1217
+ decimals: number;
1218
+ name: string;
1219
+ standard: string;
1220
+ symbol: string;
1221
+ tokenKey: string;
1222
+ verified: boolean;
1223
+ };
1224
+ subsidize: boolean;
1225
+ updatedAt: string;
1226
+ environment: "production" | "sandbox";
1227
+ organization: {
1228
+ id: string;
1229
+ name: string | null;
1230
+ };
1231
+ project: {
1232
+ id: string;
1233
+ name: string | null;
1234
+ } | null;
1235
+ statusUpdatedAt: string | null;
1236
+ consecutivePollFailures: number;
1237
+ deliveryStrategy: "provider" | "tempo";
1238
+ lastPolledAt: string | null;
1239
+ nextPollAt: string;
1240
+ pollLeaseUntil: string | null;
1241
+ providerOutputToken: {
1242
+ address: string;
1243
+ currency: string;
1244
+ decimals: number;
1245
+ name: string;
1246
+ standard: string;
1247
+ symbol: string;
1248
+ tokenKey: string;
1249
+ verified: boolean;
1250
+ };
1251
+ providerRequestIds: readonly string[];
1252
+ status: "action-required" | "active" | "deactivated";
1253
+ version: number;
1254
+ }[];
1255
+ nextCursor: string | null;
1256
+ };
1257
+ outputFormat: "json";
1258
+ status: 200;
1259
+ input: {
1260
+ query?: {
1261
+ environment?: string | string[];
1262
+ orgId?: string | string[];
1263
+ projectId?: string | string[];
1264
+ provider?: string | string[];
1265
+ sourceChain?: string | string[];
1266
+ cursor?: string | string[];
1267
+ inProgress?: string | string[];
1268
+ limit?: string | string[];
1269
+ needsAttention?: string | string[];
1270
+ query?: string | string[];
1271
+ status?: string | string[];
1272
+ } | undefined;
1273
+ };
1274
+ };
1275
+ };
1276
+ } & {
1277
+ "/deposit-addresses/:id": {
1278
+ $get: {
1279
+ output: {
1280
+ error: {
1281
+ code: "routes_deposit_address_not_found";
1282
+ details?: readonly Response.error.Detail[] | undefined;
1283
+ message: string;
1284
+ };
1285
+ requestId: string;
1286
+ };
1287
+ outputFormat: "json";
1288
+ status: 404;
1289
+ input: {
1290
+ param: {
1291
+ id: string;
1292
+ };
1293
+ };
1294
+ } | {
1295
+ output: {
1296
+ address: string;
1297
+ createdAt: string;
1298
+ destinationChain: {
1299
+ addressFormat: "base58" | "base58check" | "hex";
1300
+ id: string;
1301
+ kind: "evm" | "solana" | "tron";
1302
+ name: string;
1303
+ };
1304
+ destinationToken: {
1305
+ address: string;
1306
+ currency: string;
1307
+ decimals: number;
1308
+ name: string;
1309
+ standard: string;
1310
+ symbol: string;
1311
+ tokenKey: string;
1312
+ verified: boolean;
1313
+ };
1314
+ id: string;
1315
+ provider: {
1316
+ id: string;
1317
+ name: string;
1318
+ };
1319
+ recipient: string;
1320
+ refundAddress: string;
1321
+ sourceChain: {
1322
+ addressFormat: "base58" | "base58check" | "hex";
1323
+ id: string;
1324
+ kind: "evm" | "solana" | "tron";
1325
+ name: string;
1326
+ };
1327
+ sourceToken: {
1328
+ address: string;
1329
+ currency: string;
1330
+ decimals: number;
1331
+ name: string;
1332
+ standard: string;
1333
+ symbol: string;
1334
+ tokenKey: string;
1335
+ verified: boolean;
1336
+ };
1337
+ subsidize: boolean;
1338
+ updatedAt: string;
1339
+ environment: "production" | "sandbox";
1340
+ organization: {
1341
+ id: string;
1342
+ name: string | null;
1343
+ };
1344
+ project: {
1345
+ id: string;
1346
+ name: string | null;
1347
+ } | null;
1348
+ statusUpdatedAt: string | null;
1349
+ consecutivePollFailures: number;
1350
+ deliveryStrategy: "provider" | "tempo";
1351
+ lastPolledAt: string | null;
1352
+ nextPollAt: string;
1353
+ pollLeaseUntil: string | null;
1354
+ providerOutputToken: {
1355
+ address: string;
1356
+ currency: string;
1357
+ decimals: number;
1358
+ name: string;
1359
+ standard: string;
1360
+ symbol: string;
1361
+ tokenKey: string;
1362
+ verified: boolean;
1363
+ };
1364
+ providerRequestIds: readonly string[];
1365
+ status: "action-required" | "active" | "deactivated";
1366
+ version: number;
1367
+ };
1368
+ outputFormat: "json";
1369
+ status: 200;
1370
+ input: {
1371
+ param: {
1372
+ id: string;
1373
+ };
1374
+ };
1375
+ };
1376
+ };
1377
+ } & {
1378
+ "/deposits": {
1379
+ $get: {
1380
+ output: {
1381
+ data: {
1382
+ createdAt: string;
1383
+ depositAddressId: string;
1384
+ detectionTrigger?: "chain" | "manual" | "poll" | "webhook" | undefined;
1385
+ destinationAmount?: {
1386
+ baseUnits: string;
1387
+ currency: string;
1388
+ decimals: number;
1389
+ formatted: string;
1390
+ } | undefined;
1391
+ destinationAmountRequired?: {
1392
+ baseUnits: string;
1393
+ currency: string;
1394
+ decimals: number;
1395
+ formatted: string;
1396
+ } | undefined;
1397
+ destinationChain: {
1398
+ addressFormat: "base58" | "base58check" | "hex";
1399
+ id: string;
1400
+ kind: "evm" | "solana" | "tron";
1401
+ name: string;
1402
+ };
1403
+ destinationToken: {
1404
+ address: string;
1405
+ currency: string;
1406
+ decimals: number;
1407
+ name: string;
1408
+ standard: string;
1409
+ symbol: string;
1410
+ tokenKey: string;
1411
+ verified: boolean;
1412
+ };
1413
+ destinationTransactionHashes?: readonly string[] | undefined;
1414
+ id: string;
1415
+ provider: {
1416
+ id: string;
1417
+ name: string;
1418
+ };
1419
+ recipient: string;
1420
+ refundAddress: string;
1421
+ refundAmount?: {
1422
+ baseUnits: string;
1423
+ currency: string;
1424
+ decimals: number;
1425
+ formatted: string;
1426
+ } | undefined;
1427
+ refundTransactionHashes?: readonly string[] | undefined;
1428
+ sender?: string | undefined;
1429
+ sourceAmount?: {
1430
+ baseUnits: string;
1431
+ currency: string;
1432
+ decimals: number;
1433
+ formatted: string;
1434
+ } | undefined;
1435
+ sourceChain: {
1436
+ addressFormat: "base58" | "base58check" | "hex";
1437
+ id: string;
1438
+ kind: "evm" | "solana" | "tron";
1439
+ name: string;
1440
+ };
1441
+ sourceToken: {
1442
+ address: string;
1443
+ currency: string;
1444
+ decimals: number;
1445
+ name: string;
1446
+ standard: string;
1447
+ symbol: string;
1448
+ tokenKey: string;
1449
+ verified: boolean;
1450
+ };
1451
+ sourceTransactionHashes: readonly string[];
1452
+ sourceTransferIndex?: number | undefined;
1453
+ status: "action-required" | "bridging" | "completed" | "detected" | "refunded" | "refunding" | "settling";
1454
+ statusReason?: {
1455
+ code: "billing_past_due" | "billing_required" | "delivery_failed" | "delivery_liquidity_unavailable" | "manual_recovery_required" | "refund_failed" | "routes_subsidy_limit_exceeded" | "routes_subsidy_not_enabled" | "source_amount_not_supported" | "source_token_mismatch" | "subsidy_balance_unavailable" | "subsidy_failed";
1456
+ message: string;
1457
+ } | undefined;
1458
+ updatedAt: string;
1459
+ environment: "production" | "sandbox";
1460
+ organization: {
1461
+ id: string;
1462
+ name: string | null;
1463
+ };
1464
+ project: {
1465
+ id: string;
1466
+ name: string | null;
1467
+ } | null;
1468
+ statusUpdatedAt: string | null;
1469
+ pollObservedAt: string | null;
1470
+ providerDeliveredAt: string | null;
1471
+ providerOutputAmount: {
1472
+ baseUnits: string;
1473
+ currency: string;
1474
+ decimals: number;
1475
+ formatted: string;
1476
+ } | null;
1477
+ providerOutputToken: {
1478
+ address: string;
1479
+ currency: string;
1480
+ decimals: number;
1481
+ name: string;
1482
+ standard: string;
1483
+ symbol: string;
1484
+ tokenKey: string;
1485
+ verified: boolean;
1486
+ };
1487
+ providerRequestIds: readonly string[];
1488
+ providerTransactionHashes: readonly string[];
1489
+ retryAttempts: number | null;
1490
+ settlementTransactionHash: string | null;
1491
+ subsidies: readonly {
1492
+ amount: {
1493
+ baseUnits: string;
1494
+ currency: string;
1495
+ decimals: number;
1496
+ formatted: string;
1497
+ };
1498
+ provider: string;
1499
+ token: {
1500
+ address: string;
1501
+ currency: string;
1502
+ decimals: number;
1503
+ name: string;
1504
+ standard: string;
1505
+ symbol: string;
1506
+ tokenKey: string;
1507
+ verified: boolean;
1508
+ };
1509
+ }[];
1510
+ tempoGasPaid: string | null;
1511
+ version: number;
1512
+ webhookReceivedAt: string | null;
1513
+ }[];
1514
+ nextCursor: string | null;
1515
+ };
1516
+ outputFormat: "json";
1517
+ status: 200;
1518
+ input: {
1519
+ query?: {
1520
+ environment?: string | string[];
1521
+ orgId?: string | string[];
1522
+ projectId?: string | string[];
1523
+ provider?: string | string[];
1524
+ sourceChain?: string | string[];
1525
+ cursor?: string | string[];
1526
+ depositAddressId?: string | string[];
1527
+ inProgress?: string | string[];
1528
+ limit?: string | string[];
1529
+ needsAttention?: string | string[];
1530
+ query?: string | string[];
1531
+ status?: string | string[];
1532
+ } | undefined;
1533
+ };
1534
+ };
1535
+ };
1536
+ } & {
1537
+ "/deposits/:id": {
1538
+ $get: {
1539
+ output: {
1540
+ error: {
1541
+ code: "routes_deposit_address_not_found";
1542
+ details?: readonly Response.error.Detail[] | undefined;
1543
+ message: string;
1544
+ };
1545
+ requestId: string;
1546
+ };
1547
+ outputFormat: "json";
1548
+ status: 404;
1549
+ input: {
1550
+ param: {
1551
+ id: string;
1552
+ };
1553
+ };
1554
+ } | {
1555
+ output: {
1556
+ error: {
1557
+ code: "routes_deposit_not_found";
1558
+ details?: readonly Response.error.Detail[] | undefined;
1559
+ message: string;
1560
+ };
1561
+ requestId: string;
1562
+ };
1563
+ outputFormat: "json";
1564
+ status: 404;
1565
+ input: {
1566
+ param: {
1567
+ id: string;
1568
+ };
1569
+ };
1570
+ } | {
1571
+ output: {
1572
+ createdAt: string;
1573
+ depositAddressId: string;
1574
+ detectionTrigger?: "chain" | "manual" | "poll" | "webhook" | undefined;
1575
+ destinationAmount?: {
1576
+ baseUnits: string;
1577
+ currency: string;
1578
+ decimals: number;
1579
+ formatted: string;
1580
+ } | undefined;
1581
+ destinationAmountRequired?: {
1582
+ baseUnits: string;
1583
+ currency: string;
1584
+ decimals: number;
1585
+ formatted: string;
1586
+ } | undefined;
1587
+ destinationChain: {
1588
+ addressFormat: "base58" | "base58check" | "hex";
1589
+ id: string;
1590
+ kind: "evm" | "solana" | "tron";
1591
+ name: string;
1592
+ };
1593
+ destinationToken: {
1594
+ address: string;
1595
+ currency: string;
1596
+ decimals: number;
1597
+ name: string;
1598
+ standard: string;
1599
+ symbol: string;
1600
+ tokenKey: string;
1601
+ verified: boolean;
1602
+ };
1603
+ destinationTransactionHashes?: readonly string[] | undefined;
1604
+ id: string;
1605
+ provider: {
1606
+ id: string;
1607
+ name: string;
1608
+ };
1609
+ recipient: string;
1610
+ refundAddress: string;
1611
+ refundAmount?: {
1612
+ baseUnits: string;
1613
+ currency: string;
1614
+ decimals: number;
1615
+ formatted: string;
1616
+ } | undefined;
1617
+ refundTransactionHashes?: readonly string[] | undefined;
1618
+ sender?: string | undefined;
1619
+ sourceAmount?: {
1620
+ baseUnits: string;
1621
+ currency: string;
1622
+ decimals: number;
1623
+ formatted: string;
1624
+ } | undefined;
1625
+ sourceChain: {
1626
+ addressFormat: "base58" | "base58check" | "hex";
1627
+ id: string;
1628
+ kind: "evm" | "solana" | "tron";
1629
+ name: string;
1630
+ };
1631
+ sourceToken: {
1632
+ address: string;
1633
+ currency: string;
1634
+ decimals: number;
1635
+ name: string;
1636
+ standard: string;
1637
+ symbol: string;
1638
+ tokenKey: string;
1639
+ verified: boolean;
1640
+ };
1641
+ sourceTransactionHashes: readonly string[];
1642
+ sourceTransferIndex?: number | undefined;
1643
+ status: "action-required" | "bridging" | "completed" | "detected" | "refunded" | "refunding" | "settling";
1644
+ statusReason?: {
1645
+ code: "billing_past_due" | "billing_required" | "delivery_failed" | "delivery_liquidity_unavailable" | "manual_recovery_required" | "refund_failed" | "routes_subsidy_limit_exceeded" | "routes_subsidy_not_enabled" | "source_amount_not_supported" | "source_token_mismatch" | "subsidy_balance_unavailable" | "subsidy_failed";
1646
+ message: string;
1647
+ } | undefined;
1648
+ updatedAt: string;
1649
+ environment: "production" | "sandbox";
1650
+ organization: {
1651
+ id: string;
1652
+ name: string | null;
1653
+ };
1654
+ project: {
1655
+ id: string;
1656
+ name: string | null;
1657
+ } | null;
1658
+ statusUpdatedAt: string | null;
1659
+ pollObservedAt: string | null;
1660
+ providerDeliveredAt: string | null;
1661
+ providerOutputAmount: {
1662
+ baseUnits: string;
1663
+ currency: string;
1664
+ decimals: number;
1665
+ formatted: string;
1666
+ } | null;
1667
+ providerOutputToken: {
1668
+ address: string;
1669
+ currency: string;
1670
+ decimals: number;
1671
+ name: string;
1672
+ standard: string;
1673
+ symbol: string;
1674
+ tokenKey: string;
1675
+ verified: boolean;
1676
+ };
1677
+ providerRequestIds: readonly string[];
1678
+ providerTransactionHashes: readonly string[];
1679
+ retryAttempts: number | null;
1680
+ settlementTransactionHash: string | null;
1681
+ subsidies: readonly {
1682
+ amount: {
1683
+ baseUnits: string;
1684
+ currency: string;
1685
+ decimals: number;
1686
+ formatted: string;
1687
+ };
1688
+ provider: string;
1689
+ token: {
1690
+ address: string;
1691
+ currency: string;
1692
+ decimals: number;
1693
+ name: string;
1694
+ standard: string;
1695
+ symbol: string;
1696
+ tokenKey: string;
1697
+ verified: boolean;
1698
+ };
1699
+ }[];
1700
+ tempoGasPaid: string | null;
1701
+ version: number;
1702
+ webhookReceivedAt: string | null;
1703
+ depositAddress: {
1704
+ address: string;
1705
+ createdAt: string;
1706
+ destinationChain: {
1707
+ addressFormat: "base58" | "base58check" | "hex";
1708
+ id: string;
1709
+ kind: "evm" | "solana" | "tron";
1710
+ name: string;
1711
+ };
1712
+ destinationToken: {
1713
+ address: string;
1714
+ currency: string;
1715
+ decimals: number;
1716
+ name: string;
1717
+ standard: string;
1718
+ symbol: string;
1719
+ tokenKey: string;
1720
+ verified: boolean;
1721
+ };
1722
+ id: string;
1723
+ provider: {
1724
+ id: string;
1725
+ name: string;
1726
+ };
1727
+ recipient: string;
1728
+ refundAddress: string;
1729
+ sourceChain: {
1730
+ addressFormat: "base58" | "base58check" | "hex";
1731
+ id: string;
1732
+ kind: "evm" | "solana" | "tron";
1733
+ name: string;
1734
+ };
1735
+ sourceToken: {
1736
+ address: string;
1737
+ currency: string;
1738
+ decimals: number;
1739
+ name: string;
1740
+ standard: string;
1741
+ symbol: string;
1742
+ tokenKey: string;
1743
+ verified: boolean;
1744
+ };
1745
+ subsidize: boolean;
1746
+ updatedAt: string;
1747
+ environment: "production" | "sandbox";
1748
+ organization: {
1749
+ id: string;
1750
+ name: string | null;
1751
+ };
1752
+ project: {
1753
+ id: string;
1754
+ name: string | null;
1755
+ } | null;
1756
+ statusUpdatedAt: string | null;
1757
+ consecutivePollFailures: number;
1758
+ deliveryStrategy: "provider" | "tempo";
1759
+ lastPolledAt: string | null;
1760
+ nextPollAt: string;
1761
+ pollLeaseUntil: string | null;
1762
+ providerOutputToken: {
1763
+ address: string;
1764
+ currency: string;
1765
+ decimals: number;
1766
+ name: string;
1767
+ standard: string;
1768
+ symbol: string;
1769
+ tokenKey: string;
1770
+ verified: boolean;
1771
+ };
1772
+ providerRequestIds: readonly string[];
1773
+ status: "action-required" | "active" | "deactivated";
1774
+ version: number;
1775
+ };
1776
+ };
1777
+ outputFormat: "json";
1778
+ status: 200;
1779
+ input: {
1780
+ param: {
1781
+ id: string;
1782
+ };
1783
+ };
1784
+ };
1785
+ };
1786
+ }, "/routes"> | import("hono/types").MergeSchemaPath<{
1787
+ "/": {
1788
+ $get: {
1789
+ output: {
1790
+ error: {
1791
+ code: "upstream_error";
1792
+ details?: readonly Response.error.Detail[] | undefined;
1793
+ message: string;
1794
+ };
1795
+ requestId: string;
1796
+ };
1797
+ outputFormat: "json";
1798
+ status: 502;
1799
+ input: {
1800
+ query?: {
1801
+ asset?: string | string[];
1802
+ capability?: string | string[];
1803
+ chainId?: string | string[];
1804
+ cursor?: string | string[];
1805
+ 'engine.type'?: string | string[];
1806
+ limit?: string | string[];
1807
+ include?: string | string[];
1808
+ } | undefined;
1809
+ };
1810
+ } | {
1811
+ output: {
1812
+ data: {
1813
+ access?: {
1814
+ status: "allowlisted" | "open";
1815
+ } | undefined;
1816
+ apy?: {
1817
+ asOf: string;
1818
+ methodology: "share-price-growth-annualized:v1";
173
1819
  net: string;
1820
+ rewards?: {
1821
+ apr: string | null;
1822
+ asset: {
1823
+ address: `0x${string}`;
1824
+ chainId: number;
1825
+ decimals: number;
1826
+ };
1827
+ calculatedThrough?: number | undefined;
1828
+ campaignId: string;
1829
+ endsAt: number;
1830
+ startsAt: number;
1831
+ targetTotalApr: string;
1832
+ }[] | undefined;
1833
+ vault: string;
174
1834
  window: "1d" | "1h" | "30d" | "7d";
175
1835
  } | null | undefined;
176
1836
  assetToken: {
@@ -282,8 +1942,358 @@ export declare function create(options: create.Options): import("hono/hono-base"
282
1942
  };
283
1943
  };
284
1944
  } & {
285
- "/:vaultId": {
286
- $get: {
1945
+ "/:vaultId": {
1946
+ $get: {
1947
+ output: {
1948
+ error: {
1949
+ code: "upstream_error";
1950
+ details?: readonly Response.error.Detail[] | undefined;
1951
+ message: string;
1952
+ };
1953
+ requestId: string;
1954
+ };
1955
+ outputFormat: "json";
1956
+ status: 502;
1957
+ input: {
1958
+ param: {
1959
+ vaultId: `0x${string}`;
1960
+ };
1961
+ } & {
1962
+ query?: {
1963
+ chainId?: string | string[];
1964
+ include?: string | string[];
1965
+ } | undefined;
1966
+ };
1967
+ } | {
1968
+ output: {
1969
+ error: {
1970
+ code: "earn_vault_not_found";
1971
+ details?: readonly Response.error.Detail[] | undefined;
1972
+ message: string;
1973
+ };
1974
+ requestId: string;
1975
+ };
1976
+ outputFormat: "json";
1977
+ status: 404;
1978
+ input: {
1979
+ param: {
1980
+ vaultId: `0x${string}`;
1981
+ };
1982
+ } & {
1983
+ query?: {
1984
+ chainId?: string | string[];
1985
+ include?: string | string[];
1986
+ } | undefined;
1987
+ };
1988
+ } | {
1989
+ output: {
1990
+ access?: {
1991
+ status: "allowlisted" | "open";
1992
+ } | undefined;
1993
+ apy?: {
1994
+ asOf: string;
1995
+ methodology: "share-price-growth-annualized:v1";
1996
+ net: string;
1997
+ rewards?: {
1998
+ apr: string | null;
1999
+ asset: {
2000
+ address: `0x${string}`;
2001
+ chainId: number;
2002
+ decimals: number;
2003
+ };
2004
+ calculatedThrough?: number | undefined;
2005
+ campaignId: string;
2006
+ endsAt: number;
2007
+ startsAt: number;
2008
+ targetTotalApr: string;
2009
+ }[] | undefined;
2010
+ vault: string;
2011
+ window: "1d" | "1h" | "30d" | "7d";
2012
+ } | null | undefined;
2013
+ assetToken: {
2014
+ address: `0x${string}`;
2015
+ currency: string;
2016
+ decimals: number;
2017
+ id: string;
2018
+ logoUri?: string | undefined;
2019
+ name: string;
2020
+ symbol: string;
2021
+ verified: boolean;
2022
+ };
2023
+ capabilities?: {
2024
+ asyncRedeem: boolean;
2025
+ boundedRedeem: boolean;
2026
+ deposit: boolean;
2027
+ exactWithdraw: boolean;
2028
+ inKindDeposit: boolean;
2029
+ privateRouting: boolean;
2030
+ redeem: boolean;
2031
+ routerSwaps: boolean;
2032
+ } | undefined;
2033
+ description: string | null;
2034
+ engine: {
2035
+ address: `0x${string}`;
2036
+ type: "erc4626" | "veda" | null;
2037
+ venue: `0x${string}` | null;
2038
+ };
2039
+ id: `0x${string}`;
2040
+ instantLiquidity: string | null;
2041
+ instantLiquidityValue?: {
2042
+ amount: string;
2043
+ currency: string;
2044
+ decimals: number;
2045
+ formatted: string;
2046
+ } | null | undefined;
2047
+ label: string;
2048
+ sharePrice: {
2049
+ amount: string;
2050
+ currency: string;
2051
+ decimals: number;
2052
+ formatted: string;
2053
+ } | null;
2054
+ shareToken: {
2055
+ address: `0x${string}`;
2056
+ currency: string;
2057
+ decimals: number;
2058
+ id: string;
2059
+ logoUri?: string | undefined;
2060
+ name: string;
2061
+ symbol: string;
2062
+ verified: boolean;
2063
+ };
2064
+ slug: string | null;
2065
+ state: {
2066
+ depositsPaused: boolean;
2067
+ engineShares: string;
2068
+ feesActive: boolean;
2069
+ isAccountingAligned: boolean;
2070
+ openRedeemRequestCount: number;
2071
+ totalAssets: string;
2072
+ totalEarnShares: string;
2073
+ };
2074
+ tvl?: {
2075
+ amount: string;
2076
+ currency: string;
2077
+ decimals: number;
2078
+ formatted: string;
2079
+ } | null | undefined;
2080
+ vaultAddress: `0x${string}`;
2081
+ verified: boolean;
2082
+ zone?: {
2083
+ chainId: number;
2084
+ inputTokens: `0x${string}`[];
2085
+ name: string;
2086
+ outputTokens: `0x${string}`[];
2087
+ } | null | undefined;
2088
+ zones?: {
2089
+ chainId: number;
2090
+ deploymentBlock: number;
2091
+ earnRouter: `0x${string}`;
2092
+ inputTokens: `0x${string}`[];
2093
+ name: string;
2094
+ outputTokens: `0x${string}`[];
2095
+ }[] | undefined;
2096
+ };
2097
+ outputFormat: "json";
2098
+ status: 200;
2099
+ input: {
2100
+ param: {
2101
+ vaultId: `0x${string}`;
2102
+ };
2103
+ } & {
2104
+ query?: {
2105
+ chainId?: string | string[];
2106
+ include?: string | string[];
2107
+ } | undefined;
2108
+ };
2109
+ };
2110
+ };
2111
+ } & {
2112
+ "/:vaultId/rewards": {
2113
+ $get: {
2114
+ output: {
2115
+ error: {
2116
+ code: "upstream_error";
2117
+ details?: readonly Response.error.Detail[] | undefined;
2118
+ message: string;
2119
+ };
2120
+ requestId: string;
2121
+ };
2122
+ outputFormat: "json";
2123
+ status: 502;
2124
+ input: {
2125
+ param: {
2126
+ vaultId: `0x${string}`;
2127
+ };
2128
+ } & {
2129
+ query: {
2130
+ chainId: string | string[];
2131
+ };
2132
+ };
2133
+ } | {
2134
+ output: {
2135
+ error: {
2136
+ code: "earn_reward_campaign_not_found";
2137
+ details?: readonly Response.error.Detail[] | undefined;
2138
+ message: string;
2139
+ };
2140
+ requestId: string;
2141
+ };
2142
+ outputFormat: "json";
2143
+ status: 404;
2144
+ input: {
2145
+ param: {
2146
+ vaultId: `0x${string}`;
2147
+ };
2148
+ } & {
2149
+ query: {
2150
+ chainId: string | string[];
2151
+ };
2152
+ };
2153
+ } | {
2154
+ output: {
2155
+ chainId: number;
2156
+ config: {
2157
+ boostRewards?: {
2158
+ enabled?: boolean | undefined;
2159
+ endTimestamp: number;
2160
+ excludedAddresses: `0x${string}`[];
2161
+ funding: {
2162
+ wallet: `0x${string}`;
2163
+ };
2164
+ intervalSeconds: number;
2165
+ payoutSchedule?: {
2166
+ intervalSeconds: number;
2167
+ startTimestamp: number;
2168
+ } | undefined;
2169
+ perUserPrincipalCapAssets: string;
2170
+ startTimestamp: number;
2171
+ targetAnnualRateBps: number;
2172
+ totalPrincipalCapAssets: string;
2173
+ treasury: `0x${string}`;
2174
+ } | undefined;
2175
+ targetYield?: {
2176
+ annualRate: {
2177
+ bps: number;
2178
+ } | {
2179
+ maxBps: number;
2180
+ minBps: number;
2181
+ morphoVault: `0x${string}`;
2182
+ staleAfterSeconds: number;
2183
+ };
2184
+ endTimestamp: number;
2185
+ funding: ({
2186
+ upToAnnualRate: {
2187
+ bps: number;
2188
+ };
2189
+ wallet: `0x${string}`;
2190
+ } | {
2191
+ remainder: true;
2192
+ wallet: `0x${string}`;
2193
+ })[];
2194
+ intervalSeconds: number;
2195
+ startTimestamp: number;
2196
+ } | undefined;
2197
+ };
2198
+ controllerAddress: `0x${string}` | null;
2199
+ deliveredThrough: string;
2200
+ distributorAddress: `0x${string}` | null;
2201
+ eventCursor: {
2202
+ blockNumber: number;
2203
+ logIndex: number;
2204
+ transactionIndex: number;
2205
+ } | null;
2206
+ execution: {
2207
+ boostRateBps: number | null;
2208
+ endsAt: string;
2209
+ error: string | null;
2210
+ fundedAssets: string | null;
2211
+ id: string;
2212
+ intervalCount: number;
2213
+ liability: string | null;
2214
+ mintedEarnShares: string | null;
2215
+ organicRateBps: number | null;
2216
+ phase: "calculating" | "delivered" | "failed" | "indexing" | "paying" | "publishing" | "settling" | "statement" | "targetYield";
2217
+ rootVersion: string | null;
2218
+ startsAfter: string;
2219
+ statementHash: `0x${string}` | null;
2220
+ targetRateBps: number | null;
2221
+ transactions: {
2222
+ expiresAt: string | null;
2223
+ hash: `0x${string}` | null;
2224
+ operation: "deploy" | "publish" | "push" | "settle" | "targetYield";
2225
+ state: "broadcast" | "confirmed" | "created" | "expired" | "ineffective" | "reverted" | "signed";
2226
+ updatedAt: string;
2227
+ }[];
2228
+ updatedAt: string;
2229
+ } | null;
2230
+ paused: boolean;
2231
+ pendingConfig: {
2232
+ boostRewards?: {
2233
+ enabled?: boolean | undefined;
2234
+ endTimestamp: number;
2235
+ excludedAddresses: `0x${string}`[];
2236
+ funding: {
2237
+ wallet: `0x${string}`;
2238
+ };
2239
+ intervalSeconds: number;
2240
+ payoutSchedule?: {
2241
+ intervalSeconds: number;
2242
+ startTimestamp: number;
2243
+ } | undefined;
2244
+ perUserPrincipalCapAssets: string;
2245
+ startTimestamp: number;
2246
+ targetAnnualRateBps: number;
2247
+ totalPrincipalCapAssets: string;
2248
+ treasury: `0x${string}`;
2249
+ } | undefined;
2250
+ targetYield?: {
2251
+ annualRate: {
2252
+ bps: number;
2253
+ } | {
2254
+ maxBps: number;
2255
+ minBps: number;
2256
+ morphoVault: `0x${string}`;
2257
+ staleAfterSeconds: number;
2258
+ };
2259
+ endTimestamp: number;
2260
+ funding: ({
2261
+ upToAnnualRate: {
2262
+ bps: number;
2263
+ };
2264
+ wallet: `0x${string}`;
2265
+ } | {
2266
+ remainder: true;
2267
+ wallet: `0x${string}`;
2268
+ })[];
2269
+ intervalSeconds: number;
2270
+ startTimestamp: number;
2271
+ } | undefined;
2272
+ } | null;
2273
+ pendingEffectiveAt: string | null;
2274
+ peripheryReady: boolean;
2275
+ provisioningError: string | null;
2276
+ signerAddress: `0x${string}` | null;
2277
+ unpaidEarnShares: string;
2278
+ unpaidRecipients: number;
2279
+ vaultAddress: `0x${string}`;
2280
+ };
2281
+ outputFormat: "json";
2282
+ status: 200;
2283
+ input: {
2284
+ param: {
2285
+ vaultId: `0x${string}`;
2286
+ };
2287
+ } & {
2288
+ query: {
2289
+ chainId: string | string[];
2290
+ };
2291
+ };
2292
+ };
2293
+ };
2294
+ } & {
2295
+ "/:vaultId/rewards": {
2296
+ $post: {
287
2297
  output: {
288
2298
  error: {
289
2299
  code: "upstream_error";
@@ -299,10 +2309,52 @@ export declare function create(options: create.Options): import("hono/hono-base"
299
2309
  vaultId: `0x${string}`;
300
2310
  };
301
2311
  } & {
302
- query?: {
303
- chainId?: string | string[];
304
- include?: string | string[];
305
- } | undefined;
2312
+ query: {
2313
+ chainId: string | string[];
2314
+ };
2315
+ } & {
2316
+ json: {
2317
+ boostRewards?: {
2318
+ enabled?: boolean | undefined;
2319
+ endTimestamp: number;
2320
+ excludedAddresses: `0x${string}`[];
2321
+ funding: {
2322
+ wallet: `0x${string}`;
2323
+ };
2324
+ intervalSeconds: number;
2325
+ payoutSchedule?: {
2326
+ intervalSeconds: number;
2327
+ startTimestamp: number;
2328
+ } | undefined;
2329
+ perUserPrincipalCapAssets: string;
2330
+ startTimestamp: number;
2331
+ targetAnnualRateBps: number;
2332
+ totalPrincipalCapAssets: string;
2333
+ treasury: `0x${string}`;
2334
+ } | undefined;
2335
+ targetYield?: {
2336
+ annualRate: {
2337
+ bps: number;
2338
+ } | {
2339
+ maxBps: number;
2340
+ minBps: number;
2341
+ morphoVault: `0x${string}`;
2342
+ staleAfterSeconds: number;
2343
+ };
2344
+ endTimestamp: number;
2345
+ funding: ({
2346
+ upToAnnualRate: {
2347
+ bps: number;
2348
+ };
2349
+ wallet: `0x${string}`;
2350
+ } | {
2351
+ remainder: true;
2352
+ wallet: `0x${string}`;
2353
+ })[];
2354
+ intervalSeconds: number;
2355
+ startTimestamp: number;
2356
+ } | undefined;
2357
+ };
306
2358
  };
307
2359
  } | {
308
2360
  output: {
@@ -320,105 +2372,612 @@ export declare function create(options: create.Options): import("hono/hono-base"
320
2372
  vaultId: `0x${string}`;
321
2373
  };
322
2374
  } & {
323
- query?: {
324
- chainId?: string | string[];
325
- include?: string | string[];
326
- } | undefined;
2375
+ query: {
2376
+ chainId: string | string[];
2377
+ };
2378
+ } & {
2379
+ json: {
2380
+ boostRewards?: {
2381
+ enabled?: boolean | undefined;
2382
+ endTimestamp: number;
2383
+ excludedAddresses: `0x${string}`[];
2384
+ funding: {
2385
+ wallet: `0x${string}`;
2386
+ };
2387
+ intervalSeconds: number;
2388
+ payoutSchedule?: {
2389
+ intervalSeconds: number;
2390
+ startTimestamp: number;
2391
+ } | undefined;
2392
+ perUserPrincipalCapAssets: string;
2393
+ startTimestamp: number;
2394
+ targetAnnualRateBps: number;
2395
+ totalPrincipalCapAssets: string;
2396
+ treasury: `0x${string}`;
2397
+ } | undefined;
2398
+ targetYield?: {
2399
+ annualRate: {
2400
+ bps: number;
2401
+ } | {
2402
+ maxBps: number;
2403
+ minBps: number;
2404
+ morphoVault: `0x${string}`;
2405
+ staleAfterSeconds: number;
2406
+ };
2407
+ endTimestamp: number;
2408
+ funding: ({
2409
+ upToAnnualRate: {
2410
+ bps: number;
2411
+ };
2412
+ wallet: `0x${string}`;
2413
+ } | {
2414
+ remainder: true;
2415
+ wallet: `0x${string}`;
2416
+ })[];
2417
+ intervalSeconds: number;
2418
+ startTimestamp: number;
2419
+ } | undefined;
2420
+ };
327
2421
  };
328
2422
  } | {
329
2423
  output: {
330
- access?: {
331
- status: "allowlisted" | "open";
332
- } | undefined;
333
- apy?: {
334
- asOf: string;
335
- methodology: "share-price-growth-annualized:v1";
336
- net: string;
337
- window: "1d" | "1h" | "30d" | "7d";
338
- } | null | undefined;
339
- assetToken: {
340
- address: `0x${string}`;
341
- currency: string;
342
- decimals: number;
2424
+ chainId: number;
2425
+ config: {
2426
+ boostRewards?: {
2427
+ enabled?: boolean | undefined;
2428
+ endTimestamp: number;
2429
+ excludedAddresses: `0x${string}`[];
2430
+ funding: {
2431
+ wallet: `0x${string}`;
2432
+ };
2433
+ intervalSeconds: number;
2434
+ payoutSchedule?: {
2435
+ intervalSeconds: number;
2436
+ startTimestamp: number;
2437
+ } | undefined;
2438
+ perUserPrincipalCapAssets: string;
2439
+ startTimestamp: number;
2440
+ targetAnnualRateBps: number;
2441
+ totalPrincipalCapAssets: string;
2442
+ treasury: `0x${string}`;
2443
+ } | undefined;
2444
+ targetYield?: {
2445
+ annualRate: {
2446
+ bps: number;
2447
+ } | {
2448
+ maxBps: number;
2449
+ minBps: number;
2450
+ morphoVault: `0x${string}`;
2451
+ staleAfterSeconds: number;
2452
+ };
2453
+ endTimestamp: number;
2454
+ funding: ({
2455
+ upToAnnualRate: {
2456
+ bps: number;
2457
+ };
2458
+ wallet: `0x${string}`;
2459
+ } | {
2460
+ remainder: true;
2461
+ wallet: `0x${string}`;
2462
+ })[];
2463
+ intervalSeconds: number;
2464
+ startTimestamp: number;
2465
+ } | undefined;
2466
+ };
2467
+ controllerAddress: `0x${string}` | null;
2468
+ deliveredThrough: string;
2469
+ distributorAddress: `0x${string}` | null;
2470
+ eventCursor: {
2471
+ blockNumber: number;
2472
+ logIndex: number;
2473
+ transactionIndex: number;
2474
+ } | null;
2475
+ execution: {
2476
+ boostRateBps: number | null;
2477
+ endsAt: string;
2478
+ error: string | null;
2479
+ fundedAssets: string | null;
343
2480
  id: string;
344
- logoUri?: string | undefined;
345
- name: string;
346
- symbol: string;
347
- verified: boolean;
2481
+ intervalCount: number;
2482
+ liability: string | null;
2483
+ mintedEarnShares: string | null;
2484
+ organicRateBps: number | null;
2485
+ phase: "calculating" | "delivered" | "failed" | "indexing" | "paying" | "publishing" | "settling" | "statement" | "targetYield";
2486
+ rootVersion: string | null;
2487
+ startsAfter: string;
2488
+ statementHash: `0x${string}` | null;
2489
+ targetRateBps: number | null;
2490
+ transactions: {
2491
+ expiresAt: string | null;
2492
+ hash: `0x${string}` | null;
2493
+ operation: "deploy" | "publish" | "push" | "settle" | "targetYield";
2494
+ state: "broadcast" | "confirmed" | "created" | "expired" | "ineffective" | "reverted" | "signed";
2495
+ updatedAt: string;
2496
+ }[];
2497
+ updatedAt: string;
2498
+ } | null;
2499
+ paused: boolean;
2500
+ pendingConfig: {
2501
+ boostRewards?: {
2502
+ enabled?: boolean | undefined;
2503
+ endTimestamp: number;
2504
+ excludedAddresses: `0x${string}`[];
2505
+ funding: {
2506
+ wallet: `0x${string}`;
2507
+ };
2508
+ intervalSeconds: number;
2509
+ payoutSchedule?: {
2510
+ intervalSeconds: number;
2511
+ startTimestamp: number;
2512
+ } | undefined;
2513
+ perUserPrincipalCapAssets: string;
2514
+ startTimestamp: number;
2515
+ targetAnnualRateBps: number;
2516
+ totalPrincipalCapAssets: string;
2517
+ treasury: `0x${string}`;
2518
+ } | undefined;
2519
+ targetYield?: {
2520
+ annualRate: {
2521
+ bps: number;
2522
+ } | {
2523
+ maxBps: number;
2524
+ minBps: number;
2525
+ morphoVault: `0x${string}`;
2526
+ staleAfterSeconds: number;
2527
+ };
2528
+ endTimestamp: number;
2529
+ funding: ({
2530
+ upToAnnualRate: {
2531
+ bps: number;
2532
+ };
2533
+ wallet: `0x${string}`;
2534
+ } | {
2535
+ remainder: true;
2536
+ wallet: `0x${string}`;
2537
+ })[];
2538
+ intervalSeconds: number;
2539
+ startTimestamp: number;
2540
+ } | undefined;
2541
+ } | null;
2542
+ pendingEffectiveAt: string | null;
2543
+ peripheryReady: boolean;
2544
+ provisioningError: string | null;
2545
+ signerAddress: `0x${string}` | null;
2546
+ unpaidEarnShares: string;
2547
+ unpaidRecipients: number;
2548
+ vaultAddress: `0x${string}`;
2549
+ };
2550
+ outputFormat: "json";
2551
+ status: 200;
2552
+ input: {
2553
+ param: {
2554
+ vaultId: `0x${string}`;
348
2555
  };
349
- capabilities?: {
350
- asyncRedeem: boolean;
351
- boundedRedeem: boolean;
352
- deposit: boolean;
353
- exactWithdraw: boolean;
354
- inKindDeposit: boolean;
355
- privateRouting: boolean;
356
- redeem: boolean;
357
- routerSwaps: boolean;
358
- } | undefined;
359
- description: string | null;
360
- engine: {
361
- address: `0x${string}`;
362
- type: "erc4626" | "veda" | null;
363
- venue: `0x${string}` | null;
2556
+ } & {
2557
+ query: {
2558
+ chainId: string | string[];
364
2559
  };
365
- id: `0x${string}`;
366
- instantLiquidity: string | null;
367
- instantLiquidityValue?: {
368
- amount: string;
369
- currency: string;
370
- decimals: number;
371
- formatted: string;
372
- } | null | undefined;
373
- label: string;
374
- sharePrice: {
375
- amount: string;
376
- currency: string;
377
- decimals: number;
378
- formatted: string;
2560
+ } & {
2561
+ json: {
2562
+ boostRewards?: {
2563
+ enabled?: boolean | undefined;
2564
+ endTimestamp: number;
2565
+ excludedAddresses: `0x${string}`[];
2566
+ funding: {
2567
+ wallet: `0x${string}`;
2568
+ };
2569
+ intervalSeconds: number;
2570
+ payoutSchedule?: {
2571
+ intervalSeconds: number;
2572
+ startTimestamp: number;
2573
+ } | undefined;
2574
+ perUserPrincipalCapAssets: string;
2575
+ startTimestamp: number;
2576
+ targetAnnualRateBps: number;
2577
+ totalPrincipalCapAssets: string;
2578
+ treasury: `0x${string}`;
2579
+ } | undefined;
2580
+ targetYield?: {
2581
+ annualRate: {
2582
+ bps: number;
2583
+ } | {
2584
+ maxBps: number;
2585
+ minBps: number;
2586
+ morphoVault: `0x${string}`;
2587
+ staleAfterSeconds: number;
2588
+ };
2589
+ endTimestamp: number;
2590
+ funding: ({
2591
+ upToAnnualRate: {
2592
+ bps: number;
2593
+ };
2594
+ wallet: `0x${string}`;
2595
+ } | {
2596
+ remainder: true;
2597
+ wallet: `0x${string}`;
2598
+ })[];
2599
+ intervalSeconds: number;
2600
+ startTimestamp: number;
2601
+ } | undefined;
2602
+ };
2603
+ };
2604
+ } | {
2605
+ output: {
2606
+ error: {
2607
+ code: "earn_reward_campaign_invalid";
2608
+ details?: readonly Response.error.Detail[] | undefined;
2609
+ message: string;
2610
+ };
2611
+ requestId: string;
2612
+ };
2613
+ outputFormat: "json";
2614
+ status: 409;
2615
+ input: {
2616
+ param: {
2617
+ vaultId: `0x${string}`;
2618
+ };
2619
+ } & {
2620
+ query: {
2621
+ chainId: string | string[];
2622
+ };
2623
+ } & {
2624
+ json: {
2625
+ boostRewards?: {
2626
+ enabled?: boolean | undefined;
2627
+ endTimestamp: number;
2628
+ excludedAddresses: `0x${string}`[];
2629
+ funding: {
2630
+ wallet: `0x${string}`;
2631
+ };
2632
+ intervalSeconds: number;
2633
+ payoutSchedule?: {
2634
+ intervalSeconds: number;
2635
+ startTimestamp: number;
2636
+ } | undefined;
2637
+ perUserPrincipalCapAssets: string;
2638
+ startTimestamp: number;
2639
+ targetAnnualRateBps: number;
2640
+ totalPrincipalCapAssets: string;
2641
+ treasury: `0x${string}`;
2642
+ } | undefined;
2643
+ targetYield?: {
2644
+ annualRate: {
2645
+ bps: number;
2646
+ } | {
2647
+ maxBps: number;
2648
+ minBps: number;
2649
+ morphoVault: `0x${string}`;
2650
+ staleAfterSeconds: number;
2651
+ };
2652
+ endTimestamp: number;
2653
+ funding: ({
2654
+ upToAnnualRate: {
2655
+ bps: number;
2656
+ };
2657
+ wallet: `0x${string}`;
2658
+ } | {
2659
+ remainder: true;
2660
+ wallet: `0x${string}`;
2661
+ })[];
2662
+ intervalSeconds: number;
2663
+ startTimestamp: number;
2664
+ } | undefined;
2665
+ };
2666
+ };
2667
+ };
2668
+ };
2669
+ } & {
2670
+ "/:vaultId/rewards/pause": {
2671
+ $post: {
2672
+ output: {
2673
+ error: {
2674
+ code: "earn_reward_campaign_not_found";
2675
+ details?: readonly Response.error.Detail[] | undefined;
2676
+ message: string;
2677
+ };
2678
+ requestId: string;
2679
+ };
2680
+ outputFormat: "json";
2681
+ status: 404;
2682
+ input: {
2683
+ param: {
2684
+ vaultId: `0x${string}`;
2685
+ };
2686
+ } & {
2687
+ query: {
2688
+ chainId: string | string[];
2689
+ };
2690
+ };
2691
+ } | {
2692
+ output: {
2693
+ chainId: number;
2694
+ config: {
2695
+ boostRewards?: {
2696
+ enabled?: boolean | undefined;
2697
+ endTimestamp: number;
2698
+ excludedAddresses: `0x${string}`[];
2699
+ funding: {
2700
+ wallet: `0x${string}`;
2701
+ };
2702
+ intervalSeconds: number;
2703
+ payoutSchedule?: {
2704
+ intervalSeconds: number;
2705
+ startTimestamp: number;
2706
+ } | undefined;
2707
+ perUserPrincipalCapAssets: string;
2708
+ startTimestamp: number;
2709
+ targetAnnualRateBps: number;
2710
+ totalPrincipalCapAssets: string;
2711
+ treasury: `0x${string}`;
2712
+ } | undefined;
2713
+ targetYield?: {
2714
+ annualRate: {
2715
+ bps: number;
2716
+ } | {
2717
+ maxBps: number;
2718
+ minBps: number;
2719
+ morphoVault: `0x${string}`;
2720
+ staleAfterSeconds: number;
2721
+ };
2722
+ endTimestamp: number;
2723
+ funding: ({
2724
+ upToAnnualRate: {
2725
+ bps: number;
2726
+ };
2727
+ wallet: `0x${string}`;
2728
+ } | {
2729
+ remainder: true;
2730
+ wallet: `0x${string}`;
2731
+ })[];
2732
+ intervalSeconds: number;
2733
+ startTimestamp: number;
2734
+ } | undefined;
2735
+ };
2736
+ controllerAddress: `0x${string}` | null;
2737
+ deliveredThrough: string;
2738
+ distributorAddress: `0x${string}` | null;
2739
+ eventCursor: {
2740
+ blockNumber: number;
2741
+ logIndex: number;
2742
+ transactionIndex: number;
379
2743
  } | null;
380
- shareToken: {
381
- address: `0x${string}`;
382
- currency: string;
383
- decimals: number;
2744
+ execution: {
2745
+ boostRateBps: number | null;
2746
+ endsAt: string;
2747
+ error: string | null;
2748
+ fundedAssets: string | null;
384
2749
  id: string;
385
- logoUri?: string | undefined;
386
- name: string;
387
- symbol: string;
388
- verified: boolean;
2750
+ intervalCount: number;
2751
+ liability: string | null;
2752
+ mintedEarnShares: string | null;
2753
+ organicRateBps: number | null;
2754
+ phase: "calculating" | "delivered" | "failed" | "indexing" | "paying" | "publishing" | "settling" | "statement" | "targetYield";
2755
+ rootVersion: string | null;
2756
+ startsAfter: string;
2757
+ statementHash: `0x${string}` | null;
2758
+ targetRateBps: number | null;
2759
+ transactions: {
2760
+ expiresAt: string | null;
2761
+ hash: `0x${string}` | null;
2762
+ operation: "deploy" | "publish" | "push" | "settle" | "targetYield";
2763
+ state: "broadcast" | "confirmed" | "created" | "expired" | "ineffective" | "reverted" | "signed";
2764
+ updatedAt: string;
2765
+ }[];
2766
+ updatedAt: string;
2767
+ } | null;
2768
+ paused: boolean;
2769
+ pendingConfig: {
2770
+ boostRewards?: {
2771
+ enabled?: boolean | undefined;
2772
+ endTimestamp: number;
2773
+ excludedAddresses: `0x${string}`[];
2774
+ funding: {
2775
+ wallet: `0x${string}`;
2776
+ };
2777
+ intervalSeconds: number;
2778
+ payoutSchedule?: {
2779
+ intervalSeconds: number;
2780
+ startTimestamp: number;
2781
+ } | undefined;
2782
+ perUserPrincipalCapAssets: string;
2783
+ startTimestamp: number;
2784
+ targetAnnualRateBps: number;
2785
+ totalPrincipalCapAssets: string;
2786
+ treasury: `0x${string}`;
2787
+ } | undefined;
2788
+ targetYield?: {
2789
+ annualRate: {
2790
+ bps: number;
2791
+ } | {
2792
+ maxBps: number;
2793
+ minBps: number;
2794
+ morphoVault: `0x${string}`;
2795
+ staleAfterSeconds: number;
2796
+ };
2797
+ endTimestamp: number;
2798
+ funding: ({
2799
+ upToAnnualRate: {
2800
+ bps: number;
2801
+ };
2802
+ wallet: `0x${string}`;
2803
+ } | {
2804
+ remainder: true;
2805
+ wallet: `0x${string}`;
2806
+ })[];
2807
+ intervalSeconds: number;
2808
+ startTimestamp: number;
2809
+ } | undefined;
2810
+ } | null;
2811
+ pendingEffectiveAt: string | null;
2812
+ peripheryReady: boolean;
2813
+ provisioningError: string | null;
2814
+ signerAddress: `0x${string}` | null;
2815
+ unpaidEarnShares: string;
2816
+ unpaidRecipients: number;
2817
+ vaultAddress: `0x${string}`;
2818
+ };
2819
+ outputFormat: "json";
2820
+ status: 200;
2821
+ input: {
2822
+ param: {
2823
+ vaultId: `0x${string}`;
389
2824
  };
390
- slug: string | null;
391
- state: {
392
- depositsPaused: boolean;
393
- engineShares: string;
394
- feesActive: boolean;
395
- isAccountingAligned: boolean;
396
- openRedeemRequestCount: number;
397
- totalAssets: string;
398
- totalEarnShares: string;
2825
+ } & {
2826
+ query: {
2827
+ chainId: string | string[];
399
2828
  };
400
- tvl?: {
401
- amount: string;
402
- currency: string;
403
- decimals: number;
404
- formatted: string;
405
- } | null | undefined;
406
- vaultAddress: `0x${string}`;
407
- verified: boolean;
408
- zone?: {
409
- chainId: number;
410
- inputTokens: `0x${string}`[];
411
- name: string;
412
- outputTokens: `0x${string}`[];
413
- } | null | undefined;
414
- zones?: {
415
- chainId: number;
416
- deploymentBlock: number;
417
- earnRouter: `0x${string}`;
418
- inputTokens: `0x${string}`[];
419
- name: string;
420
- outputTokens: `0x${string}`[];
421
- }[] | undefined;
2829
+ };
2830
+ };
2831
+ };
2832
+ } & {
2833
+ "/:vaultId/rewards/resume": {
2834
+ $post: {
2835
+ output: {
2836
+ error: {
2837
+ code: "earn_reward_campaign_not_found";
2838
+ details?: readonly Response.error.Detail[] | undefined;
2839
+ message: string;
2840
+ };
2841
+ requestId: string;
2842
+ };
2843
+ outputFormat: "json";
2844
+ status: 404;
2845
+ input: {
2846
+ param: {
2847
+ vaultId: `0x${string}`;
2848
+ };
2849
+ } & {
2850
+ query: {
2851
+ chainId: string | string[];
2852
+ };
2853
+ };
2854
+ } | {
2855
+ output: {
2856
+ chainId: number;
2857
+ config: {
2858
+ boostRewards?: {
2859
+ enabled?: boolean | undefined;
2860
+ endTimestamp: number;
2861
+ excludedAddresses: `0x${string}`[];
2862
+ funding: {
2863
+ wallet: `0x${string}`;
2864
+ };
2865
+ intervalSeconds: number;
2866
+ payoutSchedule?: {
2867
+ intervalSeconds: number;
2868
+ startTimestamp: number;
2869
+ } | undefined;
2870
+ perUserPrincipalCapAssets: string;
2871
+ startTimestamp: number;
2872
+ targetAnnualRateBps: number;
2873
+ totalPrincipalCapAssets: string;
2874
+ treasury: `0x${string}`;
2875
+ } | undefined;
2876
+ targetYield?: {
2877
+ annualRate: {
2878
+ bps: number;
2879
+ } | {
2880
+ maxBps: number;
2881
+ minBps: number;
2882
+ morphoVault: `0x${string}`;
2883
+ staleAfterSeconds: number;
2884
+ };
2885
+ endTimestamp: number;
2886
+ funding: ({
2887
+ upToAnnualRate: {
2888
+ bps: number;
2889
+ };
2890
+ wallet: `0x${string}`;
2891
+ } | {
2892
+ remainder: true;
2893
+ wallet: `0x${string}`;
2894
+ })[];
2895
+ intervalSeconds: number;
2896
+ startTimestamp: number;
2897
+ } | undefined;
2898
+ };
2899
+ controllerAddress: `0x${string}` | null;
2900
+ deliveredThrough: string;
2901
+ distributorAddress: `0x${string}` | null;
2902
+ eventCursor: {
2903
+ blockNumber: number;
2904
+ logIndex: number;
2905
+ transactionIndex: number;
2906
+ } | null;
2907
+ execution: {
2908
+ boostRateBps: number | null;
2909
+ endsAt: string;
2910
+ error: string | null;
2911
+ fundedAssets: string | null;
2912
+ id: string;
2913
+ intervalCount: number;
2914
+ liability: string | null;
2915
+ mintedEarnShares: string | null;
2916
+ organicRateBps: number | null;
2917
+ phase: "calculating" | "delivered" | "failed" | "indexing" | "paying" | "publishing" | "settling" | "statement" | "targetYield";
2918
+ rootVersion: string | null;
2919
+ startsAfter: string;
2920
+ statementHash: `0x${string}` | null;
2921
+ targetRateBps: number | null;
2922
+ transactions: {
2923
+ expiresAt: string | null;
2924
+ hash: `0x${string}` | null;
2925
+ operation: "deploy" | "publish" | "push" | "settle" | "targetYield";
2926
+ state: "broadcast" | "confirmed" | "created" | "expired" | "ineffective" | "reverted" | "signed";
2927
+ updatedAt: string;
2928
+ }[];
2929
+ updatedAt: string;
2930
+ } | null;
2931
+ paused: boolean;
2932
+ pendingConfig: {
2933
+ boostRewards?: {
2934
+ enabled?: boolean | undefined;
2935
+ endTimestamp: number;
2936
+ excludedAddresses: `0x${string}`[];
2937
+ funding: {
2938
+ wallet: `0x${string}`;
2939
+ };
2940
+ intervalSeconds: number;
2941
+ payoutSchedule?: {
2942
+ intervalSeconds: number;
2943
+ startTimestamp: number;
2944
+ } | undefined;
2945
+ perUserPrincipalCapAssets: string;
2946
+ startTimestamp: number;
2947
+ targetAnnualRateBps: number;
2948
+ totalPrincipalCapAssets: string;
2949
+ treasury: `0x${string}`;
2950
+ } | undefined;
2951
+ targetYield?: {
2952
+ annualRate: {
2953
+ bps: number;
2954
+ } | {
2955
+ maxBps: number;
2956
+ minBps: number;
2957
+ morphoVault: `0x${string}`;
2958
+ staleAfterSeconds: number;
2959
+ };
2960
+ endTimestamp: number;
2961
+ funding: ({
2962
+ upToAnnualRate: {
2963
+ bps: number;
2964
+ };
2965
+ wallet: `0x${string}`;
2966
+ } | {
2967
+ remainder: true;
2968
+ wallet: `0x${string}`;
2969
+ })[];
2970
+ intervalSeconds: number;
2971
+ startTimestamp: number;
2972
+ } | undefined;
2973
+ } | null;
2974
+ pendingEffectiveAt: string | null;
2975
+ peripheryReady: boolean;
2976
+ provisioningError: string | null;
2977
+ signerAddress: `0x${string}` | null;
2978
+ unpaidEarnShares: string;
2979
+ unpaidRecipients: number;
2980
+ vaultAddress: `0x${string}`;
422
2981
  };
423
2982
  outputFormat: "json";
424
2983
  status: 200;
@@ -427,10 +2986,9 @@ export declare function create(options: create.Options): import("hono/hono-base"
427
2986
  vaultId: `0x${string}`;
428
2987
  };
429
2988
  } & {
430
- query?: {
431
- chainId?: string | string[];
432
- include?: string | string[];
433
- } | undefined;
2989
+ query: {
2990
+ chainId: string | string[];
2991
+ };
434
2992
  };
435
2993
  };
436
2994
  };
@@ -466,14 +3024,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
466
3024
  } | {
467
3025
  output: {
468
3026
  error: {
469
- code: "earn_vault_not_found";
3027
+ code: "body_invalid";
470
3028
  details?: readonly Response.error.Detail[] | undefined;
471
3029
  message: string;
472
3030
  };
473
3031
  requestId: string;
474
3032
  };
475
3033
  outputFormat: "json";
476
- status: 404;
3034
+ status: 400;
477
3035
  input: {
478
3036
  json: {
479
3037
  chainId: unknown;
@@ -493,14 +3051,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
493
3051
  } | {
494
3052
  output: {
495
3053
  error: {
496
- code: "body_invalid";
3054
+ code: "earn_vault_not_found";
497
3055
  details?: readonly Response.error.Detail[] | undefined;
498
3056
  message: string;
499
3057
  };
500
3058
  requestId: string;
501
3059
  };
502
3060
  outputFormat: "json";
503
- status: 400;
3061
+ status: 404;
504
3062
  input: {
505
3063
  json: {
506
3064
  chainId: unknown;
@@ -553,6 +3111,20 @@ export declare function create(options: create.Options): import("hono/hono-base"
553
3111
  asOf: string;
554
3112
  methodology: "share-price-growth-annualized:v1";
555
3113
  net: string;
3114
+ rewards?: {
3115
+ apr: string | null;
3116
+ asset: {
3117
+ address: `0x${string}`;
3118
+ chainId: number;
3119
+ decimals: number;
3120
+ };
3121
+ calculatedThrough?: number | undefined;
3122
+ campaignId: string;
3123
+ endsAt: number;
3124
+ startsAt: number;
3125
+ targetTotalApr: string;
3126
+ }[] | undefined;
3127
+ vault: string;
556
3128
  window: "1d" | "1h" | "30d" | "7d";
557
3129
  } | null | undefined;
558
3130
  assetToken: {
@@ -626,309 +3198,58 @@ export declare function create(options: create.Options): import("hono/hono-base"
626
3198
  zones?: {
627
3199
  chainId: number;
628
3200
  deploymentBlock: number;
629
- earnRouter: `0x${string}`;
630
- inputTokens: `0x${string}`[];
631
- name: string;
632
- outputTokens: `0x${string}`[];
633
- }[] | undefined;
634
- engine: {
635
- address: `0x${string}`;
636
- venue: `0x${string}` | null;
637
- type: "erc4626" | "veda";
638
- };
639
- slug: string;
640
- verified: true;
641
- };
642
- outputFormat: "json";
643
- status: 200;
644
- input: {
645
- json: {
646
- chainId: unknown;
647
- description?: string | null | undefined;
648
- label?: string | undefined;
649
- privateInputTokens?: `0x${string}`[] | undefined;
650
- privateOutputTokens?: `0x${string}`[] | undefined;
651
- slug?: string | undefined;
652
- vaultAddress: `0x${string}`;
653
- zones?: {
654
- chainId: unknown;
655
- deploymentBlock: number;
656
- earnRouter: `0x${string}`;
657
- }[] | undefined;
658
- };
659
- };
660
- };
661
- };
662
- } & {
663
- "/:vaultId": {
664
- $delete: {
665
- output: null;
666
- outputFormat: "body";
667
- status: 204;
668
- input: {
669
- param: {
670
- vaultId: `0x${string}`;
671
- };
672
- } & {
673
- query: {
674
- chainId: string | string[];
675
- };
676
- };
677
- } | {
678
- output: {
679
- error: {
680
- code: "earn_vault_not_found";
681
- details?: readonly Response.error.Detail[] | undefined;
682
- message: string;
683
- };
684
- requestId: string;
685
- };
686
- outputFormat: "json";
687
- status: 404;
688
- input: {
689
- param: {
690
- vaultId: `0x${string}`;
691
- };
692
- } & {
693
- query: {
694
- chainId: string | string[];
695
- };
696
- };
697
- };
698
- };
699
- }, "/earn/verified-vaults"> | import("hono/types").MergeSchemaPath<{
700
- "/backfill": {
701
- $post: {
702
- output: {
703
- indexed: number;
704
- scanned: number;
705
- };
706
- outputFormat: "json";
707
- status: import("hono/utils/http-status").ContentfulStatusCode;
708
- input: {};
709
- };
710
- };
711
- } & {
712
- "/": {
713
- $post: {
714
- output: {
715
- error: {
716
- code: "upstream_error";
717
- details?: readonly Response.error.Detail[] | undefined;
718
- message: string;
719
- };
720
- requestId: string;
721
- };
722
- outputFormat: "json";
723
- status: 502;
724
- input: {
725
- json: {
726
- allowedIps?: readonly string[] | undefined;
727
- billingActive?: boolean | undefined;
728
- environment?: "production" | "sandbox" | undefined;
729
- projectId?: string | undefined;
730
- rateLimits?: Record<string, {
731
- limit: number;
732
- period: "minute" | "second";
733
- }> | undefined;
734
- orgId?: string | undefined;
735
- expiresAt?: string | undefined;
736
- name: string;
737
- scopes: readonly ("*" | "data:read" | "funding:read" | "funding:write" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[];
738
- };
739
- };
740
- } | {
741
- output: {
742
- error: {
743
- code: "not_found";
744
- details?: readonly Response.error.Detail[] | undefined;
745
- message: string;
746
- };
747
- requestId: string;
748
- };
749
- outputFormat: "json";
750
- status: 404;
751
- input: {
752
- json: {
753
- allowedIps?: readonly string[] | undefined;
754
- billingActive?: boolean | undefined;
755
- environment?: "production" | "sandbox" | undefined;
756
- projectId?: string | undefined;
757
- rateLimits?: Record<string, {
758
- limit: number;
759
- period: "minute" | "second";
760
- }> | undefined;
761
- orgId?: string | undefined;
762
- expiresAt?: string | undefined;
763
- name: string;
764
- scopes: readonly ("*" | "data:read" | "funding:read" | "funding:write" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[];
765
- };
766
- };
767
- } | {
768
- output: {
769
- allowedIps: readonly string[];
770
- billingActive?: boolean | undefined;
771
- environment: "production" | "sandbox";
772
- id: string;
773
- name?: string | undefined;
774
- orgId: string;
775
- projectId?: string | undefined;
776
- rateLimits?: {
777
- [x: string]: {
778
- limit: number;
779
- period: "minute" | "second";
780
- };
781
- } | undefined;
782
- scopes: readonly string[];
783
- createdAt: string;
784
- createdBy?: string | undefined;
785
- expiresAt?: string | undefined;
786
- tokenLast4: string;
787
- token: string;
788
- };
789
- outputFormat: "json";
790
- status: import("hono/utils/http-status").ContentfulStatusCode;
791
- input: {
792
- json: {
793
- allowedIps?: readonly string[] | undefined;
794
- billingActive?: boolean | undefined;
795
- environment?: "production" | "sandbox" | undefined;
796
- projectId?: string | undefined;
797
- rateLimits?: Record<string, {
798
- limit: number;
799
- period: "minute" | "second";
800
- }> | undefined;
801
- orgId?: string | undefined;
802
- expiresAt?: string | undefined;
803
- name: string;
804
- scopes: readonly ("*" | "data:read" | "funding:read" | "funding:write" | "indexer:query" | "management:read" | "management:write" | "mpp:write" | "rpc-relay:read" | "rpc-relay:sponsor" | "webhooks:read" | "webhooks:write" | `zone:${number}:read` | `zone:${number}:write`)[];
805
- };
806
- };
807
- };
808
- };
809
- } & {
810
- "/": {
811
- $get: {
812
- output: {
813
- data: {
814
- allowedIps: readonly string[];
815
- billingActive?: boolean | undefined;
816
- environment: "production" | "sandbox";
817
- id: string;
818
- name?: string | undefined;
819
- orgId: string;
820
- projectId?: string | undefined;
821
- rateLimits?: {
822
- [x: string]: {
823
- limit: number;
824
- period: "minute" | "second";
825
- };
826
- } | undefined;
827
- scopes: readonly string[];
828
- createdAt: string;
829
- createdBy?: string | undefined;
830
- expiresAt?: string | undefined;
831
- tokenLast4: string;
832
- createdByLabel: string | null;
833
- organizationName: string | null;
834
- projectName: string | null;
835
- }[];
836
- };
837
- outputFormat: "json";
838
- status: import("hono/utils/http-status").ContentfulStatusCode;
839
- input: {
840
- query?: {
841
- orgId?: string | string[];
842
- } | undefined;
843
- };
844
- };
845
- };
846
- } & {
847
- "/:id": {
848
- $delete: {
849
- output: {
850
- error: {
851
- code: "not_found";
852
- details?: readonly Response.error.Detail[] | undefined;
853
- message: string;
854
- };
855
- requestId: string;
856
- };
857
- outputFormat: "json";
858
- status: 404;
859
- input: {
860
- param: {
861
- id: string;
3201
+ earnRouter: `0x${string}`;
3202
+ inputTokens: `0x${string}`[];
3203
+ name: string;
3204
+ outputTokens: `0x${string}`[];
3205
+ }[] | undefined;
3206
+ engine: {
3207
+ address: `0x${string}`;
3208
+ venue: `0x${string}` | null;
3209
+ type: "erc4626" | "veda";
862
3210
  };
863
- };
864
- } | {
865
- output: {
866
- id: string;
3211
+ slug: string;
3212
+ verified: true;
867
3213
  };
868
3214
  outputFormat: "json";
869
- status: import("hono/utils/http-status").ContentfulStatusCode;
3215
+ status: 200;
870
3216
  input: {
871
- param: {
872
- id: string;
3217
+ json: {
3218
+ chainId: unknown;
3219
+ description?: string | null | undefined;
3220
+ label?: string | undefined;
3221
+ privateInputTokens?: `0x${string}`[] | undefined;
3222
+ privateOutputTokens?: `0x${string}`[] | undefined;
3223
+ slug?: string | undefined;
3224
+ vaultAddress: `0x${string}`;
3225
+ zones?: {
3226
+ chainId: unknown;
3227
+ deploymentBlock: number;
3228
+ earnRouter: `0x${string}`;
3229
+ }[] | undefined;
873
3230
  };
874
3231
  };
875
3232
  };
876
3233
  };
877
3234
  } & {
878
- "/:id/rotate": {
879
- $post: {
880
- output: {
881
- error: {
882
- code: "not_found";
883
- details?: readonly Response.error.Detail[] | undefined;
884
- message: string;
885
- };
886
- requestId: string;
887
- };
888
- outputFormat: "json";
889
- status: 404;
3235
+ "/:vaultId": {
3236
+ $delete: {
3237
+ output: null;
3238
+ outputFormat: "body";
3239
+ status: 204;
890
3240
  input: {
891
3241
  param: {
892
- id: string;
3242
+ vaultId: `0x${string}`;
893
3243
  };
894
- };
895
- } | {
896
- output: {
897
- allowedIps: readonly string[];
898
- billingActive?: boolean | undefined;
899
- environment: "production" | "sandbox";
900
- id: string;
901
- name?: string | undefined;
902
- orgId: string;
903
- projectId?: string | undefined;
904
- rateLimits?: {
905
- [x: string]: {
906
- limit: number;
907
- period: "minute" | "second";
908
- };
909
- } | undefined;
910
- scopes: readonly string[];
911
- createdAt: string;
912
- createdBy?: string | undefined;
913
- expiresAt?: string | undefined;
914
- tokenLast4: string;
915
- token: string;
916
- };
917
- outputFormat: "json";
918
- status: 200;
919
- input: {
920
- param: {
921
- id: string;
3244
+ } & {
3245
+ query: {
3246
+ chainId: string | string[];
922
3247
  };
923
3248
  };
924
- };
925
- };
926
- } & {
927
- "/:id": {
928
- $patch: {
3249
+ } | {
929
3250
  output: {
930
3251
  error: {
931
- code: "not_found";
3252
+ code: "earn_vault_not_found";
932
3253
  details?: readonly Response.error.Detail[] | undefined;
933
3254
  message: string;
934
3255
  };
@@ -938,20 +3259,17 @@ export declare function create(options: create.Options): import("hono/hono-base"
938
3259
  status: 404;
939
3260
  input: {
940
3261
  param: {
941
- id: string;
3262
+ vaultId: `0x${string}`;
942
3263
  };
943
3264
  } & {
944
- json: {
945
- allowedIps?: readonly string[] | undefined;
946
- name?: string | undefined;
947
- orgId?: string | undefined;
948
- projectId?: string | undefined;
3265
+ query: {
3266
+ chainId: string | string[];
949
3267
  };
950
3268
  };
951
3269
  } | {
952
3270
  output: {
953
3271
  error: {
954
- code: "organization_already_assigned";
3272
+ code: "earn_vault_rewards_exist";
955
3273
  details?: readonly Response.error.Detail[] | undefined;
956
3274
  message: string;
957
3275
  };
@@ -961,54 +3279,16 @@ export declare function create(options: create.Options): import("hono/hono-base"
961
3279
  status: 409;
962
3280
  input: {
963
3281
  param: {
964
- id: string;
965
- };
966
- } & {
967
- json: {
968
- allowedIps?: readonly string[] | undefined;
969
- name?: string | undefined;
970
- orgId?: string | undefined;
971
- projectId?: string | undefined;
972
- };
973
- };
974
- } | {
975
- output: {
976
- allowedIps: readonly string[];
977
- billingActive?: boolean | undefined;
978
- environment: "production" | "sandbox";
979
- id: string;
980
- name?: string | undefined;
981
- orgId: string;
982
- projectId?: string | undefined;
983
- rateLimits?: {
984
- [x: string]: {
985
- limit: number;
986
- period: "minute" | "second";
987
- };
988
- } | undefined;
989
- scopes: readonly string[];
990
- createdAt: string;
991
- createdBy?: string | undefined;
992
- expiresAt?: string | undefined;
993
- tokenLast4: string;
994
- };
995
- outputFormat: "json";
996
- status: import("hono/utils/http-status").ContentfulStatusCode;
997
- input: {
998
- param: {
999
- id: string;
3282
+ vaultId: `0x${string}`;
1000
3283
  };
1001
3284
  } & {
1002
- json: {
1003
- allowedIps?: readonly string[] | undefined;
1004
- name?: string | undefined;
1005
- orgId?: string | undefined;
1006
- projectId?: string | undefined;
3285
+ query: {
3286
+ chainId: string | string[];
1007
3287
  };
1008
3288
  };
1009
3289
  };
1010
3290
  };
1011
- }, "/api-keys"> | import("hono/types").MergeSchemaPath<{
3291
+ }, "/earn/verified-vaults"> | import("hono/types").MergeSchemaPath<{
1012
3292
  "/": {
1013
3293
  $get: {
1014
3294
  output: {
@@ -1019,7 +3299,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1019
3299
  logoUri?: string | undefined;
1020
3300
  name: string;
1021
3301
  symbol: string;
1022
- id: string;
3302
+ id: `0x${string}`;
1023
3303
  }[];
1024
3304
  version: string | null;
1025
3305
  };
@@ -1060,7 +3340,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1060
3340
  } | {
1061
3341
  output: {
1062
3342
  error: {
1063
- code: "verified_token_not_found";
3343
+ code: "assets_not_enabled";
1064
3344
  details?: readonly Response.error.Detail[] | undefined;
1065
3345
  message: string;
1066
3346
  };
@@ -1082,15 +3362,19 @@ export declare function create(options: create.Options): import("hono/hono-base"
1082
3362
  };
1083
3363
  } | {
1084
3364
  output: {
1085
- error: {
1086
- code: "assets_not_enabled";
1087
- details?: readonly Response.error.Detail[] | undefined;
1088
- message: string;
3365
+ data: {
3366
+ address: `0x${string}`;
3367
+ currency: string;
3368
+ decimals: number;
3369
+ logoUri?: string | undefined;
3370
+ name: string;
3371
+ symbol: string;
3372
+ id: `0x${string}`;
1089
3373
  };
1090
- requestId: string;
3374
+ version: string;
1091
3375
  };
1092
3376
  outputFormat: "json";
1093
- status: 404;
3377
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1094
3378
  input: {
1095
3379
  json: {
1096
3380
  address: `0x${string}`;
@@ -1105,19 +3389,15 @@ export declare function create(options: create.Options): import("hono/hono-base"
1105
3389
  };
1106
3390
  } | {
1107
3391
  output: {
1108
- data: {
1109
- address: `0x${string}`;
1110
- currency: string;
1111
- decimals: number;
1112
- logoUri?: string | undefined;
1113
- name: string;
1114
- symbol: string;
1115
- id: string;
3392
+ error: {
3393
+ code: string;
3394
+ details?: readonly Response.error.Detail[] | undefined;
3395
+ message: string;
1116
3396
  };
1117
- version: string;
3397
+ requestId: string;
1118
3398
  };
1119
3399
  outputFormat: "json";
1120
- status: import("hono/utils/http-status").ContentfulStatusCode;
3400
+ status: 400 | 413 | 415;
1121
3401
  input: {
1122
3402
  json: {
1123
3403
  address: `0x${string}`;
@@ -1133,14 +3413,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1133
3413
  } | {
1134
3414
  output: {
1135
3415
  error: {
1136
- code: string;
3416
+ code: "duplicate_address";
1137
3417
  details?: readonly Response.error.Detail[] | undefined;
1138
3418
  message: string;
1139
3419
  };
1140
3420
  requestId: string;
1141
3421
  };
1142
3422
  outputFormat: "json";
1143
- status: 400 | 413 | 415;
3423
+ status: 409;
1144
3424
  input: {
1145
3425
  json: {
1146
3426
  address: `0x${string}`;
@@ -1156,7 +3436,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1156
3436
  } | {
1157
3437
  output: {
1158
3438
  error: {
1159
- code: "duplicate_address";
3439
+ code: "duplicate_symbol";
1160
3440
  details?: readonly Response.error.Detail[] | undefined;
1161
3441
  message: string;
1162
3442
  };
@@ -1179,14 +3459,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1179
3459
  } | {
1180
3460
  output: {
1181
3461
  error: {
1182
- code: "duplicate_symbol";
3462
+ code: "verified_token_not_found";
1183
3463
  details?: readonly Response.error.Detail[] | undefined;
1184
3464
  message: string;
1185
3465
  };
1186
3466
  requestId: string;
1187
3467
  };
1188
3468
  outputFormat: "json";
1189
- status: 409;
3469
+ status: 404;
1190
3470
  input: {
1191
3471
  json: {
1192
3472
  address: `0x${string}`;
@@ -1256,14 +3536,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1256
3536
  } | {
1257
3537
  output: {
1258
3538
  error: {
1259
- code: "verified_token_not_found";
3539
+ code: string;
1260
3540
  details?: readonly Response.error.Detail[] | undefined;
1261
3541
  message: string;
1262
3542
  };
1263
3543
  requestId: string;
1264
3544
  };
1265
3545
  outputFormat: "json";
1266
- status: 404;
3546
+ status: 400 | 413 | 415;
1267
3547
  input: {
1268
3548
  query: {
1269
3549
  chainId: string | string[];
@@ -1283,14 +3563,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1283
3563
  } | {
1284
3564
  output: {
1285
3565
  error: {
1286
- code: string;
3566
+ code: "duplicate_address";
1287
3567
  details?: readonly Response.error.Detail[] | undefined;
1288
3568
  message: string;
1289
3569
  };
1290
3570
  requestId: string;
1291
3571
  };
1292
3572
  outputFormat: "json";
1293
- status: 400 | 413 | 415;
3573
+ status: 409;
1294
3574
  input: {
1295
3575
  query: {
1296
3576
  chainId: string | string[];
@@ -1310,7 +3590,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1310
3590
  } | {
1311
3591
  output: {
1312
3592
  error: {
1313
- code: "duplicate_address";
3593
+ code: "duplicate_symbol";
1314
3594
  details?: readonly Response.error.Detail[] | undefined;
1315
3595
  message: string;
1316
3596
  };
@@ -1337,14 +3617,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1337
3617
  } | {
1338
3618
  output: {
1339
3619
  error: {
1340
- code: "duplicate_symbol";
3620
+ code: "verified_token_not_found";
1341
3621
  details?: readonly Response.error.Detail[] | undefined;
1342
3622
  message: string;
1343
3623
  };
1344
3624
  requestId: string;
1345
3625
  };
1346
3626
  outputFormat: "json";
1347
- status: 409;
3627
+ status: 404;
1348
3628
  input: {
1349
3629
  query: {
1350
3630
  chainId: string | string[];
@@ -1397,7 +3677,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1397
3677
  logoUri?: string | undefined;
1398
3678
  name: string;
1399
3679
  symbol: string;
1400
- id: string;
3680
+ id: `0x${string}`;
1401
3681
  }[];
1402
3682
  version: string;
1403
3683
  };
@@ -1453,15 +3733,19 @@ export declare function create(options: create.Options): import("hono/hono-base"
1453
3733
  };
1454
3734
  } | {
1455
3735
  output: {
1456
- error: {
1457
- code: "verified_token_not_found";
1458
- details?: readonly Response.error.Detail[] | undefined;
1459
- message: string;
3736
+ data: {
3737
+ address: `0x${string}`;
3738
+ currency: string;
3739
+ decimals: number;
3740
+ logoUri?: string | undefined;
3741
+ name: string;
3742
+ symbol: string;
3743
+ id: `0x${string}`;
1460
3744
  };
1461
- requestId: string;
3745
+ version: string;
1462
3746
  };
1463
3747
  outputFormat: "json";
1464
- status: 404;
3748
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1465
3749
  input: {
1466
3750
  param: {
1467
3751
  address: `0x${string}`;
@@ -1481,19 +3765,15 @@ export declare function create(options: create.Options): import("hono/hono-base"
1481
3765
  };
1482
3766
  } | {
1483
3767
  output: {
1484
- data: {
1485
- address: `0x${string}`;
1486
- currency: string;
1487
- decimals: number;
1488
- logoUri?: string | undefined;
1489
- name: string;
1490
- symbol: string;
1491
- id: string;
3768
+ error: {
3769
+ code: string;
3770
+ details?: readonly Response.error.Detail[] | undefined;
3771
+ message: string;
1492
3772
  };
1493
- version: string;
3773
+ requestId: string;
1494
3774
  };
1495
3775
  outputFormat: "json";
1496
- status: import("hono/utils/http-status").ContentfulStatusCode;
3776
+ status: 400 | 413 | 415;
1497
3777
  input: {
1498
3778
  param: {
1499
3779
  address: `0x${string}`;
@@ -1514,14 +3794,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1514
3794
  } | {
1515
3795
  output: {
1516
3796
  error: {
1517
- code: string;
3797
+ code: "duplicate_address";
1518
3798
  details?: readonly Response.error.Detail[] | undefined;
1519
3799
  message: string;
1520
3800
  };
1521
3801
  requestId: string;
1522
3802
  };
1523
3803
  outputFormat: "json";
1524
- status: 400 | 413 | 415;
3804
+ status: 409;
1525
3805
  input: {
1526
3806
  param: {
1527
3807
  address: `0x${string}`;
@@ -1542,7 +3822,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1542
3822
  } | {
1543
3823
  output: {
1544
3824
  error: {
1545
- code: "duplicate_address";
3825
+ code: "duplicate_symbol";
1546
3826
  details?: readonly Response.error.Detail[] | undefined;
1547
3827
  message: string;
1548
3828
  };
@@ -1570,14 +3850,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1570
3850
  } | {
1571
3851
  output: {
1572
3852
  error: {
1573
- code: "duplicate_symbol";
3853
+ code: "verified_token_not_found";
1574
3854
  details?: readonly Response.error.Detail[] | undefined;
1575
3855
  message: string;
1576
3856
  };
1577
3857
  requestId: string;
1578
3858
  };
1579
3859
  outputFormat: "json";
1580
- status: 409;
3860
+ status: 404;
1581
3861
  input: {
1582
3862
  param: {
1583
3863
  address: `0x${string}`;
@@ -1650,14 +3930,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1650
3930
  } | {
1651
3931
  output: {
1652
3932
  error: {
1653
- code: "verified_token_not_found";
3933
+ code: string;
1654
3934
  details?: readonly Response.error.Detail[] | undefined;
1655
3935
  message: string;
1656
3936
  };
1657
3937
  requestId: string;
1658
3938
  };
1659
3939
  outputFormat: "json";
1660
- status: 404;
3940
+ status: 400 | 413 | 415;
1661
3941
  input: {
1662
3942
  param: {
1663
3943
  address: `0x${string}`;
@@ -1670,14 +3950,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1670
3950
  } | {
1671
3951
  output: {
1672
3952
  error: {
1673
- code: string;
3953
+ code: "duplicate_address";
1674
3954
  details?: readonly Response.error.Detail[] | undefined;
1675
3955
  message: string;
1676
3956
  };
1677
3957
  requestId: string;
1678
3958
  };
1679
3959
  outputFormat: "json";
1680
- status: 400 | 413 | 415;
3960
+ status: 409;
1681
3961
  input: {
1682
3962
  param: {
1683
3963
  address: `0x${string}`;
@@ -1690,7 +3970,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1690
3970
  } | {
1691
3971
  output: {
1692
3972
  error: {
1693
- code: "duplicate_address";
3973
+ code: "duplicate_symbol";
1694
3974
  details?: readonly Response.error.Detail[] | undefined;
1695
3975
  message: string;
1696
3976
  };
@@ -1710,14 +3990,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1710
3990
  } | {
1711
3991
  output: {
1712
3992
  error: {
1713
- code: "duplicate_symbol";
3993
+ code: "verified_token_not_found";
1714
3994
  details?: readonly Response.error.Detail[] | undefined;
1715
3995
  message: string;
1716
3996
  };
1717
3997
  requestId: string;
1718
3998
  };
1719
3999
  outputFormat: "json";
1720
- status: 409;
4000
+ status: 404;
1721
4001
  input: {
1722
4002
  param: {
1723
4003
  address: `0x${string}`;
@@ -1769,7 +4049,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1769
4049
  $get: {
1770
4050
  output: ArrayBuffer;
1771
4051
  outputFormat: "body";
1772
- status: import("hono/utils/http-status").ContentfulStatusCode;
4052
+ status: 200;
1773
4053
  input: {
1774
4054
  param: {
1775
4055
  address: `0x${string}`;
@@ -1957,7 +4237,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
1957
4237
  } | {
1958
4238
  output: {
1959
4239
  error: {
1960
- code: "verified_token_not_found";
4240
+ code: "assets_not_enabled";
1961
4241
  details?: readonly Response.error.Detail[] | undefined;
1962
4242
  message: string;
1963
4243
  };
@@ -1973,14 +4253,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1973
4253
  } | {
1974
4254
  output: {
1975
4255
  error: {
1976
- code: "request_not_pending";
4256
+ code: string;
1977
4257
  details?: readonly Response.error.Detail[] | undefined;
1978
4258
  message: string;
1979
4259
  };
1980
4260
  requestId: string;
1981
4261
  };
1982
4262
  outputFormat: "json";
1983
- status: 409;
4263
+ status: 400 | 413 | 415;
1984
4264
  input: {
1985
4265
  param: {
1986
4266
  requestId: string;
@@ -1989,14 +4269,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
1989
4269
  } | {
1990
4270
  output: {
1991
4271
  error: {
1992
- code: "verified_token_request_not_found";
4272
+ code: "duplicate_address";
1993
4273
  details?: readonly Response.error.Detail[] | undefined;
1994
4274
  message: string;
1995
4275
  };
1996
4276
  requestId: string;
1997
4277
  };
1998
4278
  outputFormat: "json";
1999
- status: 404;
4279
+ status: 409;
2000
4280
  input: {
2001
4281
  param: {
2002
4282
  requestId: string;
@@ -2005,14 +4285,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2005
4285
  } | {
2006
4286
  output: {
2007
4287
  error: {
2008
- code: "assets_not_enabled";
4288
+ code: "duplicate_symbol";
2009
4289
  details?: readonly Response.error.Detail[] | undefined;
2010
4290
  message: string;
2011
4291
  };
2012
4292
  requestId: string;
2013
4293
  };
2014
4294
  outputFormat: "json";
2015
- status: 404;
4295
+ status: 409;
2016
4296
  input: {
2017
4297
  param: {
2018
4298
  requestId: string;
@@ -2021,14 +4301,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2021
4301
  } | {
2022
4302
  output: {
2023
4303
  error: {
2024
- code: string;
4304
+ code: "verified_token_not_found";
2025
4305
  details?: readonly Response.error.Detail[] | undefined;
2026
4306
  message: string;
2027
4307
  };
2028
4308
  requestId: string;
2029
4309
  };
2030
4310
  outputFormat: "json";
2031
- status: 400 | 413 | 415;
4311
+ status: 404;
2032
4312
  input: {
2033
4313
  param: {
2034
4314
  requestId: string;
@@ -2037,14 +4317,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2037
4317
  } | {
2038
4318
  output: {
2039
4319
  error: {
2040
- code: "duplicate_address";
4320
+ code: "version_mismatch";
2041
4321
  details?: readonly Response.error.Detail[] | undefined;
2042
4322
  message: string;
2043
4323
  };
2044
4324
  requestId: string;
2045
4325
  };
2046
4326
  outputFormat: "json";
2047
- status: 409;
4327
+ status: 412;
2048
4328
  input: {
2049
4329
  param: {
2050
4330
  requestId: string;
@@ -2053,14 +4333,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2053
4333
  } | {
2054
4334
  output: {
2055
4335
  error: {
2056
- code: "duplicate_symbol";
4336
+ code: "verified_token_request_not_found";
2057
4337
  details?: readonly Response.error.Detail[] | undefined;
2058
4338
  message: string;
2059
4339
  };
2060
4340
  requestId: string;
2061
4341
  };
2062
4342
  outputFormat: "json";
2063
- status: 409;
4343
+ status: 404;
2064
4344
  input: {
2065
4345
  param: {
2066
4346
  requestId: string;
@@ -2069,14 +4349,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2069
4349
  } | {
2070
4350
  output: {
2071
4351
  error: {
2072
- code: "version_mismatch";
4352
+ code: "request_not_pending";
2073
4353
  details?: readonly Response.error.Detail[] | undefined;
2074
4354
  message: string;
2075
4355
  };
2076
4356
  requestId: string;
2077
4357
  };
2078
4358
  outputFormat: "json";
2079
- status: 412;
4359
+ status: 409;
2080
4360
  input: {
2081
4361
  param: {
2082
4362
  requestId: string;
@@ -2140,14 +4420,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2140
4420
  } | {
2141
4421
  output: {
2142
4422
  error: {
2143
- code: "verified_token_not_found";
4423
+ code: string;
2144
4424
  details?: readonly Response.error.Detail[] | undefined;
2145
4425
  message: string;
2146
4426
  };
2147
4427
  requestId: string;
2148
4428
  };
2149
4429
  outputFormat: "json";
2150
- status: 404;
4430
+ status: 400 | 413 | 415;
2151
4431
  input: {
2152
4432
  param: {
2153
4433
  requestId: string;
@@ -2160,7 +4440,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
2160
4440
  } | {
2161
4441
  output: {
2162
4442
  error: {
2163
- code: "request_not_pending";
4443
+ code: "duplicate_address";
2164
4444
  details?: readonly Response.error.Detail[] | undefined;
2165
4445
  message: string;
2166
4446
  };
@@ -2180,14 +4460,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2180
4460
  } | {
2181
4461
  output: {
2182
4462
  error: {
2183
- code: "verified_token_request_not_found";
4463
+ code: "duplicate_symbol";
2184
4464
  details?: readonly Response.error.Detail[] | undefined;
2185
4465
  message: string;
2186
4466
  };
2187
4467
  requestId: string;
2188
4468
  };
2189
4469
  outputFormat: "json";
2190
- status: 404;
4470
+ status: 409;
2191
4471
  input: {
2192
4472
  param: {
2193
4473
  requestId: string;
@@ -2200,14 +4480,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2200
4480
  } | {
2201
4481
  output: {
2202
4482
  error: {
2203
- code: string;
4483
+ code: "verified_token_not_found";
2204
4484
  details?: readonly Response.error.Detail[] | undefined;
2205
4485
  message: string;
2206
4486
  };
2207
4487
  requestId: string;
2208
4488
  };
2209
4489
  outputFormat: "json";
2210
- status: 400 | 413 | 415;
4490
+ status: 404;
2211
4491
  input: {
2212
4492
  param: {
2213
4493
  requestId: string;
@@ -2220,14 +4500,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2220
4500
  } | {
2221
4501
  output: {
2222
4502
  error: {
2223
- code: "duplicate_address";
4503
+ code: "version_mismatch";
2224
4504
  details?: readonly Response.error.Detail[] | undefined;
2225
4505
  message: string;
2226
4506
  };
2227
4507
  requestId: string;
2228
4508
  };
2229
4509
  outputFormat: "json";
2230
- status: 409;
4510
+ status: 412;
2231
4511
  input: {
2232
4512
  param: {
2233
4513
  requestId: string;
@@ -2240,14 +4520,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2240
4520
  } | {
2241
4521
  output: {
2242
4522
  error: {
2243
- code: "duplicate_symbol";
4523
+ code: "verified_token_request_not_found";
2244
4524
  details?: readonly Response.error.Detail[] | undefined;
2245
4525
  message: string;
2246
4526
  };
2247
4527
  requestId: string;
2248
4528
  };
2249
4529
  outputFormat: "json";
2250
- status: 409;
4530
+ status: 404;
2251
4531
  input: {
2252
4532
  param: {
2253
4533
  requestId: string;
@@ -2260,14 +4540,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
2260
4540
  } | {
2261
4541
  output: {
2262
4542
  error: {
2263
- code: "version_mismatch";
4543
+ code: "request_not_pending";
2264
4544
  details?: readonly Response.error.Detail[] | undefined;
2265
4545
  message: string;
2266
4546
  };
2267
4547
  requestId: string;
2268
4548
  };
2269
4549
  outputFormat: "json";
2270
- status: 412;
4550
+ status: 409;
2271
4551
  input: {
2272
4552
  param: {
2273
4553
  requestId: string;
@@ -2434,9 +4714,65 @@ export declare function create(options: create.Options): import("hono/hono-base"
2434
4714
  } | null;
2435
4715
  };
2436
4716
  };
2437
- sponsorshipSubsidy: {
4717
+ };
4718
+ outputFormat: "json";
4719
+ status: 200;
4720
+ input: {
4721
+ param: {
4722
+ orgId: string;
4723
+ };
4724
+ };
4725
+ };
4726
+ };
4727
+ } & {
4728
+ "/:orgId/subsidies": {
4729
+ $get: {
4730
+ output: {
4731
+ error: {
4732
+ code: "upstream_error";
4733
+ details?: readonly Response.error.Detail[] | undefined;
4734
+ message: string;
4735
+ };
4736
+ requestId: string;
4737
+ };
4738
+ outputFormat: "json";
4739
+ status: 502;
4740
+ input: {
4741
+ param: {
4742
+ orgId: string;
4743
+ };
4744
+ };
4745
+ } | {
4746
+ output: {
4747
+ error: {
4748
+ code: "not_found";
4749
+ details?: readonly Response.error.Detail[] | undefined;
4750
+ message: string;
4751
+ };
4752
+ requestId: string;
4753
+ };
4754
+ outputFormat: "json";
4755
+ status: 404;
4756
+ input: {
4757
+ param: {
4758
+ orgId: string;
4759
+ };
4760
+ };
4761
+ } | {
4762
+ output: {
4763
+ routes: {
4764
+ frequency: "tx";
4765
+ maxAmount: string;
4766
+ } | null;
4767
+ routesUsage: {
4768
+ amount: string;
4769
+ count: number;
4770
+ from: string;
4771
+ to: string;
4772
+ };
4773
+ sponsorship: {
4774
+ attributionSpendLimit: string | null;
2438
4775
  durationDays: 90 | null;
2439
- projectSpendLimit: string | null;
2440
4776
  };
2441
4777
  };
2442
4778
  outputFormat: "json";
@@ -2449,7 +4785,79 @@ export declare function create(options: create.Options): import("hono/hono-base"
2449
4785
  };
2450
4786
  };
2451
4787
  } & {
2452
- "/:orgId/sponsorship": {
4788
+ "/:orgId/subsidies/routes": {
4789
+ $put: {
4790
+ output: {
4791
+ error: {
4792
+ code: "upstream_error";
4793
+ details?: readonly Response.error.Detail[] | undefined;
4794
+ message: string;
4795
+ };
4796
+ requestId: string;
4797
+ };
4798
+ outputFormat: "json";
4799
+ status: 502;
4800
+ input: {
4801
+ param: {
4802
+ orgId: string;
4803
+ };
4804
+ } & {
4805
+ json: {
4806
+ enabled: false;
4807
+ } | {
4808
+ enabled: true;
4809
+ frequency: "tx";
4810
+ maxAmount: string;
4811
+ };
4812
+ };
4813
+ } | {
4814
+ output: {
4815
+ error: {
4816
+ code: "not_found";
4817
+ details?: readonly Response.error.Detail[] | undefined;
4818
+ message: string;
4819
+ };
4820
+ requestId: string;
4821
+ };
4822
+ outputFormat: "json";
4823
+ status: 404;
4824
+ input: {
4825
+ param: {
4826
+ orgId: string;
4827
+ };
4828
+ } & {
4829
+ json: {
4830
+ enabled: false;
4831
+ } | {
4832
+ enabled: true;
4833
+ frequency: "tx";
4834
+ maxAmount: string;
4835
+ };
4836
+ };
4837
+ } | {
4838
+ output: {
4839
+ frequency: "tx";
4840
+ maxAmount: string;
4841
+ } | null;
4842
+ outputFormat: "json";
4843
+ status: 200;
4844
+ input: {
4845
+ param: {
4846
+ orgId: string;
4847
+ };
4848
+ } & {
4849
+ json: {
4850
+ enabled: false;
4851
+ } | {
4852
+ enabled: true;
4853
+ frequency: "tx";
4854
+ maxAmount: string;
4855
+ };
4856
+ };
4857
+ };
4858
+ };
4859
+ } & {
4860
+ "/:orgId/subsidies/sponsorship": {
2453
4861
  $put: {
2454
4862
  output: {
2455
4863
  error: {
@@ -2467,8 +4875,8 @@ export declare function create(options: create.Options): import("hono/hono-base"
2467
4875
  };
2468
4876
  } & {
2469
4877
  json: {
4878
+ attributionSpendLimit?: string | undefined;
2470
4879
  enabled: true;
2471
- projectSpendLimit?: string | undefined;
2472
4880
  } | {
2473
4881
  enabled: false;
2474
4882
  };
@@ -2490,16 +4898,16 @@ export declare function create(options: create.Options): import("hono/hono-base"
2490
4898
  };
2491
4899
  } & {
2492
4900
  json: {
4901
+ attributionSpendLimit?: string | undefined;
2493
4902
  enabled: true;
2494
- projectSpendLimit?: string | undefined;
2495
4903
  } | {
2496
4904
  enabled: false;
2497
4905
  };
2498
4906
  };
2499
4907
  } | {
2500
4908
  output: {
4909
+ attributionSpendLimit: string | null;
2501
4910
  durationDays: 90 | null;
2502
- projectSpendLimit: string | null;
2503
4911
  };
2504
4912
  outputFormat: "json";
2505
4913
  status: 200;
@@ -2509,8 +4917,8 @@ export declare function create(options: create.Options): import("hono/hono-base"
2509
4917
  };
2510
4918
  } & {
2511
4919
  json: {
4920
+ attributionSpendLimit?: string | undefined;
2512
4921
  enabled: true;
2513
- projectSpendLimit?: string | undefined;
2514
4922
  } | {
2515
4923
  enabled: false;
2516
4924
  };
@@ -2687,6 +5095,95 @@ export declare function create(options: create.Options): import("hono/hono-base"
2687
5095
  };
2688
5096
  };
2689
5097
  };
5098
+ } & {
5099
+ "/:orgId/invitations": {
5100
+ $post: {
5101
+ output: {
5102
+ error: {
5103
+ code: "upstream_error";
5104
+ details?: readonly Response.error.Detail[] | undefined;
5105
+ message: string;
5106
+ };
5107
+ requestId: string;
5108
+ };
5109
+ outputFormat: "json";
5110
+ status: 502;
5111
+ input: {
5112
+ param: {
5113
+ orgId: string;
5114
+ };
5115
+ } & {
5116
+ json: {
5117
+ email: string;
5118
+ role: "admin" | "member" | "owner";
5119
+ };
5120
+ };
5121
+ } | {
5122
+ output: {
5123
+ error: {
5124
+ code: "not_found";
5125
+ details?: readonly Response.error.Detail[] | undefined;
5126
+ message: string;
5127
+ };
5128
+ requestId: string;
5129
+ };
5130
+ outputFormat: "json";
5131
+ status: 404;
5132
+ input: {
5133
+ param: {
5134
+ orgId: string;
5135
+ };
5136
+ } & {
5137
+ json: {
5138
+ email: string;
5139
+ role: "admin" | "member" | "owner";
5140
+ };
5141
+ };
5142
+ } | {
5143
+ output: {
5144
+ error: {
5145
+ code: "rate_limit_exceeded";
5146
+ details?: readonly Response.error.Detail[] | undefined;
5147
+ message: string;
5148
+ };
5149
+ requestId: string;
5150
+ };
5151
+ outputFormat: "json";
5152
+ status: 429;
5153
+ input: {
5154
+ param: {
5155
+ orgId: string;
5156
+ };
5157
+ } & {
5158
+ json: {
5159
+ email: string;
5160
+ role: "admin" | "member" | "owner";
5161
+ };
5162
+ };
5163
+ } | {
5164
+ output: {
5165
+ createdAt: string;
5166
+ email: string;
5167
+ expiresAt: string;
5168
+ id: string;
5169
+ invitedBy: string;
5170
+ orgId: string;
5171
+ role: "admin" | "member" | "owner";
5172
+ };
5173
+ outputFormat: "json";
5174
+ status: 200;
5175
+ input: {
5176
+ param: {
5177
+ orgId: string;
5178
+ };
5179
+ } & {
5180
+ json: {
5181
+ email: string;
5182
+ role: "admin" | "member" | "owner";
5183
+ };
5184
+ };
5185
+ };
5186
+ };
2690
5187
  } & {
2691
5188
  "/:orgId/projects": {
2692
5189
  $get: {
@@ -3039,6 +5536,9 @@ export declare function create(options: create.Options): import("hono/hono-base"
3039
5536
  loginUrl?: string | undefined;
3040
5537
  logoutUrl?: string | undefined;
3041
5538
  };
5539
+ rewards: {
5540
+ signerAddress: `0x${string}`;
5541
+ };
3042
5542
  };
3043
5543
  outputFormat: "json";
3044
5544
  status: 200;
@@ -3068,6 +5568,8 @@ export declare namespace create {
3068
5568
  * (`() => Db.postgres(...)`) on Workers.
3069
5569
  */
3070
5570
  db: Db.Source;
5571
+ /** Transactional email sender used for organization invitations. */
5572
+ email?: Email.Sender | undefined;
3071
5573
  /**
3072
5574
  * Extracts the verified admin identity from a request, or `null` to deny.
3073
5575
  * Must only return an identity for an already-authenticated request (a
@@ -3081,6 +5583,12 @@ export declare namespace create {
3081
5583
  kv: {
3082
5584
  store: Store.State;
3083
5585
  };
5586
+ /** Metrics backend for admin operational signals. */
5587
+ metrics?: Metrics.Metrics | undefined;
5588
+ /** Public address used by the reward signer service. */
5589
+ rewardsSignerAddress: Address;
5590
+ /** Shared counter store used to rate limit admin-triggered side effects. */
5591
+ rateLimit?: RateLimit.memory.Options | undefined;
3084
5592
  /** Tempo RPC options used by onchain verification. */
3085
5593
  rpc?: Viem.getClient.Rpc | undefined;
3086
5594
  /**