tapimo 0.13.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 (1143) 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 +21383 -18056
  9. package/dist/App.d.ts.map +1 -1
  10. package/dist/App.js +301 -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 +2 -2
  24. package/dist/Webhooks.js.map +1 -1
  25. package/dist/admin/App.d.ts +3936 -1337
  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 +1446 -0
  34. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  35. package/dist/admin/apps/earn-vaults.js +465 -8
  36. package/dist/admin/apps/earn-vaults.js.map +1 -1
  37. package/dist/admin/apps/organizations.d.ts +344 -3
  38. package/dist/admin/apps/organizations.d.ts.map +1 -1
  39. package/dist/admin/apps/organizations.js +288 -10
  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 +16 -16
  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 +40 -8
  76. package/dist/apps/Zones.js.map +1 -1
  77. package/dist/apps/data/App.d.ts +4310 -2548
  78. package/dist/apps/data/App.d.ts.map +1 -1
  79. package/dist/apps/data/App.js +86 -26
  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 +94 -22
  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 +1641 -352
  92. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  93. package/dist/apps/data/routes/earn.js +1561 -120
  94. package/dist/apps/data/routes/earn.js.map +1 -1
  95. package/dist/apps/data/routes/exchanges.d.ts +15 -0
  96. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  97. package/dist/apps/data/routes/exchanges.js +180 -114
  98. package/dist/apps/data/routes/exchanges.js.map +1 -1
  99. package/dist/apps/data/routes/fee-amm.d.ts +5 -0
  100. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  101. package/dist/apps/data/routes/fee-amm.js +49 -38
  102. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  103. package/dist/apps/data/routes/indexer.d.ts +125 -0
  104. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  105. package/dist/apps/data/routes/indexer.js +83 -27
  106. package/dist/apps/data/routes/indexer.js.map +1 -1
  107. package/dist/apps/data/routes/rpc.d.ts +507 -33
  108. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  109. package/dist/apps/data/routes/rpc.js +266 -156
  110. package/dist/apps/data/routes/rpc.js.map +1 -1
  111. package/dist/apps/data/routes/tokenlist.d.ts +47 -15
  112. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  113. package/dist/apps/data/routes/tokenlist.js +68 -11
  114. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  115. package/dist/apps/data/routes/tokens.d.ts +95 -93
  116. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  117. package/dist/apps/data/routes/tokens.js +26 -14
  118. package/dist/apps/data/routes/tokens.js.map +1 -1
  119. package/dist/apps/data/routes/transfers.d.ts +16 -0
  120. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  121. package/dist/apps/data/routes/transfers.js +9 -7
  122. package/dist/apps/data/routes/transfers.js.map +1 -1
  123. package/dist/apps/data/routes/verified-tokens.d.ts +4 -4
  124. package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
  125. package/dist/apps/data/routes/verified-tokens.js +64 -20
  126. package/dist/apps/data/routes/verified-tokens.js.map +1 -1
  127. package/dist/apps/data/routes/webhooks.d.ts +1210 -70
  128. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  129. package/dist/apps/data/routes/webhooks.js +301 -163
  130. package/dist/apps/data/routes/webhooks.js.map +1 -1
  131. package/dist/apps/data/routes/zones.d.ts.map +1 -1
  132. package/dist/apps/data/routes/zones.js +20 -12
  133. package/dist/apps/data/routes/zones.js.map +1 -1
  134. package/dist/apps/docs/reference.js +2 -2
  135. package/dist/apps/docs/reference.js.map +1 -1
  136. package/dist/apps/index.d.ts +1 -1
  137. package/dist/apps/index.d.ts.map +1 -1
  138. package/dist/apps/index.js +1 -1
  139. package/dist/apps/index.js.map +1 -1
  140. package/dist/apps/management/App.d.ts +4119 -3297
  141. package/dist/apps/management/App.d.ts.map +1 -1
  142. package/dist/apps/management/App.js +5 -14
  143. package/dist/apps/management/App.js.map +1 -1
  144. package/dist/apps/management/Billing.d.ts +49 -8
  145. package/dist/apps/management/Billing.d.ts.map +1 -1
  146. package/dist/apps/management/Billing.js +221 -26
  147. package/dist/apps/management/Billing.js.map +1 -1
  148. package/dist/apps/management/routes/api-keys.d.ts +174 -72
  149. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  150. package/dist/apps/management/routes/api-keys.js +43 -15
  151. package/dist/apps/management/routes/api-keys.js.map +1 -1
  152. package/dist/apps/management/routes/billing.d.ts +364 -78
  153. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  154. package/dist/apps/management/routes/billing.js +274 -49
  155. package/dist/apps/management/routes/billing.js.map +1 -1
  156. package/dist/apps/management/routes/faucet.d.ts +6 -6
  157. package/dist/apps/management/routes/faucet.js +1 -1
  158. package/dist/apps/management/routes/faucet.js.map +1 -1
  159. package/dist/apps/management/routes/invitations.d.ts +99 -24
  160. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  161. package/dist/apps/management/routes/invitations.js +117 -13
  162. package/dist/apps/management/routes/invitations.js.map +1 -1
  163. package/dist/apps/management/routes/invite-links.d.ts +42 -42
  164. package/dist/apps/management/routes/me.d.ts.map +1 -1
  165. package/dist/apps/management/routes/me.js +6 -2
  166. package/dist/apps/management/routes/me.js.map +1 -1
  167. package/dist/apps/management/routes/members.d.ts +16 -16
  168. package/dist/apps/management/routes/orgs.d.ts +36 -20
  169. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  170. package/dist/apps/management/routes/orgs.js +52 -12
  171. package/dist/apps/management/routes/orgs.js.map +1 -1
  172. package/dist/apps/management/routes/projects.d.ts +40 -40
  173. package/dist/apps/management/routes/projects.d.ts.map +1 -1
  174. package/dist/apps/management/routes/projects.js +6 -1
  175. package/dist/apps/management/routes/projects.js.map +1 -1
  176. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  177. package/dist/apps/management/routes/scopes.js +4 -1
  178. package/dist/apps/management/routes/scopes.js.map +1 -1
  179. package/dist/apps/management/routes/usage.d.ts +8 -8
  180. package/dist/apps/management/routes/usage.js +21 -4
  181. package/dist/apps/management/routes/usage.js.map +1 -1
  182. package/dist/apps/management/routes/verified-token-requests.d.ts +16 -16
  183. package/dist/apps/management/routes/webhooks.d.ts +931 -215
  184. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  185. package/dist/apps/management/routes/webhooks.js +71 -25
  186. package/dist/apps/management/routes/webhooks.js.map +1 -1
  187. package/dist/apps/mcp.d.ts +1 -1
  188. package/dist/apps/mcp.js +7 -7
  189. package/dist/apps/mcp.js.map +1 -1
  190. package/dist/apps/mpp/App.d.ts.map +1 -1
  191. package/dist/apps/mpp/App.js +35 -7
  192. package/dist/apps/mpp/App.js.map +1 -1
  193. package/dist/apps/mpp/internal/Adapter.d.ts +2 -0
  194. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
  195. package/dist/apps/mpp/internal/Adapter.js +30 -1
  196. package/dist/apps/mpp/internal/Adapter.js.map +1 -1
  197. package/dist/apps/mpp/internal/Policy.d.ts +22 -4
  198. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
  199. package/dist/apps/mpp/internal/Policy.js +24 -6
  200. package/dist/apps/mpp/internal/Policy.js.map +1 -1
  201. package/dist/apps/mpp/internal/Sponsorship.d.ts +3 -0
  202. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -1
  203. package/dist/apps/mpp/internal/Sponsorship.js +6 -3
  204. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -1
  205. package/dist/apps/relay/App.d.ts +2 -0
  206. package/dist/apps/relay/App.d.ts.map +1 -1
  207. package/dist/apps/relay/App.js +177 -26
  208. package/dist/apps/relay/App.js.map +1 -1
  209. package/dist/apps/relay/Sponsorships.d.ts +5 -3
  210. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  211. package/dist/apps/relay/Sponsorships.js +232 -25
  212. package/dist/apps/relay/Sponsorships.js.map +1 -1
  213. package/dist/apps/{funding → routes}/Access.d.ts +4 -4
  214. package/dist/apps/routes/Access.d.ts.map +1 -0
  215. package/dist/apps/{funding → routes}/Access.js +4 -4
  216. package/dist/apps/routes/Access.js.map +1 -0
  217. package/dist/apps/{funding → routes}/App.d.ts +841 -136
  218. package/dist/apps/{funding → routes}/App.d.ts.map +1 -1
  219. package/dist/apps/{funding → routes}/App.js +17 -17
  220. package/dist/apps/routes/App.js.map +1 -0
  221. package/dist/apps/routes/Inventory.d.ts.map +1 -0
  222. package/dist/apps/{funding → routes}/Inventory.js +2 -2
  223. package/dist/apps/routes/Inventory.js.map +1 -0
  224. package/dist/apps/routes/index.d.ts +2 -0
  225. package/dist/apps/routes/index.d.ts.map +1 -0
  226. package/dist/apps/routes/index.js +2 -0
  227. package/dist/apps/routes/index.js.map +1 -0
  228. package/dist/apps/{funding → routes}/routes/chains.d.ts +7 -7
  229. package/dist/apps/routes/routes/chains.d.ts.map +1 -0
  230. package/dist/apps/{funding → routes}/routes/chains.js +25 -25
  231. package/dist/apps/routes/routes/chains.js.map +1 -0
  232. package/dist/apps/{funding → routes}/routes/deposit-addresses.d.ts +123 -59
  233. package/dist/apps/routes/routes/deposit-addresses.d.ts.map +1 -0
  234. package/dist/apps/{funding → routes}/routes/deposit-addresses.js +498 -223
  235. package/dist/apps/routes/routes/deposit-addresses.js.map +1 -0
  236. package/dist/apps/{funding → routes}/routes/providers.d.ts +8 -8
  237. package/dist/apps/routes/routes/providers.d.ts.map +1 -0
  238. package/dist/apps/routes/routes/providers.js +57 -0
  239. package/dist/apps/routes/routes/providers.js.map +1 -0
  240. package/dist/apps/{funding → routes}/routes/quotes.d.ts +19 -16
  241. package/dist/apps/routes/routes/quotes.d.ts.map +1 -0
  242. package/dist/apps/{funding → routes}/routes/quotes.js +55 -38
  243. package/dist/apps/routes/routes/quotes.js.map +1 -0
  244. package/dist/apps/{funding → routes}/routes/transfers.d.ts +957 -71
  245. package/dist/apps/routes/routes/transfers.d.ts.map +1 -0
  246. package/dist/apps/routes/routes/transfers.js +1140 -0
  247. package/dist/apps/routes/routes/transfers.js.map +1 -0
  248. package/dist/cli/Cli.d.ts +30 -0
  249. package/dist/cli/Cli.d.ts.map +1 -1
  250. package/dist/cli/commands/admin.d.ts +36 -0
  251. package/dist/cli/commands/admin.d.ts.map +1 -1
  252. package/dist/cli/commands/admin.js +273 -0
  253. package/dist/cli/commands/admin.js.map +1 -1
  254. package/dist/cloudflare.d.ts +16 -14
  255. package/dist/cloudflare.d.ts.map +1 -1
  256. package/dist/cloudflare.js +26 -21
  257. package/dist/cloudflare.js.map +1 -1
  258. package/dist/db/Db.d.ts +63 -21
  259. package/dist/db/Db.d.ts.map +1 -1
  260. package/dist/db/Db.js +1052 -15
  261. package/dist/db/Db.js.map +1 -1
  262. package/dist/db/Schema.d.ts +785 -133
  263. package/dist/db/Schema.d.ts.map +1 -1
  264. package/dist/db/Schema.js +590 -162
  265. package/dist/db/Schema.js.map +1 -1
  266. package/dist/db/tables/apiKeyAdmissionBootstraps.d.ts +4 -0
  267. package/dist/db/tables/apiKeyAdmissionBootstraps.d.ts.map +1 -0
  268. package/dist/db/tables/apiKeyAdmissionBootstraps.js +2 -0
  269. package/dist/db/tables/apiKeyAdmissionBootstraps.js.map +1 -0
  270. package/dist/db/tables/apiKeyAdmissions.d.ts +73 -0
  271. package/dist/db/tables/apiKeyAdmissions.d.ts.map +1 -0
  272. package/dist/db/tables/apiKeyAdmissions.js +142 -0
  273. package/dist/db/tables/apiKeyAdmissions.js.map +1 -0
  274. package/dist/db/tables/apiKeyOwnerAdmissions.d.ts +4 -0
  275. package/dist/db/tables/apiKeyOwnerAdmissions.d.ts.map +1 -0
  276. package/dist/db/tables/apiKeyOwnerAdmissions.js +2 -0
  277. package/dist/db/tables/apiKeyOwnerAdmissions.js.map +1 -0
  278. package/dist/db/tables/apiKeyOwnerTombstones.d.ts +20 -0
  279. package/dist/db/tables/apiKeyOwnerTombstones.d.ts.map +1 -0
  280. package/dist/db/tables/apiKeyOwnerTombstones.js +57 -0
  281. package/dist/db/tables/apiKeyOwnerTombstones.js.map +1 -0
  282. package/dist/db/tables/apiKeyRevocations.d.ts +21 -0
  283. package/dist/db/tables/apiKeyRevocations.d.ts.map +1 -0
  284. package/dist/db/tables/apiKeyRevocations.js +98 -0
  285. package/dist/db/tables/apiKeyRevocations.js.map +1 -0
  286. package/dist/db/tables/authAccounts.d.ts +47 -0
  287. package/dist/db/tables/authAccounts.d.ts.map +1 -0
  288. package/dist/db/tables/authAccounts.js +72 -0
  289. package/dist/db/tables/authAccounts.js.map +1 -0
  290. package/dist/db/tables/authSessions.d.ts +12 -0
  291. package/dist/db/tables/authSessions.d.ts.map +1 -0
  292. package/dist/db/tables/authSessions.js +2 -0
  293. package/dist/db/tables/authSessions.js.map +1 -0
  294. package/dist/db/tables/authVerifications.d.ts +12 -0
  295. package/dist/db/tables/authVerifications.d.ts.map +1 -0
  296. package/dist/db/tables/authVerifications.js +2 -0
  297. package/dist/db/tables/authVerifications.js.map +1 -0
  298. package/dist/db/tables/invitations.d.ts +17 -1
  299. package/dist/db/tables/invitations.d.ts.map +1 -1
  300. package/dist/db/tables/invitations.js +123 -43
  301. package/dist/db/tables/invitations.js.map +1 -1
  302. package/dist/db/tables/memberships.d.ts +8 -0
  303. package/dist/db/tables/memberships.d.ts.map +1 -1
  304. package/dist/db/tables/memberships.js +51 -2
  305. package/dist/db/tables/memberships.js.map +1 -1
  306. package/dist/db/tables/organizations.d.ts +51 -5
  307. package/dist/db/tables/organizations.d.ts.map +1 -1
  308. package/dist/db/tables/organizations.js +135 -47
  309. package/dist/db/tables/organizations.js.map +1 -1
  310. package/dist/db/tables/projects.d.ts +27 -1
  311. package/dist/db/tables/projects.d.ts.map +1 -1
  312. package/dist/db/tables/projects.js +38 -3
  313. package/dist/db/tables/projects.js.map +1 -1
  314. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  315. package/dist/db/tables/requestUsage.js.map +1 -1
  316. package/dist/db/tables/rewardAccounts.d.ts +86 -0
  317. package/dist/db/tables/rewardAccounts.d.ts.map +1 -0
  318. package/dist/db/tables/rewardAccounts.js +88 -0
  319. package/dist/db/tables/rewardAccounts.js.map +1 -0
  320. package/dist/db/tables/rewardCampaignDistributors.d.ts +36 -0
  321. package/dist/db/tables/rewardCampaignDistributors.d.ts.map +1 -0
  322. package/dist/db/tables/rewardCampaignDistributors.js +30 -0
  323. package/dist/db/tables/rewardCampaignDistributors.js.map +1 -0
  324. package/dist/db/tables/rewardCampaigns.d.ts +171 -0
  325. package/dist/db/tables/rewardCampaigns.d.ts.map +1 -0
  326. package/dist/db/tables/rewardCampaigns.js +392 -0
  327. package/dist/db/tables/rewardCampaigns.js.map +1 -0
  328. package/dist/db/tables/rewardCredits.d.ts +53 -0
  329. package/dist/db/tables/rewardCredits.d.ts.map +1 -0
  330. package/dist/db/tables/rewardCredits.js +63 -0
  331. package/dist/db/tables/rewardCredits.js.map +1 -0
  332. package/dist/db/tables/rewardEligibilityAssociations.d.ts +61 -0
  333. package/dist/db/tables/rewardEligibilityAssociations.d.ts.map +1 -0
  334. package/dist/db/tables/rewardEligibilityAssociations.js +103 -0
  335. package/dist/db/tables/rewardEligibilityAssociations.js.map +1 -0
  336. package/dist/db/tables/rewardRuns.d.ts +188 -0
  337. package/dist/db/tables/rewardRuns.d.ts.map +1 -0
  338. package/dist/db/tables/rewardRuns.js +278 -0
  339. package/dist/db/tables/rewardRuns.js.map +1 -0
  340. package/dist/db/tables/rewardTransactionAttempts.d.ts +100 -0
  341. package/dist/db/tables/rewardTransactionAttempts.d.ts.map +1 -0
  342. package/dist/db/tables/rewardTransactionAttempts.js +163 -0
  343. package/dist/db/tables/rewardTransactionAttempts.js.map +1 -0
  344. package/dist/db/tables/routesCatalog.d.ts +58 -0
  345. package/dist/db/tables/routesCatalog.d.ts.map +1 -0
  346. package/dist/db/tables/{fundingCatalog.js → routesCatalog.js} +19 -19
  347. package/dist/db/tables/routesCatalog.js.map +1 -0
  348. package/dist/db/tables/routesDepositAddresses.d.ts +476 -0
  349. package/dist/db/tables/routesDepositAddresses.d.ts.map +1 -0
  350. package/dist/db/tables/routesDepositAddresses.js +587 -0
  351. package/dist/db/tables/routesDepositAddresses.js.map +1 -0
  352. package/dist/db/tables/{fundingDepositRequestObservations.d.ts → routesDepositRequestObservations.d.ts} +6 -6
  353. package/dist/db/tables/routesDepositRequestObservations.d.ts.map +1 -0
  354. package/dist/db/tables/{fundingDepositRequestObservations.js → routesDepositRequestObservations.js} +6 -6
  355. package/dist/db/tables/routesDepositRequestObservations.js.map +1 -0
  356. package/dist/db/tables/{fundingDeposits.d.ts → routesDeposits.d.ts} +210 -22
  357. package/dist/db/tables/routesDeposits.d.ts.map +1 -0
  358. package/dist/db/tables/routesDeposits.js +576 -0
  359. package/dist/db/tables/routesDeposits.js.map +1 -0
  360. package/dist/db/tables/routesIdempotency.d.ts +166 -0
  361. package/dist/db/tables/routesIdempotency.d.ts.map +1 -0
  362. package/dist/db/tables/routesIdempotency.js +330 -0
  363. package/dist/db/tables/routesIdempotency.js.map +1 -0
  364. package/dist/db/tables/routesSubsidies.d.ts +27 -0
  365. package/dist/db/tables/routesSubsidies.d.ts.map +1 -0
  366. package/dist/db/tables/routesSubsidies.js +45 -0
  367. package/dist/db/tables/routesSubsidies.js.map +1 -0
  368. package/dist/db/tables/{fundingTransferEvents.d.ts → routesTransferEvents.d.ts} +3 -3
  369. package/dist/db/tables/routesTransferEvents.d.ts.map +1 -0
  370. package/dist/db/tables/{fundingTransferEvents.js → routesTransferEvents.js} +3 -3
  371. package/dist/db/tables/routesTransferEvents.js.map +1 -0
  372. package/dist/db/tables/routesTransferSubsidies.d.ts +19 -0
  373. package/dist/db/tables/routesTransferSubsidies.d.ts.map +1 -0
  374. package/dist/db/tables/routesTransferSubsidies.js +17 -0
  375. package/dist/db/tables/routesTransferSubsidies.js.map +1 -0
  376. package/dist/db/tables/routesTransferSubsidyNonces.d.ts +51 -0
  377. package/dist/db/tables/routesTransferSubsidyNonces.d.ts.map +1 -0
  378. package/dist/db/tables/routesTransferSubsidyNonces.js +82 -0
  379. package/dist/db/tables/routesTransferSubsidyNonces.js.map +1 -0
  380. package/dist/db/tables/routesTransferTransactions.d.ts +77 -0
  381. package/dist/db/tables/routesTransferTransactions.d.ts.map +1 -0
  382. package/dist/db/tables/routesTransferTransactions.js +86 -0
  383. package/dist/db/tables/routesTransferTransactions.js.map +1 -0
  384. package/dist/db/tables/routesTransfers.d.ts +319 -0
  385. package/dist/db/tables/routesTransfers.d.ts.map +1 -0
  386. package/dist/db/tables/routesTransfers.js +372 -0
  387. package/dist/db/tables/routesTransfers.js.map +1 -0
  388. package/dist/db/tables/sponsoredTransactions.d.ts +112 -13
  389. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  390. package/dist/db/tables/sponsoredTransactions.js +241 -38
  391. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  392. package/dist/db/tables/sponsorshipAttributions.d.ts +69 -0
  393. package/dist/db/tables/sponsorshipAttributions.d.ts.map +1 -0
  394. package/dist/db/tables/sponsorshipAttributions.js +77 -0
  395. package/dist/db/tables/sponsorshipAttributions.js.map +1 -0
  396. package/dist/db/tables/sponsorshipReconciliationCursors.d.ts +22 -0
  397. package/dist/db/tables/sponsorshipReconciliationCursors.d.ts.map +1 -0
  398. package/dist/db/tables/sponsorshipReconciliationCursors.js +45 -0
  399. package/dist/db/tables/sponsorshipReconciliationCursors.js.map +1 -0
  400. package/dist/db/tables/stripeCustomers.d.ts +11 -0
  401. package/dist/db/tables/stripeCustomers.d.ts.map +1 -1
  402. package/dist/db/tables/stripeCustomers.js +13 -0
  403. package/dist/db/tables/stripeCustomers.js.map +1 -1
  404. package/dist/db/tables/users.d.ts +17 -1
  405. package/dist/db/tables/users.d.ts.map +1 -1
  406. package/dist/db/tables/users.js +47 -2
  407. package/dist/db/tables/users.js.map +1 -1
  408. package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
  409. package/dist/db/tables/webhookQueueEvents.js +5 -1
  410. package/dist/db/tables/webhookQueueEvents.js.map +1 -1
  411. package/dist/db/tables/webhookSubscriptions.d.ts +22 -10
  412. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  413. package/dist/db/tables/webhookSubscriptions.js +50 -15
  414. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  415. package/dist/handlers/internal/executionError.d.ts +2 -2
  416. package/dist/handlers/internal/executionError.d.ts.map +1 -1
  417. package/dist/handlers/internal/executionError.js +1 -2
  418. package/dist/handlers/internal/executionError.js.map +1 -1
  419. package/dist/handlers/internal/multisig.d.ts +4 -232
  420. package/dist/handlers/internal/multisig.d.ts.map +1 -1
  421. package/dist/handlers/internal/multisig.js +11 -537
  422. package/dist/handlers/internal/multisig.js.map +1 -1
  423. package/dist/handlers/internal/sponsorship.d.ts +19 -8
  424. package/dist/handlers/internal/sponsorship.d.ts.map +1 -1
  425. package/dist/handlers/internal/sponsorship.js +13 -9
  426. package/dist/handlers/internal/sponsorship.js.map +1 -1
  427. package/dist/handlers/relay.d.ts +9 -12
  428. package/dist/handlers/relay.d.ts.map +1 -1
  429. package/dist/handlers/relay.js +81 -85
  430. package/dist/handlers/relay.js.map +1 -1
  431. package/dist/index.d.ts +0 -17
  432. package/dist/index.d.ts.map +1 -1
  433. package/dist/index.js +0 -17
  434. package/dist/index.js.map +1 -1
  435. package/dist/internal/AssetResponse.d.ts +12 -0
  436. package/dist/internal/AssetResponse.d.ts.map +1 -0
  437. package/dist/internal/AssetResponse.js +21 -0
  438. package/dist/internal/AssetResponse.js.map +1 -0
  439. package/dist/internal/Auth.d.ts +48 -12
  440. package/dist/internal/Auth.d.ts.map +1 -1
  441. package/dist/internal/Auth.js +603 -175
  442. package/dist/internal/Auth.js.map +1 -1
  443. package/dist/internal/BetterAuth.d.ts +1488 -0
  444. package/dist/internal/BetterAuth.d.ts.map +1 -0
  445. package/dist/internal/BetterAuth.js +253 -0
  446. package/dist/internal/BetterAuth.js.map +1 -0
  447. package/dist/internal/Cache.d.ts +2 -0
  448. package/dist/internal/Cache.d.ts.map +1 -1
  449. package/dist/internal/Cache.js +2 -0
  450. package/dist/internal/Cache.js.map +1 -1
  451. package/dist/internal/EarnRates.d.ts +26 -3
  452. package/dist/internal/EarnRates.d.ts.map +1 -1
  453. package/dist/internal/EarnRates.js +84 -19
  454. package/dist/internal/EarnRates.js.map +1 -1
  455. package/dist/internal/EarnSharePrices.d.ts +120 -0
  456. package/dist/internal/EarnSharePrices.d.ts.map +1 -0
  457. package/dist/internal/EarnSharePrices.js +179 -0
  458. package/dist/internal/EarnSharePrices.js.map +1 -0
  459. package/dist/internal/EarnVaults.d.ts +4 -0
  460. package/dist/internal/EarnVaults.d.ts.map +1 -1
  461. package/dist/internal/EarnVaults.js +31 -14
  462. package/dist/internal/EarnVaults.js.map +1 -1
  463. package/dist/internal/Email.d.ts +37 -0
  464. package/dist/internal/Email.d.ts.map +1 -0
  465. package/dist/internal/Email.js +16 -0
  466. package/dist/internal/Email.js.map +1 -0
  467. package/dist/internal/Log.d.ts +32 -28
  468. package/dist/internal/Log.d.ts.map +1 -1
  469. package/dist/internal/Log.js +18 -11
  470. package/dist/internal/Log.js.map +1 -1
  471. package/dist/internal/MetricSink.d.ts +3 -0
  472. package/dist/internal/MetricSink.d.ts.map +1 -1
  473. package/dist/internal/MetricSink.js +67 -8
  474. package/dist/internal/MetricSink.js.map +1 -1
  475. package/dist/internal/Mpp.d.ts.map +1 -1
  476. package/dist/internal/Mpp.js +20 -25
  477. package/dist/internal/Mpp.js.map +1 -1
  478. package/dist/internal/OpenApi.d.ts +26 -3
  479. package/dist/internal/OpenApi.d.ts.map +1 -1
  480. package/dist/internal/OpenApi.js +25 -10
  481. package/dist/internal/OpenApi.js.map +1 -1
  482. package/dist/internal/Provider.d.ts +1 -1
  483. package/dist/internal/Provider.d.ts.map +1 -1
  484. package/dist/internal/RateLimit.d.ts.map +1 -1
  485. package/dist/internal/RateLimit.js +13 -1
  486. package/dist/internal/RateLimit.js.map +1 -1
  487. package/dist/internal/Store.d.ts +16 -0
  488. package/dist/internal/Store.d.ts.map +1 -1
  489. package/dist/internal/Store.js +59 -8
  490. package/dist/internal/Store.js.map +1 -1
  491. package/dist/internal/Tidx.d.ts +9 -2
  492. package/dist/internal/Tidx.d.ts.map +1 -1
  493. package/dist/internal/Tidx.js +78 -11
  494. package/dist/internal/Tidx.js.map +1 -1
  495. package/dist/internal/Timing.d.ts +26 -0
  496. package/dist/internal/Timing.d.ts.map +1 -1
  497. package/dist/internal/Timing.js +63 -5
  498. package/dist/internal/Timing.js.map +1 -1
  499. package/dist/internal/VercelOidc.d.ts +94 -0
  500. package/dist/internal/VercelOidc.d.ts.map +1 -0
  501. package/dist/internal/VercelOidc.js +128 -0
  502. package/dist/internal/VercelOidc.js.map +1 -0
  503. package/dist/internal/VerifiedTokens.d.ts +2 -8
  504. package/dist/internal/VerifiedTokens.d.ts.map +1 -1
  505. package/dist/internal/VerifiedTokens.js +24 -24
  506. package/dist/internal/VerifiedTokens.js.map +1 -1
  507. package/dist/internal/Viem.d.ts +46 -2068
  508. package/dist/internal/Viem.d.ts.map +1 -1
  509. package/dist/internal/Viem.js +171 -11
  510. package/dist/internal/Viem.js.map +1 -1
  511. package/dist/internal/Webhooks.d.ts +12 -4
  512. package/dist/internal/Webhooks.d.ts.map +1 -1
  513. package/dist/internal/Webhooks.js +9 -3
  514. package/dist/internal/Webhooks.js.map +1 -1
  515. package/dist/internal/ZoneRpc.d.ts +7 -0
  516. package/dist/internal/ZoneRpc.d.ts.map +1 -0
  517. package/dist/internal/ZoneRpc.js +49 -0
  518. package/dist/internal/ZoneRpc.js.map +1 -0
  519. package/dist/internal/index.d.ts +3 -1
  520. package/dist/internal/index.d.ts.map +1 -1
  521. package/dist/internal/index.js +3 -1
  522. package/dist/internal/index.js.map +1 -1
  523. package/dist/internal/rewards/Audit.d.ts +88 -0
  524. package/dist/internal/rewards/Audit.d.ts.map +1 -0
  525. package/dist/internal/rewards/Audit.js +134 -0
  526. package/dist/internal/rewards/Audit.js.map +1 -0
  527. package/dist/internal/rewards/Campaigns.d.ts +572 -0
  528. package/dist/internal/rewards/Campaigns.d.ts.map +1 -0
  529. package/dist/internal/rewards/Campaigns.js +531 -0
  530. package/dist/internal/rewards/Campaigns.js.map +1 -0
  531. package/dist/internal/rewards/Credits.d.ts +76 -0
  532. package/dist/internal/rewards/Credits.d.ts.map +1 -0
  533. package/dist/internal/rewards/Credits.js +95 -0
  534. package/dist/internal/rewards/Credits.js.map +1 -0
  535. package/dist/internal/rewards/Events.d.ts +100 -0
  536. package/dist/internal/rewards/Events.d.ts.map +1 -0
  537. package/dist/internal/rewards/Events.js +340 -0
  538. package/dist/internal/rewards/Events.js.map +1 -0
  539. package/dist/internal/rewards/Projection.d.ts +237 -0
  540. package/dist/internal/rewards/Projection.d.ts.map +1 -0
  541. package/dist/internal/rewards/Projection.js +616 -0
  542. package/dist/internal/rewards/Projection.js.map +1 -0
  543. package/dist/internal/rewards/Rates.d.ts +44 -0
  544. package/dist/internal/rewards/Rates.d.ts.map +1 -0
  545. package/dist/internal/rewards/Rates.js +60 -0
  546. package/dist/internal/rewards/Rates.js.map +1 -0
  547. package/dist/internal/rewards/Read.d.ts +158 -0
  548. package/dist/internal/rewards/Read.d.ts.map +1 -0
  549. package/dist/internal/rewards/Read.js +292 -0
  550. package/dist/internal/rewards/Read.js.map +1 -0
  551. package/dist/internal/rewards/Runner.d.ts +164 -0
  552. package/dist/internal/rewards/Runner.d.ts.map +1 -0
  553. package/dist/internal/rewards/Runner.js +1778 -0
  554. package/dist/internal/rewards/Runner.js.map +1 -0
  555. package/dist/internal/rewards/Signer.d.ts +224 -0
  556. package/dist/internal/rewards/Signer.d.ts.map +1 -0
  557. package/dist/internal/rewards/Signer.js +135 -0
  558. package/dist/internal/rewards/Signer.js.map +1 -0
  559. package/dist/internal/rewards/index.d.ts +15 -0
  560. package/dist/internal/rewards/index.d.ts.map +1 -0
  561. package/dist/internal/rewards/index.js +15 -0
  562. package/dist/internal/rewards/index.js.map +1 -0
  563. package/dist/internal/{funding → routes}/Action.d.ts +12 -1
  564. package/dist/internal/routes/Action.d.ts.map +1 -0
  565. package/dist/internal/{funding → routes}/Action.js +17 -9
  566. package/dist/internal/routes/Action.js.map +1 -0
  567. package/dist/internal/{funding → routes}/Catalog.d.ts +20 -20
  568. package/dist/internal/routes/Catalog.d.ts.map +1 -0
  569. package/dist/internal/{funding → routes}/Catalog.js +29 -29
  570. package/dist/internal/routes/Catalog.js.map +1 -0
  571. package/dist/internal/{funding → routes}/Chain.d.ts +10 -10
  572. package/dist/internal/routes/Chain.d.ts.map +1 -0
  573. package/dist/internal/{funding → routes}/Chain.js +3 -3
  574. package/dist/internal/routes/Chain.js.map +1 -0
  575. package/dist/internal/{funding → routes}/Deposit.d.ts +45 -23
  576. package/dist/internal/routes/Deposit.d.ts.map +1 -0
  577. package/dist/internal/{funding → routes}/Deposit.js +60 -27
  578. package/dist/internal/routes/Deposit.js.map +1 -0
  579. package/dist/internal/{funding → routes}/DepositAddress.d.ts +56 -27
  580. package/dist/internal/routes/DepositAddress.d.ts.map +1 -0
  581. package/dist/internal/{funding → routes}/DepositAddress.js +95 -33
  582. package/dist/internal/routes/DepositAddress.js.map +1 -0
  583. package/dist/internal/{funding → routes}/DepositWebhook.d.ts +4 -4
  584. package/dist/internal/routes/DepositWebhook.d.ts.map +1 -0
  585. package/dist/internal/{funding → routes}/DepositWebhook.js +4 -3
  586. package/dist/internal/routes/DepositWebhook.js.map +1 -0
  587. package/dist/internal/routes/Economics.d.ts +25 -0
  588. package/dist/internal/routes/Economics.d.ts.map +1 -0
  589. package/dist/internal/routes/Economics.js +28 -0
  590. package/dist/internal/routes/Economics.js.map +1 -0
  591. package/dist/internal/{funding → routes}/Evidence.d.ts +3 -3
  592. package/dist/internal/routes/Evidence.d.ts.map +1 -0
  593. package/dist/internal/{funding → routes}/Evidence.js +9 -17
  594. package/dist/internal/routes/Evidence.js.map +1 -0
  595. package/dist/internal/routes/Observability.d.ts +154 -0
  596. package/dist/internal/routes/Observability.d.ts.map +1 -0
  597. package/dist/internal/routes/Observability.js +389 -0
  598. package/dist/internal/routes/Observability.js.map +1 -0
  599. package/dist/internal/{funding → routes}/Provider.d.ts +350 -104
  600. package/dist/internal/routes/Provider.d.ts.map +1 -0
  601. package/dist/internal/{funding → routes}/Provider.js +233 -97
  602. package/dist/internal/routes/Provider.js.map +1 -0
  603. package/dist/internal/{funding → routes}/Reconciliation.d.ts +11 -6
  604. package/dist/internal/routes/Reconciliation.d.ts.map +1 -0
  605. package/dist/internal/{funding → routes}/Reconciliation.js +408 -158
  606. package/dist/internal/routes/Reconciliation.js.map +1 -0
  607. package/dist/internal/routes/Route.d.ts +21 -0
  608. package/dist/internal/routes/Route.d.ts.map +1 -0
  609. package/dist/internal/{funding → routes}/Route.js +1 -1
  610. package/dist/internal/routes/Route.js.map +1 -0
  611. package/dist/internal/{funding → routes}/SourceObservation.d.ts +6 -6
  612. package/dist/internal/routes/SourceObservation.d.ts.map +1 -0
  613. package/dist/internal/{funding → routes}/SourceObservation.js +13 -15
  614. package/dist/internal/routes/SourceObservation.js.map +1 -0
  615. package/dist/internal/{funding → routes}/Subsidy.d.ts +48 -3
  616. package/dist/internal/routes/Subsidy.d.ts.map +1 -0
  617. package/dist/internal/{funding → routes}/Subsidy.js +43 -3
  618. package/dist/internal/routes/Subsidy.js.map +1 -0
  619. package/dist/internal/{funding → routes}/Token.d.ts +4 -4
  620. package/dist/internal/routes/Token.d.ts.map +1 -0
  621. package/dist/internal/{funding → routes}/Token.js +3 -3
  622. package/dist/internal/routes/Token.js.map +1 -0
  623. package/dist/internal/{funding → routes}/Transfer.d.ts +324 -34
  624. package/dist/internal/routes/Transfer.d.ts.map +1 -0
  625. package/dist/internal/routes/Transfer.js +728 -0
  626. package/dist/internal/routes/Transfer.js.map +1 -0
  627. package/dist/internal/routes/TransferReconciliation.d.ts +55 -0
  628. package/dist/internal/routes/TransferReconciliation.d.ts.map +1 -0
  629. package/dist/internal/routes/TransferReconciliation.js +422 -0
  630. package/dist/internal/routes/TransferReconciliation.js.map +1 -0
  631. package/dist/internal/routes/TransferSubsidy.d.ts +201 -0
  632. package/dist/internal/routes/TransferSubsidy.d.ts.map +1 -0
  633. package/dist/internal/routes/TransferSubsidy.js +256 -0
  634. package/dist/internal/routes/TransferSubsidy.js.map +1 -0
  635. package/dist/internal/routes/TransferWebhook.d.ts +21 -0
  636. package/dist/internal/routes/TransferWebhook.d.ts.map +1 -0
  637. package/dist/internal/routes/TransferWebhook.js +43 -0
  638. package/dist/internal/routes/TransferWebhook.js.map +1 -0
  639. package/dist/internal/{funding → routes}/index.d.ts +3 -0
  640. package/dist/internal/routes/index.d.ts.map +1 -0
  641. package/dist/internal/{funding → routes}/index.js +3 -0
  642. package/dist/internal/routes/index.js.map +1 -0
  643. package/dist/internal/{funding → routes}/providers/across.d.ts +4 -4
  644. package/dist/internal/routes/providers/across.d.ts.map +1 -0
  645. package/dist/internal/{funding → routes}/providers/across.js +13 -13
  646. package/dist/internal/routes/providers/across.js.map +1 -0
  647. package/dist/internal/{funding → routes}/providers/relay.d.ts +21 -12
  648. package/dist/internal/routes/providers/relay.d.ts.map +1 -0
  649. package/dist/internal/{funding → routes}/providers/relay.js +197 -122
  650. package/dist/internal/routes/providers/relay.js.map +1 -0
  651. package/dist/internal/{funding → routes}/providers/rhino.d.ts +4 -4
  652. package/dist/internal/routes/providers/rhino.d.ts.map +1 -0
  653. package/dist/internal/{funding → routes}/providers/rhino.js +10 -10
  654. package/dist/internal/routes/providers/rhino.js.map +1 -0
  655. package/dist/internal/{funding → routes}/providers/squid.d.ts +4 -4
  656. package/dist/internal/routes/providers/squid.d.ts.map +1 -0
  657. package/dist/internal/{funding → routes}/providers/squid.js +14 -14
  658. package/dist/internal/routes/providers/squid.js.map +1 -0
  659. package/dist/internal/routes/providers/stargate.d.ts +165 -0
  660. package/dist/internal/routes/providers/stargate.d.ts.map +1 -0
  661. package/dist/internal/routes/providers/stargate.js +898 -0
  662. package/dist/internal/routes/providers/stargate.js.map +1 -0
  663. package/dist/internal/{funding → routes}/providers/symbiosis.d.ts +4 -4
  664. package/dist/internal/routes/providers/symbiosis.d.ts.map +1 -0
  665. package/dist/internal/{funding → routes}/providers/symbiosis.js +30 -20
  666. package/dist/internal/routes/providers/symbiosis.js.map +1 -0
  667. package/dist/internal/webhookDestinations/slack.d.ts.map +1 -1
  668. package/dist/internal/webhookDestinations/slack.js +22 -6
  669. package/dist/internal/webhookDestinations/slack.js.map +1 -1
  670. package/dist/providers/index.d.ts +12 -12
  671. package/dist/providers/index.d.ts.map +1 -1
  672. package/dist/providers/index.js +12 -12
  673. package/dist/providers/index.js.map +1 -1
  674. package/dist/server.d.ts +19 -0
  675. package/dist/server.d.ts.map +1 -0
  676. package/dist/server.js +19 -0
  677. package/dist/server.js.map +1 -0
  678. package/package.json +15 -4
  679. package/src/ApiKey.ts +1 -1
  680. package/src/ApiKeys.test.ts +1033 -3
  681. package/src/ApiKeys.ts +489 -48
  682. package/src/App.test-d.ts +1 -1
  683. package/src/App.test.ts +216 -25
  684. package/src/App.ts +335 -31
  685. package/src/Assets.test.ts +2 -2
  686. package/src/Assets.ts +3 -1
  687. package/src/Auth.test-d.ts +1 -1
  688. package/src/Client.test-d.ts +611 -101
  689. package/src/Handler.ts +0 -1
  690. package/src/OpenApi.contract.test.ts +195 -0
  691. package/src/Scope.ts +17 -5
  692. package/src/Webhooks.ts +2 -2
  693. package/src/admin/App.test.ts +30 -2
  694. package/src/admin/App.ts +42 -6
  695. package/src/admin/apps/api-keys.test.ts +267 -5
  696. package/src/admin/apps/api-keys.ts +100 -50
  697. package/src/admin/apps/earn-vaults.test.ts +158 -0
  698. package/src/admin/apps/earn-vaults.ts +681 -7
  699. package/src/admin/apps/organizations.test.ts +342 -1
  700. package/src/admin/apps/organizations.ts +368 -8
  701. package/src/admin/apps/routes-support.test.ts +200 -0
  702. package/src/admin/apps/routes-support.ts +201 -0
  703. package/src/admin/apps/routes.test.ts +450 -0
  704. package/src/admin/apps/routes.ts +896 -0
  705. package/src/admin/apps/scopes.test.ts +15 -5
  706. package/src/admin/apps/subsidies.test.ts +306 -0
  707. package/src/admin/apps/subsidies.ts +457 -0
  708. package/src/admin/apps/verified-tokens.test.ts +8 -3
  709. package/src/admin/apps/verified-tokens.ts +3 -3
  710. package/src/admin/ui/plugin.ts +1 -2
  711. package/src/admin/ui/src/components/RewardCampaignForm.tsx +1009 -0
  712. package/src/admin/ui/src/lib/config.ts +11 -2
  713. package/src/admin/ui/src/lib/earn-vaults.ts +2 -2
  714. package/src/admin/ui/src/lib/organizations.test.ts +147 -3
  715. package/src/admin/ui/src/lib/organizations.ts +136 -0
  716. package/src/admin/ui/src/lib/query-client.ts +1 -1
  717. package/src/admin/ui/src/lib/reward-campaigns.ts +136 -0
  718. package/src/admin/ui/src/lib/routes.test.ts +88 -0
  719. package/src/admin/ui/src/lib/routes.ts +304 -0
  720. package/src/admin/ui/src/lib/subsidies.ts +75 -0
  721. package/src/admin/ui/src/routeTree.gen.ts +63 -0
  722. package/src/admin/ui/src/routes/__root.tsx +12 -1
  723. package/src/admin/ui/src/routes/api-keys.tsx +196 -84
  724. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +105 -70
  725. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +334 -2
  726. package/src/admin/ui/src/routes/routes.tsx +1615 -0
  727. package/src/admin/ui/src/routes/routes_.support.tsx +248 -0
  728. package/src/admin/ui/src/routes/subsidies.tsx +799 -0
  729. package/src/admin/ui.generated.ts +144 -69
  730. package/src/analytics/Analytics.test.ts +108 -18
  731. package/src/analytics/Analytics.ts +38 -6
  732. package/src/analytics/tables/requestEvents.test.ts +100 -0
  733. package/src/analytics/tables/requestEvents.ts +10 -1
  734. package/src/analytics/tables/routesLifecycleIntervals.ts +140 -0
  735. package/src/apps/Zones.test.ts +18 -3
  736. package/src/apps/Zones.ts +55 -8
  737. package/src/apps/composition.test.ts +68 -59
  738. package/src/apps/data/App.test.ts +154 -2
  739. package/src/apps/data/App.ts +102 -33
  740. package/src/apps/data/routes/activities.test.ts +419 -7
  741. package/src/apps/data/routes/activities.ts +683 -216
  742. package/src/apps/data/routes/balances.test.ts +2 -2
  743. package/src/apps/data/routes/blocks.test.ts +46 -1
  744. package/src/apps/data/routes/coingecko.test.ts +419 -1
  745. package/src/apps/data/routes/coingecko.ts +309 -253
  746. package/src/apps/data/routes/earn.discovery.test.ts +274 -0
  747. package/src/apps/data/routes/earn.test.ts +1661 -29
  748. package/src/apps/data/routes/earn.ts +2314 -328
  749. package/src/apps/data/routes/exchanges.test.ts +752 -30
  750. package/src/apps/data/routes/exchanges.ts +954 -753
  751. package/src/apps/data/routes/fee-amm.test.ts +224 -0
  752. package/src/apps/data/routes/fee-amm.ts +208 -178
  753. package/src/apps/data/routes/indexer.test.ts +389 -0
  754. package/src/apps/data/routes/indexer.ts +165 -69
  755. package/src/apps/data/routes/receipts.test.ts +1 -1
  756. package/src/apps/data/routes/rpc.test.ts +352 -8
  757. package/src/apps/data/routes/rpc.ts +407 -219
  758. package/src/apps/data/routes/rpc.zone.test.ts +340 -0
  759. package/src/apps/data/routes/tokenlist.test.ts +285 -0
  760. package/src/apps/data/routes/tokenlist.ts +173 -88
  761. package/src/apps/data/routes/tokens.test.ts +93 -3
  762. package/src/apps/data/routes/tokens.ts +39 -23
  763. package/src/apps/data/routes/transactions.test.ts +1 -1
  764. package/src/apps/data/routes/transfers.test.ts +56 -24
  765. package/src/apps/data/routes/transfers.ts +19 -8
  766. package/src/apps/data/routes/valuation.test.ts +1 -1
  767. package/src/apps/data/routes/verified-tokens.test.ts +345 -0
  768. package/src/apps/data/routes/verified-tokens.ts +99 -29
  769. package/src/apps/data/routes/webhooks.test.ts +659 -81
  770. package/src/apps/data/routes/webhooks.ts +1104 -817
  771. package/src/apps/data/routes/zones.test.ts +148 -71
  772. package/src/apps/data/routes/zones.ts +71 -55
  773. package/src/apps/docs/reference.ts +2 -2
  774. package/src/apps/index.ts +1 -1
  775. package/src/apps/management/App.ts +9 -51
  776. package/src/apps/management/Billing.test.ts +375 -14
  777. package/src/apps/management/Billing.ts +283 -34
  778. package/src/apps/management/routes/api-keys.test.ts +269 -7
  779. package/src/apps/management/routes/api-keys.ts +61 -20
  780. package/src/apps/management/routes/billing.test.ts +477 -15
  781. package/src/apps/management/routes/billing.ts +377 -50
  782. package/src/apps/management/routes/faucet.test.ts +1 -1
  783. package/src/apps/management/routes/faucet.ts +1 -1
  784. package/src/apps/management/routes/invitations.test.ts +270 -3
  785. package/src/apps/management/routes/invitations.ts +185 -15
  786. package/src/apps/management/routes/invoicePreview.test.ts +549 -0
  787. package/src/apps/management/routes/me.test.ts +246 -5
  788. package/src/apps/management/routes/me.ts +7 -2
  789. package/src/apps/management/routes/members.test.ts +108 -0
  790. package/src/apps/management/routes/orgs.test.ts +191 -3
  791. package/src/apps/management/routes/orgs.ts +58 -11
  792. package/src/apps/management/routes/projects.test.ts +33 -3
  793. package/src/apps/management/routes/projects.ts +6 -1
  794. package/src/apps/management/routes/scopes.test.ts +30 -2
  795. package/src/apps/management/routes/scopes.ts +4 -1
  796. package/src/apps/management/routes/usage.test.ts +32 -0
  797. package/src/apps/management/routes/usage.ts +22 -4
  798. package/src/apps/management/routes/webhooks.test.ts +49 -26
  799. package/src/apps/management/routes/webhooks.ts +93 -38
  800. package/src/apps/mcp.test.ts +6 -6
  801. package/src/apps/mcp.ts +7 -7
  802. package/src/apps/mpp/App.ts +37 -7
  803. package/src/apps/mpp/Mpp.test.ts +49 -8
  804. package/src/apps/mpp/Mpp.zone.test.ts +219 -0
  805. package/src/apps/mpp/internal/Adapter.ts +34 -0
  806. package/src/apps/mpp/internal/Policy.test.ts +86 -31
  807. package/src/apps/mpp/internal/Policy.ts +49 -7
  808. package/src/apps/mpp/internal/Sponsorship.test.ts +207 -0
  809. package/src/apps/mpp/internal/Sponsorship.ts +9 -3
  810. package/src/apps/relay/App.test.ts +1024 -38
  811. package/src/apps/relay/App.ts +228 -32
  812. package/src/apps/relay/App.zone-billing.test.ts +257 -0
  813. package/src/apps/relay/Sponsorships.test.ts +67 -4
  814. package/src/apps/relay/Sponsorships.ts +253 -29
  815. package/src/apps/relay/Sponsorships.zone.test.ts +102 -0
  816. package/src/apps/{funding → routes}/Access.ts +6 -6
  817. package/src/apps/routes/App.test.ts +165 -0
  818. package/src/apps/routes/App.ts +96 -0
  819. package/src/apps/{funding → routes}/Inventory.ts +2 -2
  820. package/src/apps/routes/index.ts +1 -0
  821. package/src/apps/{funding → routes}/routes/chains.test.ts +66 -66
  822. package/src/apps/{funding → routes}/routes/chains.ts +23 -23
  823. package/src/apps/{funding → routes}/routes/deposit-addresses.test.ts +1362 -462
  824. package/src/apps/{funding → routes}/routes/deposit-addresses.ts +568 -248
  825. package/src/apps/{funding → routes}/routes/providers.test.ts +27 -33
  826. package/src/apps/{funding → routes}/routes/providers.ts +23 -23
  827. package/src/apps/{funding → routes}/routes/quotes.test.ts +298 -41
  828. package/src/apps/{funding → routes}/routes/quotes.ts +57 -40
  829. package/src/apps/routes/routes/transfers.test.ts +2876 -0
  830. package/src/apps/routes/routes/transfers.ts +1332 -0
  831. package/src/cli/Cli.test.ts +1 -1
  832. package/src/cli/commands/admin.test.ts +748 -1
  833. package/src/cli/commands/admin.ts +278 -0
  834. package/src/cloudflare.ts +52 -47
  835. package/src/db/Db.test.ts +245 -2
  836. package/src/db/Db.ts +1511 -34
  837. package/src/db/Schema.ts +744 -228
  838. package/src/db/tables/apiKeyAdmissionBootstraps.ts +4 -0
  839. package/src/db/tables/apiKeyAdmissions.ts +218 -0
  840. package/src/db/tables/apiKeyOwnerAdmissions.ts +4 -0
  841. package/src/db/tables/apiKeyOwnerTombstones.ts +81 -0
  842. package/src/db/tables/apiKeyRevocations.test.ts +74 -0
  843. package/src/db/tables/apiKeyRevocations.ts +121 -0
  844. package/src/db/tables/authAccounts.ts +105 -0
  845. package/src/db/tables/authSessions.ts +13 -0
  846. package/src/db/tables/authVerifications.ts +13 -0
  847. package/src/db/tables/invitations.ts +142 -45
  848. package/src/db/tables/memberships.ts +79 -3
  849. package/src/db/tables/organizations.test.ts +725 -7
  850. package/src/db/tables/organizations.ts +182 -49
  851. package/src/db/tables/projects.test.ts +71 -0
  852. package/src/db/tables/projects.ts +59 -4
  853. package/src/db/tables/requestUsage.ts +4 -1
  854. package/src/db/tables/rewardAccounts.ts +178 -0
  855. package/src/db/tables/rewardCampaignDistributors.ts +68 -0
  856. package/src/db/tables/rewardCampaigns.test.ts +1388 -0
  857. package/src/db/tables/rewardCampaigns.ts +647 -0
  858. package/src/db/tables/rewardCredits.ts +110 -0
  859. package/src/db/tables/rewardEligibilityAssociations.test.ts +271 -0
  860. package/src/db/tables/rewardEligibilityAssociations.ts +184 -0
  861. package/src/db/tables/rewardRuns.ts +514 -0
  862. package/src/db/tables/rewardTransactionAttempts.ts +272 -0
  863. package/src/db/tables/routesCatalog.test.ts +185 -0
  864. package/src/db/tables/routesCatalog.ts +163 -0
  865. package/src/db/tables/routesDepositAddresses.test.ts +1048 -0
  866. package/src/db/tables/routesDepositAddresses.ts +1008 -0
  867. package/src/db/tables/{fundingDepositRequestObservations.test.ts → routesDepositRequestObservations.test.ts} +13 -14
  868. package/src/db/tables/{fundingDepositRequestObservations.ts → routesDepositRequestObservations.ts} +10 -10
  869. package/src/db/tables/{fundingDeposits.test.ts → routesDeposits.test.ts} +316 -46
  870. package/src/db/tables/routesDeposits.ts +1062 -0
  871. package/src/db/tables/routesIdempotency.test.ts +796 -0
  872. package/src/db/tables/routesIdempotency.ts +496 -0
  873. package/src/db/tables/routesSubsidies.test.ts +120 -0
  874. package/src/db/tables/routesSubsidies.ts +71 -0
  875. package/src/db/tables/{fundingTransferEvents.ts → routesTransferEvents.ts} +4 -4
  876. package/src/db/tables/routesTransferSubsidies.ts +38 -0
  877. package/src/db/tables/routesTransferSubsidyNonces.ts +124 -0
  878. package/src/db/tables/routesTransferTransactions.test.ts +195 -0
  879. package/src/db/tables/routesTransferTransactions.ts +158 -0
  880. package/src/db/tables/routesTransfers.test.ts +338 -0
  881. package/src/db/tables/routesTransfers.ts +662 -0
  882. package/src/db/tables/sponsoredTransactions.test.ts +563 -1
  883. package/src/db/tables/sponsoredTransactions.ts +386 -42
  884. package/src/db/tables/sponsorshipAttributions.test.ts +160 -0
  885. package/src/db/tables/sponsorshipAttributions.ts +168 -0
  886. package/src/db/tables/sponsorshipReconciliationCursors.test.ts +115 -0
  887. package/src/db/tables/sponsorshipReconciliationCursors.ts +67 -0
  888. package/src/db/tables/stripeCustomers.test.ts +85 -0
  889. package/src/db/tables/stripeCustomers.ts +24 -0
  890. package/src/db/tables/users.test.ts +129 -0
  891. package/src/db/tables/users.ts +49 -3
  892. package/src/db/tables/webhookQueueEvents.ts +8 -1
  893. package/src/db/tables/webhookSubscriptions.ts +103 -21
  894. package/src/handlers/internal/executionError.ts +3 -4
  895. package/src/handlers/internal/multisig.ts +13 -816
  896. package/src/handlers/internal/sponsorship.ts +26 -10
  897. package/src/handlers/relay.test-d.ts +9 -1
  898. package/src/handlers/relay.test.ts +823 -3
  899. package/src/handlers/relay.ts +127 -107
  900. package/src/index.test-d.ts +7 -0
  901. package/src/index.ts +0 -17
  902. package/src/internal/AssetResponse.ts +26 -0
  903. package/src/internal/Auth.test.ts +1564 -9
  904. package/src/internal/Auth.ts +833 -239
  905. package/src/internal/BetterAuth.test.ts +242 -0
  906. package/src/internal/BetterAuth.ts +349 -0
  907. package/src/internal/Cache.ts +2 -0
  908. package/src/internal/EarnRates.test.ts +17 -0
  909. package/src/internal/EarnRates.ts +124 -31
  910. package/src/internal/EarnSharePrices.test.ts +182 -0
  911. package/src/internal/EarnSharePrices.ts +313 -0
  912. package/src/internal/EarnVaults.test.ts +21 -0
  913. package/src/internal/EarnVaults.ts +37 -15
  914. package/src/internal/Email.ts +54 -0
  915. package/src/internal/Idempotency.test.ts +2 -2
  916. package/src/internal/Log.test-d.ts +10 -7
  917. package/src/internal/Log.test.ts +114 -16
  918. package/src/internal/Log.ts +55 -40
  919. package/src/internal/MetricSink.test.ts +313 -26
  920. package/src/internal/MetricSink.ts +73 -8
  921. package/src/internal/Mpp.test.ts +31 -0
  922. package/src/internal/Mpp.ts +21 -24
  923. package/src/internal/OpenApi.ts +45 -12
  924. package/src/internal/Provider.test.ts +1 -1
  925. package/src/internal/Provider.ts +1 -1
  926. package/src/internal/RateLimit.test.ts +21 -3
  927. package/src/internal/RateLimit.ts +12 -1
  928. package/src/internal/Store.test-d.ts +1 -1
  929. package/src/internal/Store.test.ts +151 -8
  930. package/src/internal/Store.ts +76 -9
  931. package/src/internal/Tidx.test.ts +59 -8
  932. package/src/internal/Tidx.ts +86 -14
  933. package/src/internal/Timing.test.ts +77 -0
  934. package/src/internal/Timing.ts +83 -6
  935. package/src/internal/VercelOidc.test.ts +188 -0
  936. package/src/internal/VercelOidc.ts +193 -0
  937. package/src/internal/VerifiedTokens.test.ts +60 -6
  938. package/src/internal/VerifiedTokens.ts +21 -24
  939. package/src/internal/Viem.batch.test.ts +80 -0
  940. package/src/internal/Viem.test.ts +201 -2
  941. package/src/internal/Viem.ts +249 -17
  942. package/src/internal/Webhooks.test.ts +125 -1
  943. package/src/internal/Webhooks.ts +22 -4
  944. package/src/internal/ZoneRpc.ts +50 -0
  945. package/src/internal/exchange/Provider.test.ts +2 -2
  946. package/src/internal/index.test.ts +3 -1
  947. package/src/internal/index.ts +3 -1
  948. package/src/internal/rewards/Audit.ts +231 -0
  949. package/src/internal/rewards/Campaigns.test.ts +1234 -0
  950. package/src/internal/rewards/Campaigns.ts +1205 -0
  951. package/src/internal/rewards/Credits.ts +165 -0
  952. package/src/internal/rewards/Events.local.test.ts +113 -0
  953. package/src/internal/rewards/Events.test.ts +152 -0
  954. package/src/internal/rewards/Events.ts +468 -0
  955. package/src/internal/rewards/Projection.test.ts +681 -0
  956. package/src/internal/rewards/Projection.ts +987 -0
  957. package/src/internal/rewards/Rates.test.ts +171 -0
  958. package/src/internal/rewards/Rates.ts +110 -0
  959. package/src/internal/rewards/Read.test.ts +501 -0
  960. package/src/internal/rewards/Read.ts +476 -0
  961. package/src/internal/rewards/Runner.checkpoint.test.ts +80 -0
  962. package/src/internal/rewards/Runner.states.test.ts +188 -0
  963. package/src/internal/rewards/Runner.test.ts +90 -0
  964. package/src/internal/rewards/Runner.ts +2229 -0
  965. package/src/internal/rewards/Signer.test.ts +79 -0
  966. package/src/internal/rewards/Signer.ts +180 -0
  967. package/src/internal/rewards/index.ts +14 -0
  968. package/src/internal/{funding → routes}/Action.test.ts +63 -14
  969. package/src/internal/{funding → routes}/Action.ts +35 -8
  970. package/src/internal/{funding → routes}/Catalog.test.ts +3 -3
  971. package/src/internal/{funding → routes}/Catalog.ts +39 -39
  972. package/src/internal/{funding → routes}/Chain.test.ts +1 -1
  973. package/src/internal/{funding → routes}/Chain.ts +11 -11
  974. package/src/internal/{funding → routes}/Deposit.test.ts +1 -1
  975. package/src/internal/{funding → routes}/Deposit.ts +93 -45
  976. package/src/internal/{funding → routes}/DepositAddress.test.ts +11 -3
  977. package/src/internal/{funding → routes}/DepositAddress.ts +132 -53
  978. package/src/internal/{funding → routes}/DepositWebhook.test.ts +61 -18
  979. package/src/internal/{funding → routes}/DepositWebhook.ts +9 -8
  980. package/src/internal/routes/Economics.test.ts +42 -0
  981. package/src/internal/routes/Economics.ts +47 -0
  982. package/src/internal/{funding → routes}/Evidence.test.ts +6 -6
  983. package/src/internal/{funding → routes}/Evidence.ts +11 -22
  984. package/src/internal/routes/Observability.test.ts +636 -0
  985. package/src/internal/routes/Observability.ts +668 -0
  986. package/src/internal/{funding → routes}/Provider.test.ts +489 -153
  987. package/src/internal/{funding → routes}/Provider.ts +531 -185
  988. package/src/internal/{funding → routes}/Reconciliation.local.test.ts +84 -12
  989. package/src/internal/{funding → routes}/Reconciliation.test.ts +1213 -279
  990. package/src/internal/{funding → routes}/Reconciliation.ts +501 -203
  991. package/src/internal/routes/Reconciliation.unattributed.test.ts +250 -0
  992. package/src/internal/{funding → routes}/Route.ts +7 -7
  993. package/src/internal/{funding → routes}/SourceObservation.test.ts +13 -14
  994. package/src/internal/{funding → routes}/SourceObservation.ts +18 -22
  995. package/src/internal/{funding → routes}/Subsidy.local.test.ts +7 -7
  996. package/src/internal/routes/Subsidy.test.ts +169 -0
  997. package/src/internal/{funding → routes}/Subsidy.ts +86 -6
  998. package/src/internal/{funding → routes}/Token.test.ts +1 -1
  999. package/src/internal/{funding → routes}/Token.ts +5 -5
  1000. package/src/internal/routes/Transfer.test.ts +1199 -0
  1001. package/src/internal/routes/Transfer.ts +1206 -0
  1002. package/src/internal/routes/TransferReconciliation.test.ts +731 -0
  1003. package/src/internal/routes/TransferReconciliation.ts +527 -0
  1004. package/src/internal/routes/TransferSubsidy.test.ts +172 -0
  1005. package/src/internal/routes/TransferSubsidy.ts +447 -0
  1006. package/src/internal/routes/TransferWebhook.test.ts +128 -0
  1007. package/src/internal/routes/TransferWebhook.ts +67 -0
  1008. package/src/internal/{funding → routes}/index.test.ts +6 -3
  1009. package/src/internal/{funding → routes}/index.ts +3 -0
  1010. package/src/internal/{funding → routes}/providers/across.ts +16 -16
  1011. package/src/internal/{funding → routes}/providers/index.test.ts +157 -44
  1012. package/src/internal/{funding → routes}/providers/relay.test.ts +165 -32
  1013. package/src/internal/{funding → routes}/providers/relay.ts +231 -136
  1014. package/src/internal/{funding → routes}/providers/rhino.ts +16 -16
  1015. package/src/internal/{funding → routes}/providers/squid.ts +17 -17
  1016. package/src/internal/routes/providers/stargate.test.ts +728 -0
  1017. package/src/internal/routes/providers/stargate.ts +1276 -0
  1018. package/src/internal/{funding → routes}/providers/symbiosis.ts +64 -24
  1019. package/src/internal/webhookDestinations/slack.ts +20 -5
  1020. package/src/providers/index.ts +13 -13
  1021. package/src/server.ts +18 -0
  1022. package/dist/apps/funding/Access.d.ts.map +0 -1
  1023. package/dist/apps/funding/Access.js.map +0 -1
  1024. package/dist/apps/funding/App.js.map +0 -1
  1025. package/dist/apps/funding/Inventory.d.ts.map +0 -1
  1026. package/dist/apps/funding/Inventory.js.map +0 -1
  1027. package/dist/apps/funding/ProviderAttempts.d.ts +0 -5
  1028. package/dist/apps/funding/ProviderAttempts.d.ts.map +0 -1
  1029. package/dist/apps/funding/ProviderAttempts.js +0 -24
  1030. package/dist/apps/funding/ProviderAttempts.js.map +0 -1
  1031. package/dist/apps/funding/index.d.ts +0 -2
  1032. package/dist/apps/funding/index.d.ts.map +0 -1
  1033. package/dist/apps/funding/index.js +0 -2
  1034. package/dist/apps/funding/index.js.map +0 -1
  1035. package/dist/apps/funding/routes/chains.d.ts.map +0 -1
  1036. package/dist/apps/funding/routes/chains.js.map +0 -1
  1037. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +0 -1
  1038. package/dist/apps/funding/routes/deposit-addresses.js.map +0 -1
  1039. package/dist/apps/funding/routes/providers.d.ts.map +0 -1
  1040. package/dist/apps/funding/routes/providers.js +0 -57
  1041. package/dist/apps/funding/routes/providers.js.map +0 -1
  1042. package/dist/apps/funding/routes/quotes.d.ts.map +0 -1
  1043. package/dist/apps/funding/routes/quotes.js.map +0 -1
  1044. package/dist/apps/funding/routes/transfers.d.ts.map +0 -1
  1045. package/dist/apps/funding/routes/transfers.js +0 -622
  1046. package/dist/apps/funding/routes/transfers.js.map +0 -1
  1047. package/dist/db/tables/fundingCatalog.d.ts +0 -58
  1048. package/dist/db/tables/fundingCatalog.d.ts.map +0 -1
  1049. package/dist/db/tables/fundingCatalog.js.map +0 -1
  1050. package/dist/db/tables/fundingDepositAddresses.d.ts +0 -192
  1051. package/dist/db/tables/fundingDepositAddresses.d.ts.map +0 -1
  1052. package/dist/db/tables/fundingDepositAddresses.js +0 -235
  1053. package/dist/db/tables/fundingDepositAddresses.js.map +0 -1
  1054. package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +0 -1
  1055. package/dist/db/tables/fundingDepositRequestObservations.js.map +0 -1
  1056. package/dist/db/tables/fundingDeposits.d.ts.map +0 -1
  1057. package/dist/db/tables/fundingDeposits.js +0 -295
  1058. package/dist/db/tables/fundingDeposits.js.map +0 -1
  1059. package/dist/db/tables/fundingIdempotency.d.ts +0 -91
  1060. package/dist/db/tables/fundingIdempotency.d.ts.map +0 -1
  1061. package/dist/db/tables/fundingIdempotency.js +0 -103
  1062. package/dist/db/tables/fundingIdempotency.js.map +0 -1
  1063. package/dist/db/tables/fundingTransferEvents.d.ts.map +0 -1
  1064. package/dist/db/tables/fundingTransferEvents.js.map +0 -1
  1065. package/dist/db/tables/fundingTransferTransactions.d.ts +0 -15
  1066. package/dist/db/tables/fundingTransferTransactions.d.ts.map +0 -1
  1067. package/dist/db/tables/fundingTransferTransactions.js +0 -27
  1068. package/dist/db/tables/fundingTransferTransactions.js.map +0 -1
  1069. package/dist/db/tables/fundingTransfers.d.ts +0 -82
  1070. package/dist/db/tables/fundingTransfers.d.ts.map +0 -1
  1071. package/dist/db/tables/fundingTransfers.js +0 -89
  1072. package/dist/db/tables/fundingTransfers.js.map +0 -1
  1073. package/dist/internal/funding/Action.d.ts.map +0 -1
  1074. package/dist/internal/funding/Action.js.map +0 -1
  1075. package/dist/internal/funding/Catalog.d.ts.map +0 -1
  1076. package/dist/internal/funding/Catalog.js.map +0 -1
  1077. package/dist/internal/funding/Chain.d.ts.map +0 -1
  1078. package/dist/internal/funding/Chain.js.map +0 -1
  1079. package/dist/internal/funding/Deposit.d.ts.map +0 -1
  1080. package/dist/internal/funding/Deposit.js.map +0 -1
  1081. package/dist/internal/funding/DepositAddress.d.ts.map +0 -1
  1082. package/dist/internal/funding/DepositAddress.js.map +0 -1
  1083. package/dist/internal/funding/DepositWebhook.d.ts.map +0 -1
  1084. package/dist/internal/funding/DepositWebhook.js.map +0 -1
  1085. package/dist/internal/funding/Evidence.d.ts.map +0 -1
  1086. package/dist/internal/funding/Evidence.js.map +0 -1
  1087. package/dist/internal/funding/Provider.d.ts.map +0 -1
  1088. package/dist/internal/funding/Provider.js.map +0 -1
  1089. package/dist/internal/funding/Reconciliation.d.ts.map +0 -1
  1090. package/dist/internal/funding/Reconciliation.js.map +0 -1
  1091. package/dist/internal/funding/Route.d.ts +0 -21
  1092. package/dist/internal/funding/Route.d.ts.map +0 -1
  1093. package/dist/internal/funding/Route.js.map +0 -1
  1094. package/dist/internal/funding/SourceObservation.d.ts.map +0 -1
  1095. package/dist/internal/funding/SourceObservation.js.map +0 -1
  1096. package/dist/internal/funding/Subsidy.d.ts.map +0 -1
  1097. package/dist/internal/funding/Subsidy.js.map +0 -1
  1098. package/dist/internal/funding/Token.d.ts.map +0 -1
  1099. package/dist/internal/funding/Token.js.map +0 -1
  1100. package/dist/internal/funding/Transfer.d.ts.map +0 -1
  1101. package/dist/internal/funding/Transfer.js +0 -334
  1102. package/dist/internal/funding/Transfer.js.map +0 -1
  1103. package/dist/internal/funding/index.d.ts.map +0 -1
  1104. package/dist/internal/funding/index.js.map +0 -1
  1105. package/dist/internal/funding/providers/across.d.ts.map +0 -1
  1106. package/dist/internal/funding/providers/across.js.map +0 -1
  1107. package/dist/internal/funding/providers/relay.d.ts.map +0 -1
  1108. package/dist/internal/funding/providers/relay.js.map +0 -1
  1109. package/dist/internal/funding/providers/rhino.d.ts.map +0 -1
  1110. package/dist/internal/funding/providers/rhino.js.map +0 -1
  1111. package/dist/internal/funding/providers/squid.d.ts.map +0 -1
  1112. package/dist/internal/funding/providers/squid.js.map +0 -1
  1113. package/dist/internal/funding/providers/stargate.d.ts +0 -38
  1114. package/dist/internal/funding/providers/stargate.d.ts.map +0 -1
  1115. package/dist/internal/funding/providers/stargate.js +0 -277
  1116. package/dist/internal/funding/providers/stargate.js.map +0 -1
  1117. package/dist/internal/funding/providers/symbiosis.d.ts.map +0 -1
  1118. package/dist/internal/funding/providers/symbiosis.js.map +0 -1
  1119. package/src/apps/funding/App.test.ts +0 -78
  1120. package/src/apps/funding/App.ts +0 -78
  1121. package/src/apps/funding/ProviderAttempts.ts +0 -26
  1122. package/src/apps/funding/index.ts +0 -1
  1123. package/src/apps/funding/routes/transfers.test.ts +0 -1638
  1124. package/src/apps/funding/routes/transfers.ts +0 -721
  1125. package/src/db/tables/fundingCatalog.test.ts +0 -122
  1126. package/src/db/tables/fundingCatalog.ts +0 -163
  1127. package/src/db/tables/fundingDepositAddresses.test.ts +0 -608
  1128. package/src/db/tables/fundingDepositAddresses.ts +0 -443
  1129. package/src/db/tables/fundingDeposits.ts +0 -572
  1130. package/src/db/tables/fundingIdempotency.test.ts +0 -182
  1131. package/src/db/tables/fundingIdempotency.ts +0 -180
  1132. package/src/db/tables/fundingTransferTransactions.test.ts +0 -69
  1133. package/src/db/tables/fundingTransferTransactions.ts +0 -37
  1134. package/src/db/tables/fundingTransfers.test.ts +0 -89
  1135. package/src/db/tables/fundingTransfers.ts +0 -153
  1136. package/src/handlers/internal/multisig.test.ts +0 -818
  1137. package/src/internal/funding/Subsidy.test.ts +0 -75
  1138. package/src/internal/funding/Transfer.test.ts +0 -369
  1139. package/src/internal/funding/Transfer.ts +0 -545
  1140. package/src/internal/funding/providers/stargate.test.ts +0 -163
  1141. package/src/internal/funding/providers/stargate.ts +0 -409
  1142. /package/dist/apps/{funding → routes}/Inventory.d.ts +0 -0
  1143. /package/src/internal/{funding → routes}/Route.test.ts +0 -0
