tapimo 0.15.1 → 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 (709) 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 +893 -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 +70 -70
  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 +529 -76
  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 +157 -157
  45. package/dist/admin/index.d.ts +0 -1
  46. package/dist/admin/index.d.ts.map +1 -1
  47. package/dist/admin/index.js +0 -1
  48. package/dist/admin/index.js.map +1 -1
  49. package/dist/admin/ui.generated.d.ts +1 -1
  50. package/dist/admin/ui.generated.d.ts.map +1 -1
  51. package/dist/admin/ui.generated.js +205 -201
  52. package/dist/admin/ui.generated.js.map +1 -1
  53. package/dist/analytics/Analytics.d.ts.map +1 -1
  54. package/dist/analytics/Analytics.js +65 -1
  55. package/dist/analytics/Analytics.js.map +1 -1
  56. package/dist/analytics/tables/requestEvents.d.ts +1 -1
  57. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  58. package/dist/analytics/tables/requestEvents.js +58 -59
  59. package/dist/analytics/tables/requestEvents.js.map +1 -1
  60. package/dist/apps/data/App.d.ts +2709 -2670
  61. package/dist/apps/data/App.d.ts.map +1 -1
  62. package/dist/apps/data/routes/activities.d.ts +357 -357
  63. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  64. package/dist/apps/data/routes/activities.js +50 -0
  65. package/dist/apps/data/routes/activities.js.map +1 -1
  66. package/dist/apps/data/routes/addresses.d.ts +248 -248
  67. package/dist/apps/data/routes/balances.d.ts +22 -22
  68. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  69. package/dist/apps/data/routes/balances.js +5 -7
  70. package/dist/apps/data/routes/balances.js.map +1 -1
  71. package/dist/apps/data/routes/blocks.d.ts +125 -125
  72. package/dist/apps/data/routes/coingecko.d.ts +54 -54
  73. package/dist/apps/data/routes/earn.d.ts +103 -12
  74. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  75. package/dist/apps/data/routes/earn.js +456 -220
  76. package/dist/apps/data/routes/earn.js.map +1 -1
  77. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  78. package/dist/apps/data/routes/exchanges.js +267 -97
  79. package/dist/apps/data/routes/exchanges.js.map +1 -1
  80. package/dist/apps/data/routes/fee-amm.d.ts +109 -127
  81. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  82. package/dist/apps/data/routes/fee-amm.js +83 -54
  83. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  84. package/dist/apps/data/routes/indexer.d.ts +43 -43
  85. package/dist/apps/data/routes/receipts.d.ts +235 -235
  86. package/dist/apps/data/routes/rpc.d.ts +30 -30
  87. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  88. package/dist/apps/data/routes/tokens.js +11 -6
  89. package/dist/apps/data/routes/tokens.js.map +1 -1
  90. package/dist/apps/data/routes/transactions.d.ts +2 -0
  91. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  92. package/dist/apps/data/routes/transactions.js +30 -22
  93. package/dist/apps/data/routes/transactions.js.map +1 -1
  94. package/dist/apps/data/routes/transfers.d.ts +77 -77
  95. package/dist/apps/data/routes/valuation.d.ts +32 -32
  96. package/dist/apps/data/routes/verified-tokens.d.ts +86 -86
  97. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  98. package/dist/apps/data/routes/webhooks.js +1 -1
  99. package/dist/apps/data/routes/webhooks.js.map +1 -1
  100. package/dist/apps/data/routes/zones.d.ts +31 -31
  101. package/dist/apps/management/App.d.ts +2909 -2064
  102. package/dist/apps/management/App.d.ts.map +1 -1
  103. package/dist/apps/management/App.js +2 -0
  104. package/dist/apps/management/App.js.map +1 -1
  105. package/dist/apps/management/Billing.d.ts +2 -4
  106. package/dist/apps/management/Billing.d.ts.map +1 -1
  107. package/dist/apps/management/Billing.js +65 -26
  108. package/dist/apps/management/Billing.js.map +1 -1
  109. package/dist/apps/management/routes/api-keys.d.ts +257 -245
  110. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  111. package/dist/apps/management/routes/api-keys.js +70 -11
  112. package/dist/apps/management/routes/api-keys.js.map +1 -1
  113. package/dist/apps/management/routes/billing.d.ts +84 -84
  114. package/dist/apps/management/routes/cli.d.ts +912 -0
  115. package/dist/apps/management/routes/cli.d.ts.map +1 -0
  116. package/dist/apps/management/routes/cli.js +416 -0
  117. package/dist/apps/management/routes/cli.js.map +1 -0
  118. package/dist/apps/management/routes/faucet.d.ts +8 -8
  119. package/dist/apps/management/routes/invitations.d.ts +138 -138
  120. package/dist/apps/management/routes/invite-links.d.ts +172 -172
  121. package/dist/apps/management/routes/members.d.ts +16 -16
  122. package/dist/apps/management/routes/orgs.d.ts +104 -104
  123. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  124. package/dist/apps/management/routes/orgs.js +8 -2
  125. package/dist/apps/management/routes/orgs.js.map +1 -1
  126. package/dist/apps/management/routes/projects.d.ts +125 -125
  127. package/dist/apps/management/routes/usage.d.ts +8 -8
  128. package/dist/apps/management/routes/verified-token-requests.d.ts +86 -86
  129. package/dist/apps/management/routes/webhooks.d.ts +485 -485
  130. package/dist/apps/mpp/App.d.ts +44 -44
  131. package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
  132. package/dist/apps/mpp/internal/Policy.js +4 -2
  133. package/dist/apps/mpp/internal/Policy.js.map +1 -1
  134. package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -1
  135. package/dist/apps/mpp/internal/Sponsorship.js +6 -4
  136. package/dist/apps/mpp/internal/Sponsorship.js.map +1 -1
  137. package/dist/apps/relay/App.d.ts +8 -0
  138. package/dist/apps/relay/App.d.ts.map +1 -1
  139. package/dist/apps/relay/App.js +16 -4
  140. package/dist/apps/relay/App.js.map +1 -1
  141. package/dist/apps/relay/Sponsorships.d.ts +4 -6
  142. package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
  143. package/dist/apps/relay/Sponsorships.js +71 -60
  144. package/dist/apps/relay/Sponsorships.js.map +1 -1
  145. package/dist/apps/routes/Access.d.ts +53 -0
  146. package/dist/apps/routes/Access.d.ts.map +1 -1
  147. package/dist/apps/routes/Access.js +121 -0
  148. package/dist/apps/routes/Access.js.map +1 -1
  149. package/dist/apps/routes/App.d.ts +397 -158
  150. package/dist/apps/routes/App.d.ts.map +1 -1
  151. package/dist/apps/routes/App.js.map +1 -1
  152. package/dist/apps/routes/routes/chains.d.ts +25 -25
  153. package/dist/apps/routes/routes/deposit-addresses.d.ts +169 -61
  154. package/dist/apps/routes/routes/deposit-addresses.d.ts.map +1 -1
  155. package/dist/apps/routes/routes/deposit-addresses.js +217 -32
  156. package/dist/apps/routes/routes/deposit-addresses.js.map +1 -1
  157. package/dist/apps/routes/routes/quotes.d.ts +171 -81
  158. package/dist/apps/routes/routes/quotes.d.ts.map +1 -1
  159. package/dist/apps/routes/routes/quotes.js +101 -27
  160. package/dist/apps/routes/routes/quotes.js.map +1 -1
  161. package/dist/apps/routes/routes/transfers.d.ts +532 -480
  162. package/dist/apps/routes/routes/transfers.d.ts.map +1 -1
  163. package/dist/apps/routes/routes/transfers.js +182 -37
  164. package/dist/apps/routes/routes/transfers.js.map +1 -1
  165. package/dist/cli/ApiKeys.d.ts +120 -0
  166. package/dist/cli/ApiKeys.d.ts.map +1 -0
  167. package/dist/cli/ApiKeys.js +138 -0
  168. package/dist/cli/ApiKeys.js.map +1 -0
  169. package/dist/cli/Cli.d.ts +92 -34
  170. package/dist/cli/Cli.d.ts.map +1 -1
  171. package/dist/cli/Cli.js +188 -11
  172. package/dist/cli/Cli.js.map +1 -1
  173. package/dist/cli/Credentials.d.ts +95 -0
  174. package/dist/cli/Credentials.d.ts.map +1 -0
  175. package/dist/cli/Credentials.js +110 -0
  176. package/dist/cli/Credentials.js.map +1 -0
  177. package/dist/cli/Spec.d.ts +59 -0
  178. package/dist/cli/Spec.d.ts.map +1 -0
  179. package/dist/cli/Spec.js +77 -0
  180. package/dist/cli/Spec.js.map +1 -0
  181. package/dist/cli/bin.js +5 -1
  182. package/dist/cli/bin.js.map +1 -1
  183. package/dist/cli/commands/admin.d.ts +5 -5
  184. package/dist/cli/commands/admin.d.ts.map +1 -1
  185. package/dist/cli/commands/auth.d.ts +73 -0
  186. package/dist/cli/commands/auth.d.ts.map +1 -0
  187. package/dist/cli/commands/auth.js +204 -0
  188. package/dist/cli/commands/auth.js.map +1 -0
  189. package/dist/cli/commands/keys.d.ts +17 -0
  190. package/dist/cli/commands/keys.d.ts.map +1 -0
  191. package/dist/cli/commands/keys.js +109 -0
  192. package/dist/cli/commands/keys.js.map +1 -0
  193. package/dist/cloudflare.d.ts +27 -2
  194. package/dist/cloudflare.d.ts.map +1 -1
  195. package/dist/cloudflare.js +144 -17
  196. package/dist/cloudflare.js.map +1 -1
  197. package/dist/db/Db.d.ts +23 -0
  198. package/dist/db/Db.d.ts.map +1 -1
  199. package/dist/db/Db.js +413 -1
  200. package/dist/db/Db.js.map +1 -1
  201. package/dist/db/Schema.d.ts +44 -1
  202. package/dist/db/Schema.d.ts.map +1 -1
  203. package/dist/db/Schema.js +56 -3
  204. package/dist/db/Schema.js.map +1 -1
  205. package/dist/db/tables/apiKeyAdmissions.d.ts +28 -2
  206. package/dist/db/tables/apiKeyAdmissions.d.ts.map +1 -1
  207. package/dist/db/tables/apiKeyAdmissions.js +65 -9
  208. package/dist/db/tables/apiKeyAdmissions.js.map +1 -1
  209. package/dist/db/tables/apiKeyOwnerTombstones.d.ts +2 -0
  210. package/dist/db/tables/apiKeyOwnerTombstones.d.ts.map +1 -1
  211. package/dist/db/tables/apiKeyOwnerTombstones.js +2 -2
  212. package/dist/db/tables/apiKeyOwnerTombstones.js.map +1 -1
  213. package/dist/db/tables/authAccounts.d.ts.map +1 -1
  214. package/dist/db/tables/authAccounts.js +1 -0
  215. package/dist/db/tables/authAccounts.js.map +1 -1
  216. package/dist/db/tables/earnVaults.d.ts +5 -1
  217. package/dist/db/tables/earnVaults.d.ts.map +1 -1
  218. package/dist/db/tables/earnVaults.js +12 -1
  219. package/dist/db/tables/earnVaults.js.map +1 -1
  220. package/dist/db/tables/organizations.d.ts +4 -2
  221. package/dist/db/tables/organizations.d.ts.map +1 -1
  222. package/dist/db/tables/organizations.js +8 -34
  223. package/dist/db/tables/organizations.js.map +1 -1
  224. package/dist/db/tables/requestUsage.d.ts +5 -1
  225. package/dist/db/tables/requestUsage.d.ts.map +1 -1
  226. package/dist/db/tables/requestUsage.js +10 -2
  227. package/dist/db/tables/requestUsage.js.map +1 -1
  228. package/dist/db/tables/rewardEligibilityAssociations.d.ts +13 -0
  229. package/dist/db/tables/rewardEligibilityAssociations.d.ts.map +1 -1
  230. package/dist/db/tables/rewardEligibilityAssociations.js +11 -0
  231. package/dist/db/tables/rewardEligibilityAssociations.js.map +1 -1
  232. package/dist/db/tables/rewardRuns.d.ts.map +1 -1
  233. package/dist/db/tables/rewardRuns.js +4 -0
  234. package/dist/db/tables/rewardRuns.js.map +1 -1
  235. package/dist/db/tables/rewardTransactionAttempts.d.ts.map +1 -1
  236. package/dist/db/tables/rewardTransactionAttempts.js +2 -0
  237. package/dist/db/tables/rewardTransactionAttempts.js.map +1 -1
  238. package/dist/db/tables/routesDepositAddresses.d.ts +29 -0
  239. package/dist/db/tables/routesDepositAddresses.d.ts.map +1 -1
  240. package/dist/db/tables/routesDepositAddresses.js +84 -31
  241. package/dist/db/tables/routesDepositAddresses.js.map +1 -1
  242. package/dist/db/tables/routesDeposits.d.ts.map +1 -1
  243. package/dist/db/tables/routesDeposits.js +31 -21
  244. package/dist/db/tables/routesDeposits.js.map +1 -1
  245. package/dist/db/tables/routesIdempotency.d.ts.map +1 -1
  246. package/dist/db/tables/routesIdempotency.js +2 -0
  247. package/dist/db/tables/routesIdempotency.js.map +1 -1
  248. package/dist/db/tables/routesPolicies.d.ts +58 -0
  249. package/dist/db/tables/routesPolicies.d.ts.map +1 -0
  250. package/dist/db/tables/routesPolicies.js +198 -0
  251. package/dist/db/tables/routesPolicies.js.map +1 -0
  252. package/dist/db/tables/routesTransferSubsidies.d.ts +22 -0
  253. package/dist/db/tables/routesTransferSubsidies.d.ts.map +1 -1
  254. package/dist/db/tables/routesTransferSubsidies.js +41 -0
  255. package/dist/db/tables/routesTransferSubsidies.js.map +1 -1
  256. package/dist/db/tables/routesTransferSubsidyNonces.d.ts.map +1 -1
  257. package/dist/db/tables/routesTransferSubsidyNonces.js +12 -4
  258. package/dist/db/tables/routesTransferSubsidyNonces.js.map +1 -1
  259. package/dist/db/tables/routesTransfers.d.ts +26 -1
  260. package/dist/db/tables/routesTransfers.d.ts.map +1 -1
  261. package/dist/db/tables/routesTransfers.js +36 -6
  262. package/dist/db/tables/routesTransfers.js.map +1 -1
  263. package/dist/db/tables/sponsoredTransactions.d.ts +45 -13
  264. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  265. package/dist/db/tables/sponsoredTransactions.js +144 -33
  266. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  267. package/dist/db/tables/users.d.ts +2 -0
  268. package/dist/db/tables/users.d.ts.map +1 -1
  269. package/dist/db/tables/users.js +11 -0
  270. package/dist/db/tables/users.js.map +1 -1
  271. package/dist/handlers/internal/multisig.d.ts +1 -1
  272. package/dist/handlers/internal/multisig.d.ts.map +1 -1
  273. package/dist/handlers/internal/multisig.js +3 -2
  274. package/dist/handlers/internal/multisig.js.map +1 -1
  275. package/dist/handlers/relay.d.ts +2 -0
  276. package/dist/handlers/relay.d.ts.map +1 -1
  277. package/dist/handlers/relay.js +34 -15
  278. package/dist/handlers/relay.js.map +1 -1
  279. package/dist/internal/Auth.d.ts +57 -6
  280. package/dist/internal/Auth.d.ts.map +1 -1
  281. package/dist/internal/Auth.js +182 -78
  282. package/dist/internal/Auth.js.map +1 -1
  283. package/dist/internal/BetterAuth.d.ts +22 -0
  284. package/dist/internal/BetterAuth.d.ts.map +1 -1
  285. package/dist/internal/BetterAuth.js +17 -14
  286. package/dist/internal/BetterAuth.js.map +1 -1
  287. package/dist/internal/Cache.d.ts +5 -0
  288. package/dist/internal/Cache.d.ts.map +1 -1
  289. package/dist/internal/Cache.js +3 -1
  290. package/dist/internal/Cache.js.map +1 -1
  291. package/dist/internal/CliAuth.d.ts +243 -0
  292. package/dist/internal/CliAuth.d.ts.map +1 -0
  293. package/dist/internal/CliAuth.js +249 -0
  294. package/dist/internal/CliAuth.js.map +1 -0
  295. package/dist/internal/EarnSharePrices.d.ts +1 -1
  296. package/dist/internal/EarnSharePrices.d.ts.map +1 -1
  297. package/dist/internal/EarnSharePrices.js +7 -3
  298. package/dist/internal/EarnSharePrices.js.map +1 -1
  299. package/dist/internal/EarnVaults.d.ts +47 -0
  300. package/dist/internal/EarnVaults.d.ts.map +1 -1
  301. package/dist/internal/EarnVaults.js +188 -4
  302. package/dist/internal/EarnVaults.js.map +1 -1
  303. package/dist/internal/EarnWithdrawals.d.ts +73 -0
  304. package/dist/internal/EarnWithdrawals.d.ts.map +1 -0
  305. package/dist/internal/EarnWithdrawals.js +189 -0
  306. package/dist/internal/EarnWithdrawals.js.map +1 -0
  307. package/dist/internal/ExecutionContext.d.ts +21 -0
  308. package/dist/internal/ExecutionContext.d.ts.map +1 -0
  309. package/dist/internal/ExecutionContext.js +16 -0
  310. package/dist/internal/ExecutionContext.js.map +1 -0
  311. package/dist/internal/Log.d.ts +7 -3
  312. package/dist/internal/Log.d.ts.map +1 -1
  313. package/dist/internal/Log.js +163 -130
  314. package/dist/internal/Log.js.map +1 -1
  315. package/dist/internal/MetricSink.d.ts.map +1 -1
  316. package/dist/internal/MetricSink.js +26 -1
  317. package/dist/internal/MetricSink.js.map +1 -1
  318. package/dist/internal/RateLimit.d.ts +67 -0
  319. package/dist/internal/RateLimit.d.ts.map +1 -1
  320. package/dist/internal/RateLimit.js +174 -27
  321. package/dist/internal/RateLimit.js.map +1 -1
  322. package/dist/internal/Store.d.ts +6 -0
  323. package/dist/internal/Store.d.ts.map +1 -1
  324. package/dist/internal/Store.js +4 -5
  325. package/dist/internal/Store.js.map +1 -1
  326. package/dist/internal/Timing.d.ts +6 -0
  327. package/dist/internal/Timing.d.ts.map +1 -1
  328. package/dist/internal/Timing.js +21 -1
  329. package/dist/internal/Timing.js.map +1 -1
  330. package/dist/internal/Tron.d.ts +124 -0
  331. package/dist/internal/Tron.d.ts.map +1 -0
  332. package/dist/internal/Tron.js +202 -0
  333. package/dist/internal/Tron.js.map +1 -0
  334. package/dist/internal/Viem.d.ts +4 -0
  335. package/dist/internal/Viem.d.ts.map +1 -1
  336. package/dist/internal/Viem.js +25 -6
  337. package/dist/internal/Viem.js.map +1 -1
  338. package/dist/internal/rewards/Read.d.ts +2 -2
  339. package/dist/internal/rewards/Read.d.ts.map +1 -1
  340. package/dist/internal/rewards/Read.js +11 -2
  341. package/dist/internal/rewards/Read.js.map +1 -1
  342. package/dist/internal/routes/Action.d.ts +27 -0
  343. package/dist/internal/routes/Action.d.ts.map +1 -1
  344. package/dist/internal/routes/Action.js +49 -1
  345. package/dist/internal/routes/Action.js.map +1 -1
  346. package/dist/internal/routes/Chain.d.ts +2 -0
  347. package/dist/internal/routes/Chain.d.ts.map +1 -1
  348. package/dist/internal/routes/Chain.js +4 -0
  349. package/dist/internal/routes/Chain.js.map +1 -1
  350. package/dist/internal/routes/DepositAddress.d.ts.map +1 -1
  351. package/dist/internal/routes/DepositAddress.js +5 -0
  352. package/dist/internal/routes/DepositAddress.js.map +1 -1
  353. package/dist/internal/routes/Evidence.d.ts.map +1 -1
  354. package/dist/internal/routes/Evidence.js +6 -2
  355. package/dist/internal/routes/Evidence.js.map +1 -1
  356. package/dist/internal/routes/EvmTransferSettlement.d.ts +17 -0
  357. package/dist/internal/routes/EvmTransferSettlement.d.ts.map +1 -0
  358. package/dist/internal/routes/EvmTransferSettlement.js +196 -0
  359. package/dist/internal/routes/EvmTransferSettlement.js.map +1 -0
  360. package/dist/internal/routes/Policy.d.ts +161 -0
  361. package/dist/internal/routes/Policy.d.ts.map +1 -0
  362. package/dist/internal/routes/Policy.js +249 -0
  363. package/dist/internal/routes/Policy.js.map +1 -0
  364. package/dist/internal/routes/Provider.d.ts +66 -3
  365. package/dist/internal/routes/Provider.d.ts.map +1 -1
  366. package/dist/internal/routes/Provider.js +106 -27
  367. package/dist/internal/routes/Provider.js.map +1 -1
  368. package/dist/internal/routes/Quota.d.ts +57 -0
  369. package/dist/internal/routes/Quota.d.ts.map +1 -0
  370. package/dist/internal/routes/Quota.js +144 -0
  371. package/dist/internal/routes/Quota.js.map +1 -0
  372. package/dist/internal/routes/Reconciliation.d.ts.map +1 -1
  373. package/dist/internal/routes/Reconciliation.js +163 -47
  374. package/dist/internal/routes/Reconciliation.js.map +1 -1
  375. package/dist/internal/routes/SolanaTransferSettlement.d.ts +12 -0
  376. package/dist/internal/routes/SolanaTransferSettlement.d.ts.map +1 -0
  377. package/dist/internal/routes/SolanaTransferSettlement.js +220 -0
  378. package/dist/internal/routes/SolanaTransferSettlement.js.map +1 -0
  379. package/dist/internal/routes/SolanaTransferSubsidy.d.ts +172 -0
  380. package/dist/internal/routes/SolanaTransferSubsidy.d.ts.map +1 -0
  381. package/dist/internal/routes/SolanaTransferSubsidy.js +564 -0
  382. package/dist/internal/routes/SolanaTransferSubsidy.js.map +1 -0
  383. package/dist/internal/routes/Subsidy.d.ts +2 -2
  384. package/dist/internal/routes/Subsidy.d.ts.map +1 -1
  385. package/dist/internal/routes/Subsidy.js +2 -2
  386. package/dist/internal/routes/Subsidy.js.map +1 -1
  387. package/dist/internal/routes/Transfer.d.ts +229 -1
  388. package/dist/internal/routes/Transfer.d.ts.map +1 -1
  389. package/dist/internal/routes/Transfer.js +644 -7
  390. package/dist/internal/routes/Transfer.js.map +1 -1
  391. package/dist/internal/routes/TransferReconciliation.d.ts +6 -0
  392. package/dist/internal/routes/TransferReconciliation.d.ts.map +1 -1
  393. package/dist/internal/routes/TransferReconciliation.js +83 -159
  394. package/dist/internal/routes/TransferReconciliation.js.map +1 -1
  395. package/dist/internal/routes/TransferSettlement.d.ts +45 -0
  396. package/dist/internal/routes/TransferSettlement.d.ts.map +1 -0
  397. package/dist/internal/routes/TransferSettlement.js +2 -0
  398. package/dist/internal/routes/TransferSettlement.js.map +1 -0
  399. package/dist/internal/routes/TransferSubsidy.d.ts +23 -8
  400. package/dist/internal/routes/TransferSubsidy.d.ts.map +1 -1
  401. package/dist/internal/routes/TransferSubsidy.js +64 -5
  402. package/dist/internal/routes/TransferSubsidy.js.map +1 -1
  403. package/dist/internal/routes/TronTransferSettlement.d.ts +12 -0
  404. package/dist/internal/routes/TronTransferSettlement.d.ts.map +1 -0
  405. package/dist/internal/routes/TronTransferSettlement.js +201 -0
  406. package/dist/internal/routes/TronTransferSettlement.js.map +1 -0
  407. package/dist/internal/routes/TronTransferSubsidy.d.ts +174 -0
  408. package/dist/internal/routes/TronTransferSubsidy.d.ts.map +1 -0
  409. package/dist/internal/routes/TronTransferSubsidy.js +439 -0
  410. package/dist/internal/routes/TronTransferSubsidy.js.map +1 -0
  411. package/dist/internal/routes/index.d.ts +3 -0
  412. package/dist/internal/routes/index.d.ts.map +1 -1
  413. package/dist/internal/routes/index.js +3 -0
  414. package/dist/internal/routes/index.js.map +1 -1
  415. package/dist/internal/routes/providers/across.d.ts +3 -0
  416. package/dist/internal/routes/providers/across.d.ts.map +1 -1
  417. package/dist/internal/routes/providers/across.js +11 -0
  418. package/dist/internal/routes/providers/across.js.map +1 -1
  419. package/dist/internal/routes/providers/legacyMesh.d.ts +29 -0
  420. package/dist/internal/routes/providers/legacyMesh.d.ts.map +1 -0
  421. package/dist/internal/routes/providers/legacyMesh.js +474 -0
  422. package/dist/internal/routes/providers/legacyMesh.js.map +1 -0
  423. package/dist/internal/routes/providers/legacyMeshDelivery.d.ts +59 -0
  424. package/dist/internal/routes/providers/legacyMeshDelivery.d.ts.map +1 -0
  425. package/dist/internal/routes/providers/legacyMeshDelivery.js +229 -0
  426. package/dist/internal/routes/providers/legacyMeshDelivery.js.map +1 -0
  427. package/dist/internal/routes/providers/legacyMeshOutbound.d.ts +19 -0
  428. package/dist/internal/routes/providers/legacyMeshOutbound.d.ts.map +1 -0
  429. package/dist/internal/routes/providers/legacyMeshOutbound.js +457 -0
  430. package/dist/internal/routes/providers/legacyMeshOutbound.js.map +1 -0
  431. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts +123 -0
  432. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts.map +1 -0
  433. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js +333 -0
  434. package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js.map +1 -0
  435. package/dist/internal/routes/providers/propAmm.d.ts +70 -0
  436. package/dist/internal/routes/providers/propAmm.d.ts.map +1 -0
  437. package/dist/internal/routes/providers/propAmm.js +524 -0
  438. package/dist/internal/routes/providers/propAmm.js.map +1 -0
  439. package/dist/internal/routes/providers/relay.d.ts +3 -0
  440. package/dist/internal/routes/providers/relay.d.ts.map +1 -1
  441. package/dist/internal/routes/providers/relay.js +352 -41
  442. package/dist/internal/routes/providers/relay.js.map +1 -1
  443. package/dist/internal/routes/providers/rhino.d.ts +3 -0
  444. package/dist/internal/routes/providers/rhino.d.ts.map +1 -1
  445. package/dist/internal/routes/providers/rhino.js +11 -0
  446. package/dist/internal/routes/providers/rhino.js.map +1 -1
  447. package/dist/internal/routes/providers/squid.d.ts +3 -0
  448. package/dist/internal/routes/providers/squid.d.ts.map +1 -1
  449. package/dist/internal/routes/providers/squid.js +19 -0
  450. package/dist/internal/routes/providers/squid.js.map +1 -1
  451. package/dist/internal/routes/providers/stargate.d.ts.map +1 -1
  452. package/dist/internal/routes/providers/stargate.js +22 -9
  453. package/dist/internal/routes/providers/stargate.js.map +1 -1
  454. package/dist/internal/routes/providers/symbiosis.d.ts.map +1 -1
  455. package/dist/internal/routes/providers/symbiosis.js +13 -17
  456. package/dist/internal/routes/providers/symbiosis.js.map +1 -1
  457. package/dist/providers/index.d.ts +14 -0
  458. package/dist/providers/index.d.ts.map +1 -1
  459. package/dist/providers/index.js +6 -0
  460. package/dist/providers/index.js.map +1 -1
  461. package/package.json +16 -6
  462. package/src/ApiKey.ts +7 -3
  463. package/src/ApiKeys.test.ts +652 -8
  464. package/src/ApiKeys.ts +191 -11
  465. package/src/App.test.ts +405 -18
  466. package/src/App.ts +51 -15
  467. package/src/Client.test-d.ts +157 -10
  468. package/src/Client.test.ts +4 -4
  469. package/src/Scope.ts +1 -2
  470. package/src/admin/App.ts +11 -5
  471. package/src/admin/apps/api-keys.test.ts +98 -2
  472. package/src/admin/apps/api-keys.ts +21 -12
  473. package/src/admin/apps/earn-vaults.test.ts +76 -7
  474. package/src/admin/apps/earn-vaults.ts +47 -8
  475. package/src/admin/apps/organizations.test.ts +147 -31
  476. package/src/admin/apps/organizations.ts +5 -4
  477. package/src/admin/apps/route-policies.test.ts +220 -0
  478. package/src/admin/apps/route-policies.ts +322 -0
  479. package/src/admin/apps/routes-support.test.ts +107 -2
  480. package/src/admin/apps/routes-support.ts +43 -3
  481. package/src/admin/apps/routes.test.ts +150 -0
  482. package/src/admin/apps/routes.ts +97 -1
  483. package/src/admin/apps/scopes.test.ts +1 -1
  484. package/src/admin/index.ts +0 -1
  485. package/src/admin/ui/plugin.ts +2 -1
  486. package/src/admin/ui/src/components/Dialog.tsx +1 -1
  487. package/src/admin/ui/src/components/EarnVaultForm.tsx +45 -0
  488. package/src/admin/ui/src/components/RoutePicker.tsx +79 -0
  489. package/src/admin/ui/src/lib/earn-vaults.ts +1 -1
  490. package/src/admin/ui/src/lib/route-policies.test.ts +452 -0
  491. package/src/admin/ui/src/lib/route-policies.ts +232 -0
  492. package/src/admin/ui/src/lib/routes.ts +34 -0
  493. package/src/admin/ui/src/routeTree.gen.ts +21 -0
  494. package/src/admin/ui/src/routes/api-keys.tsx +21 -2
  495. package/src/admin/ui/src/routes/early-access.tsx +1 -0
  496. package/src/admin/ui/src/routes/earn.vaults.tsx +1 -0
  497. package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +22 -0
  498. package/src/admin/ui/src/routes/earn.vaults_.new.tsx +10 -0
  499. package/src/admin/ui/src/routes/organizations.tsx +1 -0
  500. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +18 -3
  501. package/src/admin/ui/src/routes/route-policies.tsx +678 -0
  502. package/src/admin/ui/src/routes/routes.tsx +85 -2
  503. package/src/admin/ui/src/routes/routes_.support.tsx +6 -22
  504. package/src/admin/ui/src/routes/subsidies.tsx +1 -0
  505. package/src/admin/ui/src/routes/verified-tokens.tsx +1 -0
  506. package/src/admin/ui.generated.ts +258 -202
  507. package/src/analytics/Analytics.test.ts +4 -50
  508. package/src/analytics/Analytics.ts +65 -1
  509. package/src/analytics/tables/requestEvents.test.ts +402 -1
  510. package/src/analytics/tables/requestEvents.ts +62 -93
  511. package/src/apps/data/routes/activities.test.ts +315 -14
  512. package/src/apps/data/routes/activities.ts +60 -0
  513. package/src/apps/data/routes/balances.ts +5 -7
  514. package/src/apps/data/routes/earn.bench.ts +18 -0
  515. package/src/apps/data/routes/earn.local.test.ts +507 -0
  516. package/src/apps/data/routes/earn.test.ts +405 -127
  517. package/src/apps/data/routes/earn.ts +660 -270
  518. package/src/apps/data/routes/exchanges.bench.ts +3 -1
  519. package/src/apps/data/routes/exchanges.test.ts +166 -2
  520. package/src/apps/data/routes/exchanges.ts +308 -101
  521. package/src/apps/data/routes/fee-amm.test.ts +134 -2
  522. package/src/apps/data/routes/fee-amm.ts +122 -60
  523. package/src/apps/data/routes/receipts.test.ts +21 -18
  524. package/src/apps/data/routes/rpc.test.ts +2 -2
  525. package/src/apps/data/routes/tokens.provenance.test.ts +157 -0
  526. package/src/apps/data/routes/tokens.test.ts +4 -4
  527. package/src/apps/data/routes/tokens.ts +11 -6
  528. package/src/apps/data/routes/transactions.test.ts +29 -0
  529. package/src/apps/data/routes/transactions.ts +33 -22
  530. package/src/apps/data/routes/webhooks.test.ts +12 -3
  531. package/src/apps/data/routes/webhooks.ts +2 -1
  532. package/src/apps/management/App.ts +4 -0
  533. package/src/apps/management/Billing.test.ts +253 -27
  534. package/src/apps/management/Billing.ts +83 -29
  535. package/src/apps/management/routes/api-keys.test.ts +1 -1
  536. package/src/apps/management/routes/api-keys.ts +85 -11
  537. package/src/apps/management/routes/billing.test.ts +68 -4
  538. package/src/apps/management/routes/cli.test.ts +370 -0
  539. package/src/apps/management/routes/cli.ts +533 -0
  540. package/src/apps/management/routes/me.test.ts +14 -4
  541. package/src/apps/management/routes/orgs.test.ts +108 -4
  542. package/src/apps/management/routes/orgs.ts +7 -2
  543. package/src/apps/management/routes/usage.test.ts +2 -2
  544. package/src/apps/mpp/internal/Policy.test.ts +51 -4
  545. package/src/apps/mpp/internal/Policy.ts +6 -2
  546. package/src/apps/mpp/internal/Sponsorship.test.ts +29 -0
  547. package/src/apps/mpp/internal/Sponsorship.ts +6 -4
  548. package/src/apps/relay/App.test.ts +85 -1
  549. package/src/apps/relay/App.ts +28 -4
  550. package/src/apps/relay/Sponsorships.test.ts +97 -1
  551. package/src/apps/relay/Sponsorships.ts +77 -66
  552. package/src/apps/routes/Access.test.ts +319 -0
  553. package/src/apps/routes/Access.ts +147 -0
  554. package/src/apps/routes/App.ts +10 -0
  555. package/src/apps/routes/routes/chains.test.ts +3 -2
  556. package/src/apps/routes/routes/deposit-addresses.test.ts +978 -34
  557. package/src/apps/routes/routes/deposit-addresses.ts +243 -32
  558. package/src/apps/routes/routes/propAmm.local.test.ts +951 -0
  559. package/src/apps/routes/routes/quotes.test.ts +81 -8
  560. package/src/apps/routes/routes/quotes.ts +109 -27
  561. package/src/apps/routes/routes/transfers.test.ts +252 -15
  562. package/src/apps/routes/routes/transfers.ts +212 -33
  563. package/src/cli/ApiKeys.test.ts +265 -0
  564. package/src/cli/ApiKeys.ts +189 -0
  565. package/src/cli/Cli.test.ts +188 -0
  566. package/src/cli/Cli.ts +280 -12
  567. package/src/cli/Credentials.test.ts +122 -0
  568. package/src/cli/Credentials.ts +144 -0
  569. package/src/cli/Spec.test.ts +133 -0
  570. package/src/cli/Spec.ts +132 -0
  571. package/src/cli/bin.test.ts +49 -0
  572. package/src/cli/bin.ts +5 -1
  573. package/src/cli/commands/auth.test.ts +138 -0
  574. package/src/cli/commands/auth.ts +254 -0
  575. package/src/cli/commands/keys.test.ts +68 -0
  576. package/src/cli/commands/keys.ts +125 -0
  577. package/src/cloudflare.ts +184 -36
  578. package/src/db/Db.test.ts +877 -0
  579. package/src/db/Db.ts +498 -1
  580. package/src/db/Schema.ts +75 -4
  581. package/src/db/tables/apiKeyAdmissions.test.ts +57 -0
  582. package/src/db/tables/apiKeyAdmissions.ts +101 -11
  583. package/src/db/tables/apiKeyOwnerTombstones.ts +2 -2
  584. package/src/db/tables/authAccounts.test.ts +30 -0
  585. package/src/db/tables/authAccounts.ts +1 -0
  586. package/src/db/tables/earnVaults.test.ts +34 -0
  587. package/src/db/tables/earnVaults.ts +17 -2
  588. package/src/db/tables/organizations.test.ts +148 -84
  589. package/src/db/tables/organizations.ts +11 -43
  590. package/src/db/tables/requestUsage.ts +13 -2
  591. package/src/db/tables/rewardCampaigns.test.ts +163 -0
  592. package/src/db/tables/rewardEligibilityAssociations.test.ts +14 -0
  593. package/src/db/tables/rewardEligibilityAssociations.ts +24 -0
  594. package/src/db/tables/rewardRuns.ts +4 -0
  595. package/src/db/tables/rewardTransactionAttempts.ts +2 -0
  596. package/src/db/tables/routesDepositAddresses.test.ts +263 -0
  597. package/src/db/tables/routesDepositAddresses.ts +118 -34
  598. package/src/db/tables/routesDeposits.test.ts +66 -5
  599. package/src/db/tables/routesDeposits.ts +47 -26
  600. package/src/db/tables/routesIdempotency.test.ts +80 -0
  601. package/src/db/tables/routesIdempotency.ts +2 -0
  602. package/src/db/tables/routesPolicies.test.ts +143 -0
  603. package/src/db/tables/routesPolicies.ts +251 -0
  604. package/src/db/tables/routesTransferSubsidies.ts +64 -0
  605. package/src/db/tables/routesTransferSubsidyNonces.ts +16 -4
  606. package/src/db/tables/routesTransfers.test.ts +183 -2
  607. package/src/db/tables/routesTransfers.ts +65 -6
  608. package/src/db/tables/sponsoredTransactions.test.ts +351 -76
  609. package/src/db/tables/sponsoredTransactions.ts +182 -38
  610. package/src/db/tables/users.test.ts +51 -0
  611. package/src/db/tables/users.ts +12 -0
  612. package/src/handlers/internal/multisig.store.test.ts +120 -0
  613. package/src/handlers/internal/multisig.test.ts +389 -0
  614. package/src/handlers/internal/multisig.ts +13 -10
  615. package/src/handlers/relay.test.ts +259 -83
  616. package/src/handlers/relay.ts +36 -17
  617. package/src/internal/Auth.test.ts +291 -8
  618. package/src/internal/Auth.ts +227 -96
  619. package/src/internal/BetterAuth.test.ts +58 -22
  620. package/src/internal/BetterAuth.ts +23 -17
  621. package/src/internal/Cache.ts +3 -1
  622. package/src/internal/CliAuth.test.ts +279 -0
  623. package/src/internal/CliAuth.ts +319 -0
  624. package/src/internal/EarnSharePrices.test.ts +25 -0
  625. package/src/internal/EarnSharePrices.ts +9 -2
  626. package/src/internal/EarnVaults.test.ts +67 -0
  627. package/src/internal/EarnVaults.ts +299 -4
  628. package/src/internal/EarnWithdrawals.test.ts +315 -0
  629. package/src/internal/EarnWithdrawals.ts +266 -0
  630. package/src/internal/ExecutionContext.ts +31 -0
  631. package/src/internal/Log.test.ts +210 -0
  632. package/src/internal/Log.ts +180 -142
  633. package/src/internal/MetricSink.test.ts +190 -15
  634. package/src/internal/MetricSink.ts +27 -1
  635. package/src/internal/RateLimit.test.ts +144 -8
  636. package/src/internal/RateLimit.ts +254 -26
  637. package/src/internal/Store.ts +4 -5
  638. package/src/internal/Timing.test.ts +32 -0
  639. package/src/internal/Timing.ts +20 -1
  640. package/src/internal/Tron.test-d.ts +22 -0
  641. package/src/internal/Tron.test.ts +94 -0
  642. package/src/internal/Tron.ts +289 -0
  643. package/src/internal/Viem.rpc.test.ts +76 -0
  644. package/src/internal/Viem.ts +29 -6
  645. package/src/internal/rewards/Read.test.ts +109 -0
  646. package/src/internal/rewards/Read.ts +13 -4
  647. package/src/internal/routes/Action.test.ts +70 -0
  648. package/src/internal/routes/Action.ts +76 -1
  649. package/src/internal/routes/Chain.test.ts +18 -0
  650. package/src/internal/routes/Chain.ts +5 -0
  651. package/src/internal/routes/DepositAddress.ts +5 -0
  652. package/src/internal/routes/Evidence.test.ts +64 -0
  653. package/src/internal/routes/Evidence.ts +11 -3
  654. package/src/internal/routes/EvmTransferSettlement.ts +213 -0
  655. package/src/internal/routes/Policy.test.ts +316 -0
  656. package/src/internal/routes/Policy.ts +399 -0
  657. package/src/internal/routes/Provider.test.ts +103 -2
  658. package/src/internal/routes/Provider.ts +149 -27
  659. package/src/internal/routes/Quota.test.ts +149 -0
  660. package/src/internal/routes/Quota.ts +226 -0
  661. package/src/internal/routes/Reconciliation.local.test.ts +285 -0
  662. package/src/internal/routes/Reconciliation.test.ts +371 -13
  663. package/src/internal/routes/Reconciliation.ts +193 -42
  664. package/src/internal/routes/SolanaTransferSettlement.ts +232 -0
  665. package/src/internal/routes/SolanaTransferSubsidy.test.ts +471 -0
  666. package/src/internal/routes/SolanaTransferSubsidy.ts +760 -0
  667. package/src/internal/routes/SourceObservation.test.ts +221 -0
  668. package/src/internal/routes/Subsidy.local.test.ts +46 -0
  669. package/src/internal/routes/Subsidy.ts +4 -2
  670. package/src/internal/routes/Transfer.solana.test.ts +389 -0
  671. package/src/internal/routes/Transfer.test.ts +130 -1
  672. package/src/internal/routes/Transfer.tron.test.ts +172 -0
  673. package/src/internal/routes/Transfer.ts +866 -8
  674. package/src/internal/routes/TransferReconciliation.test.ts +26 -4
  675. package/src/internal/routes/TransferReconciliation.ts +91 -166
  676. package/src/internal/routes/TransferSettlement.ts +48 -0
  677. package/src/internal/routes/TransferSubsidy.local.test.ts +143 -0
  678. package/src/internal/routes/TransferSubsidy.test.ts +34 -4
  679. package/src/internal/routes/TransferSubsidy.ts +87 -12
  680. package/src/internal/routes/TronTransferSettlement.ts +212 -0
  681. package/src/internal/routes/TronTransferSubsidy.test.ts +109 -0
  682. package/src/internal/routes/TronTransferSubsidy.ts +619 -0
  683. package/src/internal/routes/index.test.ts +3 -0
  684. package/src/internal/routes/index.ts +3 -0
  685. package/src/internal/routes/providers/across.ts +13 -0
  686. package/src/internal/routes/providers/index.test.ts +141 -0
  687. package/src/internal/routes/providers/legacyMesh.test.ts +484 -0
  688. package/src/internal/routes/providers/legacyMesh.ts +633 -0
  689. package/src/internal/routes/providers/legacyMeshDelivery.test.ts +306 -0
  690. package/src/internal/routes/providers/legacyMeshDelivery.ts +320 -0
  691. package/src/internal/routes/providers/legacyMeshOutbound.test.ts +401 -0
  692. package/src/internal/routes/providers/legacyMeshOutbound.ts +566 -0
  693. package/src/internal/routes/providers/legacyMeshOutboundDelivery.ts +473 -0
  694. package/src/internal/routes/providers/propAmm.ts +640 -0
  695. package/src/internal/routes/providers/relay.test.ts +1263 -41
  696. package/src/internal/routes/providers/relay.ts +423 -38
  697. package/src/internal/routes/providers/rhino.ts +14 -1
  698. package/src/internal/routes/providers/squid.ts +21 -0
  699. package/src/internal/routes/providers/stargate.test.ts +105 -1
  700. package/src/internal/routes/providers/stargate.ts +22 -9
  701. package/src/internal/routes/providers/symbiosis.ts +13 -47
  702. package/src/providers/index.test.ts +2 -0
  703. package/src/providers/index.ts +18 -0
  704. package/dist/admin/Access.d.ts +0 -39
  705. package/dist/admin/Access.d.ts.map +0 -1
  706. package/dist/admin/Access.js +0 -73
  707. package/dist/admin/Access.js.map +0 -1
  708. package/src/admin/Access.test.ts +0 -130
  709. package/src/admin/Access.ts +0 -85
