tapimo 0.15.1 → 0.18.1

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,243 @@
1
+ import * as z from 'zod/mini';
2
+ import type * as Store from './Store.js';
3
+ /** Lifetime of a pending CLI authorization before the CLI must restart sign-in. */
4
+ export declare const authorizationTtl: number;
5
+ /** Seconds a CLI waits between token polls. */
6
+ export declare const pollInterval = 5;
7
+ /** Default lifetime of a CLI session. */
8
+ export declare const sessionTtl: number;
9
+ /** API scopes selected by default when approving a CLI sign-in. */
10
+ export declare const defaultScopes: string[];
11
+ /** Storage schemas for pending authorizations and minted sessions. */
12
+ export declare namespace schema {
13
+ /** Client details the CLI reports so the approver can recognize the request. */
14
+ const Client: z.ZodMiniObject<{
15
+ device: z.ZodMiniOptional<z.ZodMiniString<string>>;
16
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
17
+ }, z.core.$strip>;
18
+ /** A PKCE S256 code challenge: base64url SHA-256, unpadded. */
19
+ const CodeChallenge: z.ZodMiniString<string>;
20
+ /** A PKCE code verifier (RFC 7636 section 4.1). */
21
+ const CodeVerifier: z.ZodMiniString<string>;
22
+ /** A pending, approved, or denied CLI sign-in request. */
23
+ const Authorization: z.ZodMiniObject<{
24
+ approvedAt: z.ZodMiniOptional<z.ZodMiniString<string>>;
25
+ client: z.ZodMiniObject<{
26
+ device: z.ZodMiniOptional<z.ZodMiniString<string>>;
27
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
28
+ }, z.core.$strip>;
29
+ code: z.ZodMiniString<string>;
30
+ codeChallenge: z.ZodMiniString<string>;
31
+ createdAt: z.ZodMiniString<string>;
32
+ expiresAt: z.ZodMiniString<string>;
33
+ ip: z.ZodMiniOptional<z.ZodMiniString<string>>;
34
+ scopes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
35
+ status: z.ZodMiniEnum<{
36
+ approved: "approved";
37
+ denied: "denied";
38
+ pending: "pending";
39
+ }>;
40
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
41
+ }, z.core.$strip>;
42
+ /** A minted CLI session, keyed by its token hash. */
43
+ const Session: z.ZodMiniObject<{
44
+ client: z.ZodMiniObject<{
45
+ device: z.ZodMiniOptional<z.ZodMiniString<string>>;
46
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
47
+ }, z.core.$strip>;
48
+ createdAt: z.ZodMiniString<string>;
49
+ expiresAt: z.ZodMiniString<string>;
50
+ id: z.ZodMiniString<string>;
51
+ scopes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
52
+ userId: z.ZodMiniString<string>;
53
+ }, z.core.$strip>;
54
+ }
55
+ /** Client details reported by the CLI. */
56
+ export type Client = z.output<typeof schema.Client>;
57
+ /** A stored CLI sign-in request. */
58
+ export type Authorization = z.output<typeof schema.Authorization>;
59
+ /** A stored CLI session. */
60
+ export type Session = z.output<typeof schema.Session>;
61
+ /** Generates a human-typeable authorization code (8 consonants, stored without a separator). */
62
+ export declare function generateCode(): string;
63
+ /** Normalizes user- or URL-supplied code input (case, dashes, spaces), or `undefined` when malformed. */
64
+ export declare function normalizeCode(value: string): string | undefined;
65
+ /** Formats a stored code for display (`BCDF-GHJK`). */
66
+ export declare function formatCode(code: string): string;
67
+ /** Derives the PKCE S256 challenge for a code verifier. */
68
+ export declare function challengeFrom(verifier: string): string;
69
+ /** Generates a CLI session token (`tempo:cli:` + 64 lowercase hex chars). */
70
+ export declare function generateToken(): string;
71
+ /** Whether a credential is a CLI session token rather than an API key. */
72
+ export declare function isToken(value: string): boolean;
73
+ /** Masks CLI session tokens embedded in text so they never reach logs. */
74
+ export declare function redact(text: string): string;
75
+ /** Stores a new pending authorization for a CLI that holds the matching code verifier. */
76
+ export declare function authorize(store: Store.State, options: authorize.Options): Promise<{
77
+ approvedAt?: string | undefined;
78
+ client: {
79
+ device?: string | undefined;
80
+ name?: string | undefined;
81
+ };
82
+ code: string;
83
+ codeChallenge: string;
84
+ createdAt: string;
85
+ expiresAt: string;
86
+ ip?: string | undefined;
87
+ scopes?: string[] | undefined;
88
+ status: "approved" | "denied" | "pending";
89
+ userId?: string | undefined;
90
+ }>;
91
+ export declare namespace authorize {
92
+ /** Options for {@link authorize}. */
93
+ type Options = {
94
+ /** Client details shown to the approver. */
95
+ client: Client;
96
+ /** PKCE S256 challenge derived from the CLI's code verifier. */
97
+ codeChallenge: string;
98
+ /** Caller IP address shown to the approver, when known. */
99
+ ip?: string | undefined;
100
+ };
101
+ }
102
+ /** Reads an unexpired authorization by its normalized code. */
103
+ export declare function getAuthorization(store: Store.State, code: string): Promise<{
104
+ approvedAt?: string | undefined;
105
+ client: {
106
+ device?: string | undefined;
107
+ name?: string | undefined;
108
+ };
109
+ code: string;
110
+ codeChallenge: string;
111
+ createdAt: string;
112
+ expiresAt: string;
113
+ ip?: string | undefined;
114
+ scopes?: string[] | undefined;
115
+ status: "approved" | "denied" | "pending";
116
+ userId?: string | undefined;
117
+ } | undefined>;
118
+ /** Approves a pending authorization for a user; approving it again as the same user is a no-op. */
119
+ export declare function approve(store: Store.State, options: approve.Options): Promise<{
120
+ readonly status: 'not_found';
121
+ readonly authorization?: never;
122
+ } | {
123
+ readonly authorization: {
124
+ approvedAt?: string | undefined;
125
+ client: {
126
+ device?: string | undefined;
127
+ name?: string | undefined;
128
+ };
129
+ code: string;
130
+ codeChallenge: string;
131
+ createdAt: string;
132
+ expiresAt: string;
133
+ ip?: string | undefined;
134
+ scopes?: string[] | undefined;
135
+ status: "approved" | "denied" | "pending";
136
+ userId?: string | undefined;
137
+ };
138
+ readonly status: 'approved';
139
+ } | {
140
+ readonly authorization?: never;
141
+ readonly status: 'conflict';
142
+ }>;
143
+ export declare namespace approve {
144
+ /** Options for {@link approve}. */
145
+ type Options = {
146
+ /** Normalized authorization code. */
147
+ code: string;
148
+ /** API scopes approved for this device. Defaults to {@link defaultScopes}. */
149
+ scopes?: readonly string[] | undefined;
150
+ /** User the CLI session will act as. */
151
+ userId: string;
152
+ };
153
+ }
154
+ /** Denies a pending authorization so the waiting CLI stops polling. */
155
+ export declare function deny(store: Store.State, code: string): Promise<{
156
+ readonly status: 'not_found';
157
+ } | {
158
+ readonly status: 'denied';
159
+ } | {
160
+ readonly status: 'conflict';
161
+ }>;
162
+ /**
163
+ * Exchanges an authorization for a CLI session once approved. Returns `undefined`
164
+ * when the code is unknown, expired, or the verifier does not match, so callers
165
+ * cannot probe for live codes.
166
+ */
167
+ export declare function redeem(store: Store.State, options: redeem.Options): Promise<{
168
+ readonly status: 'pending';
169
+ readonly session?: never;
170
+ readonly token?: never;
171
+ } | {
172
+ readonly status: 'denied';
173
+ readonly session?: never;
174
+ readonly token?: never;
175
+ } | {
176
+ readonly session: {
177
+ client: {
178
+ device?: string | undefined;
179
+ name?: string | undefined;
180
+ };
181
+ createdAt: string;
182
+ expiresAt: string;
183
+ id: string;
184
+ scopes?: string[] | undefined;
185
+ userId: string;
186
+ };
187
+ readonly status: 'approved';
188
+ readonly token: string;
189
+ } | undefined>;
190
+ export declare namespace redeem {
191
+ /** Options for {@link redeem}. */
192
+ type Options = {
193
+ /** Normalized authorization code. */
194
+ code: string;
195
+ /** PKCE code verifier whose S256 challenge was stored at authorization. */
196
+ codeVerifier: string;
197
+ /** Session lifetime in milliseconds. Defaults to {@link sessionTtl}. */
198
+ ttl?: number | undefined;
199
+ };
200
+ }
201
+ /** Mints a CLI session for a user, returning the plaintext token once. */
202
+ export declare function mint(store: Store.State, options: mint.Options): Promise<{
203
+ session: {
204
+ client: {
205
+ device?: string | undefined;
206
+ name?: string | undefined;
207
+ };
208
+ createdAt: string;
209
+ expiresAt: string;
210
+ id: string;
211
+ scopes?: string[] | undefined;
212
+ userId: string;
213
+ };
214
+ token: string;
215
+ }>;
216
+ export declare namespace mint {
217
+ /** Options for {@link mint}. */
218
+ type Options = {
219
+ /** Client details recorded on the session. */
220
+ client: Client;
221
+ /** API scopes approved for this device; absent on legacy sessions. */
222
+ scopes?: readonly string[] | undefined;
223
+ /** Session lifetime in milliseconds. Defaults to {@link sessionTtl}. */
224
+ ttl?: number | undefined;
225
+ /** User the session acts as. */
226
+ userId: string;
227
+ };
228
+ }
229
+ /** Resolves an unexpired CLI session by its plaintext token. */
230
+ export declare function resolve(store: Store.State, token: string): Promise<{
231
+ client: {
232
+ device?: string | undefined;
233
+ name?: string | undefined;
234
+ };
235
+ createdAt: string;
236
+ expiresAt: string;
237
+ id: string;
238
+ scopes?: string[] | undefined;
239
+ userId: string;
240
+ } | undefined>;
241
+ /** Revokes a CLI session by its plaintext token. */
242
+ export declare function revoke(store: Store.State, token: string): Promise<void>;
243
+ //# sourceMappingURL=CliAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliAuth.d.ts","sourceRoot":"","sources":["../../src/internal/CliAuth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ import { Base64, Bytes, Hash, Hex } from 'ox';
2
+ import * as z from 'zod/mini';
3
+ import * as Id from './Id.js';
4
+ import * as Ttl from './Ttl.js';
5
+ /** Lifetime of a pending CLI authorization before the CLI must restart sign-in. */
6
+ export const authorizationTtl = Ttl.minutes(10);
7
+ /** Seconds a CLI waits between token polls. */
8
+ export const pollInterval = 5;
9
+ /** Default lifetime of a CLI session. */
10
+ export const sessionTtl = Ttl.days(30);
11
+ /** API scopes selected by default when approving a CLI sign-in. */
12
+ export const defaultScopes = ['data:read', 'routes:read', 'routes:write', 'rpc-relay:read'];
13
+ // Consonants only: codes never spell words and never mix up 0/O or 1/I.
14
+ const codeAlphabet = 'BCDFGHJKLMNPQRSTVWXZ';
15
+ const codeLength = 8;
16
+ const tokenPrefix = 'tempo:cli:';
17
+ /** Storage schemas for pending authorizations and minted sessions. */
18
+ export var schema;
19
+ (function (schema) {
20
+ /** Client details the CLI reports so the approver can recognize the request. */
21
+ schema.Client = z.object({
22
+ device: z.optional(z.string().check(z.minLength(1), z.maxLength(100))),
23
+ name: z.optional(z.string().check(z.minLength(1), z.maxLength(100))),
24
+ });
25
+ /** A PKCE S256 code challenge: base64url SHA-256, unpadded. */
26
+ schema.CodeChallenge = z.string().check(z.regex(/^[A-Za-z0-9_-]{43}$/));
27
+ /** A PKCE code verifier (RFC 7636 section 4.1). */
28
+ schema.CodeVerifier = z.string().check(z.regex(/^[A-Za-z0-9._~-]{43,128}$/));
29
+ /** A pending, approved, or denied CLI sign-in request. */
30
+ schema.Authorization = z.object({
31
+ approvedAt: z.optional(z.string()),
32
+ client: schema.Client,
33
+ code: z.string(),
34
+ codeChallenge: schema.CodeChallenge,
35
+ createdAt: z.string(),
36
+ expiresAt: z.string(),
37
+ ip: z.optional(z.string()),
38
+ scopes: z.optional(z.array(z.string())),
39
+ status: z.enum(['approved', 'denied', 'pending']),
40
+ userId: z.optional(z.string()),
41
+ });
42
+ /** A minted CLI session, keyed by its token hash. */
43
+ schema.Session = z.object({
44
+ client: schema.Client,
45
+ createdAt: z.string(),
46
+ expiresAt: z.string(),
47
+ id: z.string(),
48
+ scopes: z.optional(z.array(z.string())),
49
+ userId: z.string(),
50
+ });
51
+ })(schema || (schema = {}));
52
+ /** Generates a human-typeable authorization code (8 consonants, stored without a separator). */
53
+ export function generateCode() {
54
+ let code = '';
55
+ while (code.length < codeLength)
56
+ for (const byte of Bytes.random(codeLength)) {
57
+ // Rejection sampling keeps every letter equally likely (240 = 12 * 20).
58
+ if (byte >= 240 || code.length === codeLength)
59
+ continue;
60
+ code += codeAlphabet[byte % codeAlphabet.length];
61
+ }
62
+ return code;
63
+ }
64
+ /** Normalizes user- or URL-supplied code input (case, dashes, spaces), or `undefined` when malformed. */
65
+ export function normalizeCode(value) {
66
+ const code = value.toUpperCase().replace(/[\s-]/g, '');
67
+ if (code.length !== codeLength)
68
+ return undefined;
69
+ for (const character of code)
70
+ if (!codeAlphabet.includes(character))
71
+ return undefined;
72
+ return code;
73
+ }
74
+ /** Formats a stored code for display (`BCDF-GHJK`). */
75
+ export function formatCode(code) {
76
+ return `${code.slice(0, 4)}-${code.slice(4)}`;
77
+ }
78
+ /** Derives the PKCE S256 challenge for a code verifier. */
79
+ export function challengeFrom(verifier) {
80
+ return Base64.fromBytes(Hash.sha256(Bytes.fromString(verifier)), { pad: false, url: true });
81
+ }
82
+ /** Generates a CLI session token (`tempo:cli:` + 64 lowercase hex chars). */
83
+ export function generateToken() {
84
+ return `${tokenPrefix}${Hex.random(32).slice(2)}`;
85
+ }
86
+ /** Whether a credential is a CLI session token rather than an API key. */
87
+ export function isToken(value) {
88
+ return value.startsWith(tokenPrefix);
89
+ }
90
+ /** Masks CLI session tokens embedded in text so they never reach logs. */
91
+ export function redact(text) {
92
+ return text.replace(/tempo:cli:[a-f0-9]{64}/g, `${tokenPrefix}…`);
93
+ }
94
+ /** Stores a new pending authorization for a CLI that holds the matching code verifier. */
95
+ export async function authorize(store, options) {
96
+ const { client, codeChallenge, ip } = options;
97
+ const now = Date.now();
98
+ // A collision in a 20^8 space is vanishingly rare; skip occupied codes instead of overwriting them.
99
+ const code = await (async () => {
100
+ for (let attempt = 0; attempt < 3; attempt++) {
101
+ const candidate = generateCode();
102
+ if ((await store.get(authorizationKey(candidate))) === null)
103
+ return candidate;
104
+ }
105
+ throw new Error('Could not allocate a CLI authorization code');
106
+ })();
107
+ const authorization = {
108
+ client,
109
+ code,
110
+ codeChallenge,
111
+ createdAt: new Date(now).toISOString(),
112
+ expiresAt: new Date(now + authorizationTtl).toISOString(),
113
+ ...(ip ? { ip } : {}),
114
+ status: 'pending',
115
+ };
116
+ await store.put(authorizationKey(code), JSON.stringify(authorization), { ttl: authorizationTtl });
117
+ return authorization;
118
+ }
119
+ /** Reads an unexpired authorization by its normalized code. */
120
+ export async function getAuthorization(store, code) {
121
+ const value = await store.get(authorizationKey(code));
122
+ if (value === null)
123
+ return undefined;
124
+ const authorization = schema.Authorization.parse(JSON.parse(value));
125
+ // KV expiry is eventual; the stored deadline is authoritative.
126
+ if (Date.parse(authorization.expiresAt) <= Date.now())
127
+ return undefined;
128
+ return authorization;
129
+ }
130
+ /** Approves a pending authorization for a user; approving it again as the same user is a no-op. */
131
+ export async function approve(store, options) {
132
+ const { code, scopes = defaultScopes, userId } = options;
133
+ const authorization = await getAuthorization(store, code);
134
+ if (!authorization)
135
+ return { status: 'not_found' };
136
+ if (authorization.status === 'approved' && authorization.userId === userId)
137
+ return { authorization, status: 'approved' };
138
+ if (authorization.status !== 'pending')
139
+ return { status: 'conflict' };
140
+ const approved = {
141
+ ...authorization,
142
+ approvedAt: new Date().toISOString(),
143
+ scopes: [...scopes],
144
+ status: 'approved',
145
+ userId,
146
+ };
147
+ await write(store, approved);
148
+ return { authorization: approved, status: 'approved' };
149
+ }
150
+ /** Denies a pending authorization so the waiting CLI stops polling. */
151
+ export async function deny(store, code) {
152
+ const authorization = await getAuthorization(store, code);
153
+ if (!authorization)
154
+ return { status: 'not_found' };
155
+ if (authorization.status === 'denied')
156
+ return { status: 'denied' };
157
+ if (authorization.status !== 'pending')
158
+ return { status: 'conflict' };
159
+ await write(store, { ...authorization, status: 'denied' });
160
+ return { status: 'denied' };
161
+ }
162
+ /**
163
+ * Exchanges an authorization for a CLI session once approved. Returns `undefined`
164
+ * when the code is unknown, expired, or the verifier does not match, so callers
165
+ * cannot probe for live codes.
166
+ */
167
+ export async function redeem(store, options) {
168
+ const { code, codeVerifier, ttl = sessionTtl } = options;
169
+ const authorization = await getAuthorization(store, code);
170
+ if (!authorization)
171
+ return undefined;
172
+ if (!timingSafeEqual(challengeFrom(codeVerifier), authorization.codeChallenge))
173
+ return undefined;
174
+ if (authorization.status === 'pending')
175
+ return { status: 'pending' };
176
+ // Settled authorizations are single use; KV lacks compare-and-delete, so a
177
+ // concurrent redeem by the same verifier holder may mint a second session.
178
+ const consumed = await store.delete(authorizationKey(code)).then(() => true, () => false);
179
+ // KV rejects a second write to a key within a second (a poll right after the decision); the next poll retries.
180
+ if (!consumed)
181
+ return { status: 'pending' };
182
+ if (authorization.status === 'denied' || !authorization.userId)
183
+ return { status: 'denied' };
184
+ const { session, token } = await mint(store, {
185
+ client: authorization.client,
186
+ scopes: authorization.scopes ?? [],
187
+ ttl,
188
+ userId: authorization.userId,
189
+ });
190
+ return { session, status: 'approved', token };
191
+ }
192
+ /** Mints a CLI session for a user, returning the plaintext token once. */
193
+ export async function mint(store, options) {
194
+ const { client, scopes, ttl = sessionTtl, userId } = options;
195
+ const now = Date.now();
196
+ const token = generateToken();
197
+ const session = {
198
+ client,
199
+ createdAt: new Date(now).toISOString(),
200
+ expiresAt: new Date(now + ttl).toISOString(),
201
+ id: Id.generate('cli'),
202
+ ...(scopes ? { scopes: [...scopes] } : {}),
203
+ userId,
204
+ };
205
+ await store.put(sessionKey(token), JSON.stringify(session), { ttl });
206
+ return { session, token };
207
+ }
208
+ /** Resolves an unexpired CLI session by its plaintext token. */
209
+ export async function resolve(store, token) {
210
+ if (!isToken(token))
211
+ return undefined;
212
+ const value = await store.get(sessionKey(token));
213
+ if (value === null)
214
+ return undefined;
215
+ const session = schema.Session.parse(JSON.parse(value));
216
+ if (Date.parse(session.expiresAt) <= Date.now())
217
+ return undefined;
218
+ return session;
219
+ }
220
+ /** Revokes a CLI session by its plaintext token. */
221
+ export async function revoke(store, token) {
222
+ if (!isToken(token))
223
+ return;
224
+ await store.delete(sessionKey(token));
225
+ }
226
+ function authorizationKey(code) {
227
+ return `cli:authorization:${code}`;
228
+ }
229
+ function sessionKey(token) {
230
+ // Tokens are stored by hash so a KV read never exposes a usable credential.
231
+ return `cli:session:${Hash.sha256(Hex.fromString(token)).slice(2)}`;
232
+ }
233
+ // Rewrites an authorization with its remaining lifetime. Cloudflare KV rejects
234
+ // TTLs under a minute, so storage may outlive `expiresAt`, which reads enforce.
235
+ async function write(store, authorization) {
236
+ const ttl = Date.parse(authorization.expiresAt) - Date.now();
237
+ await store.put(authorizationKey(authorization.code), JSON.stringify(authorization), {
238
+ ttl: Math.max(ttl, Ttl.minutes(1)),
239
+ });
240
+ }
241
+ function timingSafeEqual(left, right) {
242
+ if (left.length !== right.length)
243
+ return false;
244
+ let difference = 0;
245
+ for (let index = 0; index < left.length; index++)
246
+ difference |= left.charCodeAt(index) ^ right.charCodeAt(index);
247
+ return difference === 0;
248
+ }
249
+ //# sourceMappingURL=CliAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliAuth.js","sourceRoot":"","sources":["../../src/internal/CliAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAE/C,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAE7B,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEtC,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAA;AAE3F,wEAAwE;AACxE,MAAM,YAAY,GAAG,sBAAsB,CAAA;AAC3C,MAAM,UAAU,GAAG,CAAC,CAAA;AACpB,MAAM,WAAW,GAAG,YAAY,CAAA;AAEhC,sEAAsE;AACtE,MAAM,KAAW,MAAM,CAoCtB;AApCD,WAAiB,MAAM;IACrB,gFAAgF;IACnE,aAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KACrE,CAAC,CAAA;IAEF,+DAA+D;IAClD,oBAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE7E,mDAAmD;IACtC,mBAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;IAElF,0DAA0D;IAC7C,oBAAa,GAAG,CAAC,CAAC,MAAM,CAAC;QACpC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,EAAE,aAAM;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,aAAa,EAAE,oBAAa;QAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC/B,CAAC,CAAA;IAEF,qDAAqD;IACxC,cAAO,GAAG,CAAC,CAAC,MAAM,CAAC;QAC9B,MAAM,EAAE,aAAM;QACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC,CAAA;AACJ,CAAC,EApCgB,MAAM,KAAN,MAAM,QAoCtB;AAWD,gGAAgG;AAChG,MAAM,UAAU,YAAY;IAC1B,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,OAAO,IAAI,CAAC,MAAM,GAAG,UAAU;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,wEAAwE;YACxE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;gBAAE,SAAQ;YACvD,IAAI,IAAI,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAClD,CAAC;IACH,OAAO,IAAI,CAAA;AACb,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACtD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IAChD,KAAK,MAAM,SAAS,IAAI,IAAI;QAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;IACrF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/C,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AAC7F,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa;IAC3B,OAAO,GAAG,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AACnD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AACtC,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,WAAW,GAAG,CAAC,CAAA;AACnE,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAkB,EAAE,OAA0B;IAC5E,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,OAAO,CAAA;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,oGAAoG;IACpG,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAC7B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAA;QAC/E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,aAAa,GAAkB;QACnC,MAAM;QACN,IAAI;QACJ,aAAa;QACb,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACtC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC,WAAW,EAAE;QACzD,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,EAAE,SAAS;KAClB,CAAA;IACD,MAAM,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACjG,OAAO,aAAa,CAAA;AACtB,CAAC;AAcD,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAY;IACrE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;IACrD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACpC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACnE,+DAA+D;IAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,SAAS,CAAA;IACvE,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAkB,EAAE,OAAwB;IACxE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACxD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACzD,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAW,CAAA;IAC3D,IAAI,aAAa,CAAC,MAAM,KAAK,UAAU,IAAI,aAAa,CAAC,MAAM,KAAK,MAAM;QACxE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAW,CAAA;IACvD,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAW,CAAA;IAC9E,MAAM,QAAQ,GAAkB;QAC9B,GAAG,aAAa;QAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;QACnB,MAAM,EAAE,UAAU;QAClB,MAAM;KACP,CAAA;IACD,MAAM,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC5B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAW,CAAA;AACjE,CAAC;AAcD,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAkB,EAAE,IAAY;IACzD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACzD,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAW,CAAA;IAC3D,IAAI,aAAa,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAA;IAC3E,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAW,CAAA;IAC9E,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC1D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAA;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAkB,EAAE,OAAuB;IACtE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,GAAG,UAAU,EAAE,GAAG,OAAO,CAAA;IACxD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACzD,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAA;IACpC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAA;IAChG,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,CAAA;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAC9D,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAA;IACD,+GAA+G;IAC/G,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,CAAA;IACpD,IAAI,aAAa,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM;QAC5D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAA;IACtC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;QAC3C,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,EAAE;QAClC,GAAG;QACH,MAAM,EAAE,aAAa,CAAC,MAAM;KAC7B,CAAC,CAAA;IACF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAW,CAAA;AACxD,CAAC;AAcD,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAkB,EAAE,OAAqB;IAClE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAY;QACvB,MAAM;QACN,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACtC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE;QAC5C,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM;KACP,CAAA;IACD,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAC3B,CAAC;AAgBD,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAkB,EAAE,KAAa;IAC7D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACrC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,SAAS,CAAA;IACjE,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAkB,EAAE,KAAa;IAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAM;IAC3B,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,qBAAqB,IAAI,EAAE,CAAA;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,4EAA4E;IAC5E,OAAO,eAAe,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AACrE,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,KAAK,UAAU,KAAK,CAAC,KAAkB,EAAE,aAA4B;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5D,MAAM,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;QACnF,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACnC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC9C,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE;QAC9C,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAChE,OAAO,UAAU,KAAK,CAAC,CAAA;AACzB,CAAC"}
@@ -53,7 +53,7 @@ export declare namespace timestamps {
53
53
  to: string;
54
54
  };
