tapimo 0.15.0 → 0.18.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 (734) hide show
  1. package/README.md +137 -0
  2. package/dist/ApiKey.d.ts +1 -0
  3. package/dist/ApiKey.d.ts.map +1 -1
  4. package/dist/ApiKey.js +4 -2
  5. package/dist/ApiKey.js.map +1 -1
  6. package/dist/ApiKeys.d.ts +37 -11
  7. package/dist/ApiKeys.d.ts.map +1 -1
  8. package/dist/ApiKeys.js +163 -10
  9. package/dist/ApiKeys.js.map +1 -1
  10. package/dist/App.d.ts +13085 -11974
  11. package/dist/App.d.ts.map +1 -1
  12. package/dist/App.js +46 -15
  13. package/dist/App.js.map +1 -1
  14. package/dist/Scope.d.ts +1 -1
  15. package/dist/Scope.d.ts.map +1 -1
  16. package/dist/Scope.js +1 -1
  17. package/dist/Scope.js.map +1 -1
  18. package/dist/admin/App.d.ts +896 -191
  19. package/dist/admin/App.d.ts.map +1 -1
  20. package/dist/admin/App.js +5 -1
  21. package/dist/admin/App.js.map +1 -1
  22. package/dist/admin/apps/api-keys.d.ts +33 -33
  23. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  24. package/dist/admin/apps/api-keys.js +8 -3
  25. package/dist/admin/apps/api-keys.js.map +1 -1
  26. package/dist/admin/apps/earn-vaults.d.ts +66 -27
  27. package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
  28. package/dist/admin/apps/earn-vaults.js +36 -7
  29. package/dist/admin/apps/earn-vaults.js.map +1 -1
  30. package/dist/admin/apps/organizations.d.ts +25 -25
  31. package/dist/admin/apps/organizations.d.ts.map +1 -1
  32. package/dist/admin/apps/organizations.js +5 -4
  33. package/dist/admin/apps/organizations.js.map +1 -1
  34. package/dist/admin/apps/route-policies.d.ts +632 -0
  35. package/dist/admin/apps/route-policies.d.ts.map +1 -0
  36. package/dist/admin/apps/route-policies.js +257 -0
  37. package/dist/admin/apps/route-policies.js.map +1 -0
  38. package/dist/admin/apps/routes-support.js +39 -3
  39. package/dist/admin/apps/routes-support.js.map +1 -1
  40. package/dist/admin/apps/routes.d.ts +454 -1
  41. package/dist/admin/apps/routes.d.ts.map +1 -1
  42. package/dist/admin/apps/routes.js +82 -1
  43. package/dist/admin/apps/routes.js.map +1 -1
  44. package/dist/admin/apps/verified-tokens.d.ts +10 -4
  45. package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
  46. package/dist/admin/apps/verified-tokens.js +24 -4
  47. package/dist/admin/apps/verified-tokens.js.map +1 -1
  48. package/dist/admin/index.d.ts +0 -1
  49. package/dist/admin/index.d.ts.map +1 -1
  50. package/dist/admin/index.js +0 -1
  51. package/dist/admin/index.js.map +1 -1
  52. package/dist/admin/ui.generated.d.ts +1 -1
  53. package/dist/admin/ui.generated.d.ts.map +1 -1
  54. package/dist/admin/ui.generated.js +99 -103
  55. package/dist/admin/ui.generated.js.map +1 -1
  56. package/dist/analytics/Analytics.d.ts.map +1 -1
  57. package/dist/analytics/Analytics.js +65 -1
  58. package/dist/analytics/Analytics.js.map +1 -1
  59. package/dist/analytics/tables/requestEvents.d.ts +1 -1
  60. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  61. package/dist/analytics/tables/requestEvents.js +58 -59
  62. package/dist/analytics/tables/requestEvents.js.map +1 -1
  63. package/dist/apps/data/App.d.ts +2709 -2670
  64. package/dist/apps/data/App.d.ts.map +1 -1
  65. package/dist/apps/data/routes/activities.d.ts +5 -5
  66. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  67. package/dist/apps/data/routes/activities.js +50 -0
  68. package/dist/apps/data/routes/activities.js.map +1 -1
  69. package/dist/apps/data/routes/addresses.d.ts +248 -248
  70. package/dist/apps/data/routes/balances.d.ts +22 -22
  71. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  72. package/dist/apps/data/routes/balances.js +5 -7
  73. package/dist/apps/data/routes/balances.js.map +1 -1
  74. package/dist/apps/data/routes/coingecko.d.ts +54 -54
  75. package/dist/apps/data/routes/earn.d.ts +103 -12
  76. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  77. package/dist/apps/data/routes/earn.js +456 -220
  78. package/dist/apps/data/routes/earn.js.map +1 -1
  79. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  80. package/dist/apps/data/routes/exchanges.js +267 -97
  81. package/dist/apps/data/routes/exchanges.js.map +1 -1
  82. package/dist/apps/data/routes/fee-amm.d.ts +1 -19
  83. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  84. package/dist/apps/data/routes/fee-amm.js +93 -56
  85. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  86. package/dist/apps/data/routes/indexer.d.ts +10 -10
  87. package/dist/apps/data/routes/rpc.d.ts +30 -30
  88. package/dist/apps/data/routes/rpc.js +45 -11
  89. package/dist/apps/data/routes/rpc.js.map +1 -1
  90. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  91. package/dist/apps/data/routes/tokens.js +11 -6
  92. package/dist/apps/data/routes/tokens.js.map +1 -1
  93. package/dist/apps/data/routes/transactions.d.ts +2 -0
  94. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  95. package/dist/apps/data/routes/transactions.js +30 -22
  96. package/dist/apps/data/routes/transactions.js.map +1 -1
  97. package/dist/apps/data/routes/transfers.d.ts +12 -12
  98. package/dist/apps/data/routes/valuation.d.ts +30 -30
  99. package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
  100. package/dist/apps/data/routes/webhooks.d.ts +1 -1
  101. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  102. package/dist/apps/data/routes/webhooks.js +18 -11
  103. package/dist/apps/data/routes/webhooks.js.map +1 -1
  104. package/dist/apps/data/routes/zones.d.ts +3 -3
  105. package/dist/apps/management/App.d.ts +3043 -2198
  106. package/dist/apps/management/App.d.ts.map +1 -1
  107. package/dist/apps/management/App.js +2 -0
  108. package/dist/apps/management/App.js.map +1 -1
  109. package/dist/apps/management/Billing.d.ts +2 -4
  110. package/dist/apps/management/Billing.d.ts.map +1 -1
  111. package/dist/apps/management/Billing.js +65 -26
  112. package/dist/apps/management/Billing.js.map +1 -1
  113. package/dist/apps/management/routes/api-keys.d.ts +16 -4
  114. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  115. package/dist/apps/management/routes/api-keys.js +70 -11
  116. package/dist/apps/management/routes/api-keys.js.map +1 -1
  117. package/dist/apps/management/routes/billing.d.ts +84 -84
  118. package/dist/apps/management/routes/cli.d.ts +912 -0
  119. package/dist/apps/management/routes/cli.d.ts.map +1 -0
  120. package/dist/apps/management/routes/cli.js +416 -0
  121. package/dist/apps/management/routes/cli.js.map +1 -0
  122. package/dist/apps/management/routes/faucet.d.ts +8 -8
  123. package/dist/apps/management/routes/invitations.d.ts +24 -24
  124. package/dist/apps/management/routes/invite-links.d.ts +66 -66
  125. package/dist/apps/management/routes/members.d.ts +16 -16
  126. package/dist/apps/management/routes/orgs.d.ts +20 -20
  127. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  128. package/dist/apps/management/routes/orgs.js +8 -2
  129. package/dist/apps/management/routes/orgs.js.map +1 -1
  130. package/dist/apps/management/routes/projects.d.ts +76 -76
  131. package/dist/apps/management/routes/usage.d.ts +8 -8
  132. package/dist/apps/management/routes/verified-token-requests.d.ts +42 -42
  133. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
  134. package/dist/apps/management/routes/verified-token-requests.js +7 -9
  135. package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
  136. package/dist/apps/management/routes/webhooks.d.ts +119 -119
  137. package/dist/apps/mcp.d.ts.map +1 -1
  138. package/dist/apps/mcp.js +16 -3
  139. package/dist/apps/mcp.js.map +1 -1
  140. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
  141. package/dist/apps/mpp/internal/Policy.js +4 -2
  142. package/dist/apps/mpp/internal/Policy.js.map +1 -1
  143. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -1
  144. package/dist/apps/mpp/internal/Sponsorship.js +6 -4
  145. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -1
  146. package/dist/apps/relay/App.d.ts +8 -0
  147. package/dist/apps/relay/App.d.ts.map +1 -1
  148. package/dist/apps/relay/App.js +16 -4
  149. package/dist/apps/relay/App.js.map +1 -1
  150. package/dist/apps/relay/Sponsorships.d.ts +4 -6
  151. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  152. package/dist/apps/relay/Sponsorships.js +71 -60
  153. package/dist/apps/relay/Sponsorships.js.map +1 -1
  154. package/dist/apps/routes/Access.d.ts +53 -0
  155. package/dist/apps/routes/Access.d.ts.map +1 -1
  156. package/dist/apps/routes/Access.js +121 -0
  157. package/dist/apps/routes/Access.js.map +1 -1
  158. package/dist/apps/routes/App.d.ts +397 -158
  159. package/dist/apps/routes/App.d.ts.map +1 -1
  160. package/dist/apps/routes/App.js.map +1 -1
  161. package/dist/apps/routes/routes/deposit-addresses.d.ts +169 -61
  162. package/dist/apps/routes/routes/deposit-addresses.d.ts.map +1 -1
  163. package/dist/apps/routes/routes/deposit-addresses.js +217 -32
  164. package/dist/apps/routes/routes/deposit-addresses.js.map +1 -1
  165. package/dist/apps/routes/routes/quotes.d.ts +90 -0
  166. package/dist/apps/routes/routes/quotes.d.ts.map +1 -1
  167. package/dist/apps/routes/routes/quotes.js +101 -27
  168. package/dist/apps/routes/routes/quotes.js.map +1 -1
  169. package/dist/apps/routes/routes/transfers.d.ts +187 -135
  170. package/dist/apps/routes/routes/transfers.d.ts.map +1 -1
  171. package/dist/apps/routes/routes/transfers.js +182 -37
  172. package/dist/apps/routes/routes/transfers.js.map +1 -1
  173. package/dist/cli/ApiKeys.d.ts +120 -0
  174. package/dist/cli/ApiKeys.d.ts.map +1 -0
  175. package/dist/cli/ApiKeys.js +138 -0
  176. package/dist/cli/ApiKeys.js.map +1 -0
  177. package/dist/cli/Cli.d.ts +92 -34
  178. package/dist/cli/Cli.d.ts.map +1 -1
  179. package/dist/cli/Cli.js +188 -11
  180. package/dist/cli/Cli.js.map +1 -1
  181. package/dist/cli/Credentials.d.ts +95 -0
  182. package/dist/cli/Credentials.d.ts.map +1 -0
  183. package/dist/cli/Credentials.js +110 -0
  184. package/dist/cli/Credentials.js.map +1 -0
  185. package/dist/cli/Spec.d.ts +59 -0
  186. package/dist/cli/Spec.d.ts.map +1 -0
  187. package/dist/cli/Spec.js +77 -0
  188. package/dist/cli/Spec.js.map +1 -0
  189. package/dist/cli/bin.js +5 -1
  190. package/dist/cli/bin.js.map +1 -1
  191. package/dist/cli/commands/admin.d.ts +5 -5
  192. package/dist/cli/commands/admin.d.ts.map +1 -1
  193. package/dist/cli/commands/auth.d.ts +73 -0
  194. package/dist/cli/commands/auth.d.ts.map +1 -0
  195. package/dist/cli/commands/auth.js +204 -0
  196. package/dist/cli/commands/auth.js.map +1 -0
  197. package/dist/cli/commands/keys.d.ts +17 -0
  198. package/dist/cli/commands/keys.d.ts.map +1 -0
  199. package/dist/cli/commands/keys.js +109 -0
  200. package/dist/cli/commands/keys.js.map +1 -0
  201. package/dist/cloudflare.d.ts +27 -2
  202. package/dist/cloudflare.d.ts.map +1 -1
  203. package/dist/cloudflare.js +144 -17
  204. package/dist/cloudflare.js.map +1 -1
  205. package/dist/db/Db.d.ts +23 -0
  206. package/dist/db/Db.d.ts.map +1 -1
  207. package/dist/db/Db.js +418 -1
  208. package/dist/db/Db.js.map +1 -1
  209. package/dist/db/Schema.d.ts +44 -1
  210. package/dist/db/Schema.d.ts.map +1 -1
  211. package/dist/db/Schema.js +56 -3
  212. package/dist/db/Schema.js.map +1 -1
  213. package/dist/db/tables/apiKeyAdmissions.d.ts +28 -2
  214. package/dist/db/tables/apiKeyAdmissions.d.ts.map +1 -1
  215. package/dist/db/tables/apiKeyAdmissions.js +65 -9
  216. package/dist/db/tables/apiKeyAdmissions.js.map +1 -1
  217. package/dist/db/tables/apiKeyOwnerTombstones.d.ts +2 -0
  218. package/dist/db/tables/apiKeyOwnerTombstones.d.ts.map +1 -1
  219. package/dist/db/tables/apiKeyOwnerTombstones.js +2 -2
  220. package/dist/db/tables/apiKeyOwnerTombstones.js.map +1 -1
  221. package/dist/db/tables/authAccounts.d.ts.map +1 -1
  222. package/dist/db/tables/authAccounts.js +1 -0
  223. package/dist/db/tables/authAccounts.js.map +1 -1
  224. package/dist/db/tables/earnVaults.d.ts +5 -1
  225. package/dist/db/tables/earnVaults.d.ts.map +1 -1
  226. package/dist/db/tables/earnVaults.js +12 -1
  227. package/dist/db/tables/earnVaults.js.map +1 -1
  228. package/dist/db/tables/organizations.d.ts +4 -2
  229. package/dist/db/tables/organizations.d.ts.map +1 -1
  230. package/dist/db/tables/organizations.js +8 -34
  231. package/dist/db/tables/organizations.js.map +1 -1
  232. package/dist/db/tables/requestUsage.d.ts +5 -1
  233. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  234. package/dist/db/tables/requestUsage.js +10 -2
  235. package/dist/db/tables/requestUsage.js.map +1 -1
  236. package/dist/db/tables/rewardEligibilityAssociations.d.ts +13 -0
  237. package/dist/db/tables/rewardEligibilityAssociations.d.ts.map +1 -1
  238. package/dist/db/tables/rewardEligibilityAssociations.js +11 -0
  239. package/dist/db/tables/rewardEligibilityAssociations.js.map +1 -1
  240. package/dist/db/tables/rewardRuns.d.ts.map +1 -1
  241. package/dist/db/tables/rewardRuns.js +4 -0
  242. package/dist/db/tables/rewardRuns.js.map +1 -1
  243. package/dist/db/tables/rewardTransactionAttempts.d.ts.map +1 -1
  244. package/dist/db/tables/rewardTransactionAttempts.js +2 -0
  245. package/dist/db/tables/rewardTransactionAttempts.js.map +1 -1
  246. package/dist/db/tables/routesDepositAddresses.d.ts +29 -0
  247. package/dist/db/tables/routesDepositAddresses.d.ts.map +1 -1
  248. package/dist/db/tables/routesDepositAddresses.js +84 -31
  249. package/dist/db/tables/routesDepositAddresses.js.map +1 -1
  250. package/dist/db/tables/routesDeposits.d.ts.map +1 -1
  251. package/dist/db/tables/routesDeposits.js +31 -21
  252. package/dist/db/tables/routesDeposits.js.map +1 -1
  253. package/dist/db/tables/routesIdempotency.d.ts.map +1 -1
  254. package/dist/db/tables/routesIdempotency.js +2 -0
  255. package/dist/db/tables/routesIdempotency.js.map +1 -1
  256. package/dist/db/tables/routesPolicies.d.ts +58 -0
  257. package/dist/db/tables/routesPolicies.d.ts.map +1 -0
  258. package/dist/db/tables/routesPolicies.js +198 -0
  259. package/dist/db/tables/routesPolicies.js.map +1 -0
  260. package/dist/db/tables/routesTransferSubsidies.d.ts +22 -0
  261. package/dist/db/tables/routesTransferSubsidies.d.ts.map +1 -1
  262. package/dist/db/tables/routesTransferSubsidies.js +41 -0
  263. package/dist/db/tables/routesTransferSubsidies.js.map +1 -1
  264. package/dist/db/tables/routesTransferSubsidyNonces.d.ts.map +1 -1
  265. package/dist/db/tables/routesTransferSubsidyNonces.js +12 -4
  266. package/dist/db/tables/routesTransferSubsidyNonces.js.map +1 -1
  267. package/dist/db/tables/routesTransfers.d.ts +26 -1
  268. package/dist/db/tables/routesTransfers.d.ts.map +1 -1
  269. package/dist/db/tables/routesTransfers.js +36 -6
  270. package/dist/db/tables/routesTransfers.js.map +1 -1
  271. package/dist/db/tables/sponsoredTransactions.d.ts +45 -13
  272. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  273. package/dist/db/tables/sponsoredTransactions.js +144 -33
  274. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  275. package/dist/db/tables/users.d.ts +2 -0
  276. package/dist/db/tables/users.d.ts.map +1 -1
  277. package/dist/db/tables/users.js +11 -0
  278. package/dist/db/tables/users.js.map +1 -1
  279. package/dist/db/tables/verifiedTokenRequests.d.ts +21 -4
  280. package/dist/db/tables/verifiedTokenRequests.d.ts.map +1 -1
  281. package/dist/db/tables/verifiedTokenRequests.js +65 -44
  282. package/dist/db/tables/verifiedTokenRequests.js.map +1 -1
  283. package/dist/handlers/internal/multisig.d.ts +1 -1
  284. package/dist/handlers/internal/multisig.d.ts.map +1 -1
  285. package/dist/handlers/internal/multisig.js +3 -2
  286. package/dist/handlers/internal/multisig.js.map +1 -1
  287. package/dist/handlers/relay.d.ts +2 -0
  288. package/dist/handlers/relay.d.ts.map +1 -1
  289. package/dist/handlers/relay.js +34 -15
  290. package/dist/handlers/relay.js.map +1 -1
  291. package/dist/internal/Auth.d.ts +73 -6
  292. package/dist/internal/Auth.d.ts.map +1 -1
  293. package/dist/internal/Auth.js +212 -85
  294. package/dist/internal/Auth.js.map +1 -1
  295. package/dist/internal/BetterAuth.d.ts +22 -0
  296. package/dist/internal/BetterAuth.d.ts.map +1 -1
  297. package/dist/internal/BetterAuth.js +17 -14
  298. package/dist/internal/BetterAuth.js.map +1 -1
  299. package/dist/internal/Cache.d.ts +5 -0
  300. package/dist/internal/Cache.d.ts.map +1 -1
  301. package/dist/internal/Cache.js +3 -1
  302. package/dist/internal/Cache.js.map +1 -1
  303. package/dist/internal/CliAuth.d.ts +243 -0
  304. package/dist/internal/CliAuth.d.ts.map +1 -0
  305. package/dist/internal/CliAuth.js +249 -0
  306. package/dist/internal/CliAuth.js.map +1 -0
  307. package/dist/internal/EarnSharePrices.d.ts +1 -1
  308. package/dist/internal/EarnSharePrices.d.ts.map +1 -1
  309. package/dist/internal/EarnSharePrices.js +7 -3
  310. package/dist/internal/EarnSharePrices.js.map +1 -1
  311. package/dist/internal/EarnVaults.d.ts +47 -0
  312. package/dist/internal/EarnVaults.d.ts.map +1 -1
  313. package/dist/internal/EarnVaults.js +188 -4
  314. package/dist/internal/EarnVaults.js.map +1 -1
  315. package/dist/internal/EarnWithdrawals.d.ts +73 -0
  316. package/dist/internal/EarnWithdrawals.d.ts.map +1 -0
  317. package/dist/internal/EarnWithdrawals.js +189 -0
  318. package/dist/internal/EarnWithdrawals.js.map +1 -0
  319. package/dist/internal/ExecutionContext.d.ts +21 -0
  320. package/dist/internal/ExecutionContext.d.ts.map +1 -0
  321. package/dist/internal/ExecutionContext.js +16 -0
  322. package/dist/internal/ExecutionContext.js.map +1 -0
  323. package/dist/internal/Log.d.ts +7 -3
  324. package/dist/internal/Log.d.ts.map +1 -1
  325. package/dist/internal/Log.js +163 -130
  326. package/dist/internal/Log.js.map +1 -1
  327. package/dist/internal/MetricSink.d.ts.map +1 -1
  328. package/dist/internal/MetricSink.js +26 -1
  329. package/dist/internal/MetricSink.js.map +1 -1
  330. package/dist/internal/RateLimit.d.ts +67 -0
  331. package/dist/internal/RateLimit.d.ts.map +1 -1
  332. package/dist/internal/RateLimit.js +174 -27
  333. package/dist/internal/RateLimit.js.map +1 -1
  334. package/dist/internal/Store.d.ts +6 -0
  335. package/dist/internal/Store.d.ts.map +1 -1
  336. package/dist/internal/Store.js +4 -5
  337. package/dist/internal/Store.js.map +1 -1
  338. package/dist/internal/Timing.d.ts +6 -0
  339. package/dist/internal/Timing.d.ts.map +1 -1
  340. package/dist/internal/Timing.js +21 -1
  341. package/dist/internal/Timing.js.map +1 -1
  342. package/dist/internal/Tron.d.ts +124 -0
  343. package/dist/internal/Tron.d.ts.map +1 -0
  344. package/dist/internal/Tron.js +202 -0
  345. package/dist/internal/Tron.js.map +1 -0
  346. package/dist/internal/Viem.d.ts +4 -0
  347. package/dist/internal/Viem.d.ts.map +1 -1
  348. package/dist/internal/Viem.js +25 -6
  349. package/dist/internal/Viem.js.map +1 -1
  350. package/dist/internal/rewards/Read.d.ts +2 -2
  351. package/dist/internal/rewards/Read.d.ts.map +1 -1
  352. package/dist/internal/rewards/Read.js +11 -2
  353. package/dist/internal/rewards/Read.js.map +1 -1
  354. package/dist/internal/routes/Action.d.ts +27 -0
  355. package/dist/internal/routes/Action.d.ts.map +1 -1
  356. package/dist/internal/routes/Action.js +49 -1
  357. package/dist/internal/routes/Action.js.map +1 -1
  358. package/dist/internal/routes/Chain.d.ts +2 -0
  359. package/dist/internal/routes/Chain.d.ts.map +1 -1
  360. package/dist/internal/routes/Chain.js +4 -0
  361. package/dist/internal/routes/Chain.js.map +1 -1
  362. package/dist/internal/routes/DepositAddress.d.ts.map +1 -1
  363. package/dist/internal/routes/DepositAddress.js +5 -0
  364. package/dist/internal/routes/DepositAddress.js.map +1 -1
  365. package/dist/internal/routes/Evidence.d.ts.map +1 -1
  366. package/dist/internal/routes/Evidence.js +6 -2
  367. package/dist/internal/routes/Evidence.js.map +1 -1
  368. package/dist/internal/routes/EvmTransferSettlement.d.ts +17 -0
  369. package/dist/internal/routes/EvmTransferSettlement.d.ts.map +1 -0
  370. package/dist/internal/routes/EvmTransferSettlement.js +196 -0
  371. package/dist/internal/routes/EvmTransferSettlement.js.map +1 -0
  372. package/dist/internal/routes/Policy.d.ts +161 -0
  373. package/dist/internal/routes/Policy.d.ts.map +1 -0
  374. package/dist/internal/routes/Policy.js +249 -0
  375. package/dist/internal/routes/Policy.js.map +1 -0
  376. package/dist/internal/routes/Provider.d.ts +66 -3
  377. package/dist/internal/routes/Provider.d.ts.map +1 -1
  378. package/dist/internal/routes/Provider.js +106 -27
  379. package/dist/internal/routes/Provider.js.map +1 -1
  380. package/dist/internal/routes/Quota.d.ts +57 -0
  381. package/dist/internal/routes/Quota.d.ts.map +1 -0
  382. package/dist/internal/routes/Quota.js +144 -0
  383. package/dist/internal/routes/Quota.js.map +1 -0
  384. package/dist/internal/routes/Reconciliation.d.ts.map +1 -1
  385. package/dist/internal/routes/Reconciliation.js +163 -47
  386. package/dist/internal/routes/Reconciliation.js.map +1 -1
  387. package/dist/internal/routes/SolanaTransferSettlement.d.ts +12 -0
  388. package/dist/internal/routes/SolanaTransferSettlement.d.ts.map +1 -0
  389. package/dist/internal/routes/SolanaTransferSettlement.js +220 -0
  390. package/dist/internal/routes/SolanaTransferSettlement.js.map +1 -0
  391. package/dist/internal/routes/SolanaTransferSubsidy.d.ts +172 -0
  392. package/dist/internal/routes/SolanaTransferSubsidy.d.ts.map +1 -0
  393. package/dist/internal/routes/SolanaTransferSubsidy.js +564 -0
  394. package/dist/internal/routes/SolanaTransferSubsidy.js.map +1 -0
  395. package/dist/internal/routes/Subsidy.d.ts +2 -2
  396. package/dist/internal/routes/Subsidy.d.ts.map +1 -1
  397. package/dist/internal/routes/Subsidy.js +2 -2
  398. package/dist/internal/routes/Subsidy.js.map +1 -1
  399. package/dist/internal/routes/Transfer.d.ts +229 -1
  400. package/dist/internal/routes/Transfer.d.ts.map +1 -1
  401. package/dist/internal/routes/Transfer.js +644 -7
  402. package/dist/internal/routes/Transfer.js.map +1 -1
  403. package/dist/internal/routes/TransferReconciliation.d.ts +6 -0
  404. package/dist/internal/routes/TransferReconciliation.d.ts.map +1 -1
  405. package/dist/internal/routes/TransferReconciliation.js +83 -159
  406. package/dist/internal/routes/TransferReconciliation.js.map +1 -1
  407. package/dist/internal/routes/TransferSettlement.d.ts +45 -0
  408. package/dist/internal/routes/TransferSettlement.d.ts.map +1 -0
  409. package/dist/internal/routes/TransferSettlement.js +2 -0
  410. package/dist/internal/routes/TransferSettlement.js.map +1 -0
  411. package/dist/internal/routes/TransferSubsidy.d.ts +23 -8
  412. package/dist/internal/routes/TransferSubsidy.d.ts.map +1 -1
  413. package/dist/internal/routes/TransferSubsidy.js +64 -5
  414. package/dist/internal/routes/TransferSubsidy.js.map +1 -1
  415. package/dist/internal/routes/TronTransferSettlement.d.ts +12 -0
  416. package/dist/internal/routes/TronTransferSettlement.d.ts.map +1 -0
  417. package/dist/internal/routes/TronTransferSettlement.js +201 -0
  418. package/dist/internal/routes/TronTransferSettlement.js.map +1 -0
  419. package/dist/internal/routes/TronTransferSubsidy.d.ts +174 -0
  420. package/dist/internal/routes/TronTransferSubsidy.d.ts.map +1 -0
  421. package/dist/internal/routes/TronTransferSubsidy.js +439 -0
  422. package/dist/internal/routes/TronTransferSubsidy.js.map +1 -0
  423. package/dist/internal/routes/index.d.ts +3 -0
  424. package/dist/internal/routes/index.d.ts.map +1 -1
  425. package/dist/internal/routes/index.js +3 -0
  426. package/dist/internal/routes/index.js.map +1 -1
  427. package/dist/internal/routes/providers/across.d.ts +3 -0
  428. package/dist/internal/routes/providers/across.d.ts.map +1 -1
  429. package/dist/internal/routes/providers/across.js +11 -0
  430. package/dist/internal/routes/providers/across.js.map +1 -1
  431. package/dist/internal/routes/providers/legacyMesh.d.ts +29 -0
  432. package/dist/internal/routes/providers/legacyMesh.d.ts.map +1 -0
  433. package/dist/internal/routes/providers/legacyMesh.js +474 -0
  434. package/dist/internal/routes/providers/legacyMesh.js.map +1 -0
  435. package/dist/internal/routes/providers/legacyMeshDelivery.d.ts +59 -0
  436. package/dist/internal/routes/providers/legacyMeshDelivery.d.ts.map +1 -0
  437. package/dist/internal/routes/providers/legacyMeshDelivery.js +229 -0
  438. package/dist/internal/routes/providers/legacyMeshDelivery.js.map +1 -0
  439. package/dist/internal/routes/providers/legacyMeshOutbound.d.ts +19 -0
  440. package/dist/internal/routes/providers/legacyMeshOutbound.d.ts.map +1 -0
  441. package/dist/internal/routes/providers/legacyMeshOutbound.js +457 -0
  442. package/dist/internal/routes/providers/legacyMeshOutbound.js.map +1 -0
  443. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts +123 -0
  444. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts.map +1 -0
  445. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js +333 -0
  446. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js.map +1 -0
  447. package/dist/internal/routes/providers/propAmm.d.ts +70 -0
  448. package/dist/internal/routes/providers/propAmm.d.ts.map +1 -0
  449. package/dist/internal/routes/providers/propAmm.js +524 -0
  450. package/dist/internal/routes/providers/propAmm.js.map +1 -0
  451. package/dist/internal/routes/providers/relay.d.ts +4 -1
  452. package/dist/internal/routes/providers/relay.d.ts.map +1 -1
  453. package/dist/internal/routes/providers/relay.js +353 -42
  454. package/dist/internal/routes/providers/relay.js.map +1 -1
  455. package/dist/internal/routes/providers/rhino.d.ts +3 -0
  456. package/dist/internal/routes/providers/rhino.d.ts.map +1 -1
  457. package/dist/internal/routes/providers/rhino.js +11 -0
  458. package/dist/internal/routes/providers/rhino.js.map +1 -1
  459. package/dist/internal/routes/providers/squid.d.ts +3 -0
  460. package/dist/internal/routes/providers/squid.d.ts.map +1 -1
  461. package/dist/internal/routes/providers/squid.js +19 -0
  462. package/dist/internal/routes/providers/squid.js.map +1 -1
  463. package/dist/internal/routes/providers/stargate.d.ts.map +1 -1
  464. package/dist/internal/routes/providers/stargate.js +22 -9
  465. package/dist/internal/routes/providers/stargate.js.map +1 -1
  466. package/dist/internal/routes/providers/symbiosis.d.ts.map +1 -1
  467. package/dist/internal/routes/providers/symbiosis.js +13 -17
  468. package/dist/internal/routes/providers/symbiosis.js.map +1 -1
  469. package/dist/providers/index.d.ts +14 -0
  470. package/dist/providers/index.d.ts.map +1 -1
  471. package/dist/providers/index.js +6 -0
  472. package/dist/providers/index.js.map +1 -1
  473. package/package.json +16 -6
  474. package/src/ApiKey.ts +7 -3
  475. package/src/ApiKeys.test.ts +652 -8
  476. package/src/ApiKeys.ts +191 -11
  477. package/src/App.test.ts +405 -18
  478. package/src/App.ts +51 -15
  479. package/src/Client.test-d.ts +157 -10
  480. package/src/Client.test.ts +4 -4
  481. package/src/Scope.ts +1 -2
  482. package/src/admin/App.ts +11 -5
  483. package/src/admin/apps/api-keys.test.ts +98 -2
  484. package/src/admin/apps/api-keys.ts +21 -12
  485. package/src/admin/apps/earn-vaults.test.ts +76 -7
  486. package/src/admin/apps/earn-vaults.ts +47 -8
  487. package/src/admin/apps/organizations.test.ts +147 -31
  488. package/src/admin/apps/organizations.ts +5 -4
  489. package/src/admin/apps/route-policies.test.ts +220 -0
  490. package/src/admin/apps/route-policies.ts +322 -0
  491. package/src/admin/apps/routes-support.test.ts +107 -2
  492. package/src/admin/apps/routes-support.ts +43 -3
  493. package/src/admin/apps/routes.test.ts +150 -0
  494. package/src/admin/apps/routes.ts +97 -1
  495. package/src/admin/apps/scopes.test.ts +1 -1
  496. package/src/admin/apps/verified-tokens.test.ts +32 -0
  497. package/src/admin/apps/verified-tokens.ts +30 -4
  498. package/src/admin/index.ts +0 -1
  499. package/src/admin/ui/plugin.ts +2 -1
  500. package/src/admin/ui/src/components/Dialog.tsx +1 -1
  501. package/src/admin/ui/src/components/EarnVaultForm.tsx +45 -0
  502. package/src/admin/ui/src/components/RoutePicker.tsx +79 -0
  503. package/src/admin/ui/src/lib/earn-vaults.ts +1 -1
  504. package/src/admin/ui/src/lib/route-policies.test.ts +452 -0
  505. package/src/admin/ui/src/lib/route-policies.ts +232 -0
  506. package/src/admin/ui/src/lib/routes.ts +34 -0
  507. package/src/admin/ui/src/lib/verified-tokens.ts +24 -9
  508. package/src/admin/ui/src/routeTree.gen.ts +21 -0
  509. package/src/admin/ui/src/routes/__root.tsx +1 -1
  510. package/src/admin/ui/src/routes/api-keys.tsx +21 -2
  511. package/src/admin/ui/src/routes/early-access.tsx +1 -0
  512. package/src/admin/ui/src/routes/earn.vaults.tsx +1 -0
  513. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +22 -0
  514. package/src/admin/ui/src/routes/earn.vaults_.new.tsx +10 -0
  515. package/src/admin/ui/src/routes/organizations.tsx +35 -4
  516. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +18 -3
  517. package/src/admin/ui/src/routes/route-policies.tsx +678 -0
  518. package/src/admin/ui/src/routes/routes.tsx +85 -2
  519. package/src/admin/ui/src/routes/routes_.support.tsx +6 -22
  520. package/src/admin/ui/src/routes/subsidies.tsx +1 -0
  521. package/src/admin/ui/src/routes/verified-tokens.tsx +65 -20
  522. package/src/admin/ui.generated.ts +99 -104
  523. package/src/analytics/Analytics.test.ts +4 -50
  524. package/src/analytics/Analytics.ts +65 -1
  525. package/src/analytics/tables/requestEvents.test.ts +402 -1
  526. package/src/analytics/tables/requestEvents.ts +62 -93
  527. package/src/apps/data/App.test.ts +26 -0
  528. package/src/apps/data/routes/activities.test.ts +315 -14
  529. package/src/apps/data/routes/activities.ts +60 -0
  530. package/src/apps/data/routes/balances.ts +5 -7
  531. package/src/apps/data/routes/earn.bench.ts +18 -0
  532. package/src/apps/data/routes/earn.local.test.ts +507 -0
  533. package/src/apps/data/routes/earn.test.ts +405 -127
  534. package/src/apps/data/routes/earn.ts +660 -270
  535. package/src/apps/data/routes/exchanges.bench.ts +3 -1
  536. package/src/apps/data/routes/exchanges.test.ts +166 -2
  537. package/src/apps/data/routes/exchanges.ts +308 -101
  538. package/src/apps/data/routes/fee-amm.test.ts +153 -2
  539. package/src/apps/data/routes/fee-amm.ts +132 -62
  540. package/src/apps/data/routes/receipts.test.ts +21 -18
  541. package/src/apps/data/routes/rpc.test.ts +34 -2
  542. package/src/apps/data/routes/rpc.ts +47 -10
  543. package/src/apps/data/routes/tokens.provenance.test.ts +157 -0
  544. package/src/apps/data/routes/tokens.test.ts +4 -4
  545. package/src/apps/data/routes/tokens.ts +11 -6
  546. package/src/apps/data/routes/transactions.test.ts +29 -0
  547. package/src/apps/data/routes/transactions.ts +33 -22
  548. package/src/apps/data/routes/webhooks.scan.test.ts +29 -0
  549. package/src/apps/data/routes/webhooks.test.ts +18 -3
  550. package/src/apps/data/routes/webhooks.ts +27 -13
  551. package/src/apps/management/App.ts +4 -0
  552. package/src/apps/management/Billing.test.ts +253 -27
  553. package/src/apps/management/Billing.ts +83 -29
  554. package/src/apps/management/routes/api-keys.test.ts +1 -1
  555. package/src/apps/management/routes/api-keys.ts +85 -11
  556. package/src/apps/management/routes/billing.test.ts +68 -4
  557. package/src/apps/management/routes/cli.test.ts +370 -0
  558. package/src/apps/management/routes/cli.ts +533 -0
  559. package/src/apps/management/routes/me.test.ts +14 -4
  560. package/src/apps/management/routes/orgs.test.ts +108 -4
  561. package/src/apps/management/routes/orgs.ts +7 -2
  562. package/src/apps/management/routes/usage.test.ts +2 -2
  563. package/src/apps/management/routes/verified-token-requests.test.ts +16 -2
  564. package/src/apps/management/routes/verified-token-requests.ts +7 -10
  565. package/src/apps/mcp.test.ts +108 -25
  566. package/src/apps/mcp.ts +15 -3
  567. package/src/apps/mpp/internal/Policy.test.ts +51 -4
  568. package/src/apps/mpp/internal/Policy.ts +6 -2
  569. package/src/apps/mpp/internal/Sponsorship.test.ts +29 -0
  570. package/src/apps/mpp/internal/Sponsorship.ts +6 -4
  571. package/src/apps/relay/App.test.ts +85 -1
  572. package/src/apps/relay/App.ts +28 -4
  573. package/src/apps/relay/Sponsorships.test.ts +97 -1
  574. package/src/apps/relay/Sponsorships.ts +77 -66
  575. package/src/apps/routes/Access.test.ts +319 -0
  576. package/src/apps/routes/Access.ts +147 -0
  577. package/src/apps/routes/App.ts +10 -0
  578. package/src/apps/routes/routes/chains.test.ts +3 -2
  579. package/src/apps/routes/routes/deposit-addresses.test.ts +978 -34
  580. package/src/apps/routes/routes/deposit-addresses.ts +243 -32
  581. package/src/apps/routes/routes/propAmm.local.test.ts +951 -0
  582. package/src/apps/routes/routes/quotes.test.ts +81 -8
  583. package/src/apps/routes/routes/quotes.ts +109 -27
  584. package/src/apps/routes/routes/transfers.test.ts +252 -15
  585. package/src/apps/routes/routes/transfers.ts +212 -33
  586. package/src/cli/ApiKeys.test.ts +265 -0
  587. package/src/cli/ApiKeys.ts +189 -0
  588. package/src/cli/Cli.test.ts +188 -0
  589. package/src/cli/Cli.ts +280 -12
  590. package/src/cli/Credentials.test.ts +122 -0
  591. package/src/cli/Credentials.ts +144 -0
  592. package/src/cli/Spec.test.ts +133 -0
  593. package/src/cli/Spec.ts +132 -0
  594. package/src/cli/bin.test.ts +49 -0
  595. package/src/cli/bin.ts +5 -1
  596. package/src/cli/commands/auth.test.ts +138 -0
  597. package/src/cli/commands/auth.ts +254 -0
  598. package/src/cli/commands/keys.test.ts +68 -0
  599. package/src/cli/commands/keys.ts +125 -0
  600. package/src/cloudflare.ts +184 -36
  601. package/src/db/Db.test.ts +877 -0
  602. package/src/db/Db.ts +507 -1
  603. package/src/db/Schema.ts +75 -4
  604. package/src/db/tables/apiKeyAdmissions.test.ts +57 -0
  605. package/src/db/tables/apiKeyAdmissions.ts +101 -11
  606. package/src/db/tables/apiKeyOwnerTombstones.ts +2 -2
  607. package/src/db/tables/authAccounts.test.ts +30 -0
  608. package/src/db/tables/authAccounts.ts +1 -0
  609. package/src/db/tables/earnVaults.test.ts +34 -0
  610. package/src/db/tables/earnVaults.ts +17 -2
  611. package/src/db/tables/organizations.test.ts +148 -84
  612. package/src/db/tables/organizations.ts +11 -43
  613. package/src/db/tables/requestUsage.ts +13 -2
  614. package/src/db/tables/rewardCampaigns.test.ts +163 -0
  615. package/src/db/tables/rewardEligibilityAssociations.test.ts +14 -0
  616. package/src/db/tables/rewardEligibilityAssociations.ts +24 -0
  617. package/src/db/tables/rewardRuns.ts +4 -0
  618. package/src/db/tables/rewardTransactionAttempts.ts +2 -0
  619. package/src/db/tables/routesDepositAddresses.test.ts +263 -0
  620. package/src/db/tables/routesDepositAddresses.ts +118 -34
  621. package/src/db/tables/routesDeposits.test.ts +133 -0
  622. package/src/db/tables/routesDeposits.ts +47 -26
  623. package/src/db/tables/routesIdempotency.test.ts +80 -0
  624. package/src/db/tables/routesIdempotency.ts +2 -0
  625. package/src/db/tables/routesPolicies.test.ts +143 -0
  626. package/src/db/tables/routesPolicies.ts +251 -0
  627. package/src/db/tables/routesTransferSubsidies.ts +64 -0
  628. package/src/db/tables/routesTransferSubsidyNonces.ts +16 -4
  629. package/src/db/tables/routesTransfers.test.ts +183 -2
  630. package/src/db/tables/routesTransfers.ts +65 -6
  631. package/src/db/tables/sponsoredTransactions.test.ts +351 -76
  632. package/src/db/tables/sponsoredTransactions.ts +182 -38
  633. package/src/db/tables/users.test.ts +51 -0
  634. package/src/db/tables/users.ts +12 -0
  635. package/src/db/tables/verifiedTokenRequests.test.ts +39 -20
  636. package/src/db/tables/verifiedTokenRequests.ts +80 -44
  637. package/src/handlers/internal/multisig.store.test.ts +120 -0
  638. package/src/handlers/internal/multisig.test.ts +389 -0
  639. package/src/handlers/internal/multisig.ts +13 -10
  640. package/src/handlers/relay.test.ts +259 -83
  641. package/src/handlers/relay.ts +36 -17
  642. package/src/internal/Auth.test.ts +383 -8
  643. package/src/internal/Auth.ts +272 -99
  644. package/src/internal/BetterAuth.test.ts +58 -22
  645. package/src/internal/BetterAuth.ts +23 -17
  646. package/src/internal/Cache.ts +3 -1
  647. package/src/internal/CliAuth.test.ts +279 -0
  648. package/src/internal/CliAuth.ts +319 -0
  649. package/src/internal/EarnSharePrices.test.ts +25 -0
  650. package/src/internal/EarnSharePrices.ts +9 -2
  651. package/src/internal/EarnVaults.test.ts +67 -0
  652. package/src/internal/EarnVaults.ts +299 -4
  653. package/src/internal/EarnWithdrawals.test.ts +315 -0
  654. package/src/internal/EarnWithdrawals.ts +266 -0
  655. package/src/internal/ExecutionContext.ts +31 -0
  656. package/src/internal/Log.test.ts +210 -0
  657. package/src/internal/Log.ts +180 -142
  658. package/src/internal/MetricSink.test.ts +190 -15
  659. package/src/internal/MetricSink.ts +27 -1
  660. package/src/internal/RateLimit.test.ts +144 -8
  661. package/src/internal/RateLimit.ts +254 -26
  662. package/src/internal/Store.ts +4 -5
  663. package/src/internal/Timing.test.ts +32 -0
  664. package/src/internal/Timing.ts +20 -1
  665. package/src/internal/Tron.test-d.ts +22 -0
  666. package/src/internal/Tron.test.ts +94 -0
  667. package/src/internal/Tron.ts +289 -0
  668. package/src/internal/Viem.rpc.test.ts +76 -0
  669. package/src/internal/Viem.ts +29 -6
  670. package/src/internal/rewards/Read.test.ts +109 -0
  671. package/src/internal/rewards/Read.ts +13 -4
  672. package/src/internal/routes/Action.test.ts +70 -0
  673. package/src/internal/routes/Action.ts +76 -1
  674. package/src/internal/routes/Chain.test.ts +18 -0
  675. package/src/internal/routes/Chain.ts +5 -0
  676. package/src/internal/routes/DepositAddress.ts +5 -0
  677. package/src/internal/routes/Evidence.test.ts +64 -0
  678. package/src/internal/routes/Evidence.ts +11 -3
  679. package/src/internal/routes/EvmTransferSettlement.ts +213 -0
  680. package/src/internal/routes/Policy.test.ts +316 -0
  681. package/src/internal/routes/Policy.ts +399 -0
  682. package/src/internal/routes/Provider.test.ts +103 -2
  683. package/src/internal/routes/Provider.ts +149 -27
  684. package/src/internal/routes/Quota.test.ts +149 -0
  685. package/src/internal/routes/Quota.ts +226 -0
  686. package/src/internal/routes/Reconciliation.local.test.ts +285 -0
  687. package/src/internal/routes/Reconciliation.test.ts +371 -13
  688. package/src/internal/routes/Reconciliation.ts +193 -42
  689. package/src/internal/routes/SolanaTransferSettlement.ts +232 -0
  690. package/src/internal/routes/SolanaTransferSubsidy.test.ts +471 -0
  691. package/src/internal/routes/SolanaTransferSubsidy.ts +760 -0
  692. package/src/internal/routes/SourceObservation.test.ts +221 -0
  693. package/src/internal/routes/Subsidy.local.test.ts +46 -0
  694. package/src/internal/routes/Subsidy.ts +4 -2
  695. package/src/internal/routes/Transfer.solana.test.ts +389 -0
  696. package/src/internal/routes/Transfer.test.ts +130 -1
  697. package/src/internal/routes/Transfer.tron.test.ts +172 -0
  698. package/src/internal/routes/Transfer.ts +866 -8
  699. package/src/internal/routes/TransferReconciliation.test.ts +26 -4
  700. package/src/internal/routes/TransferReconciliation.ts +91 -166
  701. package/src/internal/routes/TransferSettlement.ts +48 -0
  702. package/src/internal/routes/TransferSubsidy.local.test.ts +143 -0
  703. package/src/internal/routes/TransferSubsidy.test.ts +34 -4
  704. package/src/internal/routes/TransferSubsidy.ts +87 -12
  705. package/src/internal/routes/TronTransferSettlement.ts +212 -0
  706. package/src/internal/routes/TronTransferSubsidy.test.ts +109 -0
  707. package/src/internal/routes/TronTransferSubsidy.ts +619 -0
  708. package/src/internal/routes/index.test.ts +3 -0
  709. package/src/internal/routes/index.ts +3 -0
  710. package/src/internal/routes/providers/across.ts +13 -0
  711. package/src/internal/routes/providers/index.test.ts +141 -0
  712. package/src/internal/routes/providers/legacyMesh.test.ts +484 -0
  713. package/src/internal/routes/providers/legacyMesh.ts +633 -0
  714. package/src/internal/routes/providers/legacyMeshDelivery.test.ts +306 -0
  715. package/src/internal/routes/providers/legacyMeshDelivery.ts +320 -0
  716. package/src/internal/routes/providers/legacyMeshOutbound.test.ts +401 -0
  717. package/src/internal/routes/providers/legacyMeshOutbound.ts +566 -0
  718. package/src/internal/routes/providers/legacyMeshOutboundDelivery.ts +473 -0
  719. package/src/internal/routes/providers/propAmm.ts +640 -0
  720. package/src/internal/routes/providers/relay.test.ts +1299 -18
  721. package/src/internal/routes/providers/relay.ts +424 -39
  722. package/src/internal/routes/providers/rhino.ts +14 -1
  723. package/src/internal/routes/providers/squid.ts +21 -0
  724. package/src/internal/routes/providers/stargate.test.ts +105 -1
  725. package/src/internal/routes/providers/stargate.ts +22 -9
  726. package/src/internal/routes/providers/symbiosis.ts +13 -47
  727. package/src/providers/index.test.ts +2 -0
  728. package/src/providers/index.ts +18 -0
  729. package/dist/admin/Access.d.ts +0 -39
  730. package/dist/admin/Access.d.ts.map +0 -1
  731. package/dist/admin/Access.js +0 -73
  732. package/dist/admin/Access.js.map +0 -1
  733. package/src/admin/Access.test.ts +0 -130
  734. package/src/admin/Access.ts +0 -85