@@ -10,6 +10,7 @@ import * as Deposit from './Deposit.js';
10
10
  import * as DepositWebhook from './DepositWebhook.js';
11
11
  import * as Observability from './Observability.js';
12
12
  import * as Provider from './Provider.js';
13
+ import * as Policy from './Policy.js';
13
14
  import * as Subsidy from './Subsidy.js';
14
15
  const defaultBatchSize = 25;
15
16
  const defaultLeaseMs = 2 * 60_000;
@@ -674,35 +675,56 @@ export async function reconcileRequest(db, options) {
674
675
  ? record.sourceTransferIndex === transfer.transferIndex
675
676
  : record.providerTransferIndex === providerTransferIndex);
676
677
  if (!deposit) {
677
- deposit = await Deposit.create(db, {
678
- detectionTrigger: trigger,
679
- now: new Date(options.request.createdAt),
680
- ...(observation?.pollObservedAt ? { pollObservedAt: observation.pollObservedAt } : {}),
681
- providerRequestId: options.request.id,
682
- providerTransferIndex,
683
- snapshot: {
684
- depositAddressId: options.address.id,
685
- ...(options.address.snapshot.subsidize ? { destinationAmountRequired } : {}),
686
- destinationChain: options.address.snapshot.destinationChain,
687
- destinationToken: options.address.snapshot.destinationToken,
688
- provider: options.address.snapshot.provider,
689
- recipient: options.address.recipient,
690
- refundAddress: options.address.refundAddress,
691
- ...(transfer.sender ? { sender: transfer.sender } : {}),
692
- sourceAmount,
693
- sourceChain: options.address.snapshot.sourceChain,
694
- sourceToken: options.address.snapshot.sourceToken,
695
- sourceTransactionHashes: [transfer.transactionHash],
678
+ const result = await RoutesDeposits.withSourceTransaction(db, {
679
+ depositAddressId: options.address.id,
680
+ fn: async (tx) => {
681
+ const records = await RoutesDeposits.listBySourceTransaction(tx, {
682
+ depositAddressId: options.address.id,
683
+ sourceTransactionHash: transfer.transactionHash,
684
+ });
685
+ const existing = records.find((record) => record.sourceTransferIndex === transfer.transferIndex);
686
+ if (existing)
687
+ return { record: existing, type: 'existing' };
688
+ return {
689
+ record: await Deposit.create(tx, {
690
+ detectionTrigger: trigger,
691
+ now: new Date(options.request.createdAt),
692
+ ...(observation?.pollObservedAt
693
+ ? { pollObservedAt: observation.pollObservedAt }
694
+ : {}),
695
+ providerRequestId: options.request.id,
696
+ providerTransferIndex,
697
+ snapshot: {
698
+ depositAddressId: options.address.id,
699
+ ...(options.address.snapshot.subsidize ? { destinationAmountRequired } : {}),
700
+ destinationChain: options.address.snapshot.destinationChain,
701
+ destinationToken: options.address.snapshot.destinationToken,
702
+ provider: options.address.snapshot.provider,
703
+ recipient: options.address.recipient,
704
+ refundAddress: options.address.refundAddress,
705
+ ...(transfer.sender ? { sender: transfer.sender } : {}),
706
+ sourceAmount,
707
+ sourceChain: options.address.snapshot.sourceChain,
708
+ sourceToken: options.address.snapshot.sourceToken,
709
+ sourceTransactionHashes: [transfer.transactionHash],
710
+ },
711
+ sourceTransactionHash: transfer.transactionHash,
712
+ sourceTransferIndex: transfer.transferIndex,
713
+ ...(observation?.webhookReceivedAt
714
+ ? { webhookReceivedAt: observation.webhookReceivedAt }
715
+ : {}),
716
+ }),
717
+ type: 'created',
718
+ };
696
719
  },
697
720
  sourceTransactionHash: transfer.transactionHash,
698
- sourceTransferIndex: transfer.transferIndex,
699
- ...(observation?.webhookReceivedAt
700
- ? { webhookReceivedAt: observation.webhookReceivedAt }
701
- : {}),
702
721
  });
703
- Observability.recordDeposit(options.metrics, { record: deposit });
722
+ deposit = result.record;
723
+ if (result.type === 'created') {
724
+ Observability.recordDeposit(options.metrics, { record: deposit });
725
+ created += 1;
726
+ }
704
727
  source.deposits.push(deposit);
705
- created += 1;
706
728
  }
707
729
  if (!Deposit.isTerminal(deposit.status) ||
708
730
  deposit.providerRequestId === null ||
@@ -735,6 +757,16 @@ export async function reconcileRequest(db, options) {
735
757
  verified.push({ deposit, required, source: transfer, sourceAmount: BigInt(transfer.amount) });
736
758
  }
737
759
  }
760
+ // Chain observation can add deposits after the initial timestamp update but before source verification completes.
761
+ if (observation)
762
+ await RoutesDeposits.recordRequestObservation(db, {
763
+ depositAddressId: observation.depositAddressId,
764
+ ...(observation.pollObservedAt ? { pollObservedAt: observation.pollObservedAt } : {}),
765
+ providerRequestId: observation.providerRequestId,
766
+ ...(observation.webhookReceivedAt
767
+ ? { webhookReceivedAt: observation.webhookReceivedAt }
768
+ : {}),
769
+ });
738
770
  if (verified.length === 0)
739
771
  return { created, terminal: false, updated: updatedIds.size };
740
772
  if (!sourceEvidenceComplete) {
@@ -909,6 +941,22 @@ async function reconcileProviderRecovery(db, options) {
909
941
  updatedIds,
910
942
  };
911
943
  }
944
+ function providerSubsidyUpdate(options) {
945
+ const { address, deposit, subsidy } = options;
946
+ if (deposit.providerSubsidy || deposit.providerState?.['unbilledProviderSubsidy'])
947
+ return {};
948
+ const commitment = Policy.commitment(address.providerState);
949
+ const destinationToken = address.snapshot.destinationToken;
950
+ const settled = deposit.settlementTransactionHash && deposit.subsidyAmount
951
+ ? scaleBaseUnits(BigInt(deposit.subsidyAmount.baseUnits), deposit.subsidyAmount.decimals, destinationToken.decimals)
952
+ : 0n;
953
+ const provider = scaleBaseUnits(BigInt(subsidy.amount.baseUnits), subsidy.amount.decimals, destinationToken.decimals);
954
+ if (!commitment ||
955
+ Subsidy.supportsGap(commitment, { amount: settled + provider, destinationToken }))
956
+ return { providerSubsidy: subsidy };
957
+ // Provider expense is already irreversible. Preserve evidence without billing beyond the pinned cap.
958
+ return { providerState: { unbilledProviderSubsidy: subsidy } };
959
+ }
912
960
  async function reconcileDelivery(db, options) {
913
961
  let followUp;
914
962
  let terminal = true;
@@ -918,7 +966,7 @@ async function reconcileDelivery(db, options) {
918
966
  // remain eligible for a bounded metadata follow-up.
919
967
  if (allTerminal &&
920
968
  (!options.address.snapshot.subsidize ||
921
- options.verified.some((entry) => entry.deposit.providerSubsidy)))
969
+ options.verified.some((entry) => entry.deposit.providerSubsidy || entry.deposit.providerState?.['unbilledProviderSubsidy'])))
922
970
  return { terminal, updatedIds };
923
971
  const deliveryObservation = await observeProviderDelivery(options);
924
972
  if (deliveryObservation?.type === 'pending')
@@ -937,7 +985,8 @@ async function reconcileDelivery(db, options) {
937
985
  transactionHash,
938
986
  })));
