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
@@ -0,0 +1,45 @@
1
+ import type * as Db from '../../db/Db.js';
2
+ import type * as RoutesTransfers from '../../db/tables/routesTransfers.js';
3
+ import type * as Webhooks from '../Webhooks.js';
4
+ import type * as Chain from './Chain.js';
5
+ import type * as Transfer from './Transfer.js';
6
+ /** Dependencies shared by destination-chain settlement attempts. */
7
+ export type Options = {
8
+ /** Current persisted transfer. */
9
+ current: RoutesTransfers.Record;
10
+ /** Authoritative database. */
11
+ db: Db.Db;
12
+ /** Verified destination shortfall in token base units. */
13
+ deficit: bigint;
14
+ /** Chain receiving the subsidy. */
15
+ destinationChain: Chain.Chain;
16
+ /** Dispatches transfer updates staged with mutations. */
17
+ dispatchTransferUpdates?: ((references: readonly Webhooks.QueueReference[]) => Promise<number>) | undefined;
18
+ /** Records a bounded subsidy outcome. */
19
+ recordSubsidy: (outcome: string) => void;
20
+ };
21
+ /** Outcome of one destination-chain settlement attempt. */
22
+ export type Result = {
23
+ /** Operator-facing reason. */
24
+ reason: Transfer.StatusReason;
25
+ /** Latest persisted transfer. */
26
+ record: RoutesTransfers.Record;
27
+ /** Optional correction to the recorded subsidy amount. */
28
+ state?: Pick<Transfer.transition.Options, 'subsidyAmount'> | undefined;
29
+ /** Settlement requires operator recovery. */
30
+ type: 'action-required';
31
+ } | {
32
+ type: 'ignored';
33
+ } | {
34
+ type: 'pending';
35
+ } | {
36
+ /** Settled subsidy quantity in base units. */
37
+ amount: bigint;
38
+ /** Destination transaction hash. */
39
+ hash: string;
40
+ /** Latest persisted transfer. */
41
+ record: RoutesTransfers.Record;
42
+ /** Destination subsidy is finalized. */
43
+ type: 'success';
44
+ };
45
+ //# sourceMappingURL=TransferSettlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransferSettlement.d.ts","sourceRoot":"","sources":["../../../src/internal/routes/TransferSettlement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,eAAe,MAAM,oCAAoC,CAAA;AAC1E,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAE9C,oEAAoE;AACpE,MAAM,MAAM,OAAO,GAAG;IACpB,kCAAkC;IAClC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAA;IAC/B,8BAA8B;IAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA;IACT,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAA;IAC7B,yDAAyD;IACzD,uBAAuB,CAAC,EACpB,CAAC,CAAC,UAAU,EAAE,SAAS,QAAQ,CAAC,cAAc,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GACrE,SAAS,CAAA;IACb,yCAAyC;IACzC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC,CAAA;AAED,2DAA2D;AAC3D,MAAM,MAAM,MAAM,GACd;IACE,8BAA8B;IAC9B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAA;IAC7B,iCAAiC;IACjC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAA;IAC9B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,SAAS,CAAA;IACtE,6CAA6C;IAC7C,IAAI,EAAE,iBAAiB,CAAA;CACxB,GACD;IAAsD,IAAI,EAAE,SAAS,CAAA;CAAE,GACvE;IAAyC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC1D;IACE,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAA;IAC9B,wCAAwC;IACxC,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TransferSettlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransferSettlement.js","sourceRoot":"","sources":["../../../src/internal/routes/TransferSettlement.ts"],"names":[],"mappings":""}
@@ -1,10 +1,23 @@
1
1
  import { Hex } from 'ox';
2
2
  import { type Address, type LocalAccount } from 'viem';
3
- import type * as Chain from './Chain.js';
3
+ import * as Chain from './Chain.js';
4
4
  import type * as Provider from './Provider.js';
