tapimo 0.0.0 → 0.0.2

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 (422) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/ApiKey.d.ts +65 -0
  4. package/dist/ApiKey.d.ts.map +1 -0
  5. package/dist/ApiKey.js +105 -0
  6. package/dist/ApiKey.js.map +1 -0
  7. package/dist/ApiKeySource.d.ts +166 -0
  8. package/dist/ApiKeySource.d.ts.map +1 -0
  9. package/dist/ApiKeySource.js +234 -0
  10. package/dist/ApiKeySource.js.map +1 -0
  11. package/dist/App.d.ts +19317 -0
  12. package/dist/App.d.ts.map +1 -0
  13. package/dist/App.js +612 -0
  14. package/dist/App.js.map +1 -0
  15. package/dist/Assets.d.ts +44 -0
  16. package/dist/Assets.d.ts.map +1 -0
  17. package/dist/Assets.js +23 -0
  18. package/dist/Assets.js.map +1 -0
  19. package/dist/Auth.d.ts +2 -0
  20. package/dist/Auth.d.ts.map +1 -0
  21. package/dist/Auth.js +2 -0
  22. package/dist/Auth.js.map +1 -0
  23. package/dist/Cli.d.ts +21 -0
  24. package/dist/Cli.d.ts.map +1 -0
  25. package/dist/Cli.js +13 -0
  26. package/dist/Cli.js.map +1 -0
  27. package/dist/Client.d.ts +20 -0
  28. package/dist/Client.d.ts.map +1 -0
  29. package/dist/Client.js +24 -0
  30. package/dist/Client.js.map +1 -0
  31. package/dist/Metrics.d.ts +70 -0
  32. package/dist/Metrics.d.ts.map +1 -0
  33. package/dist/Metrics.js +91 -0
  34. package/dist/Metrics.js.map +1 -0
  35. package/dist/Scope.d.ts +35 -0
  36. package/dist/Scope.d.ts.map +1 -0
  37. package/dist/Scope.js +38 -0
  38. package/dist/Scope.js.map +1 -0
  39. package/dist/Webhooks.d.ts +79 -0
  40. package/dist/Webhooks.d.ts.map +1 -0
  41. package/dist/Webhooks.js +107 -0
  42. package/dist/Webhooks.js.map +1 -0
  43. package/dist/admin/Access.d.ts +41 -0
  44. package/dist/admin/Access.d.ts.map +1 -0
  45. package/dist/admin/Access.js +75 -0
  46. package/dist/admin/Access.js.map +1 -0
  47. package/dist/admin/App.d.ts +1221 -0
  48. package/dist/admin/App.d.ts.map +1 -0
  49. package/dist/admin/App.js +113 -0
  50. package/dist/admin/App.js.map +1 -0
  51. package/dist/admin/apps/api-keys.d.ts +209 -0
  52. package/dist/admin/apps/api-keys.d.ts.map +1 -0
  53. package/dist/admin/apps/api-keys.js +129 -0
  54. package/dist/admin/apps/api-keys.js.map +1 -0
  55. package/dist/admin/apps/scopes.d.ts +46 -0
  56. package/dist/admin/apps/scopes.d.ts.map +1 -0
  57. package/dist/admin/apps/scopes.js +41 -0
  58. package/dist/admin/apps/scopes.js.map +1 -0
  59. package/dist/admin/apps/verified-tokens.d.ts +1206 -0
  60. package/dist/admin/apps/verified-tokens.d.ts.map +1 -0
  61. package/dist/admin/apps/verified-tokens.js +485 -0
  62. package/dist/admin/apps/verified-tokens.js.map +1 -0
  63. package/dist/admin/index.d.ts +3 -0
  64. package/dist/admin/index.d.ts.map +1 -0
  65. package/dist/admin/index.js +3 -0
  66. package/dist/admin/index.js.map +1 -0
  67. package/dist/admin/ui.generated.d.ts +11 -0
  68. package/dist/admin/ui.generated.d.ts.map +1 -0
  69. package/dist/admin/ui.generated.js +43 -0
  70. package/dist/admin/ui.generated.js.map +1 -0
  71. package/dist/apps/activities.d.ts +18725 -0
  72. package/dist/apps/activities.d.ts.map +1 -0
  73. package/dist/apps/activities.js +3138 -0
  74. package/dist/apps/activities.js.map +1 -0
  75. package/dist/apps/addresses.d.ts +3662 -0
  76. package/dist/apps/addresses.d.ts.map +1 -0
  77. package/dist/apps/addresses.js +22 -0
  78. package/dist/apps/addresses.js.map +1 -0
  79. package/dist/apps/balances.d.ts +342 -0
  80. package/dist/apps/balances.d.ts.map +1 -0
  81. package/dist/apps/balances.js +393 -0
  82. package/dist/apps/balances.js.map +1 -0
  83. package/dist/apps/blocks.d.ts +931 -0
  84. package/dist/apps/blocks.d.ts.map +1 -0
  85. package/dist/apps/blocks.js +689 -0
  86. package/dist/apps/blocks.js.map +1 -0
  87. package/dist/apps/coingecko.d.ts +1053 -0
  88. package/dist/apps/coingecko.d.ts.map +1 -0
  89. package/dist/apps/coingecko.js +1015 -0
  90. package/dist/apps/coingecko.js.map +1 -0
  91. package/dist/apps/exchanges.d.ts +3000 -0
  92. package/dist/apps/exchanges.d.ts.map +1 -0
  93. package/dist/apps/exchanges.js +3570 -0
  94. package/dist/apps/exchanges.js.map +1 -0
  95. package/dist/apps/fee-amm.d.ts +640 -0
  96. package/dist/apps/fee-amm.d.ts.map +1 -0
  97. package/dist/apps/fee-amm.js +815 -0
  98. package/dist/apps/fee-amm.js.map +1 -0
  99. package/dist/apps/indexer.d.ts +116 -0
  100. package/dist/apps/indexer.d.ts.map +1 -0
  101. package/dist/apps/indexer.js +270 -0
  102. package/dist/apps/indexer.js.map +1 -0
  103. package/dist/apps/receipts.d.ts +1438 -0
  104. package/dist/apps/receipts.d.ts.map +1 -0
  105. package/dist/apps/receipts.js +874 -0
  106. package/dist/apps/receipts.js.map +1 -0
  107. package/dist/apps/rpc.d.ts +173 -0
  108. package/dist/apps/rpc.d.ts.map +1 -0
  109. package/dist/apps/rpc.js +191 -0
  110. package/dist/apps/rpc.js.map +1 -0
  111. package/dist/apps/tokenlist.d.ts +192 -0
  112. package/dist/apps/tokenlist.d.ts.map +1 -0
  113. package/dist/apps/tokenlist.js +153 -0
  114. package/dist/apps/tokenlist.js.map +1 -0
  115. package/dist/apps/tokens.d.ts +2246 -0
  116. package/dist/apps/tokens.d.ts.map +1 -0
  117. package/dist/apps/tokens.js +1789 -0
  118. package/dist/apps/tokens.js.map +1 -0
  119. package/dist/apps/transactions.d.ts +2327 -0
  120. package/dist/apps/transactions.d.ts.map +1 -0
  121. package/dist/apps/transactions.js +975 -0
  122. package/dist/apps/transactions.js.map +1 -0
  123. package/dist/apps/transfers.d.ts +589 -0
  124. package/dist/apps/transfers.d.ts.map +1 -0
  125. package/dist/apps/transfers.js +769 -0
  126. package/dist/apps/transfers.js.map +1 -0
  127. package/dist/apps/verified-tokens.d.ts +544 -0
  128. package/dist/apps/verified-tokens.d.ts.map +1 -0
  129. package/dist/apps/verified-tokens.js +234 -0
  130. package/dist/apps/verified-tokens.js.map +1 -0
  131. package/dist/apps/webhooks.d.ts +7684 -0
  132. package/dist/apps/webhooks.d.ts.map +1 -0
  133. package/dist/apps/webhooks.js +2112 -0
  134. package/dist/apps/webhooks.js.map +1 -0
  135. package/dist/cloudflare.d.ts +32 -0
  136. package/dist/cloudflare.d.ts.map +1 -0
  137. package/dist/cloudflare.js +45 -0
  138. package/dist/cloudflare.js.map +1 -0
  139. package/dist/index.d.ts +16 -0
  140. package/dist/index.d.ts.map +1 -0
  141. package/dist/index.js +16 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/internal/Auth.d.ts +298 -0
  144. package/dist/internal/Auth.d.ts.map +1 -0
  145. package/dist/internal/Auth.js +618 -0
  146. package/dist/internal/Auth.js.map +1 -0
  147. package/dist/internal/Cache.d.ts +74 -0
  148. package/dist/internal/Cache.d.ts.map +1 -0
  149. package/dist/internal/Cache.js +215 -0
  150. package/dist/internal/Cache.js.map +1 -0
  151. package/dist/internal/Cursor.d.ts +79 -0
  152. package/dist/internal/Cursor.d.ts.map +1 -0
  153. package/dist/internal/Cursor.js +116 -0
  154. package/dist/internal/Cursor.js.map +1 -0
  155. package/dist/internal/EdgeCache.d.ts +59 -0
  156. package/dist/internal/EdgeCache.d.ts.map +1 -0
  157. package/dist/internal/EdgeCache.js +174 -0
  158. package/dist/internal/EdgeCache.js.map +1 -0
  159. package/dist/internal/Log.d.ts +104 -0
  160. package/dist/internal/Log.d.ts.map +1 -0
  161. package/dist/internal/Log.js +118 -0
  162. package/dist/internal/Log.js.map +1 -0
  163. package/dist/internal/MetricSink.d.ts +65 -0
  164. package/dist/internal/MetricSink.d.ts.map +1 -0
  165. package/dist/internal/MetricSink.js +146 -0
  166. package/dist/internal/MetricSink.js.map +1 -0
  167. package/dist/internal/Mpp.d.ts +71 -0
  168. package/dist/internal/Mpp.d.ts.map +1 -0
  169. package/dist/internal/Mpp.js +105 -0
  170. package/dist/internal/Mpp.js.map +1 -0
  171. package/dist/internal/OpenApi.d.ts +313 -0
  172. package/dist/internal/OpenApi.d.ts.map +1 -0
  173. package/dist/internal/OpenApi.fonts.d.ts +2 -0
  174. package/dist/internal/OpenApi.fonts.d.ts.map +1 -0
  175. package/dist/internal/OpenApi.fonts.js +39 -0
  176. package/dist/internal/OpenApi.fonts.js.map +1 -0
  177. package/dist/internal/OpenApi.js +335 -0
  178. package/dist/internal/OpenApi.js.map +1 -0
  179. package/dist/internal/OpenApi.logo.d.ts +6 -0
  180. package/dist/internal/OpenApi.logo.d.ts.map +1 -0
  181. package/dist/internal/OpenApi.logo.js +19 -0
  182. package/dist/internal/OpenApi.logo.js.map +1 -0
  183. package/dist/internal/Path.d.ts +5 -0
  184. package/dist/internal/Path.d.ts.map +1 -0
  185. package/dist/internal/Path.js +16 -0
  186. package/dist/internal/Path.js.map +1 -0
  187. package/dist/internal/RateLimit.d.ts +60 -0
  188. package/dist/internal/RateLimit.d.ts.map +1 -0
  189. package/dist/internal/RateLimit.js +48 -0
  190. package/dist/internal/RateLimit.js.map +1 -0
  191. package/dist/internal/Response.d.ts +132 -0
  192. package/dist/internal/Response.d.ts.map +1 -0
  193. package/dist/internal/Response.js +72 -0
  194. package/dist/internal/Response.js.map +1 -0
  195. package/dist/internal/Schema.d.ts +257 -0
  196. package/dist/internal/Schema.d.ts.map +1 -0
  197. package/dist/internal/Schema.js +360 -0
  198. package/dist/internal/Schema.js.map +1 -0
  199. package/dist/internal/Store.d.ts +204 -0
  200. package/dist/internal/Store.d.ts.map +1 -0
  201. package/dist/internal/Store.js +291 -0
  202. package/dist/internal/Store.js.map +1 -0
  203. package/dist/internal/Tidx.d.ts +120 -0
  204. package/dist/internal/Tidx.d.ts.map +1 -0
  205. package/dist/internal/Tidx.js +156 -0
  206. package/dist/internal/Tidx.js.map +1 -0
  207. package/dist/internal/Timing.d.ts +22 -0
  208. package/dist/internal/Timing.d.ts.map +1 -0
  209. package/dist/internal/Timing.js +32 -0
  210. package/dist/internal/Timing.js.map +1 -0
  211. package/dist/internal/Ttl.d.ts +25 -0
  212. package/dist/internal/Ttl.d.ts.map +1 -0
  213. package/dist/internal/Ttl.js +49 -0
  214. package/dist/internal/Ttl.js.map +1 -0
  215. package/dist/internal/Value.d.ts +47 -0
  216. package/dist/internal/Value.d.ts.map +1 -0
  217. package/dist/internal/Value.js +122 -0
  218. package/dist/internal/Value.js.map +1 -0
  219. package/dist/internal/VerifiedTokens.d.ts +228 -0
  220. package/dist/internal/VerifiedTokens.d.ts.map +1 -0
  221. package/dist/internal/VerifiedTokens.js +450 -0
  222. package/dist/internal/VerifiedTokens.js.map +1 -0
  223. package/dist/internal/Viem.d.ts +2082 -0
  224. package/dist/internal/Viem.d.ts.map +1 -0
  225. package/dist/internal/Viem.js +63 -0
  226. package/dist/internal/Viem.js.map +1 -0
  227. package/dist/internal/WebhookDestination.d.ts +198 -0
  228. package/dist/internal/WebhookDestination.d.ts.map +1 -0
  229. package/dist/internal/WebhookDestination.js +170 -0
  230. package/dist/internal/WebhookDestination.js.map +1 -0
  231. package/dist/internal/Webhooks.d.ts +433 -0
  232. package/dist/internal/Webhooks.d.ts.map +1 -0
  233. package/dist/internal/Webhooks.js +489 -0
  234. package/dist/internal/Webhooks.js.map +1 -0
  235. package/dist/internal/webhookDestinations/betterStack.d.ts +26 -0
  236. package/dist/internal/webhookDestinations/betterStack.d.ts.map +1 -0
  237. package/dist/internal/webhookDestinations/betterStack.js +76 -0
  238. package/dist/internal/webhookDestinations/betterStack.js.map +1 -0
  239. package/dist/internal/webhookDestinations/slack.d.ts +59 -0
  240. package/dist/internal/webhookDestinations/slack.d.ts.map +1 -0
  241. package/dist/internal/webhookDestinations/slack.js +422 -0
  242. package/dist/internal/webhookDestinations/slack.js.map +1 -0
  243. package/dist/internal/webhookDestinations/url.d.ts +17 -0
  244. package/dist/internal/webhookDestinations/url.d.ts.map +1 -0
  245. package/dist/internal/webhookDestinations/url.js +130 -0
  246. package/dist/internal/webhookDestinations/url.js.map +1 -0
  247. package/dist/openrpc.json +5302 -0
  248. package/package.json +46 -4
  249. package/seeds/31318/icons/0x20c0000000000000000000000000000000000000.svg +1 -0
  250. package/seeds/31318/icons/0x20c0000000000000000000000000000000000001.svg +1 -0
  251. package/seeds/31318/icons/0x20c0000000000000000000000000000000000002.svg +1 -0
  252. package/seeds/31318/icons/0x20c0000000000000000000000000000000000003.svg +1 -0
  253. package/seeds/31318/verified-tokens.json +30 -0
  254. package/seeds/4217/icons/0x20c0000000000000000000000000000000000000.svg +25 -0
  255. package/seeds/4217/icons/0x20c000000000000000000000048c8f36df1c9a4a.svg +1 -0
  256. package/seeds/4217/icons/0x20c0000000000000000000000520792dcccccccc.svg +1 -0
  257. package/seeds/4217/icons/0x20c0000000000000000000000a6da882d075a4c3.svg +4 -0
  258. package/seeds/4217/icons/0x20c000000000000000000000111111111e910f0f.svg +30 -0
  259. package/seeds/4217/icons/0x20c00000000000000000000014f22ca97301eb73.svg +1 -0
  260. package/seeds/4217/icons/0x20c0000000000000000000001621e21f71cf12fb.svg +1 -0
  261. package/seeds/4217/icons/0x20c0000000000000000000002f52d5cc21a3207b.svg +1 -0
  262. package/seeds/4217/icons/0x20c0000000000000000000003158081efd85bfc2.svg +11 -0
  263. package/seeds/4217/icons/0x20c0000000000000000000003554d28269e0f3c2.svg +1 -0
  264. package/seeds/4217/icons/0x20c000000000000000000000383a23bacb546ab9.svg +1 -0
  265. package/seeds/4217/icons/0x20c00000000000000000000042109aef2f8b28e1.png +0 -0
  266. package/seeds/4217/icons/0x20c0000000000000000000005c0bac7cef389a11.svg +1 -0
  267. package/seeds/4217/icons/0x20c0000000000000000000006fd9a167923ba194.png +0 -0
  268. package/seeds/4217/icons/0x20c0000000000000000000007f7ba549dd0251b9.svg +1 -0
  269. package/seeds/4217/icons/0x20c0000000000000000000008191667423f70e67.svg +5 -0
  270. package/seeds/4217/icons/0x20c0000000000000000000008ee4fcff88888888.svg +1 -0
  271. package/seeds/4217/icons/0x20c0000000000000000000009a4a4b17e0dc6651.svg +1 -0
  272. package/seeds/4217/icons/0x20c000000000000000000000ab02d39df30bd17e.svg +1 -0
  273. package/seeds/4217/icons/0x20c000000000000000000000ae247a1130450f09.svg +1 -0
  274. package/seeds/4217/icons/0x20c000000000000000000000aeed2ec36a54d0e5.svg +1 -0
  275. package/seeds/4217/icons/0x20c000000000000000000000b9537d11c60e8b50.svg +1 -0
  276. package/seeds/4217/icons/0x20c000000000000000000000bd95bfb69fbe6ce3.svg +1 -0
  277. package/seeds/4217/icons/0x20c000000000000000000000c412ec89d0c08be5.svg +1 -0
  278. package/seeds/4217/icons/0x20c000000000000000000000f047dd7018e50367.png +0 -0
  279. package/seeds/4217/verified-tokens.json +177 -0
  280. package/seeds/42431/icons/0x20c0000000000000000000000000000000000000.svg +25 -0
  281. package/seeds/42431/icons/0x20c0000000000000000000000000000000000001.svg +1 -0
  282. package/seeds/42431/icons/0x20c0000000000000000000000000000000000002.svg +1 -0
  283. package/seeds/42431/icons/0x20c0000000000000000000000000000000000003.svg +1 -0
  284. package/seeds/42431/icons/0x20c0000000000000000000009e8d7eb59b783726.svg +1 -0
  285. package/seeds/42431/icons/0x20c000000000000000000000d72572838bbee59c.svg +1 -0
  286. package/seeds/42431/verified-tokens.json +44 -0
  287. package/seeds/openrpc/README.md +27 -0
  288. package/seeds/openrpc/execution-apis.json +8989 -0
  289. package/src/ApiKey.test.ts +91 -0
  290. package/src/ApiKey.ts +122 -0
  291. package/src/ApiKeySource.test-d.ts +11 -0
  292. package/src/ApiKeySource.test.ts +295 -0
  293. package/src/ApiKeySource.ts +303 -0
  294. package/src/App.test-d.ts +38 -0
  295. package/src/App.test.ts +65927 -0
  296. package/src/App.ts +855 -0
  297. package/src/Assets.ts +58 -0
  298. package/src/Auth.ts +1 -0
  299. package/src/Cli.test.ts +81 -0
  300. package/src/Cli.ts +38 -0
  301. package/src/Client.test-d.ts +1438 -0
  302. package/src/Client.test.ts +134 -0
  303. package/src/Client.ts +45 -0
  304. package/src/Metrics.ts +154 -0
  305. package/src/Scope.ts +50 -0
  306. package/src/Webhooks.test.ts +49 -0
  307. package/src/Webhooks.ts +172 -0
  308. package/src/admin/Access.test.ts +130 -0
  309. package/src/admin/Access.ts +87 -0
  310. package/src/admin/App.test.ts +225 -0
  311. package/src/admin/App.ts +216 -0
  312. package/src/admin/apps/api-keys.test.ts +156 -0
  313. package/src/admin/apps/api-keys.ts +157 -0
  314. package/src/admin/apps/scopes.test.ts +52 -0
  315. package/src/admin/apps/scopes.ts +47 -0
  316. package/src/admin/apps/verified-tokens.test.ts +415 -0
  317. package/src/admin/apps/verified-tokens.ts +566 -0
  318. package/src/admin/index.ts +2 -0
  319. package/src/admin/ui/plugin.ts +135 -0
  320. package/src/admin/ui/src/components/Checkbox.tsx +22 -0
  321. package/src/admin/ui/src/components/Dialog.tsx +32 -0
  322. package/src/admin/ui/src/components/MobileProfile.tsx +31 -0
  323. package/src/admin/ui/src/components/Page.tsx +53 -0
  324. package/src/admin/ui/src/components/TempoLogo.tsx +37 -0
  325. package/src/admin/ui/src/fonts/Pilat-Demi.woff2 +0 -0
  326. package/src/admin/ui/src/fonts/Pilat-Regular.woff2 +0 -0
  327. package/src/admin/ui/src/lib/api-keys.ts +63 -0
  328. package/src/admin/ui/src/lib/client.ts +15 -0
  329. package/src/admin/ui/src/lib/config.ts +57 -0
  330. package/src/admin/ui/src/lib/query-client.ts +26 -0
  331. package/src/admin/ui/src/lib/scopes.ts +25 -0
  332. package/src/admin/ui/src/lib/verified-tokens.ts +89 -0
  333. package/src/admin/ui/src/lib/wagmi.ts +18 -0
  334. package/src/admin/ui/src/routeTree.gen.ts +104 -0
  335. package/src/admin/ui/src/router.tsx +25 -0
  336. package/src/admin/ui/src/routes/__root.tsx +219 -0
  337. package/src/admin/ui/src/routes/api-keys.tsx +329 -0
  338. package/src/admin/ui/src/routes/index.tsx +7 -0
  339. package/src/admin/ui/src/routes/verified-tokens.tsx +331 -0
  340. package/src/admin/ui/src/styles.css +20 -0
  341. package/src/admin/ui/tsconfig.json +16 -0
  342. package/src/admin/ui/vite.config.ts +29 -0
  343. package/src/admin/ui.generated.ts +60 -0
  344. package/src/apps/activities.test.ts +1020 -0
  345. package/src/apps/activities.ts +3934 -0
  346. package/src/apps/addresses.ts +24 -0
  347. package/src/apps/balances.test.ts +274 -0
  348. package/src/apps/balances.ts +533 -0
  349. package/src/apps/blocks.test.ts +385 -0
  350. package/src/apps/blocks.ts +896 -0
  351. package/src/apps/coingecko.test.ts +218 -0
  352. package/src/apps/coingecko.ts +1383 -0
  353. package/src/apps/exchanges.test.ts +958 -0
  354. package/src/apps/exchanges.ts +4773 -0
  355. package/src/apps/fee-amm.test.ts +321 -0
  356. package/src/apps/fee-amm.ts +1121 -0
  357. package/src/apps/indexer.test.ts +153 -0
  358. package/src/apps/indexer.ts +330 -0
  359. package/src/apps/receipts.test.ts +285 -0
  360. package/src/apps/receipts.ts +1193 -0
  361. package/src/apps/rpc.test.ts +302 -0
  362. package/src/apps/rpc.ts +222 -0
  363. package/src/apps/tokenlist.test.ts +80 -0
  364. package/src/apps/tokenlist.ts +207 -0
  365. package/src/apps/tokens.test.ts +1062 -0
  366. package/src/apps/tokens.ts +2292 -0
  367. package/src/apps/transactions.test.ts +408 -0
  368. package/src/apps/transactions.ts +1363 -0
  369. package/src/apps/transfers.test.ts +371 -0
  370. package/src/apps/transfers.ts +1116 -0
  371. package/src/apps/verified-tokens.test.ts +114 -0
  372. package/src/apps/verified-tokens.ts +295 -0
  373. package/src/apps/webhooks.test.ts +1937 -0
  374. package/src/apps/webhooks.ts +2926 -0
  375. package/src/cloudflare.ts +55 -0
  376. package/src/index.ts +15 -0
  377. package/src/internal/Auth.test.ts +980 -0
  378. package/src/internal/Auth.ts +1012 -0
  379. package/src/internal/Cache.test.ts +240 -0
  380. package/src/internal/Cache.ts +262 -0
  381. package/src/internal/Cursor.test.ts +100 -0
  382. package/src/internal/Cursor.ts +149 -0
  383. package/src/internal/EdgeCache.test.ts +234 -0
  384. package/src/internal/EdgeCache.ts +224 -0
  385. package/src/internal/Errors.ts +14 -0
  386. package/src/internal/Log.test.ts +244 -0
  387. package/src/internal/Log.ts +216 -0
  388. package/src/internal/MetricSink.ts +220 -0
  389. package/src/internal/Mpp.test.ts +64 -0
  390. package/src/internal/Mpp.ts +141 -0
  391. package/src/internal/OpenApi.fonts.ts +38 -0
  392. package/src/internal/OpenApi.logo.ts +18 -0
  393. package/src/internal/OpenApi.ts +488 -0
  394. package/src/internal/Path.test.ts +14 -0
  395. package/src/internal/Path.ts +15 -0
  396. package/src/internal/RateLimit.test.ts +93 -0
  397. package/src/internal/RateLimit.ts +93 -0
  398. package/src/internal/Response.ts +131 -0
  399. package/src/internal/Schema.test.ts +34 -0
  400. package/src/internal/Schema.ts +523 -0
  401. package/src/internal/Store.test.ts +545 -0
  402. package/src/internal/Store.ts +526 -0
  403. package/src/internal/Tidx.local.test.ts +33 -0
  404. package/src/internal/Tidx.test.ts +294 -0
  405. package/src/internal/Tidx.ts +238 -0
  406. package/src/internal/Timing.test.ts +22 -0
  407. package/src/internal/Timing.ts +62 -0
  408. package/src/internal/Ttl.test.ts +18 -0
  409. package/src/internal/Ttl.ts +59 -0
  410. package/src/internal/Value.ts +114 -0
  411. package/src/internal/VerifiedTokens.test.ts +333 -0
  412. package/src/internal/VerifiedTokens.ts +645 -0
  413. package/src/internal/Viem.test.ts +115 -0
  414. package/src/internal/Viem.ts +165 -0
  415. package/src/internal/WebhookDestination.test.ts +648 -0
  416. package/src/internal/WebhookDestination.ts +331 -0
  417. package/src/internal/Webhooks.test.ts +668 -0
  418. package/src/internal/Webhooks.ts +940 -0
  419. package/src/internal/webhookDestinations/betterStack.ts +91 -0
  420. package/src/internal/webhookDestinations/slack.ts +496 -0
  421. package/src/internal/webhookDestinations/url.ts +128 -0
  422. package/src/openrpc.json +5302 -0
