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
@@ -0,0 +1,257 @@
1
+ import { Hono } from 'hono';
2
+ import * as z from 'zod/mini';
3
+ import * as ApiKeys from '../../ApiKeys.js';
4
+ import * as Db from '../../db/Db.js';
5
+ import * as Organizations from '../../db/tables/organizations.js';
6
+ import * as Projects from '../../db/tables/projects.js';
7
+ import * as RoutesCatalog from '../../db/tables/routesCatalog.js';
8
+ import * as RoutesPolicies from '../../db/tables/routesPolicies.js';
9
+ import * as Catalog from '../../internal/routes/Catalog.js';
10
+ import * as Policy from '../../internal/routes/Policy.js';
11
+ import * as OpenApi from '../../internal/OpenApi.js';
12
+ import * as Response from '../../internal/Response.js';
13
+ export var schema;
14
+ (function (schema) {
15
+ schema.Query = Policy.schema.Scope;
16
+ schema.Body = z.strictObject({
17
+ policy: Policy.schema.Overrides,
18
+ scope: Policy.schema.Scope,
19
+ version: z
20
+ .number()
21
+ .check(z.int(), z.minimum(0), z.describe('Expected policy revision; zero for an unsaved scope.'), z.meta({ examples: [0] })),
22
+ });
23
+ schema.Route = z.extend(Policy.schema.Rule, {
24
+ destinationChainName: z
25
+ .string()
26
+ .check(z.describe('Destination network display name.'), z.meta({ examples: ['Tempo'] })),
27
+ destinationTokenSymbol: z
28
+ .string()
29
+ .check(z.describe('Destination token symbol.'), z.meta({ examples: ['USDC.e'] })),
30
+ label: z
31
+ .string()
32
+ .check(z.describe('Human-readable route and provider label.'), z.meta({ examples: ['Base USDC → Tempo USDC.e (stargate)'] })),
33
+ sourceChainName: z
34
+ .string()
35
+ .check(z.describe('Source network display name.'), z.meta({ examples: ['Base'] })),
36
+ sourceTokenSymbol: z
37
+ .string()
38
+ .check(z.describe('Source token symbol.'), z.meta({ examples: ['USDC'] })),
39
+ });
40
+ schema.Response = z.object({
41
+ name: z
42
+ .nullable(z.string())
43
+ .check(z.describe('Name of the organization, project, or API key being edited; null for unnamed keys.'), z.meta({ examples: ['Checkout'] })),
44
+ layers: z
45
+ .array(z.object({
46
+ policy: Policy.schema.Overrides,
47
+ scope: Policy.schema.Scope,
48
+ version: z.number().check(z.describe('Saved layer revision.'), z.meta({ examples: [1] })),
49
+ }))
50
+ .check(z.describe('Inherited layers in organization, project, and API-key order.'), z.meta({
51
+ examples: [
52
+ [
53
+ {
54
+ policy: {},
55
+ scope: { environment: 'production', orgId: 'org_1a2b3c4d5e6f7g8h9j0k1m2n' },
56
+ version: 0,
57
+ },
58
+ ],
59
+ ],
60
+ })),
61
+ legacy: z
62
+ .object({
63
+ maxAmount: z
64
+ .string()
65
+ .check(z.describe('Legacy per-transaction subsidy limit in USD.'), z.meta({ examples: ['0.05'] })),
66
+ subsidyEnabled: z
67
+ .boolean()
68
+ .check(z.describe('Whether legacy subsidies are enabled.'), z.meta({ examples: [true] })),
69
+ subsidyPayer: z
70
+ .literal('enterprise')
71
+ .check(z.describe('Payer for legacy subsidies.'), z.meta({ examples: ['enterprise'] })),
72
+ })
73
+ .check(z.describe('Legacy financial defaults inherited by unset fields.'), z.meta({
74
+ examples: [{ maxAmount: '0.05', subsidyEnabled: true, subsidyPayer: 'enterprise' }],
75
+ })),
76
+ policy: Policy.schema.Overrides,
77
+ routes: z.array(schema.Route).check(z.describe('Available routes and display labels.'), z.meta({
78
+ examples: [
79
+ [
80
+ {
81
+ destinationChainId: 'eip155:4217',
82
+ destinationChainName: 'Tempo',
83
+ destinationTokenId: 'usdce',
84
+ destinationTokenSymbol: 'USDC.e',
85
+ label: 'Base USDC → Tempo USDC.e (stargate)',
86
+ providerId: 'stargate',
87
+ sourceChainId: 'eip155:8453',
88
+ sourceChainName: 'Base',
89
+ sourceTokenId: 'usdc',
90
+ sourceTokenSymbol: 'USDC',
91
+ },
92
+ ],
93
+ ],
94
+ })),
95
+ scope: Policy.schema.Scope,
96
+ version: z
97
+ .number()
98
+ .check(z.describe('Saved policy revision; zero for an unsaved scope.'), z.meta({ examples: [1] })),
99
+ });
100
+ })(schema || (schema = {}));
101
+ /** Admin read/write API for independently versioned route-policy scopes. */
102
+ export function routePolicies() {
103
+ return new Hono()
104
+ .get('/', OpenApi.validate('query', schema.Query, { code: 'query_invalid', message: 'Invalid query' }), OpenApi.describeRoute({
105
+ operationId: 'getRoutePolicy',
106
+ responses: OpenApi.responses({
107
+ errors: { 404: 'Policy scope not found.' },
108
+ success: {
109
+ description: 'The policy scope, inherited layers, legacy defaults, and route catalog.',
110
+ schema: schema.Response,
111
+ },
112
+ }),
113
+ summary: 'Get route policy',
114
+ tags: ['Route Policies'],
115
+ }), async (c) => execute(c, async () => {
116
+ const scope = c.req.valid('query');
117
+ const db = Db.get(c.get('db'));
118
+ const entity = await validScope(c, scope);
119
+ if (!entity)
120
+ return notFound(c);
121
+ const [loaded, record, catalog] = await Promise.all([
122
+ RoutesPolicies.load(db, scope),
123
+ RoutesPolicies.get(db, scope),
124
+ Catalog.read(db),
125
+ ]);
126
+ return c.json(Response.validated(schema.Response, {
127
+ ...response(scope, record, loaded, catalog),
128
+ name: entity.name,
129
+ }));
130
+ }))
131
+ .put('/', OpenApi.validate('json', schema.Body, {
132
+ code: 'body_invalid',
133
+ message: 'Invalid request body',
134
+ }), OpenApi.describeRoute({
135
+ operationId: 'putRoutePolicy',
136
+ responses: OpenApi.responses({
137
+ errors: {
138
+ 400: 'Policy contains invalid rules.',
139
+ 404: 'Policy scope not found.',
140
+ 409: 'Policy version is stale.',
141
+ },
142
+ success: {
143
+ description: 'The saved policy scope and its inherited context.',
144
+ schema: schema.Response,
145
+ },
146
+ }),
147
+ summary: 'Save route policy',
148
+ tags: ['Route Policies'],
149
+ }), async (c) => execute(c, async () => {
150
+ const input = c.req.valid('json');
151
+ const policy = input.policy;
152
+ const db = Db.get(c.get('db'));
153
+ const entity = await validScope(c, input.scope);
154
+ if (!entity)
155
+ return notFound(c);
156
+ const catalog = Catalog.compile(await RoutesCatalog.read(db));
157
+ const existing = await RoutesPolicies.get(db, input.scope);
158
+ if (!rulesExist(policy, catalog, existing?.policy))
159
+ return Response.error(c, {
160
+ code: 'policy_rules_invalid',
161
+ message: 'Policy contains routes absent from the current catalog.',
162
+ status: 400,
163
+ });
164
+ try {
165
+ await RoutesPolicies.save(db, {
166
+ ...input,
167
+ policy,
168
+ validateScope: async () => Boolean(await validKeyScope(c, input.scope)),
169
+ });
170
+ }
171
+ catch (cause) {
172
+ if (cause instanceof RoutesPolicies.ConflictError)
173
+ return Response.error(c, {
174
+ code: 'version_conflict',
175
+ message: 'Policy version is stale.',
176
+ status: 409,
177
+ });
178
+ if (cause instanceof RoutesPolicies.InvalidScopeError)
179
+ return notFound(c);
180
+ throw cause;
181
+ }
182
+ const [loaded, record] = await Promise.all([
183
+ RoutesPolicies.load(db, input.scope),
184
+ RoutesPolicies.get(db, input.scope),
185
+ ]);
186
+ return c.json(Response.validated(schema.Response, {
187
+ ...response(input.scope, record, loaded, catalog),
188
+ name: entity.name,
189
+ }));
190
+ }));
191
+ }
192
+ async function validScope(c, scope) {
193
+ const db = Db.get(c.get('db'));
194
+ const organization = await Organizations.get(db, scope.orgId);
195
+ if (!organization)
196
+ return false;
197
+ const project = scope.projectId ? await Projects.get(db, scope.projectId) : undefined;
198
+ if (scope.projectId && (!project || project.orgId !== scope.orgId))
199
+ return false;
200
+ const key = await validKeyScope(c, scope);
201
+ if (!key)
202
+ return false;
203
+ return { name: key === true ? (project ?? organization).name : (key.name ?? null) };
204
+ }
205
+ async function validKeyScope(c, scope) {
206
+ if (scope.apiKeyId) {
207
+ const key = await ApiKeys.get(c.get('kv').store, scope.apiKeyId);
208
+ if (!key ||
209
+ key.orgId !== scope.orgId ||
210
+ key.projectId !== scope.projectId ||
211
+ key.environment !== scope.environment)
212
+ return false;
213
+ return key;
214
+ }
215
+ return true;
216
+ }
217
+ function rulesExist(policy, catalog, existing = {}) {
218
+ // Catalog removals must not prevent unrelated edits. Only unchanged rules in the same field survive.
219
+ return ['access', 'subsidyRoutes', 'terms'].every((field) => (policy[field] ?? []).every((rule) => catalog.routes.some((route) => Policy.allows([rule], Policy.fromRoute(route))) ||
220
+ (existing[field] ?? []).some((stored) => JSON.stringify(stored, Object.keys(stored).sort()) ===
221
+ JSON.stringify(rule, Object.keys(rule).sort()))));
222
+ }
223
+ function response(scope, record, loaded, catalog) {
224
+ return {
225
+ scope,
226
+ version: record?.version ?? 0,
227
+ policy: record?.policy ?? {},
228
+ ...loaded,
229
+ routes: catalog.routes.map((route) => ({
230
+ ...Policy.fromRoute(route),
231
+ destinationChainName: route.route.destination.chain.name,
232
+ destinationTokenSymbol: route.route.destination.symbol,
233
+ label: `${route.route.source.symbol} on ${route.route.source.chain.name} → ${route.route.destination.symbol} on ${route.route.destination.chain.name} (${route.providerId})`,
234
+ sourceChainName: route.route.source.chain.name,
235
+ sourceTokenSymbol: route.route.source.symbol,
236
+ })),
237
+ };
238
+ }
239
+ function notFound(c) {
240
+ return Response.error(c, {
241
+ code: 'policy_scope_not_found',
242
+ message: 'Policy scope not found.',
243
+ status: 404,
244
+ });
245
+ }
246
+ async function execute(c, operation) {
247
+ try {
248
+ return await operation();
249
+ }
250
+ catch (cause) {
251
+ c.get('metrics')?.count('admin_route_policy_failure_count', 1, {
252
+ operation: c.req.method === 'PUT' ? 'save' : 'read',
253
+ });
254
+ throw cause;
255
+ }
256
+ }
257
+ //# sourceMappingURL=route-policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-policies.js","sourceRoot":"","sources":["../../../src/admin/apps/route-policies.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Hono } from 'hono';
2
2
  import * as z from 'zod/mini';