@@ -4,10 +4,12 @@ import * as core_Provider from '../Provider.js';
4
4
  import * as OpenApi from '../OpenApi.js';
5
5
  import * as Schema from '../Schema.js';
6
6
  import * as Value from '../Value.js';
7
+ import * as Viem from '../Viem.js';
7
8
  import * as Action from './Action.js';
8
- /** Tempo token used when the caller omits `destinationToken`. */
9
+ import * as Economics from './Economics.js';
10
+ /** Destination token used when the caller omits `destinationToken`. */
9
11
  const defaultDestinationToken = 'usdce';
10
- /** Funding provider schemas. */
12
+ /** Route provider schemas. */
11
13
  export var schema;
12
14
  (function (schema) {
13
15
  /** Bounded upstream error code safe for structured logs. */
@@ -26,11 +28,11 @@ export var schema;
26
28
  errorType: z.optional(z.string()),
27
29
  type: z.optional(z.string()),
28
30
  });
29
- /** Positive decimal amount accepted by funding quote requests. */
31
+ /** Positive decimal amount accepted by route quote requests. */
30
32
  schema.PositiveDecimal = z.string().check(z.regex(/^(?=.*[1-9])\d+(\.\d+)?$/));
31
- /** Positive base-unit amount accepted by funding quote requests. */
33
+ /** Positive base-unit amount accepted by route quote requests. */
32
34
  schema.PositiveInteger = z.string().check(z.regex(/^(?=.*[1-9])\d+$/));
