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
@@ -1,23 +1,24 @@
1
- import { AbiEvent, AbiFunction, Address, Base58, Bytes, Hash, Hex, RpcTransport } from 'ox'
2
- import { createClient, custom, fallback } from 'viem'
1
+ import { AbiEvent, AbiFunction, Address, Base58, Bytes, Hash, Hex } from 'ox'
3
2
  import { getBlockNumber, getLogs, getTransaction, getTransactionReceipt } from 'viem/actions'
4
3
  import * as z from 'zod/mini'
5
4
 
6
5
  import * as Db from '../../../db/Db.js'
7
- import * as FundingDepositAddresses from '../../../db/tables/fundingDepositAddresses.js'
8
- import * as FundingDepositRequestObservations from '../../../db/tables/fundingDepositRequestObservations.js'
6
+ import * as RoutesDepositAddresses from '../../../db/tables/routesDepositAddresses.js'
7
+ import * as RoutesDepositRequestObservations from '../../../db/tables/routesDepositRequestObservations.js'
8
+ import * as Value from '../../Value.js'
9
9
  import * as Viem from '../../Viem.js'
10
- import * as FundingCatalog from '../Catalog.js'
11
- import * as FundingChain from '../Chain.js'
10
+ import * as RoutesCatalog from '../Catalog.js'
11
+ import * as RoutesChain from '../Chain.js'
12
12
  import * as Evidence from '../Evidence.js'
13
- import * as FundingProvider from '../Provider.js'
13
+ import * as RoutesProvider from '../Provider.js'
14
14
  import * as Subsidy from '../Subsidy.js'
15
15
 
16
16
  const defaultBaseUrl = 'https://api.relay.link'
17
- const defaultFetch: FundingProvider.Fetch = (input, init) => globalThis.fetch(input, init)
17
+ const defaultFetch: RoutesProvider.Fetch = (input, init) => globalThis.fetch(input, init)
18
18
  const deliveryBackfillBlocks = 256n
19
19
  const relayChainsCacheTtlMs = 60_000
20
20
  const relayRefundStatuses = ['refund', 'refunded'] as const
21
+ const relayRequestPageLimit = 100
21
22
  const sourceSweepForwardBlocks = 256n
22
23
  const depositErc20FullAllowance = AbiFunction.from(
23
24
  'function depositErc20(address depositor,address token,bytes32 id)',
@@ -148,12 +149,12 @@ namespace schema {
148
149
  z.object({
149
150
  v2: z.optional(
150
151
  z.object({
151
- depository: z.string().check(z.regex(/^0x[0-9a-fA-F]{40}$/)),
152
+ depository: z.string().check(z.minLength(1)),
152
153
  }),
153
154
  ),
154
155
  }),
155
156
  ),
156
- solverAddresses: z.optional(z.array(z.string().check(z.regex(/^0x[0-9a-fA-F]{40}$/)))),
157
+ solverAddresses: z.optional(z.array(z.string().check(z.minLength(1)))),
157
158
  }),
158
159
  ),
159
160
  })
@@ -176,8 +177,9 @@ namespace schema {
176
177
  }),
177
178
  })
178
179
 
180
+ // Relay can publish output entries before assigning their transaction hashes.
179
181
  const RequestTransaction = z.object({
180
- txHash: z.string().check(z.minLength(1)),
182
+ txHash: z.optional(z.nullable(z.string())),
181
183
  })
182
184
 