@@ -0,0 +1,640 @@
1
+ import { type Context } from 'hono';
2
+ import * as z from 'zod/mini';
3
+ import type * as App from '../App.js';
4
+ import * as Response from '../internal/Response.js';
5
+ import * as Schema from '../internal/Schema.js';
6
+ /** Zod schemas owned by the fee AMM handlers. */
7
+ export declare namespace schema {
8
+ /**
9
+ * A token referenced by a fee pool: its contract address plus best-effort
10
+ * metadata. Mirrors the transfer feed's `sourceToken` technique: `address`
11
+ * is always present; the metadata fields spread in only when resolution
12
+ * succeeds, so a token whose metadata is unavailable keeps just the bare
13
+ * reference. The pools listing extends this shape with the side's reserve
14
+ * (`getFeeAmmPools.Token`).
15
+ */
16
+ const PoolToken: z.ZodMiniObject<{
17
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
18
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
19
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
20
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
21
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
22
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
23
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
24
+ }, z.core.$strip>;
25
+ /** Schemas for the getFeeAmmPools operation. */
26
+ namespace getFeeAmmPools {
27
+ /** Optional related resources that callers opt into via `include`. */
28
+ const Include: z.ZodMiniEnum<{
29
+ token: "token";
30
+ }>;
31
+ /**
32
+ * Parses a comma-separated `include` query value into a list of optional
33
+ * resources to embed. Token metadata resolution is one extra (batched)
34
+ * `token.getMetadata` round trip, so it runs only when `include=token` is
35
+ * requested; the base page returns each side's bare `address` plus its
36
+ * reserve and skips the lookup entirely.
37
+ */
38
+ const includeQuery: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
39
+ token: "token";
40
+ }>>>;
41
+ /** Query parameters for the fee pool list request. */
42
+ const Query: z.ZodMiniObject<{
43
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
44
+ mainnet: "mainnet";
45
+ testnet: "testnet";
46
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
47
+ cursor: z.ZodMiniOptional<z.ZodMiniString<string>>;
48
+ include: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
49
+ token: "token";
50
+ }>>>;
51
+ limit: z.ZodMiniDefault<z.ZodMiniNumber<unknown>>;
52
+ page: z.ZodMiniOptional<z.ZodMiniNumber<unknown>>;
53
+ }, z.core.$strict>;
54
+ /**
55
+ * One side of a fee pool: the token reference carrying the side's current
56
+ * on-chain reserve. `amount`/`formatted` come from `FeeManager.getPool`
57
+ * and are absent when the read fails (best-effort, like the metadata
58
+ * fields).
59
+ */
60
+ const Token: z.ZodMiniObject<{
61
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
62
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
63
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
64
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
65
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
66
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
67
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
68
+ amount: z.ZodMiniOptional<z.ZodMiniString<string>>;
69
+ formatted: z.ZodMiniOptional<z.ZodMiniString<string>>;
70
+ }, z.core.$strip>;
71
+ /** A fee AMM pool, aggregated from its `Mint` events. */
72
+ const Pool: z.ZodMiniObject<{
73
+ createdAt: z.ZodMiniISODateTime;
74
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
75
+ lastMintAt: z.ZodMiniISODateTime;
76
+ mintCount: z.ZodMiniNumber<number>;
77
+ poolId: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
78
+ userToken: z.ZodMiniObject<{
79
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
80
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
81
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
82
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
83
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
84
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
85
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
86
+ amount: z.ZodMiniOptional<z.ZodMiniString<string>>;
87
+ formatted: z.ZodMiniOptional<z.ZodMiniString<string>>;
88
+ }, z.core.$strip>;
89
+ validatorToken: z.ZodMiniObject<{
90
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
91
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
92
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
93
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
94
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
95
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
96
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
97
+ amount: z.ZodMiniOptional<z.ZodMiniString<string>>;
98
+ formatted: z.ZodMiniOptional<z.ZodMiniString<string>>;
99
+ }, z.core.$strip>;
100
+ }, z.core.$strip>;
101
+ /** Page of fee pools, ordered by mint count (most active first). */
102
+ const Response: z.ZodMiniObject<{
103
+ data: z.ZodMiniArray<z.ZodMiniObject<{
104
+ createdAt: z.ZodMiniISODateTime;
105
+ id: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
106
+ lastMintAt: z.ZodMiniISODateTime;
107
+ mintCount: z.ZodMiniNumber<number>;
108
+ poolId: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
109
+ userToken: z.ZodMiniObject<{
110
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
111
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
112
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
113
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
114
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
115
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
116
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
117
+ amount: z.ZodMiniOptional<z.ZodMiniString<string>>;
118
+ formatted: z.ZodMiniOptional<z.ZodMiniString<string>>;
119
+ }, z.core.$strip>;
120
+ validatorToken: z.ZodMiniObject<{
121
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
122
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
123
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
124
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
125
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
126
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
127
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
128
+ amount: z.ZodMiniOptional<z.ZodMiniString<string>>;
129
+ formatted: z.ZodMiniOptional<z.ZodMiniString<string>>;
130
+ }, z.core.$strip>;
131
+ }, z.core.$strip>>;
132
+ nextCursor: z.ZodMiniNullable<z.ZodMiniString<string>>;
133
+ }, z.core.$strip>;
134
+ }
135
+ /** Schemas for the getFeeAmmMints operation. */
136
+ namespace getFeeAmmMints {
137
+ /** Query parameters for the pool mint list request. */
138
+ const Query: z.ZodMiniObject<{
139
+ chainId: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniEnum<{
140
+ mainnet: "mainnet";
141
+ testnet: "testnet";
142
+ }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>>;
143
+ cursor: z.ZodMiniOptional<z.ZodMiniString<string>>;
144
+ include: z.ZodMiniPipe<z.ZodMiniPipe<z.ZodMiniOptional<z.ZodMiniUnknown>, z.ZodMiniTransform<string[], unknown>>, z.ZodMiniArray<z.ZodMiniEnum<{
145
+ totalCount: "totalCount";
146
+ }>>>;
147
+ limit: z.ZodMiniDefault<z.ZodMiniNumber<unknown>>;
148
+ order: z.ZodMiniDefault<z.ZodMiniEnum<{
149
+ asc: "asc";
150
+ desc: "desc";
151
+ }>>;
152
+ page: z.ZodMiniOptional<z.ZodMiniNumber<unknown>>;
153
+ userToken: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
154
+ validatorToken: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
155
+ }, z.core.$strict>;
156
+ /** A single liquidity mint into a fee pool. */
157
+ const Mint: z.ZodMiniObject<{
158
+ amountUserToken: z.ZodMiniOptional<z.ZodMiniString<string>>;
159
+ amountValidatorToken: z.ZodMiniString<string>;
160
+ blockNumber: z.ZodMiniNumber<number>;
161
+ id: z.ZodMiniString<string>;
162
+ liquidity: z.ZodMiniString<string>;
163
+ logIndex: z.ZodMiniNumber<number>;
164
+ minter: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
165
+ recipient: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
166
+ timestamp: z.ZodMiniISODateTime;
167
+ transactionHash: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
168
+ userToken: z.ZodMiniObject<{
169
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
170
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
171
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
172
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
173
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
174
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
175
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
176
+ }, z.core.$strip>;
177
+ validatorToken: z.ZodMiniObject<{
178
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
179
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
180
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
181
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
182
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
183
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
184
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
185
+ }, z.core.$strip>;
186
+ }, z.core.$strip>;
187
+ /** Page of fee pool mints, ordered by block then log index. */
188
+ const Response: z.ZodMiniObject<{
189
+ data: z.ZodMiniArray<z.ZodMiniObject<{
190
+ amountUserToken: z.ZodMiniOptional<z.ZodMiniString<string>>;
191
+ amountValidatorToken: z.ZodMiniString<string>;
192
+ blockNumber: z.ZodMiniNumber<number>;
193
+ id: z.ZodMiniString<string>;
194
+ liquidity: z.ZodMiniString<string>;
195
+ logIndex: z.ZodMiniNumber<number>;
196
+ minter: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
197
+ recipient: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>;
198
+ timestamp: z.ZodMiniISODateTime;
199
+ transactionHash: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
200
+ userToken: z.ZodMiniObject<{
201
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
202
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
203
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
204
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
205
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
206
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
207
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
208
+ }, z.core.$strip>;
209
+ validatorToken: z.ZodMiniObject<{
210
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
211
+ currency: z.ZodMiniOptional<z.ZodMiniString<string>>;
212
+ decimals: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
213
+ logoUri: z.ZodMiniOptional<z.ZodMiniString<string>>;
214
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
215
+ symbol: z.ZodMiniOptional<z.ZodMiniString<string>>;
216
+ verified: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
217
+ }, z.core.$strip>;
218
+ }, z.core.$strip>>;
219
+ meta: z.ZodMiniOptional<z.ZodMiniObject<{
220
+ totalCountCapped: z.ZodMiniBoolean<boolean>;
221
+ totalCount: z.ZodMiniNumber<number>;
222
+ }, z.core.$strip>>;
223
+ nextCursor: z.ZodMiniNullable<z.ZodMiniString<string>>;
224
+ }, z.core.$strip>;
225
+ }
226
+ }
227
+ /** Creates fee AMM handlers. */
228
+ export declare function feeAmm(): import("hono/hono-base").HonoBase<App.Environment, {
229
+ "/pools": {
230
+ $get: {
231
+ output: null;
232
+ outputFormat: "body";
233
+ status: 402;
234
+ input: {
235
+ query?: {
236
+ chainId?: string | string[];
237
+ cursor?: string | string[];
238
+ include?: string | string[];
239
+ limit?: string | string[];
240
+ page?: string | string[];
241
+ } | undefined;
242
+ };
243
+ } | {
244
+ output: {
245
+ error: {
246
+ code: "upstream_error";
247
+ details?: readonly Response.error.Detail[] | undefined;
248
+ message: string;
249
+ };
250
+ requestId: string;
251
+ };
252
+ outputFormat: "json";
253
+ status: 502;
254
+ input: {
255
+ query?: {
256
+ chainId?: string | string[];
257
+ cursor?: string | string[];
258
+ include?: string | string[];
259
+ limit?: string | string[];
260
+ page?: string | string[];
261
+ } | undefined;
262
+ };
263
+ } | {
264
+ output: {
265
+ error: {
266
+ code: "api_key_malformed";
267
+ details?: readonly Response.error.Detail[] | undefined;
268
+ message: string;
269
+ };
270
+ requestId: string;
271
+ };
272
+ outputFormat: "json";
273
+ status: 400;
274
+ input: {
275
+ query?: {
276
+ chainId?: string | string[];
277
+ cursor?: string | string[];
278
+ include?: string | string[];
279
+ limit?: string | string[];
280
+ page?: string | string[];
281
+ } | undefined;
282
+ };
283
+ } | {
284
+ output: {
285
+ error: {
286
+ code: "api_key_invalid" | "api_key_missing";
287
+ details?: readonly Response.error.Detail[] | undefined;
288
+ message: string;
289
+ };
290
+ requestId: string;
291
+ };
292
+ outputFormat: "json";
293
+ status: 401;
294
+ input: {
295
+ query?: {
296
+ chainId?: string | string[];
297
+ cursor?: string | string[];
298
+ include?: string | string[];
299
+ limit?: string | string[];
300
+ page?: string | string[];
301
+ } | undefined;
302
+ };
303
+ } | {
304
+ output: {
305
+ error: {
306
+ code: "api_key_forbidden";
307
+ details?: readonly Response.error.Detail[] | undefined;
308
+ message: string;
309
+ };
310
+ requestId: string;
311
+ };
312
+ outputFormat: "json";
313
+ status: 403;
314
+ input: {
315
+ query?: {
316
+ chainId?: string | string[];
317
+ cursor?: string | string[];
318
+ include?: string | string[];
319
+ limit?: string | string[];
320
+ page?: string | string[];
321
+ } | undefined;
322
+ };
323
+ } | {
324
+ output: {
325
+ error: {
326
+ code: "payment_required" | "rate_limit_exceeded";
327
+ details?: readonly Response.error.Detail[] | undefined;
328
+ message: string;
329
+ };
330
+ requestId: string;
331
+ };
332
+ outputFormat: "json";
333
+ status: 429;
334
+ input: {
335
+ query?: {
336
+ chainId?: string | string[];
337
+ cursor?: string | string[];
338
+ include?: string | string[];
339
+ limit?: string | string[];
340
+ page?: string | string[];
341
+ } | undefined;
342
+ };
343
+ } | {
344
+ output: {
345
+ error: {
346
+ code: "query_invalid";
347
+ details?: readonly Response.error.Detail[] | undefined;
348
+ message: string;
349
+ };
350
+ requestId: string;
351
+ };
352
+ outputFormat: "json";
353
+ status: 400;
354
+ input: {
355
+ query?: {
356
+ chainId?: string | string[];
357
+ cursor?: string | string[];
358
+ include?: string | string[];
359
+ limit?: string | string[];
360
+ page?: string | string[];
361
+ } | undefined;
362
+ };
363
+ } | {
364
+ output: {
365
+ data: {
366
+ createdAt: string;
367
+ id: `0x${string}`;
368
+ lastMintAt: string;
369
+ mintCount: number;
370
+ poolId: `0x${string}`;
371
+ userToken: {
372
+ address: `0x${string}`;
373
+ currency?: string | undefined;
374
+ decimals?: number | undefined;
375
+ logoUri?: string | undefined;
376
+ name?: string | undefined;
377
+ symbol?: string | undefined;
378
+ verified?: boolean | undefined;
379
+ amount?: string | undefined;
380
+ formatted?: string | undefined;
381
+ };
382
+ validatorToken: {
383
+ address: `0x${string}`;
384
+ currency?: string | undefined;
385
+ decimals?: number | undefined;
386
+ logoUri?: string | undefined;
387
+ name?: string | undefined;
388
+ symbol?: string | undefined;
389
+ verified?: boolean | undefined;
390
+ amount?: string | undefined;
391
+ formatted?: string | undefined;
392
+ };
393
+ }[];
394
+ nextCursor: string | null;
395
+ };
396
+ outputFormat: "json";
397
+ status: 200;
398
+ input: {
399
+ query?: {
400
+ chainId?: string | string[];
401
+ cursor?: string | string[];
402
+ include?: string | string[];
403
+ limit?: string | string[];
404
+ page?: string | string[];
405
+ } | undefined;
406
+ };
407
+ };
408
+ };
409
+ } & {
410
+ "/mints": {
411
+ $get: {
412
+ output: null;
413
+ outputFormat: "body";
414
+ status: 402;
415
+ input: {
416
+ query?: {
417
+ chainId?: string | string[];
418
+ cursor?: string | string[];
419
+ include?: string | string[];
420
+ limit?: string | string[];
421
+ order?: string | string[];
422
+ page?: string | string[];
423
+ userToken?: string | string[];
424
+ validatorToken?: string | string[];
425
+ } | undefined;
426
+ };
427
+ } | {
428
+ output: {
429
+ error: {
430
+ code: "upstream_error";
431
+ details?: readonly Response.error.Detail[] | undefined;
432
+ message: string;
433
+ };
434
+ requestId: string;
435
+ };
436
+ outputFormat: "json";
437
+ status: 502;
438
+ input: {
439
+ query?: {
440
+ chainId?: string | string[];
441
+ cursor?: string | string[];
442
+ include?: string | string[];
443
+ limit?: string | string[];
444
+ order?: string | string[];
445
+ page?: string | string[];
446
+ userToken?: string | string[];
447
+ validatorToken?: string | string[];
448
+ } | undefined;
449
+ };
450
+ } | {
451
+ output: {
452
+ error: {
453
+ code: "api_key_malformed";
454
+ details?: readonly Response.error.Detail[] | undefined;
455
+ message: string;
456
+ };
457
+ requestId: string;
458
+ };
459
+ outputFormat: "json";
460
+ status: 400;
461
+ input: {
462
+ query?: {
463
+ chainId?: string | string[];
464
+ cursor?: string | string[];
465
+ include?: string | string[];
466
+ limit?: string | string[];
467
+ order?: string | string[];
468
+ page?: string | string[];
469
+ userToken?: string | string[];
470
+ validatorToken?: string | string[];
471
+ } | undefined;
472
+ };
473
+ } | {
474
+ output: {
475
+ error: {
476
+ code: "api_key_invalid" | "api_key_missing";
477
+ details?: readonly Response.error.Detail[] | undefined;
478
+ message: string;
479
+ };
480
+ requestId: string;
481
+ };
482
+ outputFormat: "json";
483
+ status: 401;
484
+ input: {
485
+ query?: {
486
+ chainId?: string | string[];
487
+ cursor?: string | string[];
488
+ include?: string | string[];
489
+ limit?: string | string[];
490
+ order?: string | string[];
491
+ page?: string | string[];
492
+ userToken?: string | string[];
493
+ validatorToken?: string | string[];
494
+ } | undefined;
495
+ };
496
+ } | {
497
+ output: {
498
+ error: {
499
+ code: "api_key_forbidden";
500
+ details?: readonly Response.error.Detail[] | undefined;
501
+ message: string;
502
+ };
503
+ requestId: string;
504
+ };
505
+ outputFormat: "json";
506
+ status: 403;
507
+ input: {
508
+ query?: {
509
+ chainId?: string | string[];
510
+ cursor?: string | string[];
511
+ include?: string | string[];
512
+ limit?: string | string[];
513
+ order?: string | string[];
514
+ page?: string | string[];
515
+ userToken?: string | string[];
516
+ validatorToken?: string | string[];
517
+ } | undefined;
518
+ };
519
+ } | {
520
+ output: {
521
+ error: {
522
+ code: "payment_required" | "rate_limit_exceeded";
523
+ details?: readonly Response.error.Detail[] | undefined;
524
+ message: string;
525
+ };
526
+ requestId: string;
527
+ };
528
+ outputFormat: "json";
529
+ status: 429;
530
+ input: {
531
+ query?: {
532
+ chainId?: string | string[];
533
+ cursor?: string | string[];
534
+ include?: string | string[];
535
+ limit?: string | string[];
536
+ order?: string | string[];
537
+ page?: string | string[];
538
+ userToken?: string | string[];
539
+ validatorToken?: string | string[];
540
+ } | undefined;
541
+ };
542
+ } | {
543
+ output: {
544
+ error: {
545
+ code: "query_invalid";
546
+ details?: readonly Response.error.Detail[] | undefined;
547
+ message: string;
548
+ };
549
+ requestId: string;
550
+ };
551
+ outputFormat: "json";
552
+ status: 400;
553
+ input: {
554
+ query?: {
555
+ chainId?: string | string[];
556
+ cursor?: string | string[];
557
+ include?: string | string[];
558
+ limit?: string | string[];
559
+ order?: string | string[];
560
+ page?: string | string[];
561
+ userToken?: string | string[];
562
+ validatorToken?: string | string[];
563
+ } | undefined;
564
+ };
565
+ } | {
566
+ output: {
567
+ data: {
568
+ amountUserToken?: string | undefined;
569
+ amountValidatorToken: string;
570
+ blockNumber: number;
571
+ id: string;
572
+ liquidity: string;
573
+ logIndex: number;
574
+ minter: `0x${string}`;
575
+ recipient?: `0x${string}` | undefined;
576
+ timestamp: string;
577
+ transactionHash: `0x${string}`;
578
+ userToken: {
579
+ address: `0x${string}`;
580
+ currency?: string | undefined;
581
+ decimals?: number | undefined;
582
+ logoUri?: string | undefined;
583
+ name?: string | undefined;
584
+ symbol?: string | undefined;
585
+ verified?: boolean | undefined;
586
+ };
587
+ validatorToken: {
588
+ address: `0x${string}`;
589
+ currency?: string | undefined;
590
+ decimals?: number | undefined;
591
+ logoUri?: string | undefined;
592
+ name?: string | undefined;
593
+ symbol?: string | undefined;
594
+ verified?: boolean | undefined;
595
+ };
596
+ }[];
597
+ meta?: {
598
+ totalCountCapped: boolean;
599
+ totalCount: number;
600
+ } | undefined;
601
+ nextCursor: string | null;
602
+ };
603
+ outputFormat: "json";
604
+ status: 200;
605
+ input: {
606
+ query?: {
607
+ chainId?: string | string[];
608
+ cursor?: string | string[];
609
+ include?: string | string[];
610
+ limit?: string | string[];
611
+ order?: string | string[];
612
+ page?: string | string[];
613
+ userToken?: string | string[];
614
+ validatorToken?: string | string[];
615
+ } | undefined;
616
+ };
617
+ };
618
+ };
619
+ }, "/", "/mints">;
620
+ /**
621
+ * The set of token addresses usable to pay transaction fees on a chain: the
622
+ * curated verified tokens that have at least one Fee AMM pool (i.e. appear as a
623
+ * `userToken` / topic2 in the FeeManager's `Mint` logs), plus the protocol
624
+ * default fee token (`pathUSD`), which pays fees without needing a pool.
625
+ * Addresses are lowercased to match the indexer's stored casing.
626
+ *
627
+ * The set is intentionally gated to the verified list rather than every pooled
628
+ * token: anyone can mint a one-shot spam pool, so the raw set of pool
629
+ * `userToken`s is unbounded (tens of thousands on busy chains) and those
630
+ * liquidity-less pools can't actually settle fees. Restricting to verified
631
+ * tokens keeps the set small (a handful of USD stablecoins), bounds the scan
632
+ * (the `topic2 IN (…)` candidate list is the verified list), and matches the
633
+ * tokens fees are realistically paid in.
634
+ *
635
+ * Memoized per chain and verified-snapshot version (the only inputs), so
636
+ * callers — e.g. the address balances endpoint — can flag which holdings are
637
+ * fee-usable without a second `/fee-amm/pools` query.
638
+ */
639
+ export declare function feeTokenSet(c: Context<App.Environment>, chainId: z.output<typeof Schema.ChainId>): Promise<Set<string>>;
640
+ //# sourceMappingURL=fee-amm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-amm.d.ts","sourceRoot":"","sources":["../../src/apps/fee-amm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,MAAM,CAAA;AAGzC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAA;AAKrC,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAmC/C,iDAAiD;AACjD,yBAAiB,MAAM,CAAC;IACtB;;;;;;;OAOG;IACI,MAAM,SAAS;;;;;;;;qBAoCrB,CAAA;IAED,gDAAgD;IAChD,UAAiB,cAAc,CAAC;QAC9B,sEAAsE;QAC/D,MAAM,OAAO;;UAEyD,CAAA;QAE7E;;;;;;WAMG;QACI,MAAM,YAAY;;YAGxB,CAAA;QAED,sDAAsD;QAC/C,MAAM,KAAK;;;;;;;;;;;0BAQyE,CAAA;QAE3F;;;;;WAKG;QACI,MAAM,KAAK;;;;;;;;;;yBAmBjB,CAAA;QAED,yDAAyD;QAClD,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAyCgE,CAAA;QAEjF,oEAAoE;QAC7D,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOoE,CAAA;KAC1F;IAED,gDAAgD;IAChD,UAAiB,cAAc,CAAC;QAC9B,uDAAuD;QAChD,MAAM,KAAK;;;;;;;;;;;;;;;;;0BAkBf,CAAA;QAEH,+CAA+C;QACxC,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA2D8C,CAAA;QAE/D,+DAA+D;QACxD,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAUqC,CAAA;KAC3D;CACF;AAED,gCAAgC;AAChC,wBAAgB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiNrB;AAmJD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAC/B,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA6CtB"}