33
- /** Normalized chain reference passed to funding providers. */
35
+ /** Normalized chain reference passed to route providers. */
34
36
  schema.ChainRef = OpenApi.component(Schema.describe(z.object({
35
37
  addressFormat: z
36
38
  .enum(['base58', 'base58check', 'hex'])
@@ -42,8 +44,8 @@ export var schema;
42
44
  name: z
43
45
  .string()
44
46
  .check(z.describe('Human-readable chain name.'), z.meta({ examples: ['Base'] })),
45
- }), 'A normalized chain reference for funding quotes.'), 'FundingChain');
46
- /** Normalized token reference passed to funding providers. */
47
+ }), 'A normalized chain reference for route quotes.'), 'RoutesChain');
48
+ /** Normalized token reference passed to route providers. */
47
49
  schema.TokenRef = OpenApi.component(Schema.describe(z.object({
48
50
  address: z
49
51
  .string()
@@ -68,43 +70,54 @@ export var schema;
68
70
  })),
69
71
  verified: z
70
72
  .boolean()
71
- .check(z.describe('Whether Tempo recognizes this token in its funding quote inventory.'), z.meta({ examples: [true] })),
72
- }), 'A normalized token reference for funding quotes.'), 'FundingToken');
73
- /** Provider identity embedded in funding resources. */
73
+ .check(z.describe('Whether Tempo recognizes this token in its route quote inventory.'), z.meta({ examples: [true] })),
74
+ }), 'A normalized token reference for route quotes.'), 'RoutesToken');
75
+ /** Provider identity embedded in route resources. */
74
76
  schema.ProviderRef = OpenApi.component(Schema.describe(z.object({
75
77
  id: z.string().check(z.describe('Stable provider id.'), z.meta({ examples: ['relay'] })),
76
78
  name: z
77
79
  .string()
78
80
  .check(z.describe('Human-readable provider name.'), z.meta({ examples: ['Relay'] })),
79
- }), 'Provider metadata embedded in a funding quote.'), 'FundingProvider');
80
- /** Source amount unit accepted by a funding quote request. */
81
+ }), 'Provider metadata embedded in a route quote.'), 'RoutesProvider');
82
+ /** One token amount paid by a subsidy provider. */
83
+ schema.Subsidy = OpenApi.component(Schema.describe(z.object({
84
+ amount: Schema.TokenAmount,
85
+ provider: z
86
+ .string()
87
+ .check(z.minLength(1), z.describe('Stable id of the subsidy provider.'), z.meta({ examples: ['relay'] })),
88
+ token: schema.TokenRef,
89
+ }), 'One token amount paid on behalf of the deposit recipient.'), 'RoutesSubsidy');
90
+ /** Source amount unit accepted by a route quote request. */
81
91
  schema.SourceAmountUnits = z