939
987
  const destinationTransfers = destinationEvidence.flat();
940
- const providerEvidenceComplete = (options.request?.status === 'success' || deliveryObservation?.type === 'verified') &&
988
+ const providerSucceeded = options.request?.status === 'success' || deliveryObservation?.type === 'verified';
989
+ const providerEvidenceComplete = providerSucceeded &&
941
990
  destinationEvidence.length > 0 &&
942
991
  destinationEvidence.every((transfers) => transfers.length > 0);
943
992
  const providerOutput = destinationTransfers.reduce((total, transfer) => total + BigInt(transfer.amount), 0n);
@@ -952,8 +1001,13 @@ async function reconcileDelivery(db, options) {
952
1001
  if (!providerEvidenceComplete || !providerSubsidy)
953
1002
  return { ...(followUp ? { followUp } : {}), terminal: false, updatedIds };
954
1003
  const deposit = options.verified.find((entry) => entry.deposit.id === providerSubsidyDepositId)?.deposit;
955
- if (!deposit || deposit.providerSubsidy)
1004
+ if (!deposit || deposit.providerSubsidy || deposit.providerState?.['unbilledProviderSubsidy'])
956
1005
  return { terminal, updatedIds };
1006
+ const update = providerSubsidyUpdate({
1007
+ address: options.address,
1008
+ deposit,
1009
+ subsidy: providerSubsidy,
1010
+ });
957
1011
  const result = await transitionDeposit(db, {
958
1012
  current: deposit,
959
1013
  metrics: options.metrics,
@@ -961,13 +1015,24 @@ async function reconcileDelivery(db, options) {
961
1015
  transition: {
962
1016
  expectedVersion: deposit.version,
963
1017
  id: deposit.id,
964
- providerSubsidy,
1018
+ ...update,
1019
+ ...(update.providerState
1020
+ ? { providerState: { ...deposit.providerState, ...update.providerState } }
1021
+ : {}),
965
1022
  },
966
1023
  });
967
- if (result.type === 'applied')
1024
+ if (result.type === 'applied') {
968
1025
  updatedIds.add(deposit.id);
1026
+ if (update.providerState)
1027
+ options.metrics?.count('routes_deposit_subsidy_count', 1, {
1028
+ outcome: 'provider_subsidy_unbilled',
1029
+ provider: options.address.providerId,
1030
+ });
1031
+ }
969
1032
  return {
970
- terminal: result.type !== 'stale' || Boolean(result.current.providerSubsidy),
1033
+ terminal: result.type !== 'stale' ||
1034
+ Boolean(result.current.providerSubsidy ||
1035
+ result.current.providerState?.['unbilledProviderSubsidy']),
971
1036
  updatedIds,
972
1037
  };
973
1038
  }
@@ -986,13 +1051,29 @@ async function reconcileDelivery(db, options) {
986
1051
  const settlement = await reconcileSubsidy(database, {
987
1052
  address: options.address,
988
1053
  delivered,
989
- deposit,
1054
+ deposit: providerSubsidy && deposit.id === providerSubsidyDepositId
1055
+ ? { ...deposit, providerSubsidy }
1056
+ : deposit,
990
1057
  providerEvidenceComplete,
1058
+ providerSucceeded,
991
1059
  required,
992
1060
  sourceAmount,
993
1061
  subsidies: options.subsidies,
994
1062
  verifyTransfers: options.verifyTransfers,
995
1063
  });
1064
+ const providerUpdate = providerSubsidy && deposit.id === providerSubsidyDepositId
1065
+ ? providerSubsidyUpdate({
1066
+ address: options.address,
1067
+ deposit: {
1068
+ ...deposit,
1069
+ ...(settlement.subsidyAmount ? { subsidyAmount: settlement.subsidyAmount } : {}),
1070
+ ...(settlement.settlementTransactionHash
1071
+ ? { settlementTransactionHash: settlement.settlementTransactionHash }
1072
+ : {}),
1073
+ },
1074
+ subsidy: providerSubsidy,
1075
+ })
1076
+ : {};
996
1077
  const destinationAmount = Value.tokenAmount({
997
1078
  baseUnits: delivered + settlement.delivered,
998
1079
  currency: options.address.snapshot.destinationToken.currency,
@@ -1024,17 +1105,16 @@ async function reconcileDelivery(db, options) {
1024
1105
  }
1025
1106
  : {}),
1026
1107
  ...(providerEvidenceComplete ? { providerDeliveredAt: new Date().toISOString() } : {}),
1027
- ...(providerSubsidy && deposit.id === providerSubsidyDepositId
1028
- ? { providerSubsidy }
1029
- : {}),
1108
+ ...providerUpdate,
1030
1109
  providerRequestIds: options.request
1031
1110
  ? unique([...deposit.providerRequestIds, options.request.id])
1032
1111
  : deposit.providerRequestIds,
1033
- ...(deliveryObservation?.providerState
1112
+ ...(deliveryObservation?.providerState || providerUpdate.providerState
1034
1113
  ? {
1035
1114
  providerState: {
1036
1115
  ...deposit.providerState,
1037
- ...deliveryObservation.providerState,
1116
+ ...deliveryObservation?.providerState,
1117
+ ...providerUpdate.providerState,
1038
1118
  },
1039
1119
  }
1040
1120
  : {}),
@@ -1109,6 +1189,12 @@ async function reconcileDelivery(db, options) {
1109
1189
  });
1110
1190
  options.onDeposit?.(result.record, committed.references);
1111
1191
  updatedIds.add(deposit.id);
1192
+ if (!deposit.providerState?.['unbilledProviderSubsidy'] &&
1193
+ result.record.providerState?.['unbilledProviderSubsidy'])
1194
+ options.metrics?.count('routes_deposit_subsidy_count', 1, {
1195
+ outcome: 'provider_subsidy_unbilled',
1196
+ provider: options.address.providerId,
1197
+ });
1112
1198
  }
1113
1199
  if (result.type === 'applied' || result.type === 'unchanged') {
1114
1200
  if (settlement.broadcast && options.subsidies) {
@@ -1223,12 +1309,26 @@ async function reconcileSubsidy(db, options) {
1223
1309
  },
1224
1310
  };
1225
1311
  }
1312
+ // Fixed-rate delivery belongs in the provider fill; never add a second destination transaction.
1313
+ if (options.address.providerState?.['fixedRate'] === '1:1' && options.providerSucceeded)
1314
+ return {
1315
+ ...empty,
1316
+ outcome: 'underfilled',
1317
+ status: 'action-required',
1318
+ statusReason: {
1319
+ code: 'subsidy_failed',
1320
+ message: 'The provider completed without delivering the fixed-rate amount.',
1321
+ },
1322
+ };
1226
1323
  if (!options.providerEvidenceComplete)
1227
1324
  return { ...empty, status: 'bridging' };
1228
- const policy = await Subsidy.check(db, {
1229
- environment: options.address.environment,
1230
- orgId: options.address.orgId,
1231
- });
1325
+ const commitment = Policy.commitment(options.address.providerState);
1326
+ const policy = commitment
1327
+ ? { maxAmount: commitment.maxAmount, type: 'allowed' }
1328
+ : await Subsidy.check(db, {
1329
+ environment: options.address.environment,
1330
+ orgId: options.address.orgId,
1331
+ });
1232
1332
  if (policy.type === 'denied')
1233
1333
  return {
1234
1334
  ...empty,
@@ -1239,8 +1339,14 @@ async function reconcileSubsidy(db, options) {
1239
1339
  message: Subsidy.denialMessages[policy.reason],
1240
1340
  },
1241
1341
  };
1342
+ const providerExpense = options.deposit.providerSubsidy ??
1343
+ Provider.schema.Subsidy.safeParse(options.deposit.providerState?.['unbilledProviderSubsidy'])
1344
+ .data;
1345
+ const providerSubsidyAmount = commitment && providerExpense
1346
+ ? scaleBaseUnits(BigInt(providerExpense.amount.baseUnits), providerExpense.amount.decimals, options.address.snapshot.destinationToken.decimals)
1347
+ : 0n;
1242
1348
  if (!Subsidy.supportsGap(policy, {
1243
- amount: deficit,
1349
+ amount: deficit + providerSubsidyAmount,
1244
1350
  destinationToken: options.address.snapshot.destinationToken,
1245
1351
  }))
1246
1352
  return {
@@ -1262,11 +1368,12 @@ async function reconcileSubsidy(db, options) {
1262
1368
  message: 'Tempo subsidy settlement is unavailable.',
1263
1369
  },
1264
1370
  };
1265
- if (!Subsidy.supports(options.subsidies.policy, {
1266
- amount: options.sourceAmount.toString(),
1267
- destinationToken: options.address.snapshot.destinationToken,
1268
- sourceToken: options.address.snapshot.sourceToken,
1269
- }))
1371
+ if (!commitment &&
1372
+ !Subsidy.supports(options.subsidies.policy, {
1373
+ amount: options.sourceAmount.toString(),
1374
+ destinationToken: options.address.snapshot.destinationToken,
1375
+ sourceToken: options.address.snapshot.sourceToken,
1376
+ }))
1270
1377
  return {
1271
1378
  ...empty,
1272
1379
  outcome: 'unsupported',
@@ -1318,6 +1425,15 @@ async function reconcileSubsidy(db, options) {
1318
1425
  subsidyAmount,
1319
1426
  };
1320
1427
  }
1428
+ function scaleBaseUnits(amount, fromDecimals, toDecimals) {
1429
+ if (fromDecimals === toDecimals)
1430
+ return amount;
1431
+ if (fromDecimals < toDecimals)
1432
+ return amount * 10n ** BigInt(toDecimals - fromDecimals);
1433
+ // Round upward: a fractional destination base unit still consumes commitment capacity.
1434
+ const divisor = 10n ** BigInt(fromDecimals - toDecimals);
1435
+ return (amount + divisor - 1n) / divisor;
1436
+ }
1321
1437
  function destinationBaseUnits(amount, sourceDecimals, destinationDecimals) {
1322
1438
  if (destinationDecimals >= sourceDecimals)
1323
1439
  return amount * 10n ** BigInt(destinationDecimals - sourceDecimals);
@@ -1 +1 @@
1
- {"version":3,"file":"Reconciliation.js","sourceRoot":"","sources":["../../../src/internal/routes/Reconciliation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reconciliation.js","sourceRoot":"","sources":["../../../src/internal/routes/Reconciliation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as SolanaTransferSubsidy from './SolanaTransferSubsidy.js';
2
+ import type * as TransferSettlement from './TransferSettlement.js';
3
+ /** Advances a persisted Solana subsidy through signing, broadcast, and finality. */
4
+ export declare function settle(options: settle.Options): Promise<TransferSettlement.Result>;
5
+ export declare namespace settle {
6
+ /** Dependencies for one Solana settlement attempt. */
7
+ type Options = TransferSettlement.Options & {
8
+ /** Available Horcrux-managed Solana wallets. */
9
+ settlers?: readonly SolanaTransferSubsidy.Settler[] | undefined;
10
+ };
11
+ }
12
+ //# sourceMappingURL=SolanaTransferSettlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaTransferSettlement.d.ts","sourceRoot":"","sources":["../../../src/internal/routes/SolanaTransferSettlement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AAEnE,OAAO,KAAK,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAElE,oFAAoF;AACpF,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAuNxF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,sDAAsD;IACtD,KAAK,OAAO,GAAG,kBAAkB,CAAC,OAAO,GAAG;QAC1C,gDAAgD;QAChD,QAAQ,CAAC,EAAE,SAAS,qBAAqB,CAAC,OAAO,EAAE,GAAG,SAAS,CAAA;KAChE,CAAA;CACF"}