@@ -1 +1 @@
1
- {"version":3,"file":"exchanges.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/exchanges.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"exchanges.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/exchanges.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -1785,10 +1785,12 @@ export function exchanges(options = {}) {
1785
1785
  const options = c.req.valid('query');
1786
1786
  const chainId = options.chainId ?? c.get('chainId');
1787
1787
  try {
1788
- const pairs = await getPairIndex(c, { chainId });
1789
- const target = pairs.get(base);
1788
+ const target = await getPairByBase(c, { base, chainId });
1790
1789
  if (!target)
1791
- return pairNotFoundError(c, { base, pairIndex: pairs });
1790
+ return pairNotFoundError(c, {
1791
+ base,
1792
+ pairIndex: await getPairIndex(c, { chainId }),
1793
+ });
1792
1794
  // Token metadata is opt-in: resolve both pair tokens once and spread
1793
1795
  // onto the `base`/`quote` PairToken slots.
1794
1796
  let baseToken = { address: target.base };
@@ -2170,10 +2172,12 @@ export function exchanges(options = {}) {
2170
2172
  if (options.interval === '1h' || options.interval === '4h' || options.interval === '1d')
2171
2173
  Cache.setPolicy(c, Cache.policies.state);
2172
2174
  try {
2173
- const pairs = await getPairIndex(c, { chainId });
2174
- const target = pairs.get(baseAddress);
2175
+ const target = await getPairByBase(c, { base: baseAddress, chainId });
2175
2176
  if (!target)
2176
- return pairNotFoundError(c, { base: baseAddress, pairIndex: pairs });
2177
+ return pairNotFoundError(c, {
2178
+ base: baseAddress,
2179
+ pairIndex: await getPairIndex(c, { chainId }),
2180
+ });
2177
2181
  const result = await getPairOhlc(c, {
2178
2182
  chainId,
2179
2183
  interval: options.interval,
@@ -2265,13 +2269,7 @@ export function exchanges(options = {}) {
2265
2269
  const options = c.req.valid('query');
2266
2270
  const chainId = options.chainId ?? c.get('chainId');
2267
2271
  try {
2268
- // Pair definitions are immutable after creation, so cache successful
2269
- // point lookups without making unknown pairs stale.
2270
- const target = await Store.memoize(async () => (await getPairsByBase(c, { bases: [baseAddress], chainId })).get(baseAddress), {
2271
- key: `exchange:v1:${chainId}:pair-by-base:${baseAddress}:v1`,
2272
- store: c.get('store'),
2273
- ttl: Ttl.minutes(5),
2274
- });
2272
+ const target = await getPairByBase(c, { base: baseAddress, chainId });
2275
2273
  if (!target)
2276
2274
  return pairNotFoundError(c, {
2277
2275
  base: baseAddress,
@@ -2574,6 +2572,33 @@ async function getPairsByBase(c, options) {
2574
2572
  return pairs;
2575
2573
  });
2576
2574
  }
2575
+ /**
2576
+ * Resolves one pair by base address without depending on the bounded pair
2577
+ * index. Successful immutable definitions are cached; misses stay fresh.
2578
+ */
2579
+ async function getPairByBase(c, options) {
2580
+ const { base, chainId } = options;
2581
+ const tidx = c.get('getTidx')(chainId);
2582
+ return Timing.time(c, 'pair_lookup', () => Store.memoize(async () => {
2583
+ const result = await tidx.fetch({
2584
+ chainId,
2585
+ engine: 'clickhouse',
2586
+ query: `
2587
+ SELECT key, base, quote, tx_hash, block_num, block_timestamp
2588
+ FROM dex_pairs
2589
+ WHERE address = '${stablecoinDex}' AND base = '${base}'
2590
+ ORDER BY block_num ASC, log_idx ASC
2591
+ LIMIT 1
2592
+ `,
2593
+ });
2594
+ const row = result.rows[0];
2595
+ return row ? parsePairRow(row) : undefined;
2596
+ }, {
2597
+ key: `exchange:v1:${chainId}:pair-by-base:${base}:v2`,
2598
+ store: c.get('store'),
2599
+ ttl: Ttl.minutes(5),
2600
+ }));
2601
+ }
2577
2602
  /**
2578
2603
  * Resolves one pair by its book key with a targeted `dex_pairs` lookup,
2579
2604
  * covering books the bounded pair index ages out of its newest window.
@@ -3494,11 +3519,9 @@ function parseTickSide(value) {
3494
3519
  * The candles are aggregated **in ClickHouse**: each bucket folds server-side
3495
3520
  * (open/close by fill position, high/low by executed rate, volume sums and
3496
3521
  * fill counts), so the response covers the entire requested window no matter
3497
- * how many fills it contains — the previous implementation shipped the newest
3498
- * raw fills to the app capped at 1,000, which truncated busy pairs' 7d/30d
3499
- * windows to a few hours. The pair filter still resolves through the
3500
- * OrderPlaced-only `dex_orders` table, so fills of flipped orders remain
3501
- * invisible until order state lands at ingest (the `dex_ohlc_1m` plan).
3522
+ * how many fills it contains. Each fill joins to its state-event history and
3523
+ * selects the latest preceding `OrderPlaced`/`OrderFlipped` log because flip
3524
+ * orders retain their id while changing side and tick.
3502
3525
  *
3503
3526
  * `OrderFilled` only carries the base-token `amountFilled`; the quote-side
3504
3527
  * amount is reconstructed per fill from the order's tick using the DEX's
@@ -3517,12 +3540,13 @@ async function getPairOhlc(c, options) {
3517
3540
  // ClickHouse `DateTime64(3, 'UTC')` rejects ISO-Z; normalize to space form.
3518
3541
  const fromTimestamp = formatClickHouseDateTime(new Date(Date.now() - windowMs(window)).toISOString());
3519
3542
  const bucketMs = intervalMs(interval);
3543
+ const pairTopic = `0x${pair.base.slice(2).padStart(64, '0')}`;
3520
3544
  return Timing.time(c, 'pair_ohlc', async () => {
3521
3545
  // Taker-perspective rate used only to *select* the high/low fill; the
3522
3546
  // formatted rate string is recomputed in JS from the winning `(tick,
3523
3547
  // isBid)` so it goes through the exact same formatting as open/close.
3524
3548
  const scale = Tick.priceScale;
3525
- const rate = `if(p."isBid" = 1, (${scale} + p.tick) / ${scale}, ${scale} / (${scale} + p.tick))`;
3549
+ const rate = `if(r.is_bid_int = 1, (${scale} + r.tick) / ${scale}, ${scale} / (${scale} + r.tick))`;
3526
3550
  // UInt256 sums are forced through `toString` so values past 2^53 survive
3527
3551
  // JSON; the `(tick, isBid)` tuples are small integers and need no forcing.
3528
3552
  const result = await tidx.fetch({
@@ -3530,21 +3554,37 @@ async function getPairOhlc(c, options) {
3530
3554
  engine: 'clickhouse',
3531
3555
  query: `
3532
3556
  SELECT
3533
- intDiv(toUnixTimestamp64Milli(f.block_timestamp), ${bucketMs}) AS bucket,
3557
+ intDiv(toUnixTimestamp64Milli(r.block_timestamp), ${bucketMs}) AS bucket,
3534
3558
  count() AS fill_count,
3535
- toString(sum(f."amountFilled")) AS base_volume,
3536
- toString(sum(intDiv(f."amountFilled" * toUInt256(${scale} + p.tick), ${scale}))) AS quote_volume,
3537
- argMin(tuple(p.tick, p."isBid"), tuple(f.block_num, f.log_idx)) AS open_t,
3538
- argMax(tuple(p.tick, p."isBid"), tuple(f.block_num, f.log_idx)) AS close_t,
3539
- argMax(tuple(p.tick, p."isBid"), ${rate}) AS high_t,
3540
- argMin(tuple(p.tick, p."isBid"), ${rate}) AS low_t
3541
- FROM dex_fills f
3542
- JOIN dex_orders p ON p."orderId" = f."orderId"
3543
- WHERE f.address = '${stablecoinDex}'
3544
- AND f.block_timestamp >= '${fromTimestamp}'
3545
- AND f."orderId" IN (
3546
- SELECT p2."orderId" FROM dex_orders p2 WHERE p2.token = '${pair.base}'
3547
- )
3559
+ toString(sum(r.amount_filled)) AS base_volume,
3560
+ toString(sum(intDiv(r.amount_filled * toUInt256(${scale} + r.tick), ${scale}))) AS quote_volume,
3561
+ argMin(tuple(r.tick, r.is_bid_int), tuple(r.block_num, r.log_idx)) AS open_t,
3562
+ argMax(tuple(r.tick, r.is_bid_int), tuple(r.block_num, r.log_idx)) AS close_t,
3563
+ argMax(tuple(r.tick, r.is_bid_int), ${rate}) AS high_t,
3564
+ argMin(tuple(r.tick, r.is_bid_int), ${rate}) AS low_t
3565
+ FROM (
3566
+ SELECT f.block_timestamp, f.block_num, f.log_idx,
3567
+ f."amountFilled" AS amount_filled,
3568
+ argMax(s.tick, (s.block_num, s.log_idx)) AS tick,
3569
+ argMax(s.is_bid_int, (s.block_num, s.log_idx)) AS is_bid_int
3570
+ FROM dex_fills f
3571
+ INNER JOIN (
3572
+ SELECT
3573
+ reinterpretAsUInt256(reverse(unhex(substring(topic1, 3)))) AS order_id,
3574
+ reinterpretAsInt16(reverse(unhex(substring(data, 191, 4)))) AS tick,
3575
+ data != '' AND substring(data, 130, 1) = '1' AS is_bid_int,
3576
+ block_num,
3577
+ log_idx
3578
+ FROM logs
3579
+ WHERE address = '${stablecoinDex}'
3580
+ AND selector IN ('${orderPlacedTopic}', '${orderFlippedTopic}')
3581
+ AND topic3 = '${pairTopic}'
3582
+ ) AS s ON f."orderId" = s.order_id
3583
+ WHERE f.address = '${stablecoinDex}'
3584
+ AND f.block_timestamp >= '${fromTimestamp}'
3585
+ AND (s.block_num < f.block_num OR (s.block_num = f.block_num AND s.log_idx < f.log_idx))
3586
+ GROUP BY f.block_timestamp, f.block_num, f.log_idx, f."amountFilled"
3587
+ ) AS r
3548
3588
  GROUP BY bucket
3549
3589
  ORDER BY bucket ASC
3550
3590
  `,
@@ -3627,11 +3667,10 @@ const orderCursorTickBias = 32768;
3627
3667
  * still applied app-side. ClickHouse aggregates fills per order before the
3628
3668
  * app computes each remaining amount.
3629
3669
  *
3630
- * `remaining = OrderPlaced.amount - sum(OrderFilled.amountFilled)`; orders
3631
- * with an `OrderCancelled` event are excluded outright. Each row is annotated
3632
- * with its pair: the scoped feed reuses the resolved `pair`, the unscoped
3633
- * feed resolves the page's base tokens with one targeted `dex_pairs` lookup
3634
- * (rows whose pair is unknown are dropped).
3670
+ * `remaining` is the latest state event's amount minus subsequent fills;
3671
+ * orders with an `OrderCancelled` event are excluded outright. Each row is
3672
+ * annotated with its pair: the scoped feed reuses the resolved `pair`, the
3673
+ * unscoped feed resolves the page's base tokens with one targeted lookup.
3635
3674
  */
3636
3675
  async function getOrders(c, options) {
3637
3676
  const { chainId, cursor, limit, maker, order, page, pair, side, sort } = options;
@@ -3847,9 +3886,10 @@ function cursorTupleFromOrder(row, sort) {
3847
3886
  return [row.blockNumber, row.logIndex];
3848
3887
  }
3849
3888
  /**
3850
- * Loads every resting maker order for a pair: scan `OrderPlaced` filtered by
3851
- * the pair's base token (and optional `maker`), then subtract fills and drop
3852
- * cancelled orders using batched `WHERE "orderId" IN (...)` joins.
3889
+ * Loads every resting maker order for a pair: scan state events filtered by
3890
+ * the pair's base token (and optional `maker`), resolve each order's latest
3891
+ * `OrderPlaced`/`OrderFlipped` generation, then subtract fills after that
3892
+ * generation and drop cancelled orders.
3853
3893
  *
3854
3894
  * Returns the resting set along with a `truncated` flag set when the
3855
3895
  * `OrderPlaced` scan hit `orderScanCap`. Callers surface the flag so
@@ -3857,69 +3897,22 @@ function cursorTupleFromOrder(row, sort) {
3857
3897
  */
3858
3898
  async function loadRestingOrders(c, options) {
3859
3899
  const { base, chainId, maker, scanCap = orderScanCap } = options;
3860
- const tidx = c.get('getTidx')(chainId);
3861
- // Scan window is intentionally newest-first so a `truncated` snapshot still
3862
- // reflects current market activity rather than ancient placements.
3863
- const filters = [`address = '${stablecoinDex}'`];
3864
- if (base !== undefined)
3865
- filters.push(`token = '${base}'`);
3866
- if (maker !== undefined)
3867
- filters.push(`maker = '${maker}'`);
3868
- const where = `WHERE ${filters.join(' AND ')}`;
3869
- // ClickHouse OLAP path: bloom-filter index on `topic1` (and the `token`
3870
- // string column) handles `WHERE token = '<base>'` and the downstream
3871
- // `"orderId" IN (...)` joins natively, without the per-row decode cost of
3872
- // the Postgres `abi_uint(topic1)` fallback.
3873
- //
3874
- // `"isBid"` is aliased to a name that is *not* in the OrderPlaced event
3875
- // signature so tidx.ts's signature-driven result decoder skips it. ClickHouse
3876
- // serializes booleans as `1`/`0`, but tidx.ts validates `bool` columns with a
3877
- // strict `z.boolean()` derived from the signature and rejects integer
3878
- // representations. Aliasing dodges that decoder and lets us coerce
3879
- // numerically in `parsePlacedRow`.
3880
- const result = await tidx.fetch({
3900
+ const snapshot = await fetchLatestOrderStates(c, { base, chainId, maker, scanCap });
3901
+ if (snapshot.orders.length === 0)
3902
+ return snapshot;
3903
+ const cancelled = await fetchCancelledByIds(c, {
3881
3904
  chainId,
3882
- engine: 'clickhouse',
3883
- query: `
3884
- SELECT "orderId", maker, amount, token, "isBid" AS is_bid_int, tick, tx_hash, block_num, log_idx, block_timestamp
3885
- FROM dex_orders
3886
- ${where}
3887
- ORDER BY block_num DESC, log_idx DESC
3888
- LIMIT ${scanCap + 1}
3889
- `,
3905
+ orderIds: snapshot.orders.map((row) => row.orderId),
3890
3906
  });
3891
- const truncated = result.rows.length > scanCap;
3892
- const placedRows = result.rows.slice(0, scanCap);
3893
- // `dex_orders` can carry duplicate rows per placement; keep the first
3894
- // (newest) copy so pages emit each order once and a duplicate straddling an
3895
- // IN-batch boundary can't double-count fills.
3896
- const placed = [];
3897
- const seen = new Set();
3898
- for (const row of placedRows) {
3899
- const parsed = parsePlacedRow(row);
3900
- if (!parsed || seen.has(parsed.orderId))
3901
- continue;
3902
- seen.add(parsed.orderId);
3903
- placed.push(parsed);
3904
- }
3905
- if (placed.length === 0)
3906
- return { orders: [], truncated };
3907
- const orderIds = placed.map((row) => row.orderId);
3908
- const [cancelled, fillSums] = await Promise.all([
3909
- fetchCancelledByIds(c, { chainId, orderIds }),
3910
- fetchFillSumsByIds(c, { chainId, orderIds }),
3911
- ]);
3912
3907
  const orders = [];
3913
- for (const row of placed) {
3908
+ for (const row of snapshot.orders) {
3914
3909
  if (cancelled.has(row.orderId))
3915
3910
  continue;
3916
- const filled = fillSums.get(row.orderId) ?? 0n;
3917
- const remaining = BigInt(row.amount) - filled;
3918
- if (remaining <= 0n)
3911
+ if (BigInt(row.remaining) <= 0n)
3919
3912
  continue;
3920
- orders.push({ ...row, remaining: remaining.toString() });
3913
+ orders.push(row);
3921
3914
  }
3922
- return { orders, truncated };
3915
+ return { orders, truncated: snapshot.truncated };
3923
3916
  }
3924
3917
  /**
3925
3918
  * Base-token chunk size for the multi-book `WHERE token IN (...)` scan in
@@ -4073,6 +4066,183 @@ function parsePlacedRow(row) {
4073
4066
  transactionHash: transactionHash.data,
4074
4067
  };
4075
4068
  }
4069
+ /**
4070
+ * Resolves each scanned order's latest generation from raw state logs and
4071
+ * subtracts only fills after that state event. A fully filled flip generation
4072
+ * therefore resets to the counter-order amount emitted by `OrderFlipped`.
4073
+ */
4074
+ async function fetchLatestOrderStates(c, options) {
4075
+ const { base, chainId, maker, scanCap } = options;
4076
+ const tidx = c.get('getTidx')(chainId);
4077
+ let truncated = false;
4078
+ const filters = [
4079
+ `address = '${stablecoinDex}'`,
4080
+ `selector IN ('${orderPlacedTopic}', '${orderFlippedTopic}')`,
4081
+ ];
4082
+ if (base !== undefined)
4083
+ filters.push(`topic3 = '0x${base.slice(2).padStart(64, '0')}'`);
4084
+ // Global candidates below already belong to the maker. Keeping topic2 in
4085
+ // that lookup makes the indexer scan a sparse maker instead of indexed IDs.
4086
+ if (base !== undefined && maker !== undefined)
4087
+ filters.push(`topic2 = '0x${maker.slice(2).padStart(64, '0')}'`);
4088
+ let batches = [filters];
4089
+ // The global raw-log aggregate is unbounded on hosted TIDX. Bound it to the
4090
+ // newest state events so old placements with recent flips remain candidates.
4091
+ if (base === undefined) {
4092
+ const candidateFilters = [
4093
+ `address = '${stablecoinDex}'`,
4094
+ `selector IN ('${orderPlacedTopic}', '${orderFlippedTopic}')`,
4095
+ ];
4096
+ const candidates = await tidx.fetch({
4097
+ chainId,
4098
+ engine: 'clickhouse',
4099
+ query: `
4100
+ SELECT topic1, topic2
4101
+ FROM logs
4102
+ WHERE ${candidateFilters.join(' AND ')}
4103
+ ORDER BY block_num DESC, log_idx DESC
4104
+ LIMIT ${scanCap + 1}
4105
+ `,
4106
+ });
4107
+ truncated = candidates.rows.length > scanCap;
4108
+ const topics = new Set();
4109
+ for (const row of candidates.rows.slice(0, scanCap)) {
4110
+ if (maker !== undefined && row['topic2'] !== `0x${maker.slice(2).padStart(64, '0')}`)
4111
+ continue;
4112
+ const topic = Value.toText(row['topic1']);
4113
+ if (topic !== undefined && /^0x[0-9a-fA-F]{64}$/.test(topic))
4114
+ topics.add(topic);
4115
+ }
4116
+ // `logs.topic2` is not a viable hosted-TIDX scan for a sparse maker.
4117
+ // Include its indexed placement window, then resolve current state below.
4118
+ if (maker !== undefined) {
4119
+ const placements = await tidx.fetch({
4120
+ chainId,
4121
+ engine: 'clickhouse',
4122
+ query: `
4123
+ SELECT "orderId"
4124
+ FROM dex_orders
4125
+ WHERE address = '${stablecoinDex}' AND maker = '${maker}'
4126
+ ORDER BY block_num DESC, log_idx DESC
4127
+ LIMIT ${scanCap + 1}
4128
+ `,
4129
+ });
4130
+ truncated ||= placements.rows.length > scanCap;
4131
+ for (const row of placements.rows.slice(0, scanCap)) {
4132
+ const orderId = Value.toIntegerString(row['orderId']);
4133
+ if (orderId !== undefined)
4134
+ topics.add(`0x${BigInt(orderId).toString(16).padStart(64, '0')}`);
4135
+ }
4136
+ }
4137
+ if (topics.size === 0)
4138
+ return { orders: [], truncated };
4139
+ // Compact hex avoids oversized GET URLs and TIDX's per-cell SQL scanning
4140
+ // cost. Pad in ClickHouse; batching also bounds maximum-width IDs.
4141
+ const ids = [...topics].map((topic) => `'${BigInt(topic).toString(16)}'`);
4142
+ batches = [];
4143
+ for (let i = 0; i < ids.length; i += 512)
4144
+ batches.push([
4145
+ ...filters,
4146
+ `topic1 IN (SELECT concat('0x', leftPad(arrayJoin([${ids.slice(i, i + 512).join(', ')}]), 64, '0')))`,
4147
+ ]);
4148
+ }
4149
+ const rows = [];
4150
+ for (const filters of batches) {
4151
+ const result = await tidx.fetch({
4152
+ chainId,
4153
+ engine: 'clickhouse',
4154
+ // Raw state fields have no signature-backed result schema; every field is validated below.
4155
+ query: `
4156
+ WITH states AS (
4157
+ SELECT topic1,
4158
+ argMax(topic2, (block_num, log_idx)) AS t2,
4159
+ argMax(topic3, (block_num, log_idx)) AS t3,
4160
+ argMax(data, (block_num, log_idx)) AS payload,
4161
+ argMax(tx_hash, (block_num, log_idx)) AS state_tx_hash,
4162
+ argMax(block_num, (block_num, log_idx)) AS state_block_num,
4163
+ argMax(log_idx, (block_num, log_idx)) AS state_log_idx,
4164
+ argMax(block_timestamp, (block_num, log_idx)) AS state_timestamp
4165
+ FROM logs
4166
+ WHERE ${filters.join(' AND ')}
4167
+ GROUP BY topic1
4168
+ ORDER BY state_block_num DESC, state_log_idx DESC
4169
+ LIMIT ${scanCap + 1}
4170
+ )
4171
+ SELECT states.*,
4172
+ toString(sumIf(f."amountFilled",
4173
+ f.block_num > states.state_block_num OR
4174
+ (f.block_num = states.state_block_num AND f.log_idx > states.state_log_idx)
4175
+ )) AS amount_filled
4176
+ FROM states
4177
+ LEFT JOIN dex_fills f
4178
+ ON f.address = '${stablecoinDex}'
4179
+ AND f."orderId" = reinterpretAsUInt256(reverse(unhex(substring(states.topic1, 3))))
4180
+ GROUP BY states.topic1, states.t2, states.t3, states.payload,
4181
+ states.state_tx_hash, states.state_block_num, states.state_log_idx,
4182
+ states.state_timestamp
4183
+ ORDER BY states.state_block_num DESC, states.state_log_idx DESC
4184
+ `,
4185
+ });
4186
+ rows.push(...result.rows);
4187
+ }
4188
+ rows.sort((a, b) => Number(b['state_block_num']) - Number(a['state_block_num']) ||
4189
+ Number(b['state_log_idx']) - Number(a['state_log_idx']));
4190
+ truncated ||= rows.length > scanCap;
4191
+ const orders = [];
4192
+ for (const row of rows.slice(0, scanCap)) {
4193
+ const state = parseLatestOrderStateRow(row);
4194
+ if (state)
4195
+ orders.push(state);
4196
+ }
4197
+ return { orders, truncated };
4198
+ }
4199
+ /** Decodes one latest-state aggregate into a resting-order snapshot row. */
4200
+ function parseLatestOrderStateRow(row) {
4201
+ const topic1 = Value.toText(row['topic1']);
4202
+ const topic2 = Value.toText(row['t2']);
4203
+ const topic3 = Value.toText(row['t3']);
4204
+ const payload = Value.toText(row['payload']);
4205
+ const filled = Value.toIntegerString(row['amount_filled']);
4206
+ const blockNumber = Value.toNumber(row['state_block_num']);
4207
+ const logIndex = Value.toNumber(row['state_log_idx']);
4208
+ const timestamp = Value.toIsoDateTime(row['state_timestamp']);
4209
+ const transactionHash = Schema.Hash.safeParse(row['state_tx_hash']);
4210
+ const maker = Schema.Address.safeParse(topic2 === undefined ? undefined : `0x${topic2.slice(26).toLowerCase()}`);
4211
+ const token = Schema.TokenAddress.safeParse(topic3 === undefined ? undefined : `0x${topic3.slice(26).toLowerCase()}`);
4212
+ if (topic1 === undefined ||
4213
+ !/^0x[0-9a-fA-F]{64}$/.test(topic1) ||
4214
+ topic2 === undefined ||
4215
+ !/^0x[0-9a-fA-F]{64}$/.test(topic2) ||
4216
+ topic3 === undefined ||
4217
+ !/^0x[0-9a-fA-F]{64}$/.test(topic3) ||
4218
+ payload === undefined ||
4219
+ payload.length < 2 + 64 * 3 ||
4220
+ filled === undefined ||
4221
+ blockNumber === undefined ||
4222
+ logIndex === undefined ||
4223
+ timestamp === undefined ||
4224
+ !transactionHash.success ||
4225
+ !maker.success ||
4226
+ !token.success)
4227
+ return undefined;
4228
+ const amount = BigInt(`0x${payload.slice(2, 66)}`);
4229
+ const tickWord = BigInt(`0x${payload.slice(130, 194)}`);
4230
+ const tick = Number(tickWord >= 2n ** 255n ? tickWord - 2n ** 256n : tickWord);
4231
+ const remaining = amount - BigInt(filled);
4232
+ return {
4233
+ amount: amount.toString(),
4234
+ blockNumber,
4235
+ isBid: BigInt(`0x${payload.slice(66, 130)}`) !== 0n,
4236
+ logIndex,
4237
+ maker: maker.data,
4238
+ orderId: BigInt(topic1).toString(),
4239
+ remaining: remaining.toString(),
4240
+ tick,
4241
+ timestamp,
4242
+ token: token.data,
4243
+ transactionHash: transactionHash.data,
4244
+ };
4245
+ }
4076
4246
  /**
4077
4247
  * Resolves the set of cancelled `orderId`s in the snapshot window via batched
4078
4248
  * `OrderCancelled WHERE "orderId" IN (...)` queries. Empty input short-circuits