82
92
  ._default(z.enum(['baseUnits', 'decimal']), 'baseUnits')
83
93
  .check(z.describe('Whether `sourceAmount` is base units or a human-readable decimal.'), z.meta({ examples: ['baseUnits', 'decimal'] }));
84
- /** Normalized caller request passed to funding providers. */
94
+ /** Normalized caller request passed to route providers. */
85
95
  schema.QuoteRequest = z
86
96
  .strictObject({
97
+ destinationChain: z
98
+ .optional(z.string().check(z.minLength(1)))
99
+ .check(z.describe('Destination chain CAIP-2 id, slug, or alias. Defaults to Tempo.'), z.meta({ examples: ['tempo', 'base', 'ethereum', 'eip155:4217'] })),
87
100
  destinationToken: z
88
101
  .optional(z.string())
89
- .check(z.describe('Tempo destination token symbol, address, or token key. Defaults to USDC.e.'), z.meta({ examples: ['usdc.e'] })),
102
+ .check(z.describe('Destination token symbol, address, or token key. Defaults to USDC.e for Tempo destinations.'), z.meta({ examples: ['usdc.e', 'usdc'] })),
90
103
  provider: z
91
104
  .optional(z.string().check(z.minLength(1)))
92
- .check(z.describe('Only request a quote from this provider. Use an id returned by the funding providers endpoint, or omit it to query every available provider.'), z.meta({ examples: ['relay'] })),
105
+ .check(z.describe('Only request a quote from this provider. Use an id returned by the route providers endpoint, or omit it to query every available provider.'), z.meta({ examples: ['relay', 'stargate'] })),
93
106
  sourceAmount: schema.PositiveDecimal.check(z.describe('Positive source token amount. Base units by default, so 1 USDC is `1000000`.'), z.meta({ examples: ['1000000'] })),
94
107
  sourceAmountUnits: schema.SourceAmountUnits,
95
108
  sourceChain: z
96
109
  .string()
97
- .check(z.minLength(1), z.describe('Source chain alias or stable id, such as `base`, `solana`, or `eip155:8453`.'), z.meta({ examples: ['base', 'eip155:8453'] })),
98
- sourceToken: z
99
- .string()
100
- .check(z.minLength(1), z.describe('Source token symbol, contract address, or Tempo token key. Lookup is scoped to `sourceChain`; non-EVM addresses are case-sensitive. An unknown token returns an empty list.'), z.meta({ examples: ['usdc', '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'] })),
110
+ .check(z.minLength(1), z.describe('Source chain alias or stable id, such as `base`, `solana`, or `eip155:8453`.'), z.meta({ examples: ['base', 'ethereum', 'tempo', 'eip155:8453'] })),
111
+ sourceToken: z.string().check(z.minLength(1), z.describe('Source token symbol, contract address, or Tempo token key. Lookup is scoped to `sourceChain`; non-EVM addresses are case-sensitive. An unknown token returns an empty list.'), z.meta({
112
+ examples: ['usdc', 'usdce', '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'],
113
+ })),
101
114
  })