183
185
  export const Requests = z.object({
@@ -187,6 +189,21 @@ namespace schema {
187
189
  createdAt: z.iso.datetime(),
188
190
  data: z.optional(
189
191
  z.object({
192
+ feeSponsorship: z.optional(
193
+ z.object({
194
+ actual: z.optional(
195
+ z.object({
196
+ sponsorPayment: z.optional(
197
+ z.object({
198
+ address: z.string().check(z.minLength(1)),
199
+ amount: z.string().check(z.regex(/^\d+$/)),
200
+ chainId: Integer,
201
+ }),
202
+ ),
203
+ }),
204
+ ),
205
+ }),
206
+ ),
190
207
  outTxs: z.optional(z.array(RequestTransaction)),
191
208
  }),
192
209
  ),
@@ -247,44 +264,130 @@ namespace schema {
247
264
  /** Validates a Relay request-list response and reports payload drift with field-level details. */
248
265
  export function parseDepositAddressRequests(value: unknown) {
249
266
  const parsed = schema.Requests.safeParse(value)
250
- if (!parsed.success) throw new FundingProvider.ProviderPayloadError(z.prettifyError(parsed.error))
267
+ if (!parsed.success) throw new RoutesProvider.ProviderPayloadError(z.prettifyError(parsed.error))
251
268
  return parsed.data
252
269
  }
253
270
 
254
- /** Creates a Relay funding provider backed by `/quote/v2`. */
255
- export function relay(options: relay.Options = {}): FundingProvider.Provider<'relay'> {
271
+ /** Creates a Relay route provider backed by `/quote/v2`. */
272
+ export function relay(options: relay.Options = {}): RoutesProvider.Provider<'relay'> {
256
273
  const userAddresses = parseUserAddresses(options.userAddresses)
257
274
  if (
258
275
  Object.entries(userAddresses).some(([chainId, address]) => invalidUserAddress(chainId, address))
259
276
  )
260
- throw new FundingProvider.ProviderConfigurationError()
277
+ throw new RoutesProvider.ProviderConfigurationError()
261
278
 
262
279
  const endpoint = quoteEndpoint(options)
263
280
  const fetch = options.fetch ?? defaultFetch
264
281
  const now = options.now ?? (() => new Date())
282
+
283
+ async function listDepositAddressRequests(
284
+ parameters: RoutesProvider.listDepositAddressRequests.Parameters,
285
+ signal: AbortSignal,
286
+ ): Promise<RoutesProvider.listDepositAddressRequests.ReturnType> {
287
+ const requestUrl = requestsEndpoint(options)
288
+ if (parameters.requestId) requestUrl.searchParams.set('id', parameters.requestId)
289
+ else requestUrl.searchParams.set('depositAddress', parameters.address)
290
+ requestUrl.searchParams.set('includeChildRequests', 'true')
291
+ requestUrl.searchParams.set('limit', '50')
292
+ requestUrl.searchParams.set('sortBy', 'updatedAt')
293
+ requestUrl.searchParams.set('sortDirection', 'desc')
294
+ if (parameters.continuation)
295
+ requestUrl.searchParams.set('continuation', parameters.continuation)
296
+ const response = await RoutesProvider.requestJson(requestUrl, {
297
+ fetch,
298
+ headers: options.apiKey ? { 'x-api-key': options.apiKey } : undefined,
299
+ method: 'GET',
300
+ signal,
301
+ })
302
+ const parsed = parseDepositAddressRequests(response)
303
+ return {
304
+ ...(parsed.continuation ? { continuation: parsed.continuation } : {}),
305
+ requests: parsed.requests.map((request) => {
306
+ const outputTransactionHashes =
307
+ request.data?.outTxs?.flatMap((transaction) =>
308
+ transaction.txHash ? [transaction.txHash] : [],
309
+ ) ?? []
310
+ const subsidy = (() => {
311
+ const payment = request.data?.feeSponsorship?.actual?.sponsorPayment
312
+ if (!payment || BigInt(payment.amount) === 0n) return undefined
313
+ const chainId = `eip155:${payment.chainId}/`
314
+ const token = [parameters.destinationToken, parameters.sourceToken].find(
315
+ (token) =>
316
+ token?.tokenKey.startsWith(chainId) &&
317
+ token.address.toLowerCase() === payment.address.toLowerCase(),
318
+ )
319
+ if (!token) throw new RoutesProvider.ProviderPayloadError()
320
+ return {
321
+ amount: Value.tokenAmount({
322
+ baseUnits: payment.amount,
323
+ currency: token.currency,
324
+ decimals: token.decimals,
325
+ }),
326
+ provider: 'relay',
327
+ token,
328
+ }
329
+ })()
330
+ const refunded = (relayRefundStatuses as readonly string[]).includes(request.status)
331
+ const correlation = (() => {
332
+ const { protocol } = request
333
+ if (!protocol) return undefined
334
+ const relay = {
335
+ ...(protocol.deposit?.origin?.depositor
336
+ ? { depositor: protocol.deposit.origin.depositor }
337
+ : {}),
338
+ ...(protocol.deposit?.origin?.depository
339
+ ? { depository: protocol.deposit.origin.depository }
340
+ : {}),
341
+ ...(protocol.orderId ? { orderId: protocol.orderId } : {}),
342
+ ...(protocol.solver?.address ? { solver: protocol.solver.address } : {}),
343
+ }
344
+ if (Object.keys(relay).length === 0) return undefined
345
+ return schema.RequestCorrelation.parse({ relay })
346
+ })()
347
+ return {
348
+ createdAt: new Date(request.createdAt).toISOString(),
349
+ destinationTransactionHashes: refunded ? [] : outputTransactionHashes,
350
+ id: request.id,
351
+ ...(correlation ? { providerState: correlation } : {}),
352
+ ...(refunded && request.refundCurrencyData
353
+ ? { refundAmountExpected: request.refundCurrencyData.amount }
354
+ : {}),
355
+ refundTransactionHashes: refunded ? outputTransactionHashes : [],
356
+ sourceTransactionHashes: request.depositAddress?.depositTxHash
357
+ ? [request.depositAddress.depositTxHash]
358
+ : [],
359
+ ...(subsidy ? { subsidy } : {}),
360
+ status: request.status,
361
+ updatedAt: new Date(request.updatedAt).toISOString(),
362
+ }
363
+ }),
364
+ }
365
+ }
366
+
265
367
  const observeDepositAddressRequest = options.observation
266
368
  ? createDepositAddressObserver({
267
369
  ...options.observation,
268
370
  ...(options.apiKey ? { apiKey: options.apiKey } : {}),
269
371
  ...(options.baseUrl ? { baseUrl: options.baseUrl } : {}),
270
372
  fetch,
373
+ listDepositAddressRequests,
271
374
  now,
272
375
  })
273
376
  : undefined
274
377
  const webhook = (() => {
275
378
  if (!options.apiKey || !options.webhook) return undefined
276
379
  const { apiKey, webhook } = options
277
- const verify = (input: FundingProvider.Webhook.verify.Parameters) =>
380
+ const verify = (input: RoutesProvider.Webhook.verify.Parameters) =>
278
381
  verifyWebhook(webhookOptions(input, apiKey))
279
382
  return {
280
- async receive(input: FundingProvider.Webhook.receive.Parameters) {
383
+ async receive(input: RoutesProvider.Webhook.receive.Parameters) {
281
384
  const receivedAt = now().toISOString()
282
385
  const hint = (() => {
283
386
  try {
284
387
  return verify(input)
285
388
  } catch (cause) {
286
389
  webhook.onResult?.(
287
- cause instanceof FundingProvider.WebhookAuthenticationError
390
+ cause instanceof RoutesProvider.WebhookAuthenticationError
288
391
  ? 'authentication_failed'
289
392
  : 'payload_invalid',
290
393
  )
@@ -296,7 +399,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
296
399
  return { type: 'ignored' as const }
297
400
  }
298
401
  const database = Db.get(webhook.db)
299
- const address = await FundingDepositAddresses.getByProviderAddress(database, {
402
+ const address = await RoutesDepositAddresses.getByProviderAddress(database, {
300
403
  address: hint.address,
301
404
  providerId: 'relay',
302
405
  })
@@ -305,7 +408,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
305
408
  return { type: 'unknown_address' as const }
306
409
  }
307
410
  if (hint.requestId)
308
- await FundingDepositRequestObservations.observeWebhook(database, {
411
+ await RoutesDepositRequestObservations.observeWebhook(database, {
309
412
  depositAddressId: address.id,
310
413
  providerRequestId: hint.requestId,
311
414
  receivedAt,
@@ -329,7 +432,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
329
432
  addressId: address.id,
330
433
  ...(hint.requestId ? { requestId: hint.requestId } : {}),
331
434
  trigger: 'webhook',
332
- type: 'funding:deposit-address:reconcile',
435
+ type: 'routes:deposit-address:reconcile',
333
436
  ...(webhookTiming ? { webhookTiming } : {}),
334
437
  })
335
438
  } catch (cause) {
@@ -343,7 +446,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
343
446
  }
344
447
  })()
345
448
 
346
- return FundingProvider.from({
449
+ return RoutesProvider.from({
347
450
  id: 'relay',
348
451
  name: 'Relay',
349
452
  ...(webhook ? { webhook } : {}),
@@ -357,10 +460,10 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
357
460
  sourceToken: candidate.sourceToken,
358
461
  }))
359
462
  )
360
- throw new FundingProvider.ProviderUnavailableError()
463
+ throw new RoutesProvider.ProviderUnavailableError()
361
464
  const quote = await (async () => {
362
465
  try {
363
- return await FundingProvider.requestJson(endpoint, {
466
+ return await RoutesProvider.requestJson(endpoint, {
364
467
  body: {
365
468
  amount,
366
469
  destinationChainId: relayChainId(candidate.route.destination.chain),
@@ -380,19 +483,19 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
380
483
  signal,
381
484
  })
382
485
  } catch (cause) {
383
- if (FundingProvider.unavailable(cause, ['NO_QUOTES', 'NO_ROUTE', 'UNSUPPORTED_ROUTE']))
384
- throw new FundingProvider.ProviderUnavailableError()
486
+ if (RoutesProvider.unavailable(cause, ['NO_QUOTES', 'NO_ROUTE', 'UNSUPPORTED_ROUTE']))
487
+ throw new RoutesProvider.ProviderUnavailableError()
385
488
  throw cause
386
489
  }
387
490
  })()
388
491
  const parsed = schema.DepositAddress.safeParse(quote)
389
- if (!parsed.success) throw new FundingProvider.ProviderPayloadError()
492
+ if (!parsed.success) throw new RoutesProvider.ProviderPayloadError()
390
493
  if (parsed.data.details.currencyIn.amount !== amount)
391
- throw new FundingProvider.ProviderPayloadError()
494
+ throw new RoutesProvider.ProviderPayloadError()
392
495
  const step = parsed.data.steps.find(
393
496
  (candidate) => candidate.depositAddress && candidate.requestId,
394
497
  )
395
- if (!step?.depositAddress || !step.requestId) throw new FundingProvider.ProviderPayloadError()
498
+ if (!step?.depositAddress || !step.requestId) throw new RoutesProvider.ProviderPayloadError()
396
499
  const checkEndpoint = step.items?.find((item) => item.check)?.check?.endpoint
397
500
  const providerFee = parsed.data.fees?.relayer?.amount
398
501
  return {
@@ -411,7 +514,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
411
514
  async getQuote({ candidate, route }, signal) {
412
515
  const userAddress = userAddresses[route.source.chain.id]
413
516
  if (userAddress === undefined)
414
- return FundingProvider.unavailableResult({
517
+ return RoutesProvider.unavailableResult({
415
518
  detail: 'relay:quote-v2',
416
519
  message: 'QUOTE_USER_NOT_CONFIGURED',
417
520
  now: now(),
@@ -419,7 +522,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
419
522
  })
420
523
  const recipientAddress = userAddresses[route.destination.chain.id]
421
524
  if (recipientAddress === undefined)
422
- return FundingProvider.unavailableResult({
525
+ return RoutesProvider.unavailableResult({
423
526
  detail: 'relay:quote-v2',
424
527
  message: 'QUOTE_RECIPIENT_NOT_CONFIGURED',
425
528
  now: now(),
@@ -428,7 +531,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
428
531
  const destinationChainId = relayChainId(route.destination.chain)
429
532
  const sourceChainId = relayChainId(route.source.chain)
430
533
  try {
431
- const quote = await FundingProvider.requestJson(endpoint, {
534
+ const quote = await RoutesProvider.requestJson(endpoint, {
432
535
  body: {
433
536
  amount: candidate.sourceAmount.amount,
434
537
  destinationChainId,
@@ -445,7 +548,7 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
445
548
  signal,
446
549
  })
447
550
  const parsed = schema.Quote.safeParse(quote)
448
- if (!parsed.success) throw new FundingProvider.ProviderPayloadError()
551
+ if (!parsed.success) throw new RoutesProvider.ProviderPayloadError()
449
552
  const destinationAmount = parsed.data.details?.currencyOut?.amount
450
553
  const status = destinationAmount
451
554
  ? { status: 'available' as const, tier: 'liquid' as const }
@@ -464,13 +567,13 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
464
567
  status: status.status,
465
568
  }
466
569
  } catch (cause) {
467
- const unavailable = FundingProvider.unavailable(cause, [
570
+ const unavailable = RoutesProvider.unavailable(cause, [
468
571
  'NO_QUOTES',
469
572
  'NO_ROUTE',
470
573
  'UNSUPPORTED_ROUTE',
471
574
  ])
472
575
  if (!unavailable) throw cause
473
- return FundingProvider.unavailableResult({
576
+ return RoutesProvider.unavailableResult({
474
577
  detail: 'relay:quote-v2',
475
578
  message: unavailable,
476
579
  now: now(),
@@ -478,75 +581,21 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
478
581
  })
479
582
  }
480
583
  },
481
- async listDepositAddressRequests({ address, continuation, requestId }, signal) {
482
- const requestUrl = requestsEndpoint(options)
483
- if (requestId) requestUrl.searchParams.set('id', requestId)
484
- else requestUrl.searchParams.set('depositAddress', address)
485
- requestUrl.searchParams.set('includeChildRequests', 'true')
486
- requestUrl.searchParams.set('limit', '50')
487
- requestUrl.searchParams.set('sortBy', 'updatedAt')
488
- requestUrl.searchParams.set('sortDirection', 'desc')
489
- if (continuation) requestUrl.searchParams.set('continuation', continuation)
490
- const response = await FundingProvider.requestJson(requestUrl, {
491
- fetch,
492
- headers: options.apiKey ? { 'x-api-key': options.apiKey } : undefined,
493
- method: 'GET',
494
- signal,
495
- })
496
- const parsed = parseDepositAddressRequests(response)
497
- return {
498
- ...(parsed.continuation ? { continuation: parsed.continuation } : {}),
499
- requests: parsed.requests.map((request) => {
500
- const outputTransactionHashes = request.data?.outTxs?.map((tx) => tx.txHash) ?? []
501
- const refunded = (relayRefundStatuses as readonly string[]).includes(request.status)
502
- const correlation = (() => {
503
- const { protocol } = request
504
- if (!protocol) return undefined
505
- const relay = {
506
- ...(protocol.deposit?.origin?.depositor
507
- ? { depositor: protocol.deposit.origin.depositor }
508
- : {}),
509
- ...(protocol.deposit?.origin?.depository
510
- ? { depository: protocol.deposit.origin.depository }
511
- : {}),
512
- ...(protocol.orderId ? { orderId: protocol.orderId } : {}),
513
- ...(protocol.solver?.address ? { solver: protocol.solver.address } : {}),
514
- }
515
- if (Object.keys(relay).length === 0) return undefined
516
- return schema.RequestCorrelation.parse({ relay })
517
- })()
518
- return {
519
- createdAt: new Date(request.createdAt).toISOString(),
520
- destinationTransactionHashes: refunded ? [] : outputTransactionHashes,
521
- id: request.id,
522
- ...(correlation ? { providerState: correlation } : {}),
523
- ...(refunded && request.refundCurrencyData
524
- ? { refundAmountExpected: request.refundCurrencyData.amount }
525
- : {}),
526
- refundTransactionHashes: refunded ? outputTransactionHashes : [],
527
- sourceTransactionHashes: request.depositAddress?.depositTxHash
528
- ? [request.depositAddress.depositTxHash]
529
- : [],
530
- status: request.status,
531
- updatedAt: new Date(request.updatedAt).toISOString(),
532
- }
533
- }),
534
- }
535
- },
584
+ listDepositAddressRequests,
536
585
  ...(observeDepositAddressRequest ? { observeDepositAddressRequest } : {}),
537
586
  async prepareTransfer({ candidate, method, mode, recipient, sender, slippageBps }, signal) {
538
587
  // Catalog capabilities gate deposit addresses and exact destination
539
588
  // off this adapter; refuse them defensively if one slips through.
540
589
  if (method !== 'transaction' || mode !== 'exactSource')
541
- throw new FundingProvider.ProviderConfigurationError()
590
+ throw new RoutesProvider.ProviderConfigurationError()
542
591
  const quote = await (async () => {
543
592
  try {
544
- return await FundingProvider.requestJson(endpoint, {
593
+ return await RoutesProvider.requestJson(endpoint, {
545
594
  body: {
546
595
  amount: candidate.sourceAmount.amount,
547
- destinationChainId: Number(FundingChain.eip155Id(candidate.route.destination.chain)),
596
+ destinationChainId: Number(RoutesChain.eip155Id(candidate.route.destination.chain)),
548
597
  destinationCurrency: candidate.destinationToken.address,
549
- originChainId: Number(FundingChain.eip155Id(candidate.route.source.chain)),
598
+ originChainId: Number(RoutesChain.eip155Id(candidate.route.source.chain)),
550
599
  originCurrency: candidate.sourceToken.address,
551
600
  recipient,
552
601
  ...(slippageBps !== undefined ? { slippageTolerance: String(slippageBps) } : {}),
@@ -559,31 +608,31 @@ export function relay(options: relay.Options = {}): FundingProvider.Provider<'re
559
608
  signal,
560
609
  })
561
610
  } catch (cause) {
562
- if (FundingProvider.unavailable(cause, ['NO_QUOTES', 'NO_ROUTE', 'UNSUPPORTED_ROUTE']))
563
- throw new FundingProvider.ProviderUnavailableError()
611
+ if (RoutesProvider.unavailable(cause, ['NO_QUOTES', 'NO_ROUTE', 'UNSUPPORTED_ROUTE']))
612
+ throw new RoutesProvider.ProviderUnavailableError()
564
613
  throw cause
565
614
  }
566
615
  })()
567
616
  const parsed = schema.PreparedQuote.safeParse(quote)
568
- if (!parsed.success) throw new FundingProvider.ProviderPayloadError()
617
+ if (!parsed.success) throw new RoutesProvider.ProviderPayloadError()
569
618
  const { details, fees, steps } = parsed.data
570
619
  // The quoted input must match the request exactly; a drifted amount
571
620
  // would desynchronize the stored terms from the prepared calls.
572
621
  if (details.currencyIn.amount !== candidate.sourceAmount.amount)
573
- throw new FundingProvider.ProviderPayloadError()
622
+ throw new RoutesProvider.ProviderPayloadError()
574
623
 
575
624
  const items = steps
576
625
  .filter((step) => step.kind === 'transaction')
577
626
  .flatMap((step) => step.items ?? [])
578
627
  const requestId = steps.find((step) => step.requestId)?.requestId
579
- if (items.length === 0 || !requestId) throw new FundingProvider.ProviderPayloadError()
580
- const sourceChainId = Number(FundingChain.eip155Id(candidate.route.source.chain))
628
+ if (items.length === 0 || !requestId) throw new RoutesProvider.ProviderPayloadError()
629
+ const sourceChainId = Number(RoutesChain.eip155Id(candidate.route.source.chain))
581
630
  for (const item of items)
582
631
  if (
583
632
  item.data.chainId !== sourceChainId ||
584
633
  item.data.from.toLowerCase() !== sender.toLowerCase()
585
634
  )
586
- throw new FundingProvider.ProviderPayloadError()
635
+ throw new RoutesProvider.ProviderPayloadError()
587
636
 
588
637
  const checkEndpoint = items.find((item) => item.check)?.check?.endpoint
589
638
  // Relay's `relayer` fee is the solver's total source-side charge (gas
@@ -623,7 +672,7 @@ export declare namespace relay {
623
672
  /** Override for tests or Relay test environments. */
624
673
  baseUrl?: string | undefined
625
674
  /** Fetch implementation override for tests. */
626
- fetch?: FundingProvider.Fetch | undefined
675
+ fetch?: RoutesProvider.Fetch | undefined
627
676
  /** Clock override for deterministic tests. */
628
677
  now?: (() => Date) | undefined
629
678
  /** EVM chain evidence used to accelerate authenticated provider delivery. */
@@ -631,14 +680,14 @@ export declare namespace relay {
631
680
  /** Deposit subsidy policy enabled for this integration. */
632
681
  subsidies?: Subsidy.Policy | undefined
633
682
  /** Optional source and destination quote wallets keyed by CAIP-2 chain id. */
634
- userAddresses?: Readonly<Partial<Record<FundingChain.Id, string>>> | string | undefined
683
+ userAddresses?: Readonly<Partial<Record<RoutesChain.Id, string>>> | string | undefined
635
684
  /** Tempo infrastructure used to receive authenticated Relay webhooks. */
636
685
  webhook?: Webhook | undefined
637
686
  }
638
687
 
639
688
  /** Chain evidence configuration for Relay delivery observation. */
640
689
  type Observation = {
641
- /** Authoritative funding database or per-request database factory. */
690
+ /** Authoritative routes database or per-request database factory. */
642
691
  db: Db.Source
643
692
  /** Tempo chain that receives a shared RPC URL override. */
644
693
  defaultChainId?: Viem.ChainId | undefined
@@ -648,10 +697,10 @@ export declare namespace relay {
648
697
 
649
698
  /** Authenticated Relay webhook integration attached to a provider instance. */
650
699
  type Webhook = {
651
- /** Authoritative funding database or per-request database factory. */
700
+ /** Authoritative routes database or per-request database factory. */
652
701
  db: Db.Source
653
702
  /** Enqueues one bounded reconciliation hint. */
654
- dispatch: (message: FundingProvider.Webhook.receive.Dispatchable) => Promise<void>
703
+ dispatch: (message: RoutesProvider.Webhook.receive.Dispatchable) => Promise<void>
655
704
  /** Observes one bounded webhook disposition. */
656
705
  onResult?: ((result: WebhookResult) => void) | undefined
657
706
  }
@@ -675,13 +724,13 @@ function parseUserAddresses(value: relay.Options['userAddresses']) {
675
724
  try {
676
725
  return JSON.parse(value) as unknown
677
726
  } catch {
678
- throw new FundingProvider.ProviderConfigurationError()
727
+ throw new RoutesProvider.ProviderConfigurationError()
679
728
  }
680
729
  })()
681
730
  : value
682
731
  if (!addresses || typeof addresses !== 'object' || Array.isArray(addresses))
683
- throw new FundingProvider.ProviderConfigurationError()
684
- return addresses as Readonly<Partial<Record<FundingChain.Id, string>>>
732
+ throw new RoutesProvider.ProviderConfigurationError()
733
+ return addresses as Readonly<Partial<Record<RoutesChain.Id, string>>>
685
734
  }
686
735
 
687
736
  function invalidUserAddress(chainId: string, address: unknown) {
@@ -709,7 +758,8 @@ function invalidUserAddress(chainId: string, address: unknown) {
709
758
  type DepositAddressObserverOptions = relay.Observation & {
710
759
  apiKey?: string | undefined
711
760
  baseUrl?: string | undefined
712
- fetch: FundingProvider.Fetch
761
+ fetch: RoutesProvider.Fetch
762
+ listDepositAddressRequests: NonNullable<RoutesProvider.Provider['listDepositAddressRequests']>
713
763
  now: () => Date
714
764
  }
715
765
 
@@ -718,7 +768,7 @@ type RelayDeliveryObservation = z.output<typeof schema.DeliveryObservation>['rel
718
768
 
719
769
  function createDepositAddressObserver(
720
770
  options: DepositAddressObserverOptions,
721
- ): NonNullable<FundingProvider.Provider['observeDepositAddressRequest']> {
771
+ ): NonNullable<RoutesProvider.Provider['observeDepositAddressRequest']> {
722
772
  let chainsExpiresAt = 0
723
773
  let chainsPromise: Promise<readonly RelayChain[]> | undefined
724
774
  let urlsExpiresAt = 0
@@ -726,7 +776,7 @@ function createDepositAddressObserver(
726
776
  const getChains = (signal: AbortSignal) => {
727
777
  if (chainsPromise && options.now().getTime() < chainsExpiresAt) return chainsPromise
728
778
  chainsExpiresAt = options.now().getTime() + relayChainsCacheTtlMs
729
- chainsPromise = FundingProvider.requestJson(chainsEndpoint(options), {
779
+ chainsPromise = RoutesProvider.requestJson(chainsEndpoint(options), {
730
780
  fetch: options.fetch,
731
781
  headers: options.apiKey ? { 'x-api-key': options.apiKey } : undefined,
732
782
  signal,
@@ -742,7 +792,7 @@ function createDepositAddressObserver(
742
792
  const getUrls = () => {
743
793
  if (urlsPromise && options.now().getTime() < urlsExpiresAt) return urlsPromise
744
794
  urlsExpiresAt = options.now().getTime() + relayChainsCacheTtlMs
745
- urlsPromise = FundingCatalog.read(Db.get(options.db))
795
+ urlsPromise = RoutesCatalog.read(Db.get(options.db))
746
796
  .then(
747
797
  (catalog) =>
748
798
  new Map<string, readonly string[]>(
@@ -794,8 +844,10 @@ function createDepositAddressObserver(
794
844
  const solvers = destinationChain?.solverAddresses
795
845
  if (
796
846
  !depository ||
847
+ !Address.validate(depository, { strict: false }) ||
797
848
  !solvers ||
798
849
  solvers.length === 0 ||
850
+ solvers.some((solver) => !Address.validate(solver, { strict: false })) ||
799
851
  !sourceUrls?.length ||
800
852
  !destinationUrls?.length
801
853
  )
@@ -820,7 +872,7 @@ function createDepositAddressObserver(
820
872
  const stored = schema.DeliveryObservation.safeParse(parameters.providerState)
821
873
  const sourceObservation = await (async () => {
822
874
  if (stored.success) return stored.data.relay
823
- const sourceClient = jsonRpcClient({ fetch: options.fetch, urls: sourceUrls })
875
+ const sourceClient = Viem.createEvmClient({ fetch: options.fetch, urls: sourceUrls })
824
876
  const sourceReceipt = await getTransactionReceipt(sourceClient, {
825
877
  hash: parameters.source.transactionHash as Hex.Hex,
826
878
  })
@@ -868,7 +920,61 @@ function createDepositAddressObserver(
868
920
  })()
869
921
  if (!sourceObservation) return { type: 'pending' }
870
922
 
871
- const destinationClient = jsonRpcClient({ fetch: options.fetch, urls: destinationUrls })
923
+ const indexedRequest = await (async () => {
924
+ let continuation: string | undefined
925
+ try {
926
+ for (let page = 0; page < relayRequestPageLimit; page++) {
927
+ const result = parameters.request
928
+ ? { continuation: undefined, requests: [parameters.request] }
929
+ : await options.listDepositAddressRequests(
930
+ {
931
+ address: parameters.address,
932
+ ...(continuation ? { continuation } : {}),
933
+ destinationToken: parameters.destinationToken,
934
+ sourceToken: parameters.sourceToken,
935
+ },
936
+ signal,
937
+ )
938
+ const request = result.requests.find((request) => {
939
+ if (!(deliveryObservationStatuses as readonly string[]).includes(request.status))
940
+ return false
941
+ const parsed = schema.RequestCorrelation.safeParse(request.providerState)
942
+ return Boolean(
943
+ parsed.success &&
944
+ parsed.data.relay.orderId &&
945
+ Hex.isEqual(
946
+ parsed.data.relay.orderId as Hex.Hex,
947
+ sourceObservation.orderId as Hex.Hex,
948
+ ),
949
+ )
950
+ })
951
+ if (request || !result.continuation) return request
952
+ continuation = result.continuation
953
+ }
954
+ } catch (cause) {
955
+ if (signal.aborted) throw cause
956
+ // Relay indexing is optional evidence, so preserve the onchain fallback when it is unavailable.
957
+ }
958
+ return undefined
959
+ })()
960
+ if (indexedRequest && indexedRequest.destinationTransactionHashes.length > 0)
961
+ return {
962
+ destinationTransactionHashes: indexedRequest.destinationTransactionHashes,
963
+ providerState: {
964
+ relay: {
965
+ ...sourceObservation,
966
+ destinationObservedAt: options.now().toISOString(),
967
+ },
968
+ },
969
+ providerTransactionHashes: [
970
+ sourceObservation.sourceSweepTransactionHash,
971
+ ...indexedRequest.destinationTransactionHashes,
972
+ ],
973
+ ...(indexedRequest.subsidy ? { subsidy: indexedRequest.subsidy } : {}),
974
+ type: 'verified',
975
+ }
976
+
977
+ const destinationClient = Viem.createEvmClient({ fetch: options.fetch, urls: destinationUrls })
872
978
  const destinationHead = await getBlockNumber(destinationClient, { cacheTime: 0 })
873
979
  const destinationLogs = await getLogs(destinationClient, {
874
980
  address: parameters.destinationToken.address as Address.Address,
@@ -1001,24 +1107,13 @@ function decodeEvent<const event extends AbiEvent.AbiEvent>(
1001
1107
  }
1002
1108
  }
1003
1109
 
1004
- function jsonRpcClient(options: { fetch: FundingProvider.Fetch; urls: readonly string[] }) {
1005
- return createClient({
1006
- transport: fallback(
1007
- options.urls.map((url) => {
1008
- const transport = RpcTransport.fromHttp(url, { fetchFn: options.fetch })
1009
- return custom(transport, { retryCount: 0 })
1010
- }),
1011
- ),
1012
- })
1013
- }
1014
-
1015
1110
  function minimum(left: bigint, right: bigint): bigint {
1016
1111
  return left < right ? left : right
1017
1112
  }
1018
1113
 
1019
1114
  function relayEvmChain(
1020
1115
  chains: readonly RelayChain[],
1021
- chain: FundingProvider.ChainRef,
1116
+ chain: RoutesProvider.ChainRef,
1022
1117
  ): RelayChain | undefined {
1023
1118
  if (chain.kind !== 'evm') return undefined
1024
1119
  const match = /^eip155:(\d+)$/.exec(chain.id)
@@ -1033,7 +1128,7 @@ type VerifyWebhookOptions = {
1033
1128
  timestamp: string
1034
1129
  }
1035
1130
 
1036
- function verifyWebhook(options: VerifyWebhookOptions): FundingProvider.Webhook.verify.ReturnType {
1131
+ function verifyWebhook(options: VerifyWebhookOptions): RoutesProvider.Webhook.verify.ReturnType {
1037
1132
  const timestamp = Number(options.timestamp)
1038
1133
  if (!Number.isSafeInteger(timestamp)) throw new WebhookSignatureError()
1039
1134
  if (Math.abs(Date.now() - timestamp) > webhookSignatureToleranceMs)
@@ -1064,7 +1159,7 @@ function verifyWebhook(options: VerifyWebhookOptions): FundingProvider.Webhook.v
1064
1159
  }
1065
1160
 
1066
1161
  function webhookOptions(
1067
- input: FundingProvider.Webhook.verify.Parameters,
1162
+ input: RoutesProvider.Webhook.verify.Parameters,
1068
1163
  secret: string,
1069
1164
  ): VerifyWebhookOptions {
1070
1165
  const signature = input.headers.get('x-signature-sha256')
@@ -1105,20 +1200,20 @@ function webhookTimestamp(value: number): string {
1105
1200
  }
1106
1201
  }
1107
1202
 
1108
- function relayChainId(chain: FundingProvider.Chain): number {
1109
- if (chain.id.startsWith('eip155:')) return Number(FundingChain.eip155Id(chain))
1203
+ function relayChainId(chain: RoutesProvider.Chain): number {
1204
+ if (chain.id.startsWith('eip155:')) return Number(RoutesChain.eip155Id(chain))
1110
1205
  // Relay uses a numeric chain ID for Solana instead of its CAIP-2 reference.
1111
1206
  if (chain.id === 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp') return 792_703_809
1112
1207
  if (chain.id.startsWith('tron:')) return Number(chain.id.slice('tron:'.length))
1113
- throw new FundingProvider.ProviderConfigurationError()
1208
+ throw new RoutesProvider.ProviderConfigurationError()
1114
1209
  }
1115
1210
 
1116
1211
  /** Relay webhook signature is missing, stale, or invalid. */
1117
- export class WebhookSignatureError extends FundingProvider.WebhookAuthenticationError {
1118
- override name = 'Funding.Provider.Relay.WebhookSignatureError'
1212
+ export class WebhookSignatureError extends RoutesProvider.WebhookAuthenticationError {
1213
+ override name = 'Routes.Provider.Relay.WebhookSignatureError'
1119
1214
  }
1120
1215
 
1121
1216
  /** Relay webhook body does not match the expected status event shape. */
1122
- export class WebhookPayloadError extends FundingProvider.WebhookPayloadError {
1123
- override name = 'Funding.Provider.Relay.WebhookPayloadError'
1217
+ export class WebhookPayloadError extends RoutesProvider.WebhookPayloadError {
1218
+ override name = 'Routes.Provider.Relay.WebhookPayloadError'
1124
1219
  }