55
55
  }
56
- /** Returns whether a historical quote is unavailable from contract execution. */
56
+ /** Returns whether contract execution or missing historical state makes a quote unavailable. */
57
57
  export declare function isUnavailable(error: unknown): boolean;
58
58
  /** Validates that indexed block timestamps cover a requested observation. */
59
59
  export declare function parseCoverage(options: parseCoverage.Options): void;
@@ -1 +1 @@
1
- {"version":3,"file":"EarnSharePrices.d.ts","sourceRoot":"","sources":["../../src/internal/EarnSharePrices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EarnSharePrices.d.ts","sourceRoot":"","sources":["../../src/internal/EarnSharePrices.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ContractFunctionExecutionError, ContractFunctionRevertedError, ContractFunctionZeroDataError, } from 'viem';
1
+ import { ContractFunctionExecutionError, ContractFunctionRevertedError, ContractFunctionZeroDataError, RpcRequestError, } from 'viem';
2
2
  import * as Ttl from './Ttl.js';
3
3
  import * as Value from './Value.js';
4
4
  /** Only interval supported by historical Earn share prices. */
@@ -40,12 +40,16 @@ export function timestamps(options) {
40
40
  const to = Date.parse(options.to);
41
41
  return Array.from({ length: Math.floor((to - from) / Ttl.days(1)) + 1 }, (_, index) => new Date(from + index * Ttl.days(1)).toISOString());
42
42
  }
43
- /** Returns whether a historical quote is unavailable from contract execution. */
43
+ /** Returns whether contract execution or missing historical state makes a quote unavailable. */
44
44
  export function isUnavailable(error) {
45
45
  if (!(error instanceof ContractFunctionExecutionError))
46
46
  return false;
47
47
  return Boolean(error.walk((cause) => cause instanceof ContractFunctionRevertedError ||
48
- cause instanceof ContractFunctionZeroDataError));
48
+ cause instanceof ContractFunctionZeroDataError ||
49
+ // These RPC codes also cover transient failures; require explicit missing-state evidence.
50
+ (cause instanceof RpcRequestError &&
51
+ (cause.code === -32000 || cause.code === -32001) &&
52
+ /\b(?:historical state|state at block)\b.*\b(?:not available|unavailable|pruned)\b|\bmissing trie node\b|\bno state available for block\b/i.test(cause.details ?? ''))));
49
53
  }
50
54
  /** Resolves one indexed block at or before every requested observation. */
51
55
  async function getBlocks(tidx, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"EarnSharePrices.js","sourceRoot":"","sources":["../../src/internal/EarnSharePrices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EarnSharePrices.js","sourceRoot":"","sources":["../../src/internal/EarnSharePrices.ts"],"names":[],"mappings":"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"}