102
- .check(z.describe('Query parameters for live funding quotes into Tempo.'));
115
+ .check(z.describe('Query parameters for live route quotes.'));
103
116
  /** Provider-specific quote status for the requested amount. */
104
117
  schema.QuoteStatus = z.enum(['available', 'thin', 'unknown', 'unavailable']);
105
118
  /** Machine-readable provider quote quality tier. */
106
119
  schema.QualityTier = z.enum(['liquid', 'thin', 'unknown', 'unavailable']);
107
- /** Quote data returned by a funding provider. */
120
+ /** Quote data returned by a route provider. */
108
121
  schema.GetQuoteResult = Schema.describe(z.object({
109
122
  expiresAt: z.optional(z.iso.datetime()),
110
123
  destinationAmountMin: z.optional(Schema.DecimalString),
@@ -117,8 +130,8 @@ export var schema;
117
130
  })),
118
131
  sampledAt: z.iso.datetime(),
119
132
  status: schema.QuoteStatus,
120
- }), 'Quote data returned by a funding provider.');
121
- /** Executable preparation returned by a funding provider. */
133
+ }), 'Quote data returned by a route provider.');
134
+ /** Executable preparation returned by a route provider. */
122
135
  schema.PrepareResult = z.object({
123
136
  action: Action.schema.Action,
124
137
  correlation: z.optional(z.object({
@@ -133,10 +146,11 @@ export var schema;
133
146
  side: z.enum(['destination', 'source']),
134
147
  token: z.optional(schema.TokenRef),
135
148
  })),
149
+ providerState: z.optional(z.record(z.string(), z.unknown())),
136
150
  quality: schema.GetQuoteResult.shape.quality,
137
151
  sampledAt: z.iso.datetime(),
138
152
  });