3
- import { base, mainnet } from 'viem/chains';
4
3
  import { tempo } from 'viem/tempo/chains';
5
4
  import * as Db from '../../db/Db.js';
6
5
  import * as OpenApi from '../../internal/OpenApi.js';
7
6
  import * as RoutesCatalog from '../../internal/routes/Catalog.js';
7
+ import * as RoutesTransferSubsidy from '../../internal/routes/TransferSubsidy.js';
8
8
  /** Zod schemas owned by the admin route support matrix. */
9
9
  export var schema;
10
10
  (function (schema) {
@@ -111,6 +111,8 @@ function summarize(routes) {
111
111
  const rows = new Map();
112
112
  for (const providerRoute of routes) {
113
113
  const { capabilities, providerId, route } = providerRoute;
114
+ if (!isPartnerRoute(route))
115
+ continue;
114
116
  const id = `${route.source.chain.id}/${route.source.slug}-${route.destination.chain.id}/${route.destination.slug}`;
115
117
  const row = rows.get(id) ?? {
116
118
  depositAddressProviders: [],
@@ -134,14 +136,48 @@ function summarize(routes) {
134
136
  row.walletTransferProviders.push({ modes: [...capabilities.transfer.modes], providerId });
135
137
  row.subsidies.walletTransfer ||=
136
138
  capabilities.transfer.modes.includes('exactSource') &&
137
- route.source.chain.id === `eip155:${tempo.id}` &&
138
- [`eip155:${base.id}`, `eip155:${mainnet.id}`].includes(route.destination.chain.id) &&
139
+ RoutesTransferSubsidy.supportsRoute({
140
+ destinationChainId: route.destination.chain.id,
141
+ sourceChainId: route.source.chain.id,
142
+ tempoChainId: tempo.id,
143
+ }) &&
139
144
  usdPair;
140
145
  }
141
146
  rows.set(id, row);
142
147
  }
143
148
  return [...rows.values()];
144
149
  }
150
+ function isPartnerRoute(route) {
151
+ const { destination, source } = route;
152
+ if (destination.chain.slug === 'tempo') {
153
+ if (source.chain.slug === 'tempo')
154
+ return false;
155
+ if (source.slug === 'usdc') {
156
+ if (['pathusd', 'whishusd'].includes(destination.slug))
157
+ return true;
158
+ return (['base', 'ethereum', 'solana'].includes(source.chain.slug) &&
159
+ ['ousd', 'usdce', 'usdt0'].includes(destination.slug));
160
+ }
161
+ return (source.chain.slug === 'tron' &&
162
+ source.slug === 'usdt' &&
163
+ ['ousd', 'pathusd', 'usdce', 'usdt0', 'whishusd'].includes(destination.slug));
164
+ }
165
+ if (source.chain.slug !== 'tempo')
166
+ return false;
167
+ if (destination.chain.slug === 'tempo')
168
+ return false;
169
+ if (destination.slug === 'usdc') {
170
+ if (['pathusd', 'whishusd'].includes(source.slug))
171
+ return true;
172
+ if (source.slug === 'usdt0')
173
+ return ['base', 'ethereum', 'solana'].includes(destination.chain.slug);
174
+ return (['ousd', 'usdce'].includes(source.slug) &&
175
+ ['base', 'ethereum', 'solana'].includes(destination.chain.slug));
176
+ }
177
+ return (destination.chain.slug === 'tron' &&
178
+ destination.slug === 'usdt' &&
179
+ ['ousd', 'pathusd', 'usdce', 'usdt0', 'whishusd'].includes(source.slug));
180
+ }
145
181
  function pickChain(chain) {
146
182
  return { id: chain.id, name: chain.name, slug: chain.slug };
147
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"routes-support.js","sourceRoot":"","sources":["../../../src/admin/apps/routes-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes-support.js","sourceRoot":"","sources":["../../../src/admin/apps/routes-support.ts"],"names":[],"mappings":"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"}