5
+ /** Returns whether a wallet transfer can receive a destination subsidy. */
6
+ export declare function supportsRoute(options: supportsRoute.Options): boolean;
7
+ export declare namespace supportsRoute {
8
+ /** Chain identifiers used to check subsidy eligibility. */
9
+ type Options = {
10
+ /** Destination CAIP-2 chain identifier. */
11
+ destinationChainId: string;
12
+ /** Source CAIP-2 chain identifier. */
13
+ sourceChainId: string;
14
+ /** Tempo chain configured for the application. */
15
+ tempoChainId: number;
16
+ };
17
+ }
5
18
  /** Read-only destination subsidy inventory available during action creation. */
6
19
  export type Inventory = {
7
- /** Account that supplies destination USDC and native gas. */
20
+ /** Account that supplies destination tokens and transaction fees. */
8
21
  account: Address;
9
22
  /** Verifies token and gas capacity without accessing signing material. */
10
23
  check(parameters: Inventory.check.Parameters): Promise<Inventory.check.Result>;
@@ -48,7 +61,7 @@ export type Transaction = {
48
61
  hash: Hex.Hex;
49
62
  /** EOA nonce reserved for this transaction. */
50
63
  nonce: number;
51
- /** Worst-case native gas amount reserved for this transaction. */
64
+ /** Worst-case gas cost in wei, or rounded attodollars on Tempo. */
52
65
  nativeAmount?: string | undefined;
53
66
  /** Signed EVM transaction bytes. */
54
67
  transaction: Hex.Hex;
@@ -57,7 +70,7 @@ export type Transaction = {
57
70
  export declare function read(value: unknown): Transaction | undefined;
58
71
  /** Prepares and submits ERC-20 destination subsidy transactions. */
59
72
  export type Settler = {
60
- /** Account that supplies destination USDC and native gas. */
73
+ /** Account that supplies destination tokens and transaction fees. */
61
74
  account: Address;
62
75
  /** Broadcasts one previously persisted signed transaction. */
63
76
  broadcast(parameters: {
@@ -98,10 +111,12 @@ export declare namespace Settler {
98
111
  };
99
112
  /** Inventory reserved while serializing transactions for one signer. */
100
113
  type Reservations = {
101
- /** Native gas amount promised by unsettled transactions. */
114
+ /** Gas cost promised by unsettled transactions, in wei or rounded attodollars on Tempo. */
102
115
  nativeAmount: bigint;
103
116
  /** Token amount promised by unsettled transactions. */
104
117
  tokenAmount: bigint;
118
+ /** Delivery commitments by lowercase token address, including tokens used for Tempo fees. */
119
+ tokenAmounts: Record<string, bigint>;
105
120
  };
106
121
  }
107
122
  /** Contracts for reading a destination subsidy receipt. */
@@ -144,7 +159,7 @@ export declare function createInventory(options: createInventory.Options): Inven
144
159
  export declare namespace createInventory {
145
160
  /** Dependencies for one destination subsidy inventory checker. */
146
161
  type Options = {
147
- /** EVM account funded with destination USDC and native gas. */
162
+ /** EVM account funded with destination tokens and transaction fees. */
148
163
  account: Address;
149
164
  /** Fetch implementation used for destination RPC requests. */
150
165
  fetch: typeof globalThis.fetch;
@@ -159,7 +174,7 @@ export declare function create(options: create.Options): Settler;
159
174
  export declare namespace create {
160
175
  /** Dependencies for one destination subsidy settler. */
161
176
  type Options = {
162
- /** EVM account funded with destination USDC and native gas. */
177
+ /** EVM account funded with destination tokens and transaction fees. */
163
178
  account: LocalAccount;
164
179
  /** Fetch implementation used for destination RPC requests. */
165
180
  fetch: typeof globalThis.fetch;
@@ -173,7 +188,7 @@ export declare namespace create {
173
188
  export declare function isPermanentPreparationError(cause: unknown): boolean;
174
189
  /** Returns whether rebroadcasting the same signed transaction cannot recover. */
175
190
  export declare function isPermanentBroadcastError(cause: unknown): boolean;
176
- /** The subsidy account lacks destination token inventory or native gas. */
191
+ /** The subsidy account lacks destination token inventory or transaction fee funds. */
177
192
  export declare class BalanceUnavailableError extends Error {
178
193
  name: string;
179
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransferSubsidy.d.ts","sourceRoot":"","sources":["../../../src/internal/routes/TransferSubsidy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransferSubsidy.d.ts","sourceRoot":"","sources":["../../../src/internal/routes/TransferSubsidy.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,22 @@
1
1
  import { Hash, Hex } from 'ox';
2
2
  import { BaseError, decodeEventLog, encodeFunctionData, erc20Abi, ExecutionRevertedError, InsufficientFundsError, IntrinsicGasTooHighError, IntrinsicGasTooLowError, NonceMaxValueError, NonceTooLowError, TipAboveFeeCapError, TransactionReceiptNotFoundError, TransactionTypeNotSupportedError, } from 'viem';
3
3
  import { getBalance, getBlock, getTransactionCount, getTransactionReceipt, prepareTransactionRequest, readContract, sendRawTransaction, } from 'viem/actions';
4
+ import { Actions } from 'viem/tempo';
5
+ import * as Fees from '../Fees.js';
4
6
  import * as Viem from '../Viem.js';
7
+ import * as Chain from './Chain.js';
8
+ /** Returns whether a wallet transfer can receive a destination subsidy. */
9
+ export function supportsRoute(options) {
10
+ const tempo = `eip155:${options.tempoChainId}`;
11
+ return ((options.destinationChainId === tempo && options.sourceChainId !== tempo) ||
12
+ (options.sourceChainId === tempo &&
13
+ [
14
+ 'eip155:1',
15
+ 'eip155:8453',
16
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
17
+ 'tron:0x2b6653dc',
18
+ ].includes(options.destinationChainId)));
19
+ }
5
20
  /** Reads a persisted destination subsidy transaction from private route state. */
6
21
  export function read(value) {
7
22
  if (typeof value !== 'object' || value === null)
@@ -119,11 +134,14 @@ export function create(options) {
119
134
  });
120
135
  if (!receipt)
121
136
  return { broadcast: true, type: 'pending' };
122
- const [canonical, finalized] = await Promise.all([
137
+ const [canonical, head] = await Promise.all([
123
138
  getBlock(client, { blockNumber: receipt.blockNumber, includeTransactions: false }),
124
- getBlock(client, { blockTag: 'finalized', includeTransactions: false }),
139
+ getBlock(client, {
140
+ blockTag: Chain.settlementBlockTag(parameters.chain),
141
+ includeTransactions: false,
142
+ }),
125
143
  ]);
126
- if (canonical.hash !== receipt.blockHash || receipt.blockNumber > finalized.number)
144
+ if (canonical.hash !== receipt.blockHash || receipt.blockNumber > head.number)
127
145
  return { broadcast: false, type: 'pending' };
128
146
  if (receipt.status !== 'success')
129
147
  return { type: 'reverted' };
@@ -176,12 +194,53 @@ async function checkInventory(getClient, account, parameters) {
176
194
  }),
177
195
  ...(parameters.nonce === undefined ? {} : { nonce: parameters.nonce }),
178
196
  to: parameters.token,
197
+ // Horcrux signs EIP-1559 envelopes; inventory and signing must estimate the same fee fields.
198
+ type: 'eip1559',
179
199
  value: 0n,
180
200
  });
181
- const gasPrice = request.maxFeePerGas ?? request.gasPrice;
201
+ // eth_fillTransaction can include an effective gasPrice, which is not a signed EIP-1559 fee field.
202
+ delete request.gasPrice;
203
+ const gasPrice = request.maxFeePerGas;
182
204
  if (request.gas === undefined || gasPrice === undefined)
183
205
  throw new BalanceUnavailableError();
184
206
  const nativeAmount = request.gas * gasPrice;
207
+ if (parameters.chain.slug === 'tempo') {
208
+ const preferred = await Actions.fee.getUserToken(client, { account: address });
209
+ const feeToken = preferred?.address ?? parameters.token;
210
+ const deliveryToken = parameters.token.toLowerCase();
211
+ const feeTokenAddress = feeToken.toLowerCase();
212
+ const sameToken = feeTokenAddress === deliveryToken;
213
+ const feeBalance = sameToken
214
+ ? tokenBalance
215
+ : await readContract(client, {
216
+ abi: erc20Abi,
217
+ address: feeToken,
218
+ args: [address],
219
+ functionName: 'balanceOf',
220
+ });
221
+ const feeAmount = Fees.fromGas(request.gas, gasPrice);
222
+ // Reserve each fee cap after rounding to TIP-20 units. Native balance is a constant on Tempo.
223
+ const reservedFees = Fees.fromGas(1n, parameters.reservations.nativeAmount);
224
+ const reservedTokens = parameters.reservations.tokenAmounts[feeTokenAddress] ?? 0n;
225
+ // Fee preferences can change before settlement, so each delivery token must cover pending gas.
226
+ if (tokenBalance <
227
+ parameters.amount + parameters.reservations.tokenAmount + reservedFees + feeAmount ||
228
+ feeBalance < reservedTokens + reservedFees + feeAmount + (sameToken ? parameters.amount : 0n))
229
+ throw new BalanceUnavailableError();
230
+ for (const [token, amount] of Object.entries(parameters.reservations.tokenAmounts)) {
231
+ if (token === deliveryToken || token === feeTokenAddress)
232
+ continue;
233
+ const balance = await readContract(client, {
234
+ abi: erc20Abi,
235
+ address: token,
236
+ args: [address],
237
+ functionName: 'balanceOf',
238
+ });
239
+ if (balance < amount + reservedFees + feeAmount)
240
+ throw new BalanceUnavailableError();
241
+ }
242
+ return { nativeAmount: feeAmount * Fees.scalingFactor, request };
243
+ }
185
244
  if ((await getBalance(client, { address })) < nativeAmount + parameters.reservations.nativeAmount)
186
245
  throw new BalanceUnavailableError();
187
246
  return { nativeAmount, request };
@@ -226,7 +285,7 @@ function isNonceTooLowBroadcastError(cause) {
226
285
  const message = `${cause.message} ${'details' in cause ? String(cause.details) : ''}`;
227
286
  return /nonce too low/i.test(message);
228
287
  }
229
- /** The subsidy account lacks destination token inventory or native gas. */
288
+ /** The subsidy account lacks destination token inventory or transaction fee funds. */
230
289
  export class BalanceUnavailableError extends Error {
231
290
  name = 'Routes.TransferSubsidy.BalanceUnavailableError';
232
291
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransferSubsidy.js","sourceRoot":"","sources":["../../../src/internal/routes/TransferSubsidy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransferSubsidy.js","sourceRoot":"","sources":["../../../src/internal/routes/TransferSubsidy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type * as TransferSettlement from './TransferSettlement.js';
2
+ import * as TronTransferSubsidy from './TronTransferSubsidy.js';
3
+ /** Advances a persisted Tron 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 Tron settlement attempt. */
7
+ type Options = TransferSettlement.Options & {
8
+ /** Available Horcrux-managed Tron wallets. */
9
+ settlers?: readonly TronTransferSubsidy.Settler[] | undefined;
10
+ };
11
+ }
12
+ //# sourceMappingURL=TronTransferSettlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TronTransferSettlement.d.ts","sourceRoot":"","sources":["../../../src/internal/routes/TronTransferSettlement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAI/D,kFAAkF;AAClF,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAmMxF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,oDAAoD;IACpD,KAAK,OAAO,GAAG,kBAAkB,CAAC,OAAO,GAAG;QAC1C,8CAA8C;QAC9C,QAAQ,CAAC,EAAE,SAAS,mBAAmB,CAAC,OAAO,EAAE,GAAG,SAAS,CAAA;KAC9D,CAAA;CACF"}
@@ -0,0 +1,201 @@
1
+ import * as Value from '../Value.js';
2
+ import * as Transfer from './Transfer.js';
3
+ import * as TronTransferSubsidy from './TronTransferSubsidy.js';
4
+ const tronFinalityGraceMs = 180_000;
5
+ /** Advances a persisted Tron subsidy through signing, broadcast, and finality. */
6
+ export async function settle(options) {
7
+ let current = options.current;
8
+ const existing = TronTransferSubsidy.readSigned(current.providerState?.['transferSubsidy']);
9
+ const prepared = TronTransferSubsidy.readPrepared(current.providerState?.['tronTransferSubsidyPrepared']);
10
+ const terms = {
11
+ account: existing?.account ?? prepared?.account ?? current.subsidyAccount ?? '',
12
+ amount: options.deficit,
13
+ chainId: options.destinationChain.id,
14
+ recipient: current.snapshot.recipient,
15
+ token: current.snapshot.destinationToken.address,
16
+ };
17
+ if ((existing && !TronTransferSubsidy.matchesTerms(existing, terms)) ||
18
+ (prepared && !TronTransferSubsidy.matchesTerms(prepared, terms))) {
19
+ options.recordSubsidy('evidence_conflict');
20
+ return {
21
+ reason: {
22
+ code: 'subsidy_failed',
23
+ message: 'Destination subsidy evidence conflicts with the verified delivery.',
24
+ },
25
+ record: current,
26
+ type: 'action-required',
27
+ };
28
+ }
29
+ const account = existing?.account ?? prepared?.account ?? current.subsidyAccount;
30
+ const settler = existing
31
+ ? options.settlers?.[0]
32
+ : options.settlers?.find((entry) => entry.account === account);
33
+ if (!settler) {
34
+ options.recordSubsidy('unavailable');
35
+ return {
36
+ reason: {
37
+ code: 'subsidy_failed',
38
+ message: 'Destination subsidy settlement is unavailable.',
39
+ },
40
+ record: current,
41
+ type: 'action-required',
42
+ };
43
+ }
44
+ const commitment = current.subsidyCommitmentAmount;
45
+ if (!existing && !prepared && (!commitment || options.deficit > BigInt(commitment.baseUnits))) {
46
+ options.recordSubsidy('routes_subsidy_limit_exceeded');
47
+ return {
48
+ reason: {
49
+ code: 'routes_subsidy_limit_exceeded',
50
+ message: 'The required destination subsidy exceeds its approved commitment.',
51
+ },
52
+ record: current,
53
+ type: 'action-required',
54
+ };
55
+ }
56
+ const recipient = current.snapshot.recipient;
57
+ const token = current.snapshot.destinationToken.address;
58
+ const subsidyAmount = Value.tokenAmount({
59
+ baseUnits: options.deficit,
60
+ currency: current.snapshot.destinationToken.currency,
61
+ decimals: current.snapshot.destinationToken.decimals,
62
+ });
63
+ let signed = existing;
64
+ if (!signed) {
65
+ const result = await Transfer.prepareTronSubsidy(options.db, {
66
+ account: settler.account,
67
+ chainId: options.destinationChain.id,
68
+ id: current.id,
69
+ orgId: current.orgId,
70
+ prepare: ({ reservations }) => settler.prepare({
71
+ amount: options.deficit,
72
+ chain: options.destinationChain,
73
+ recipient,
74
+ reservations,
75
+ token,
76
+ }),
77
+ subsidyAmount,
78
+ tokenAddress: token,
79
+ }).catch((cause) => {
80
+ if (cause instanceof TronTransferSubsidy.BalanceUnavailableError)
81
+ return 'balance';
82
+ if (cause instanceof Transfer.SubsidySignerBlockedError)
83
+ return 'blocked';
84
+ throw cause;
85
+ });
86
+ if (result === 'balance' || result === 'blocked') {
87
+ options.recordSubsidy(result === 'balance' ? 'balance_unavailable' : 'signer_blocked');
88
+ return {
89
+ reason: {
90
+ code: result === 'balance' ? 'subsidy_balance_unavailable' : 'subsidy_failed',
91
+ message: result === 'balance'
92
+ ? 'Tempo lacks enough destination token inventory or native gas.'
93
+ : 'Destination subsidy settlement requires operator recovery.',
94
+ },
95
+ record: current,
96
+ type: 'action-required',
97
+ };
98
+ }
99
+ if (result.type === 'not_found' || result.type === 'invalid')
100
+ return { type: 'pending' };
101
+ current = result.record;
102
+ if ('references' in result && result.references && options.dispatchTransferUpdates)
103
+ await options.dispatchTransferUpdates(result.references);
104
+ if (result.type === 'signed' || result.type === 'shared') {
105
+ signed = result.signed;
106
+ if (result.type === 'shared')
107
+ options.recordSubsidy('shared');
108
+ }
109
+ else {
110
+ options.recordSubsidy('prepared');
111
+ if (result.prepared.expiresAt <= Date.now()) {
112
+ options.recordSubsidy('expired');
113
+ return {
114
+ reason: {
115
+ code: 'subsidy_failed',
116
+ message: 'The prepared Tron subsidy expired before signing.',
117
+ },
118
+ record: current,
119
+ type: 'action-required',
120
+ };
121
+ }
122
+ // The persisted transfer id is the stable Horcrux replay key for this immutable request.
123
+ const signature = await settler.sign({
124
+ idempotencyKey: current.id,
125
+ prepared: result.prepared,
126
+ });
127
+ const persisted = await Transfer.signTronSubsidy(options.db, {
128
+ id: current.id,
129
+ signed: signature,
130
+ });
131
+ if (persisted.type === 'not_found' || persisted.type === 'invalid')
132
+ return { type: 'pending' };
133
+ signed = persisted.signed;
134
+ current = persisted.record;
135
+ if ('references' in persisted && options.dispatchTransferUpdates)
136
+ await options.dispatchTransferUpdates(persisted.references);
137
+ options.recordSubsidy(persisted.type === 'shared' ? 'shared' : 'signed');
138
+ }
139
+ }
140
+ const status = await settler.status({
141
+ chain: options.destinationChain,
142
+ recipient,
143
+ signed,
144
+ token,
145
+ });
146
+ if (status === 'reverted') {
147
+ options.recordSubsidy('reverted');
148
+ return {
149
+ reason: {
150
+ code: 'subsidy_failed',
151
+ message: 'The destination subsidy transaction reverted.',
152
+ },
153
+ record: current,
154
+ state: {
155
+ subsidyAmount: Value.tokenAmount({
156
+ baseUnits: 0n,
157
+ currency: current.snapshot.destinationToken.currency,
158
+ decimals: current.snapshot.destinationToken.decimals,
159
+ }),
160
+ },
161
+ type: 'action-required',
162
+ };
163
+ }
164
+ if (status === 'pending') {
165
+ if (signed.expiresAt + tronFinalityGraceMs <= Date.now()) {
166
+ options.recordSubsidy('expired');
167
+ return {
168
+ reason: {
169
+ code: 'subsidy_failed',
170
+ message: 'The Tron subsidy expired without verified delivery.',
171
+ },
172
+ record: current,
173
+ type: 'action-required',
174
+ };
175
+ }
176
+ // An included transaction may remain invisible to the solidified RPC after its TAPOS expiry.
177
+ if (signed.expiresAt <= Date.now())
178
+ return { type: 'pending' };
179
+ const rejected = await settler.broadcast({ chain: options.destinationChain, signed }).then(() => false, (cause) => {
180
+ if (TronTransferSubsidy.isPermanentBroadcastError(cause))
181
+ return true;
182
+ throw cause;
183
+ });
184
+ if (rejected) {
185
+ options.recordSubsidy('broadcast_rejected');
186
+ return {
187
+ reason: {
188
+ code: 'subsidy_failed',
189
+ message: 'The Tron subsidy transaction was rejected.',
190
+ },
191
+ record: current,
192
+ type: 'action-required',
193
+ };
194
+ }
195
+ options.recordSubsidy('broadcast');
196
+ return { type: 'pending' };
197
+ }
198
+ options.recordSubsidy('completed');
199
+ return { amount: options.deficit, hash: signed.hash, record: current, type: 'success' };
200
+ }
201
+ //# sourceMappingURL=TronTransferSettlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TronTransferSettlement.js","sourceRoot":"","sources":["../../../src/internal/routes/TronTransferSettlement.ts"],"names":[],"mappings":"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"}