139
- /** Reusable deposit address provisioned by a funding provider. */
153
+ /** Reusable deposit address provisioned by a route provider. */
140
154
  schema.DepositAddressResult = z
141
155
  .object({
142
156
  address: z
@@ -168,6 +182,7 @@ export var schema;
168
182
  refundAmountExpected: z.optional(z.string().check(z.regex(/^\d+$/))),
169
183
  refundTransactionHashes: z.array(z.string()),
170
184
  sourceTransactionHashes: z.array(z.string()),
185
+ subsidy: z.optional(schema.Subsidy),
171
186
  status: z.string().check(z.minLength(1)),
172
187
  updatedAt: z.iso.datetime(),
173
188
  });
@@ -176,22 +191,16 @@ export var schema;
176
191
  continuation: z.optional(z.string().check(z.minLength(1))),
177
192
  requests: z.array(schema.DepositAddressRequest),
178
193
  });
179
- /** Quote quality signals exposed to funding API callers. */
180
- schema.FundingQuoteQuality = OpenApi.component(Schema.describe(z.object({
194
+ /** Quote quality signals exposed to routes API callers. */
195
+ schema.RoutesQuoteQuality = OpenApi.component(Schema.describe(z.object({
181
196
  estimatedSeconds: z
182
197
  .optional(z.number().check(z.int(), z.nonnegative()))
183
198
  .check(z.describe('Estimated settlement time in seconds, when known.'), z.meta({ examples: [2] })),
184
- liquiditySource: z
185
- .string()
186
- .check(z.describe('Provider source for the live quote quality signal.'), z.meta({ examples: ['providerQuote'] })),
187
- sourceDetail: z
188
- .optional(z.string())
189
- .check(z.describe('Provider-specific source or endpoint detail for the quality signal.'), z.meta({ examples: ['providerEndpoint'] })),
190
199
  tier: z
191
200
  .enum(['liquid', 'thin'])
192
201
  .check(z.describe('Machine-readable quote quality tier for a successful quote.'), z.meta({ examples: ['liquid'] })),
193
- }), 'Machine-readable liquidity, fee, and source signals for a successful quote.'), 'FundingQuoteQuality');
194
- /** Provider quote freshness data exposed to funding API callers. */
202
+ }), 'Machine-readable quality and settlement-time signals for a successful quote.'), 'RoutesQuoteQuality');
203
+ /** Provider quote freshness data exposed to routes API callers. */
195
204
  schema.QuoteDetails = OpenApi.component(Schema.describe(z.object({
196
205
  expiresAt: z
197
206
  .optional(z.iso.datetime())
@@ -199,56 +208,97 @@ export var schema;
199
208
  sampledAt: z.iso
200
209
  .datetime()
201
210
  .check(z.describe('Timestamp for the live quote request.'), z.meta({ examples: ['2026-01-01T00:00:00Z'] })),
202
- }), 'Freshness data for a provider funding quote.'), 'FundingQuoteDetails');
203
- /** Successful normalized funding quote returned to callers. */
204
- schema.FundingQuote = OpenApi.component(Schema.describe(z.object({
205
- destinationAmount: Schema.TokenAmount.check(z.describe('Expected destination amount.')),
211
+ }), 'Freshness data for a provider route quote.'), 'RoutesQuoteDetails');
212
+ /** Successful normalized route quote returned to callers. */
213
+ schema.RoutesQuote = OpenApi.component(Schema.describe(z.object({
214
+ destinationAmount: Schema.TokenAmount.check(z.describe('Expected amount received after provider deductions, including pool fees.')),
206
215
  destinationAmountMin: z
207
216
  .optional(Schema.TokenAmount)
208
217
  .check(z.describe('Provider-derived minimum destination amount. Symbiosis and Squid quotes use a fixed 1% slippage tolerance.')),
209
- destinationChain: schema.ChainRef.check(z.describe('Destination chain, always Tempo mainnet in V1.')),
210
- destinationToken: schema.TokenRef.check(z.describe('Tempo token expected from this quote.')),
218
+ destinationChain: schema.ChainRef.check(z.describe('Chain that receives the routed token.')),
219
+ destinationToken: schema.TokenRef.check(z.describe('Token expected from this quote.')),
211
220
  id: z
212
221
  .string()
213
- .check(z.describe('Stable deterministic funding quote id.'), z.meta({ examples: ['base-usdc-tempo-usdce-relay'] })),
222
+ .check(z.describe('Stable deterministic route quote id.'), z.meta({ examples: ['base-usdc-tempo-usdce-relay'] })),
214
223
  provider: schema.ProviderRef,
215
- quality: schema.FundingQuoteQuality,
224
+ quality: schema.RoutesQuoteQuality,
216
225
  quote: schema.QuoteDetails,
217
226
  sourceAmount: Schema.TokenAmount,
218
227
  sourceChain: schema.ChainRef.check(z.describe('Chain where the caller currently holds funds.')),
219
228
  sourceToken: schema.TokenRef.check(z.describe('Token the caller currently holds.')),
220
- }), 'One successful provider-specific funding quote.'), 'FundingQuote');
229
+ }), 'One successful provider-specific route quote.'), 'RoutesQuote');
221
230
  })(schema || (schema = {}));
222
- /** Defines a funding provider from its identity and quote implementation. */
231
+ /** Defines a route provider from its identity and quote implementation. */
223
232
  export function from(options) {
224
233
  if (options.id !== normalizeInput(options.id) || options.id.length === 0)
225
234
  throw new ProviderConfigurationError('Provider ids must be lowercase and trimmed.');
226
- return core_Provider.from({ ...options, type: 'funding' });
235
+ return core_Provider.from({ ...options, type: 'routes' });
227
236
  }
228
- /** Narrows a registered provider to a funding provider. */
237
+ /** Narrows a registered provider to a route provider. */
229
238
  export function is(provider) {
230
- return (provider.type === 'funding' && 'getQuote' in provider && typeof provider.getQuote === 'function');
239
+ return (provider.type === 'routes' && 'getQuote' in provider && typeof provider.getQuote === 'function');
231
240
  }
232
- /** Narrows a funding provider to one that prepares executable transfers. */
241
+ /** Narrows a route provider to one that prepares executable transfers. */
233
242
  export function canPrepareTransfer(provider) {
234
243
  return typeof provider.prepareTransfer === 'function';
235
244
  }
236
- /** Narrows a funding provider to one that provisions reusable deposit addresses. */
245
+ /** Narrows a route provider to one that provisions reusable deposit addresses. */
237
246
  export function canCreateDepositAddress(provider) {
238
247
  return typeof provider.createDepositAddress === 'function';
239
248
  }
240
- /** Narrows a funding provider to one that tracks reusable deposit addresses. */
249
+ /** Narrows a route provider to one that tracks reusable deposit addresses. */
241
250
  export function canListDepositAddressRequests(provider) {
242
251
  return typeof provider.listDepositAddressRequests === 'function';
243
252
  }
244
- /** Narrows a funding provider to one that observes reusable-address delivery onchain. */
253
+ /** Narrows a route provider to one that observes reusable-address delivery onchain. */
245
254
  export function canObserveDepositAddressRequest(provider) {
246
255
  return typeof provider.observeDepositAddressRequest === 'function';
247
256
  }
248
- /** Narrows a funding provider to one with authenticated webhook receipt. */
257
+ /** Narrows a route provider to one that reconciles registered transfers. */
258
+ export function canReconcileTransfer(provider) {
259
+ return (typeof provider.verifyDestinationDelivery === 'function' &&
260
+ typeof provider.verifySourceTransaction === 'function');
261
+ }
262
+ /** Narrows a route provider to one that verifies submitted source transactions. */
263
+ export function canVerifySourceTransaction(provider) {
264
+ return typeof provider.verifySourceTransaction === 'function';
265
+ }
266
+ /** Narrows a route provider to one with authenticated webhook receipt. */
249
267
  export function canReceiveWebhook(provider) {
250
268
  return provider.webhook !== undefined;
251
269
  }
270
+ /** Observes one provider operation without changing its result. */
271
+ export async function observe(provider, fn, options) {
272
+ const start = performance.now();
273
+ const report = (attempt) => {
274
+ try {
275
+ options.onAttempt(formatAttempt(attempt));
276
+ }
277
+ catch {
278
+ // Observability hooks never alter provider behavior.
279
+ }
280
+ };
281
+ try {
282
+ const value = await fn();
283
+ report({
284
+ durationMs: performance.now() - start,
285
+ operation: options.operation,
286
+ outcome: 'success',
287
+ provider,
288
+ });
289
+ return value;
290
+ }
291
+ catch (cause) {
292
+ report({
293
+ cause,
294
+ durationMs: performance.now() - start,
295
+ operation: options.operation,
296
+ outcome: 'failed',
297
+ provider,
298
+ });
299
+ throw cause;
300
+ }
301
+ }
252
302
  // Slow provider responses can still contain valid quotes; keep the boundary
253
303
  // above observed Relay latency while bounding the total request duration.
254
304
  const defaultQuoteTimeoutMs = 5_000;
@@ -270,13 +320,13 @@ export function getChains(options) {
270
320
  ];
271
321
  });
272
322
  }
273
- /** Returns the supplied funding quote providers. */
323
+ /** Returns the supplied route quote providers. */
274
324
  export function getProviders(options) {
275
325
  return options.providers
276
326
  .filter((provider) => (options.catalog.routesByProvider.get(provider.id)?.length ?? 0) > 0)
277
327
  .map((provider) => schema.ProviderRef.parse(provider));
278
328
  }
279
- /** Returns successful live funding quotes from the supplied providers. */
329
+ /** Returns successful live route quotes from the supplied providers. */
280
330
  export async function getQuotes(options) {
281
331
  const providers = options.providers ?? [];
282
332
  const operation = 'getQuote';
@@ -291,7 +341,9 @@ export async function getQuotes(options) {
291
341
  const result = await quoteCandidate(candidate, {
292
342
  cache: options.cache ?? { bypass: false },
293
343
  provider,
344
+ quotaKey: options.quotaKey ?? 'public:anonymous',
294
345
  request: {
346
+ destinationChain: options.destinationChain,
295
347
  destinationToken: options.destinationToken,
296
348
  provider: options.provider,
297
349
  sourceAmount: options.sourceAmount,
@@ -329,7 +381,7 @@ export async function getQuotes(options) {
329
381
  options.onAttempt?.(attempt);
330
382
  }
331
383
  catch {
332
- // Observability hooks never alter funding quote behavior.
384
+ // Observability hooks never alter route quote behavior.
333
385
  }
334
386
  }
335
387
  const quotes = results.flatMap((result) => result.status === 'fulfilled' && result.value ? [result.value] : []);
@@ -342,6 +394,41 @@ export async function getQuotes(options) {
342
394
  },
343
395
  ]
344
396
  : []);
397
+ const outcome = (() => {
398
+ if (quotes.length > 0)
399
+ return 'available';
400
+ if (candidates.length === 0)
401
+ return 'unsupported';
402
+ if (failures.length > 0)
403
+ return 'failed';
404
+ return 'unavailable';
405
+ })();
406
+ try {
407
+ options.onResult?.({
408
+ candidateCount: candidates.length,
409
+ outcome,
410
+ quotes: quotes.map((quote) => {
411
+ const ageMs = Date.now() - Date.parse(quote.quote.sampledAt);
412
+ const customerValueLossBps = Economics.differenceBps({
413
+ reference: quote.sourceAmount,
414
+ value: quote.destinationAmount,
415
+ });
416
+ return {
417
+ ageMs: Math.max(0, ageMs),
418
+ ...(customerValueLossBps === undefined ? {} : { customerValueLossBps }),
419
+ destinationChain: quote.destinationChain.id,
420
+ destinationToken: quote.destinationToken.tokenKey,
421
+ futureSkewMs: Math.max(0, -ageMs),
422
+ provider: quote.provider.id,
423
+ sourceChain: quote.sourceChain.id,
424
+ sourceToken: quote.sourceToken.tokenKey,
425
+ };
426
+ }),
427
+ });
428
+ }
429
+ catch {
430
+ // Reliability telemetry never alters route quote behavior.
431
+ }
345
432
  if (quotes.length === 0 && failures.length > 0)
346
433
  throw new ProviderQuoteError(failures, values);
347
434
  return quotes;
@@ -354,7 +441,8 @@ export function getQuoteCandidates(options) {
354
441
  throw new InvalidAmountError();
355
442
  const sourceChain = resolveSourceChain(options.sourceChain, catalog);
356
443
  const sourceToken = resolveSourceToken(sourceChain, options.sourceToken, catalog);
357
- const destination = resolveDestinationToken(options.destinationToken, catalog);
444
+ const destinationChain = resolveDestinationChain(options.destinationChain ?? 'tempo', catalog);
445
+ const destination = resolveDestinationToken(destinationChain, options.destinationToken, catalog);
358
446
  const provider = options.provider ? resolveProvider(options.provider, providers) : undefined;
359
447
  if (providers.length === 0)
360
448
  return [];
@@ -392,23 +480,16 @@ export async function createDepositAddress(options) {
392
480
  const operation = 'createDepositAddress';
393
481
  if (!schema.PositiveInteger.safeParse(options.amount).success)
394
482
  throw new InvalidAmountError();
395
- const candidates = getDepositAddressCandidates(options).sort((a, b) => a.provider.id.localeCompare(b.provider.id));
396
- const selected = candidates[0];
483
+ const selected = selectDepositAddress(options);
397
484
  if (!selected)
398
485
  return undefined;
399
- const recipient = normalizeAccountAddress(options.recipient, selected.candidate.destinationChain);
400
- const refundAddress = normalizeAccountAddress(options.refundAddress, selected.candidate.sourceChain);
401
- if (!recipient)
402
- throw new ProviderPayloadError();
403
- if (!refundAddress)
404
- throw new InvalidRefundAddressError();
405
486
  const start = performance.now();
406
487
  try {
407
488
  const parsed = schema.DepositAddressResult.safeParse(await withTimeout((signal) => selected.provider.createDepositAddress({
408
489
  amount: options.amount,
409
490
  candidate: selected.candidate,
410
- recipient,
411
- refundAddress,
491
+ recipient: selected.recipient,
492
+ refundAddress: selected.refundAddress,
412
493
  subsidize: options.subsidize,
413
494
  }, signal), options.providerTimeoutMs ?? defaultPrepareTimeoutMs));
414
495
  if (!parsed.success)
@@ -432,7 +513,7 @@ export async function createDepositAddress(options) {
432
513
  catch {
433
514
  // Observability hooks never alter provisioning behavior.
434
515
  }
435
- return { ...selected, recipient, refundAddress, result };
516
+ return { ...selected, result };
436
517
  }
437
518
  catch (cause) {
438
519
  const attempt = cause instanceof ProviderUnavailableError
@@ -460,6 +541,20 @@ export async function createDepositAddress(options) {
460
541
  throw new ProviderQuoteError([{ cause, operation, provider: selected.provider }], [attempt]);
461
542
  }
462
543
  }
544
+ /** Selects and normalizes the deterministic reusable-address route without provisioning it. */
545
+ export function selectDepositAddress(options) {
546
+ const candidates = getDepositAddressCandidates(options).sort((a, b) => a.provider.id.localeCompare(b.provider.id));
547
+ const selected = candidates[0];
548
+ if (!selected)
549
+ return undefined;
550
+ const recipient = normalizeAccountAddress(options.recipient, selected.candidate.destinationChain);
551
+ const refundAddress = normalizeAccountAddress(options.refundAddress, selected.candidate.sourceChain);
552
+ if (!recipient)
553
+ throw new ProviderPayloadError();
554
+ if (!refundAddress)
555
+ throw new InvalidRefundAddressError();
556
+ return { ...selected, recipient, refundAddress };
557
+ }
463
558
  /**
464
559
  * Prepares one executable transfer across capability-enabled candidates,
465
560
  * selecting the best successful preparation. Returns `undefined` when no
@@ -471,6 +566,13 @@ export async function prepareTransfer(options) {
471
566
  const candidates = getPrepareCandidates(options);
472
567
  if (candidates.length === 0)
473
568
  return undefined;
569
+ const first = candidates[0];
570
+ const recipient = normalizeAccountAddress(options.recipient, first.candidate.destinationChain);
571
+ if (!recipient)
572
+ throw new InvalidRecipientAddressError();
573
+ const sender = normalizeAccountAddress(options.sender, first.candidate.sourceChain);
574
+ if (!sender)
575
+ throw new InvalidSenderAddressError();
474
576
  const attempts = [];
475
577
  const results = await Promise.allSettled(candidates.map(async ({ candidate, provider }) => {
476
578
  const start = performance.now();
@@ -479,8 +581,8 @@ export async function prepareTransfer(options) {
479
581
  candidate,
480
582
  method: options.method,
481
583
  mode: options.mode,
482
- recipient: options.recipient,
483
- sender: options.sender,
584
+ recipient,
585
+ sender,
484
586
  slippageBps: options.slippageBps,
485
587
  };
486
588
  const parsed = schema.PrepareResult.safeParse(await withTimeout((signal) => provider.prepareTransfer(parameters, signal), options.providerTimeoutMs ?? defaultPrepareTimeoutMs));
@@ -507,12 +609,14 @@ export async function prepareTransfer(options) {
507
609
  const constraints = provider.validateTransferAction?.({
508
610
  ...parameters,
509
611
  action: result.action,
612
+ destinationAmountMin: result.destinationAmountMin,
510
613
  });
511
614
  Action.validateEvmCalls({
512
615
  action: result.action,
513
616
  nativeValues: constraints?.nativeValues,
514
617
  sourceAmount: candidate.sourceAmount.amount,
515
618
  sourceTokenAddress: candidate.sourceToken.address,
619
+ tokenApprovals: constraints?.tokenApprovals,
516
620
  });
517
621
  }
518
622
  catch (cause) {
@@ -578,7 +682,15 @@ export async function prepareTransfer(options) {
578
682
  return delta > 0n ? 1 : -1;
579
683
  return a.provider.id < b.provider.id ? -1 : 1;
580
684
  });
581
- return prepared[0];
685
+ const selected = prepared[0];
686
+ const bestDestinationAmount = prepared.reduce((best, entry) => BigInt(entry.result.destinationAmount) > BigInt(best) ? entry.result.destinationAmount : best, selected.result.destinationAmount);
687
+ return {
688
+ ...selected,
689
+ bestDestinationAmount,
690
+ preparedCount: prepared.length,
691
+ recipient,
692
+ sender,
693
+ };
582
694
  }
583
695
  /**
584
696
  * Returns capability-enabled reusable-address candidates for a route. Tokens
@@ -623,14 +735,14 @@ export function getPrepareCandidates(options) {
623
735
  if (!amount.success)
624
736
  throw new InvalidAmountError();
625
737
  const sourceChain = resolveSourceChain(options.sourceChain, options.catalog);
626
- const destinationChainId = `eip155:${options.destinationChainId}`;
738
+ const destinationChain = resolveDestinationChain(options.destinationChain, options.catalog);
627
739
  const selectedProvider = options.provider
628
740
  ? resolveProvider(options.provider, options.providers)
629
741
  : undefined;
630
742
  return options.catalog.routes.flatMap((entry) => {
631
743
  if (entry.route.source.chain.id !== sourceChain.id)
632
744
  return [];
633
- if (entry.route.destination.chain.id !== destinationChainId)
745
+ if (entry.route.destination.chain.id !== destinationChain.id)
634
746
  return [];
635
747
  if (!matchesToken(entry.route.source, options.sourceToken))
636
748
  return [];
@@ -663,6 +775,9 @@ export function getPrepareCandidates(options) {
663
775
  /** Returns bounded provider failure details suitable for structured request logs. */
664
776
  export function failure(options) {
665
777
  const { cause, operation, provider } = options;
778
+ const rpc = Viem.requestFailure(cause);
779
+ if (rpc)
780
+ return { ...rpc, id: provider.id, operation };
666
781
  if (cause instanceof ProviderTimeoutError ||
667
782
  (cause instanceof DOMException && cause.name === 'AbortError'))
668
783
  return { failure: 'timeout', id: provider.id, operation };
@@ -676,7 +791,9 @@ export function failure(options) {
676
791
  status: cause.status,
677
792
  };
678
793
  }
679
- if (cause instanceof ProviderPayloadError)
794
+ if (cause instanceof ProviderPayloadError ||
795
+ cause instanceof WebhookAuthenticationError ||
796
+ cause instanceof WebhookPayloadError)
680
797
  return { failure: 'payload', id: provider.id, operation };
681
798
  if (cause instanceof ProviderRateLimitError)
682
799
  return { failure: 'rate_limit', id: provider.id, operation };
@@ -747,6 +864,7 @@ async function quoteCandidate(candidate, options) {
747
864
  cache: options.cache,
748
865
  destinationChain: candidate.destinationChain,
749
866
  destinationToken: candidate.destinationToken,
867
+ quotaKey: options.quotaKey,
750
868
  request: options.request,
751
869
  route: candidate.route,
752
870
  sourceAmount: candidate.sourceAmount,
@@ -850,7 +968,7 @@ function parseDecimalUnits(value, decimals) {
850
968
  }
851
969
  }
852
970
  function createQuote(candidate, quote) {
853
- return schema.FundingQuote.parse({
971
+ return schema.RoutesQuote.parse({
854
972
  destinationAmount: Value.tokenAmount({
855
973
  baseUnits: quote.destinationAmount,
856
974
  currency: candidate.destinationToken.currency,
@@ -873,10 +991,6 @@ function createQuote(candidate, quote) {
873
991
  ...(quote.quality?.estimatedSeconds !== undefined
874
992
  ? { estimatedSeconds: quote.quality.estimatedSeconds }
875
993
  : {}),
876
- liquiditySource: quote.quality?.liquiditySource ?? 'providerQuote',
877
- ...(quote.quality?.sourceDetail !== undefined
878
- ? { sourceDetail: quote.quality.sourceDetail }
879
- : {}),
880
994
  tier: quote.status === 'thin' ? 'thin' : 'liquid',
881
995
  },
882
996
  quote: {
@@ -924,7 +1038,8 @@ function errorCode(input) {
924
1038
  const parsed = schema.ErrorCode.safeParse(code);
925
1039
  return parsed.success ? parsed.data : undefined;
926
1040
  }
927
- function attemptResult(attempt) {
1041
+ /** Formats one provider attempt for logs and aggregate metrics. */
1042
+ export function formatAttempt(attempt) {
928
1043
  return {
929
1044
  durationMs: attempt.durationMs,
930
1045
  ...(attempt.outcome === 'failed'
@@ -941,8 +1056,17 @@ function attemptResult(attempt) {
941
1056
  outcome: attempt.outcome,
942
1057
  };
943
1058
  }
944
- function resolveDestinationToken(input, catalog) {
945
- const destinations = uniqueBy(catalog.routes.map((entry) => entry.route.destination), (token) => `${token.chain.id}:${token.address}`);
1059
+ function resolveDestinationChain(input, catalog) {
1060
+ const normalized = normalizeInput(input);
1061
+ const chain = catalog.chainsByKey.get(normalized);
1062
+ if (!chain || !catalog.routes.some((entry) => entry.route.destination.chain.id === chain.id))
1063
+ throw new UnsupportedDestinationChainError();
1064
+ return chain;
1065
+ }
1066
+ function resolveDestinationToken(chain, input, catalog) {
1067
+ const destinations = uniqueBy(catalog.routes
1068
+ .filter((entry) => entry.route.destination.chain.id === chain.id)
1069
+ .map((entry) => entry.route.destination), (token) => `${token.chain.id}:${token.address}`);
946
1070
  if (input === undefined) {
947
1071
  const destination = destinations.find((candidate) => candidate.slug === defaultDestinationToken);
948
1072
  if (!destination)
@@ -1023,51 +1147,63 @@ function normalizeAccountAddress(value, chain) {
1023
1147
  return undefined;
1024
1148
  }
1025
1149
  }
1150
+ /** Error thrown when the caller supplies an unsupported destination chain. */
1151
+ export class UnsupportedDestinationChainError extends Error {
1152
+ name = 'RoutesProvider.UnsupportedDestinationChainError';
1153
+ }
1026
1154
  /** Error thrown when the caller supplies an unsupported destination token. */
1027
1155
  export class UnsupportedDestinationTokenError extends Error {
1028
- name = 'FundingProvider.UnsupportedDestinationTokenError';
1156
+ name = 'RoutesProvider.UnsupportedDestinationTokenError';
1029
1157
  }
1030
1158
  /** Error thrown when a provider webhook cannot be authenticated. */
1031
1159
  export class WebhookAuthenticationError extends Error {
1032
- name = 'FundingProvider.WebhookAuthenticationError';
1160
+ name = 'RoutesProvider.WebhookAuthenticationError';
1033
1161
  }
1034
1162
  /** Error thrown when an authenticated provider webhook has an invalid body. */
1035
1163
  export class WebhookPayloadError extends Error {
1036
- name = 'FundingProvider.WebhookPayloadError';
1164
+ name = 'RoutesProvider.WebhookPayloadError';
1037
1165
  }
1038
1166
  /** Error thrown when the caller supplies an invalid source amount. */
1039
1167
  export class InvalidAmountError extends Error {
1040
- name = 'FundingProvider.InvalidAmountError';
1168
+ name = 'RoutesProvider.InvalidAmountError';
1041
1169
  }
1042
1170
  /** Error thrown when the caller supplies an invalid source-chain refund address. */
1043
1171
  export class InvalidRefundAddressError extends Error {
1044
- name = 'FundingProvider.InvalidRefundAddressError';
1172
+ name = 'RoutesProvider.InvalidRefundAddressError';
1173
+ }
1174
+ /** Error thrown when the caller supplies an invalid destination-chain recipient. */
1175
+ export class InvalidRecipientAddressError extends Error {
1176
+ name = 'RoutesProvider.InvalidRecipientAddressError';
1177
+ }
1178
+ /** Error thrown when the caller supplies an invalid source-chain sender. */
1179
+ export class InvalidSenderAddressError extends Error {
1180
+ name = 'RoutesProvider.InvalidSenderAddressError';
1045
1181
  }
1046
1182
  /** Error thrown when provider deployment configuration is invalid. */
1047
1183
  export class ProviderConfigurationError extends Error {
1048
- name = 'FundingProvider.ProviderConfigurationError';
1184
+ name = 'RoutesProvider.ProviderConfigurationError';
1049
1185
  }
1050
1186
  /** Error thrown when a provider response does not match the requested quote. */
1051
1187
  export class ProviderPayloadError extends Error {
1052
- name = 'FundingProvider.ProviderPayloadError';
1188
+ name = 'RoutesProvider.ProviderPayloadError';
1053
1189
  }
1054
1190
  /** Error thrown when a provider confirms that no executable route is available. */
1055
1191
  export class ProviderUnavailableError extends Error {
1056
- name = 'FundingProvider.ProviderUnavailableError';
1192
+ name = 'RoutesProvider.ProviderUnavailableError';
1057
1193
  }
1058
1194
  /** Error thrown internally when a provider exceeds its quote timeout. */
1059
1195
  export class ProviderTimeoutError extends Error {
1060
- name = 'FundingProvider.ProviderTimeoutError';
1196
+ name = 'RoutesProvider.ProviderTimeoutError';
1061
1197
  }
1062
1198
  /** Error thrown when an internal provider quota rejects a quote request. */
1063
1199
  export class ProviderRateLimitError extends Error {
1064
- name = 'FundingProvider.ProviderRateLimitError';
1200
+ name = 'RoutesProvider.ProviderRateLimitError';
1065
1201
  }
1066
1202
  /** Error thrown when a provider returns an unsuccessful HTTP response. */
1067
1203
  export class ProviderResponseError extends Error {
1068
1204
  status;
1069
1205
  body;
1070
- name = 'FundingProvider.ProviderResponseError';
1206
+ name = 'RoutesProvider.ProviderResponseError';
1071
1207
  constructor(
1072
1208
  /** Provider response status. */
1073
1209
  status,
@@ -1080,11 +1216,11 @@ export class ProviderResponseError extends Error {
1080
1216
  }
1081
1217
  /** Error thrown when every matching provider fails to produce a quote. */
1082
1218
  export class ProviderQuoteError extends Error {
1083
- name = 'FundingProvider.ProviderQuoteError';
1219
+ name = 'RoutesProvider.ProviderQuoteError';
1084
1220
  /** Provider failures that prevented a successful quote. */
1085
1221
  failures;
1086
1222
  /** Bounded provider attempts retained for request logs. */
1087
- fundingProviderAttempts;
1223
+ routesProviderAttempts;
1088
1224
  /** First bounded provider failure retained for request logs. */
1089
1225
  providerFailure;
1090
1226
  /** Bounded provider failures retained when multiple providers failed. */
@@ -1092,7 +1228,7 @@ export class ProviderQuoteError extends Error {
1092
1228
  constructor(failures, attempts = []) {
1093
1229
  super();
1094
1230
  this.failures = failures;
1095
- this.fundingProviderAttempts = attempts.map(attemptResult);
1231
+ this.routesProviderAttempts = attempts.map(formatAttempt);
1096
1232
  const values = failures.map(failure);
1097
1233
  const first = values[0];
1098
1234
  if (first)
@@ -1103,10 +1239,10 @@ export class ProviderQuoteError extends Error {
1103
1239
  }
1104
1240
  /** Error thrown when the caller filters to an unknown provider. */
1105
1241
  export class UnsupportedProviderError extends Error {
1106
- name = 'FundingProvider.UnsupportedProviderError';
1242
+ name = 'RoutesProvider.UnsupportedProviderError';
1107
1243
  }
1108
1244
  /** Error thrown when the caller supplies an unsupported source chain. */
1109
1245
  export class UnsupportedSourceChainError extends Error {
1110
- name = 'FundingProvider.UnsupportedSourceChainError';
1246
+ name = 'RoutesProvider.UnsupportedSourceChainError';
1111
1247
  }
1112
1248
  //# sourceMappingURL=Provider.js.map