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,1221 @@
1
+ import { type RequestIdVariables } from 'hono/request-id';
2
+ import * as ApiKeySource from '../ApiKeySource.js';
3
+ import type * as Assets from '../Assets.js';
4
+ import * as Response from '../internal/Response.js';
5
+ import type * as Store from '../internal/Store.js';
6
+ /** A verified admin identity, as returned by {@link create.Options.identify}. */
7
+ export type Identity = {
8
+ /** The admin's verified email, recorded as `createdBy` on every minted key. */
9
+ email: string;
10
+ };
11
+ /** Hono environment for the admin app. */
12
+ export type Environment = {
13
+ Variables: RequestIdVariables & {
14
+ /** Static-asset writer (e.g. the R2 icon bucket), when configured. */
15
+ assets: create.Assets | undefined;
16
+ /** The admin identity, or `null` when unauthenticated (gated routes reject). */
17
+ identity: Identity | null;
18
+ /** The API-key source provisioned against (mint/list/revoke). */
19
+ source: ApiKeySource.Source;
20
+ /** Verified-token state store, when management is enabled. */
21
+ verifiedTokens: {
22
+ store: Store.State;
23
+ } | undefined;
24
+ };
25
+ };
26
+ /** The admin portal Hono app. Inferred from {@link create}. */
27
+ export type App = ReturnType<typeof create>;
28
+ /** Creates the admin portal Hono app. */
29
+ export declare function create(options: create.Options): import("hono/hono-base").HonoBase<Environment, import("hono/types").MergeSchemaPath<{
30
+ "/": {
31
+ $get: {
32
+ output: {
33
+ data: readonly [{
34
+ readonly description: 'Read public chain data: tokens, transactions, transfers, blocks, and receipts.';
35
+ readonly scope: 'data:read';
36
+ }, {
37
+ readonly description: 'Run ad-hoc queries against the raw indexer passthrough.';
38
+ readonly scope: 'indexer:query';
39
+ }, {
40
+ readonly description: 'Read webhook subscriptions.';
41
+ readonly scope: 'webhooks:read';
42
+ }, {
43
+ readonly description: 'Create, update, and delete webhook subscriptions.';
44
+ readonly scope: 'webhooks:write';
45
+ }];
46
+ };
47
+ outputFormat: "json";
48
+ status: import("hono/utils/http-status").ContentfulStatusCode;
49
+ input: {};
50
+ };
51
+ };
52
+ }, "/scopes"> | import("hono/types").MergeSchemaPath<{
53
+ "/": {
54
+ $post: {
55
+ output: {
56
+ environment: "production" | "sandbox";
57
+ id: string;
58
+ name?: string | undefined;
59
+ orgId: string;
60
+ rateLimits?: {
61
+ [x: string]: {
62
+ perMinute: number;
63
+ };
64
+ } | undefined;
65
+ scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
66
+ createdAt: string;
67
+ createdBy?: string | undefined;
68
+ expiresAt?: string | undefined;
69
+ tokenLast4: string;
70
+ token: string;
71
+ };
72
+ outputFormat: "json";
73
+ status: import("hono/utils/http-status").ContentfulStatusCode;
74
+ input: {
75
+ json: {
76
+ environment?: "production" | "sandbox" | undefined;
77
+ name?: string | undefined;
78
+ rateLimits?: Record<string, {
79
+ perMinute: number;
80
+ }> | undefined;
81
+ scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
82
+ expiresAt?: string | undefined;
83
+ orgId?: string | undefined;
84
+ };
85
+ };
86
+ };
87
+ };
88
+ } & {
89
+ "/": {
90
+ $get: {
91
+ output: {
92
+ data: {
93
+ environment: "production" | "sandbox";
94
+ id: string;
95
+ name?: string | undefined;
96
+ orgId: string;
97
+ rateLimits?: {
98
+ [x: string]: {
99
+ perMinute: number;
100
+ };
101
+ } | undefined;
102
+ scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
103
+ createdAt: string;
104
+ createdBy?: string | undefined;
105
+ expiresAt?: string | undefined;
106
+ tokenLast4: string;
107
+ }[];
108
+ };
109
+ outputFormat: "json";
110
+ status: import("hono/utils/http-status").ContentfulStatusCode;
111
+ input: {
112
+ query?: {
113
+ orgId?: string | string[];
114
+ } | undefined;
115
+ };
116
+ };
117
+ };
118
+ } & {
119
+ "/:id": {
120
+ $delete: {
121
+ output: {
122
+ error: {
123
+ code: "not_found";
124
+ details?: readonly Response.error.Detail[] | undefined;
125
+ message: string;
126
+ };
127
+ requestId: string;
128
+ };
129
+ outputFormat: "json";
130
+ status: 404;
131
+ input: {
132
+ param: {
133
+ id: string;
134
+ };
135
+ };
136
+ } | {
137
+ output: {
138
+ id: string;
139
+ };
140
+ outputFormat: "json";
141
+ status: import("hono/utils/http-status").ContentfulStatusCode;
142
+ input: {
143
+ param: {
144
+ id: string;
145
+ };
146
+ };
147
+ };
148
+ };
149
+ }, "/api-keys"> | import("hono/types").MergeSchemaPath<{
150
+ "/": {
151
+ $get: {
152
+ output: {
153
+ error: {
154
+ code: "verified_tokens_not_enabled";
155
+ details?: readonly Response.error.Detail[] | undefined;
156
+ message: string;
157
+ };
158
+ requestId: string;
159
+ };
160
+ outputFormat: "json";
161
+ status: 404;
162
+ input: {
163
+ query: {
164
+ chainId: string | string[];
165
+ };
166
+ };
167
+ } | {
168
+ output: {
169
+ data: {
170
+ address: `0x${string}`;
171
+ currency: string;
172
+ decimals: number;
173
+ logoUri?: string | undefined;
174
+ name: string;
175
+ symbol: string;
176
+ id: string;
177
+ }[];
178
+ version: string | null;
179
+ };
180
+ outputFormat: "json";
181
+ status: import("hono/utils/http-status").ContentfulStatusCode;
182
+ input: {
183
+ query: {
184
+ chainId: string | string[];
185
+ };
186
+ };
187
+ };
188
+ };
189
+ } & {
190
+ "/": {
191
+ $post: {
192
+ output: {
193
+ error: {
194
+ code: "verified_tokens_not_enabled";
195
+ details?: readonly Response.error.Detail[] | undefined;
196
+ message: string;
197
+ };
198
+ requestId: string;
199
+ };
200
+ outputFormat: "json";
201
+ status: 404;
202
+ input: {
203
+ json: {
204
+ address: `0x${string}`;
205
+ currency: string;
206
+ decimals: number;
207
+ logoUri?: string | undefined;
208
+ name: string;
209
+ symbol: string;
210
+ chainId: unknown;
211
+ logo?: string | undefined;
212
+ };
213
+ };
214
+ } | {
215
+ output: {
216
+ error: {
217
+ code: "assets_not_enabled";
218
+ details?: readonly Response.error.Detail[] | undefined;
219
+ message: string;
220
+ };
221
+ requestId: string;
222
+ };
223
+ outputFormat: "json";
224
+ status: 404;
225
+ input: {
226
+ json: {
227
+ address: `0x${string}`;
228
+ currency: string;
229
+ decimals: number;
230
+ logoUri?: string | undefined;
231
+ name: string;
232
+ symbol: string;
233
+ chainId: unknown;
234
+ logo?: string | undefined;
235
+ };
236
+ };
237
+ } | {
238
+ output: {
239
+ error: {
240
+ code: "verified_token_not_found";
241
+ details?: readonly Response.error.Detail[] | undefined;
242
+ message: string;
243
+ };
244
+ requestId: string;
245
+ };
246
+ outputFormat: "json";
247
+ status: 404;
248
+ input: {
249
+ json: {
250
+ address: `0x${string}`;
251
+ currency: string;
252
+ decimals: number;
253
+ logoUri?: string | undefined;
254
+ name: string;
255
+ symbol: string;
256
+ chainId: unknown;
257
+ logo?: string | undefined;
258
+ };
259
+ };
260
+ } | {
261
+ output: {
262
+ error: {
263
+ code: "duplicate_address";
264
+ details?: readonly Response.error.Detail[] | undefined;
265
+ message: string;
266
+ };
267
+ requestId: string;
268
+ };
269
+ outputFormat: "json";
270
+ status: 409;
271
+ input: {
272
+ json: {
273
+ address: `0x${string}`;
274
+ currency: string;
275
+ decimals: number;
276
+ logoUri?: string | undefined;
277
+ name: string;
278
+ symbol: string;
279
+ chainId: unknown;
280
+ logo?: string | undefined;
281
+ };
282
+ };
283
+ } | {
284
+ output: {
285
+ error: {
286
+ code: "duplicate_symbol";
287
+ details?: readonly Response.error.Detail[] | undefined;
288
+ message: string;
289
+ };
290
+ requestId: string;
291
+ };
292
+ outputFormat: "json";
293
+ status: 409;
294
+ input: {
295
+ json: {
296
+ address: `0x${string}`;
297
+ currency: string;
298
+ decimals: number;
299
+ logoUri?: string | undefined;
300
+ name: string;
301
+ symbol: string;
302
+ chainId: unknown;
303
+ logo?: string | undefined;
304
+ };
305
+ };
306
+ } | {
307
+ output: {
308
+ error: {
309
+ code: "version_mismatch";
310
+ details?: readonly Response.error.Detail[] | undefined;
311
+ message: string;
312
+ };
313
+ requestId: string;
314
+ };
315
+ outputFormat: "json";
316
+ status: 412;
317
+ input: {
318
+ json: {
319
+ address: `0x${string}`;
320
+ currency: string;
321
+ decimals: number;
322
+ logoUri?: string | undefined;
323
+ name: string;
324
+ symbol: string;
325
+ chainId: unknown;
326
+ logo?: string | undefined;
327
+ };
328
+ };
329
+ } | {
330
+ output: {
331
+ error: {
332
+ code: "upstream_error";
333
+ details?: readonly Response.error.Detail[] | undefined;
334
+ message: string;
335
+ };
336
+ requestId: string;
337
+ };
338
+ outputFormat: "json";
339
+ status: 502;
340
+ input: {
341
+ json: {
342
+ address: `0x${string}`;
343
+ currency: string;
344
+ decimals: number;
345
+ logoUri?: string | undefined;
346
+ name: string;
347
+ symbol: string;
348
+ chainId: unknown;
349
+ logo?: string | undefined;
350
+ };
351
+ };
352
+ } | {
353
+ output: {
354
+ data: {
355
+ address: `0x${string}`;
356
+ currency: string;
357
+ decimals: number;
358
+ logoUri?: string | undefined;
359
+ name: string;
360
+ symbol: string;
361
+ id: string;
362
+ };
363
+ version: string;
364
+ };
365
+ outputFormat: "json";
366
+ status: import("hono/utils/http-status").ContentfulStatusCode;
367
+ input: {
368
+ json: {
369
+ address: `0x${string}`;
370
+ currency: string;
371
+ decimals: number;
372
+ logoUri?: string | undefined;
373
+ name: string;
374
+ symbol: string;
375
+ chainId: unknown;
376
+ logo?: string | undefined;
377
+ };
378
+ };
379
+ } | {
380
+ output: {
381
+ error: {
382
+ code: string;
383
+ details?: readonly Response.error.Detail[] | undefined;
384
+ message: string;
385
+ };
386
+ requestId: string;
387
+ };
388
+ outputFormat: "json";
389
+ status: 400 | 413 | 415;
390
+ input: {
391
+ json: {
392
+ address: `0x${string}`;
393
+ currency: string;
394
+ decimals: number;
395
+ logoUri?: string | undefined;
396
+ name: string;
397
+ symbol: string;
398
+ chainId: unknown;
399
+ logo?: string | undefined;
400
+ };
401
+ };
402
+ };
403
+ };
404
+ } & {
405
+ "/": {
406
+ $put: {
407
+ output: {
408
+ error: {
409
+ code: "verified_tokens_not_enabled";
410
+ details?: readonly Response.error.Detail[] | undefined;
411
+ message: string;
412
+ };
413
+ requestId: string;
414
+ };
415
+ outputFormat: "json";
416
+ status: 404;
417
+ input: {
418
+ query: {
419
+ chainId: string | string[];
420
+ };
421
+ } & {
422
+ json: {
423
+ tokens: {
424
+ address: `0x${string}`;
425
+ currency: string;
426
+ decimals: number;
427
+ logoUri?: string | undefined;
428
+ name: string;
429
+ symbol: string;
430
+ }[];
431
+ };
432
+ };
433
+ } | {
434
+ output: {
435
+ error: {
436
+ code: "verified_token_not_found";
437
+ details?: readonly Response.error.Detail[] | undefined;
438
+ message: string;
439
+ };
440
+ requestId: string;
441
+ };
442
+ outputFormat: "json";
443
+ status: 404;
444
+ input: {
445
+ query: {
446
+ chainId: string | string[];
447
+ };
448
+ } & {
449
+ json: {
450
+ tokens: {
451
+ address: `0x${string}`;
452
+ currency: string;
453
+ decimals: number;
454
+ logoUri?: string | undefined;
455
+ name: string;
456
+ symbol: string;
457
+ }[];
458
+ };
459
+ };
460
+ } | {
461
+ output: {
462
+ error: {
463
+ code: "duplicate_address";
464
+ details?: readonly Response.error.Detail[] | undefined;
465
+ message: string;
466
+ };
467
+ requestId: string;
468
+ };
469
+ outputFormat: "json";
470
+ status: 409;
471
+ input: {
472
+ query: {
473
+ chainId: string | string[];
474
+ };
475
+ } & {
476
+ json: {
477
+ tokens: {
478
+ address: `0x${string}`;
479
+ currency: string;
480
+ decimals: number;
481
+ logoUri?: string | undefined;
482
+ name: string;
483
+ symbol: string;
484
+ }[];
485
+ };
486
+ };
487
+ } | {
488
+ output: {
489
+ error: {
490
+ code: "duplicate_symbol";
491
+ details?: readonly Response.error.Detail[] | undefined;
492
+ message: string;
493
+ };
494
+ requestId: string;
495
+ };
496
+ outputFormat: "json";
497
+ status: 409;
498
+ input: {
499
+ query: {
500
+ chainId: string | string[];
501
+ };
502
+ } & {
503
+ json: {
504
+ tokens: {
505
+ address: `0x${string}`;
506
+ currency: string;
507
+ decimals: number;
508
+ logoUri?: string | undefined;
509
+ name: string;
510
+ symbol: string;
511
+ }[];
512
+ };
513
+ };
514
+ } | {
515
+ output: {
516
+ error: {
517
+ code: "version_mismatch";
518
+ details?: readonly Response.error.Detail[] | undefined;
519
+ message: string;
520
+ };
521
+ requestId: string;
522
+ };
523
+ outputFormat: "json";
524
+ status: 412;
525
+ input: {
526
+ query: {
527
+ chainId: string | string[];
528
+ };
529
+ } & {
530
+ json: {
531
+ tokens: {
532
+ address: `0x${string}`;
533
+ currency: string;
534
+ decimals: number;
535
+ logoUri?: string | undefined;
536
+ name: string;
537
+ symbol: string;
538
+ }[];
539
+ };
540
+ };
541
+ } | {
542
+ output: {
543
+ error: {
544
+ code: "upstream_error";
545
+ details?: readonly Response.error.Detail[] | undefined;
546
+ message: string;
547
+ };
548
+ requestId: string;
549
+ };
550
+ outputFormat: "json";
551
+ status: 502;
552
+ input: {
553
+ query: {
554
+ chainId: string | string[];
555
+ };
556
+ } & {
557
+ json: {
558
+ tokens: {
559
+ address: `0x${string}`;
560
+ currency: string;
561
+ decimals: number;
562
+ logoUri?: string | undefined;
563
+ name: string;
564
+ symbol: string;
565
+ }[];
566
+ };
567
+ };
568
+ } | {
569
+ output: {
570
+ data: {
571
+ address: `0x${string}`;
572
+ currency: string;
573
+ decimals: number;
574
+ logoUri?: string | undefined;
575
+ name: string;
576
+ symbol: string;
577
+ id: string;
578
+ }[];
579
+ version: string;
580
+ };
581
+ outputFormat: "json";
582
+ status: import("hono/utils/http-status").ContentfulStatusCode;
583
+ input: {
584
+ query: {
585
+ chainId: string | string[];
586
+ };
587
+ } & {
588
+ json: {
589
+ tokens: {
590
+ address: `0x${string}`;
591
+ currency: string;
592
+ decimals: number;
593
+ logoUri?: string | undefined;
594
+ name: string;
595
+ symbol: string;
596
+ }[];
597
+ };
598
+ };
599
+ } | {
600
+ output: {
601
+ error: {
602
+ code: string;
603
+ details?: readonly Response.error.Detail[] | undefined;
604
+ message: string;
605
+ };
606
+ requestId: string;
607
+ };
608
+ outputFormat: "json";
609
+ status: 400 | 413 | 415;
610
+ input: {
611
+ query: {
612
+ chainId: string | string[];
613
+ };
614
+ } & {
615
+ json: {
616
+ tokens: {
617
+ address: `0x${string}`;
618
+ currency: string;
619
+ decimals: number;
620
+ logoUri?: string | undefined;
621
+ name: string;
622
+ symbol: string;
623
+ }[];
624
+ };
625
+ };
626
+ };
627
+ };
628
+ } & {
629
+ "/:address": {
630
+ $patch: {
631
+ output: {
632
+ error: {
633
+ code: "verified_tokens_not_enabled";
634
+ details?: readonly Response.error.Detail[] | undefined;
635
+ message: string;
636
+ };
637
+ requestId: string;
638
+ };
639
+ outputFormat: "json";
640
+ status: 404;
641
+ input: {
642
+ param: {
643
+ address: `0x${string}`;
644
+ };
645
+ } & {
646
+ query: {
647
+ chainId: string | string[];
648
+ };
649
+ } & {
650
+ json: {
651
+ currency?: string | undefined;
652
+ decimals?: number | undefined;
653
+ logoUri?: string | undefined;
654
+ name?: string | undefined;
655
+ symbol?: string | undefined;
656
+ };
657
+ };
658
+ } | {
659
+ output: {
660
+ error: {
661
+ code: "verified_token_not_found";
662
+ details?: readonly Response.error.Detail[] | undefined;
663
+ message: string;
664
+ };
665
+ requestId: string;
666
+ };
667
+ outputFormat: "json";
668
+ status: 404;
669
+ input: {
670
+ param: {
671
+ address: `0x${string}`;
672
+ };
673
+ } & {
674
+ query: {
675
+ chainId: string | string[];
676
+ };
677
+ } & {
678
+ json: {
679
+ currency?: string | undefined;
680
+ decimals?: number | undefined;
681
+ logoUri?: string | undefined;
682
+ name?: string | undefined;
683
+ symbol?: string | undefined;
684
+ };
685
+ };
686
+ } | {
687
+ output: {
688
+ error: {
689
+ code: "duplicate_address";
690
+ details?: readonly Response.error.Detail[] | undefined;
691
+ message: string;
692
+ };
693
+ requestId: string;
694
+ };
695
+ outputFormat: "json";
696
+ status: 409;
697
+ input: {
698
+ param: {
699
+ address: `0x${string}`;
700
+ };
701
+ } & {
702
+ query: {
703
+ chainId: string | string[];
704
+ };
705
+ } & {
706
+ json: {
707
+ currency?: string | undefined;
708
+ decimals?: number | undefined;
709
+ logoUri?: string | undefined;
710
+ name?: string | undefined;
711
+ symbol?: string | undefined;
712
+ };
713
+ };
714
+ } | {
715
+ output: {
716
+ error: {
717
+ code: "duplicate_symbol";
718
+ details?: readonly Response.error.Detail[] | undefined;
719
+ message: string;
720
+ };
721
+ requestId: string;
722
+ };
723
+ outputFormat: "json";
724
+ status: 409;
725
+ input: {
726
+ param: {
727
+ address: `0x${string}`;
728
+ };
729
+ } & {
730
+ query: {
731
+ chainId: string | string[];
732
+ };
733
+ } & {
734
+ json: {
735
+ currency?: string | undefined;
736
+ decimals?: number | undefined;
737
+ logoUri?: string | undefined;
738
+ name?: string | undefined;
739
+ symbol?: string | undefined;
740
+ };
741
+ };
742
+ } | {
743
+ output: {
744
+ error: {
745
+ code: "version_mismatch";
746
+ details?: readonly Response.error.Detail[] | undefined;
747
+ message: string;
748
+ };
749
+ requestId: string;
750
+ };
751
+ outputFormat: "json";
752
+ status: 412;
753
+ input: {
754
+ param: {
755
+ address: `0x${string}`;
756
+ };
757
+ } & {
758
+ query: {
759
+ chainId: string | string[];
760
+ };
761
+ } & {
762
+ json: {
763
+ currency?: string | undefined;
764
+ decimals?: number | undefined;
765
+ logoUri?: string | undefined;
766
+ name?: string | undefined;
767
+ symbol?: string | undefined;
768
+ };
769
+ };
770
+ } | {
771
+ output: {
772
+ error: {
773
+ code: "upstream_error";
774
+ details?: readonly Response.error.Detail[] | undefined;
775
+ message: string;
776
+ };
777
+ requestId: string;
778
+ };
779
+ outputFormat: "json";
780
+ status: 502;
781
+ input: {
782
+ param: {
783
+ address: `0x${string}`;
784
+ };
785
+ } & {
786
+ query: {
787
+ chainId: string | string[];
788
+ };
789
+ } & {
790
+ json: {
791
+ currency?: string | undefined;
792
+ decimals?: number | undefined;
793
+ logoUri?: string | undefined;
794
+ name?: string | undefined;
795
+ symbol?: string | undefined;
796
+ };
797
+ };
798
+ } | {
799
+ output: {
800
+ data: {
801
+ address: `0x${string}`;
802
+ currency: string;
803
+ decimals: number;
804
+ logoUri?: string | undefined;
805
+ name: string;
806
+ symbol: string;
807
+ id: string;
808
+ };
809
+ version: string;
810
+ };
811
+ outputFormat: "json";
812
+ status: import("hono/utils/http-status").ContentfulStatusCode;
813
+ input: {
814
+ param: {
815
+ address: `0x${string}`;
816
+ };
817
+ } & {
818
+ query: {
819
+ chainId: string | string[];
820
+ };
821
+ } & {
822
+ json: {
823
+ currency?: string | undefined;
824
+ decimals?: number | undefined;
825
+ logoUri?: string | undefined;
826
+ name?: string | undefined;
827
+ symbol?: string | undefined;
828
+ };
829
+ };
830
+ } | {
831
+ output: {
832
+ error: {
833
+ code: string;
834
+ details?: readonly Response.error.Detail[] | undefined;
835
+ message: string;
836
+ };
837
+ requestId: string;
838
+ };
839
+ outputFormat: "json";
840
+ status: 400 | 413 | 415;
841
+ input: {
842
+ param: {
843
+ address: `0x${string}`;
844
+ };
845
+ } & {
846
+ query: {
847
+ chainId: string | string[];
848
+ };
849
+ } & {
850
+ json: {
851
+ currency?: string | undefined;
852
+ decimals?: number | undefined;
853
+ logoUri?: string | undefined;
854
+ name?: string | undefined;
855
+ symbol?: string | undefined;
856
+ };
857
+ };
858
+ };
859
+ };
860
+ } & {
861
+ "/:address": {
862
+ $delete: {
863
+ output: {
864
+ error: {
865
+ code: "verified_tokens_not_enabled";
866
+ details?: readonly Response.error.Detail[] | undefined;
867
+ message: string;
868
+ };
869
+ requestId: string;
870
+ };
871
+ outputFormat: "json";
872
+ status: 404;
873
+ input: {
874
+ param: {
875
+ address: `0x${string}`;
876
+ };
877
+ } & {
878
+ query: {
879
+ chainId: string | string[];
880
+ };
881
+ };
882
+ } | {
883
+ output: {
884
+ error: {
885
+ code: "verified_token_not_found";
886
+ details?: readonly Response.error.Detail[] | undefined;
887
+ message: string;
888
+ };
889
+ requestId: string;
890
+ };
891
+ outputFormat: "json";
892
+ status: 404;
893
+ input: {
894
+ param: {
895
+ address: `0x${string}`;
896
+ };
897
+ } & {
898
+ query: {
899
+ chainId: string | string[];
900
+ };
901
+ };
902
+ } | {
903
+ output: {
904
+ error: {
905
+ code: "duplicate_address";
906
+ details?: readonly Response.error.Detail[] | undefined;
907
+ message: string;
908
+ };
909
+ requestId: string;
910
+ };
911
+ outputFormat: "json";
912
+ status: 409;
913
+ input: {
914
+ param: {
915
+ address: `0x${string}`;
916
+ };
917
+ } & {
918
+ query: {
919
+ chainId: string | string[];
920
+ };
921
+ };
922
+ } | {
923
+ output: {
924
+ error: {
925
+ code: "duplicate_symbol";
926
+ details?: readonly Response.error.Detail[] | undefined;
927
+ message: string;
928
+ };
929
+ requestId: string;
930
+ };
931
+ outputFormat: "json";
932
+ status: 409;
933
+ input: {
934
+ param: {
935
+ address: `0x${string}`;
936
+ };
937
+ } & {
938
+ query: {
939
+ chainId: string | string[];
940
+ };
941
+ };
942
+ } | {
943
+ output: {
944
+ error: {
945
+ code: "version_mismatch";
946
+ details?: readonly Response.error.Detail[] | undefined;
947
+ message: string;
948
+ };
949
+ requestId: string;
950
+ };
951
+ outputFormat: "json";
952
+ status: 412;
953
+ input: {
954
+ param: {
955
+ address: `0x${string}`;
956
+ };
957
+ } & {
958
+ query: {
959
+ chainId: string | string[];
960
+ };
961
+ };
962
+ } | {
963
+ output: {
964
+ error: {
965
+ code: "upstream_error";
966
+ details?: readonly Response.error.Detail[] | undefined;
967
+ message: string;
968
+ };
969
+ requestId: string;
970
+ };
971
+ outputFormat: "json";
972
+ status: 502;
973
+ input: {
974
+ param: {
975
+ address: `0x${string}`;
976
+ };
977
+ } & {
978
+ query: {
979
+ chainId: string | string[];
980
+ };
981
+ };
982
+ } | {
983
+ output: {
984
+ version: string;
985
+ };
986
+ outputFormat: "json";
987
+ status: import("hono/utils/http-status").ContentfulStatusCode;
988
+ input: {
989
+ param: {
990
+ address: `0x${string}`;
991
+ };
992
+ } & {
993
+ query: {
994
+ chainId: string | string[];
995
+ };
996
+ };
997
+ } | {
998
+ output: {
999
+ error: {
1000
+ code: string;
1001
+ details?: readonly Response.error.Detail[] | undefined;
1002
+ message: string;
1003
+ };
1004
+ requestId: string;
1005
+ };
1006
+ outputFormat: "json";
1007
+ status: 400 | 413 | 415;
1008
+ input: {
1009
+ param: {
1010
+ address: `0x${string}`;
1011
+ };
1012
+ } & {
1013
+ query: {
1014
+ chainId: string | string[];
1015
+ };
1016
+ };
1017
+ };
1018
+ };
1019
+ } & {
1020
+ "/:address/logo": {
1021
+ $get: {
1022
+ output: {
1023
+ error: {
1024
+ code: "logo_not_found";
1025
+ details?: readonly Response.error.Detail[] | undefined;
1026
+ message: string;
1027
+ };
1028
+ requestId: string;
1029
+ };
1030
+ outputFormat: "json";
1031
+ status: 404;
1032
+ input: {
1033
+ param: {
1034
+ address: `0x${string}`;
1035
+ };
1036
+ } & {
1037
+ query: {
1038
+ chainId: string | string[];
1039
+ };
1040
+ };
1041
+ } | {
1042
+ output: ArrayBuffer;
1043
+ outputFormat: "body";
1044
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1045
+ input: {
1046
+ param: {
1047
+ address: `0x${string}`;
1048
+ };
1049
+ } & {
1050
+ query: {
1051
+ chainId: string | string[];
1052
+ };
1053
+ };
1054
+ };
1055
+ };
1056
+ } & {
1057
+ "/:address/logo": {
1058
+ $put: {
1059
+ output: {
1060
+ error: {
1061
+ code: "body_invalid";
1062
+ details?: readonly Response.error.Detail[] | undefined;
1063
+ message: string;
1064
+ };
1065
+ requestId: string;
1066
+ };
1067
+ outputFormat: "json";
1068
+ status: 400;
1069
+ input: {
1070
+ param: {
1071
+ address: `0x${string}`;
1072
+ };
1073
+ } & {
1074
+ query: {
1075
+ chainId: string | string[];
1076
+ };
1077
+ };
1078
+ } | {
1079
+ output: {
1080
+ error: {
1081
+ code: "assets_not_enabled";
1082
+ details?: readonly Response.error.Detail[] | undefined;
1083
+ message: string;
1084
+ };
1085
+ requestId: string;
1086
+ };
1087
+ outputFormat: "json";
1088
+ status: 404;
1089
+ input: {
1090
+ param: {
1091
+ address: `0x${string}`;
1092
+ };
1093
+ } & {
1094
+ query: {
1095
+ chainId: string | string[];
1096
+ };
1097
+ };
1098
+ } | {
1099
+ output: {
1100
+ error: {
1101
+ code: "payload_too_large";
1102
+ details?: readonly Response.error.Detail[] | undefined;
1103
+ message: string;
1104
+ };
1105
+ requestId: string;
1106
+ };
1107
+ outputFormat: "json";
1108
+ status: 413;
1109
+ input: {
1110
+ param: {
1111
+ address: `0x${string}`;
1112
+ };
1113
+ } & {
1114
+ query: {
1115
+ chainId: string | string[];
1116
+ };
1117
+ };
1118
+ } | {
1119
+ output: {
1120
+ error: {
1121
+ code: "unsupported_media_type";
1122
+ details?: readonly Response.error.Detail[] | undefined;
1123
+ message: string;
1124
+ };
1125
+ requestId: string;
1126
+ };
1127
+ outputFormat: "json";
1128
+ status: 415;
1129
+ input: {
1130
+ param: {
1131
+ address: `0x${string}`;
1132
+ };
1133
+ } & {
1134
+ query: {
1135
+ chainId: string | string[];
1136
+ };
1137
+ };
1138
+ } | {
1139
+ output: {
1140
+ key: string;
1141
+ path: string;
1142
+ };
1143
+ outputFormat: "json";
1144
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1145
+ input: {
1146
+ param: {
1147
+ address: `0x${string}`;
1148
+ };
1149
+ } & {
1150
+ query: {
1151
+ chainId: string | string[];
1152
+ };
1153
+ };
1154
+ };
1155
+ };
1156
+ }, "/verified-tokens"> | {
1157
+ "/config.json": {
1158
+ $get: {
1159
+ output: {
1160
+ auth: {
1161
+ identity: {
1162
+ email: string;
1163
+ } | null;
1164
+ loginUrl?: string | undefined;
1165
+ logoutUrl?: string | undefined;
1166
+ };
1167
+ };
1168
+ outputFormat: "json";
1169
+ status: 200;
1170
+ input: {};
1171
+ };
1172
+ };
1173
+ }, "/", "/config.json">;
1174
+ export declare namespace create {
1175
+ /**
1176
+ * Static-asset store for the deployment (e.g. `Assets.cloudflareR2(...)`,
1177
+ * shared with the main API). Keyed `<chainId>/<path>`; `get` enables logo
1178
+ * previews, `put` enables logo uploads.
1179
+ */
1180
+ type Assets = Assets.Assets;
1181
+ /** Options for {@link create}. */
1182
+ type Options = {
1183
+ /** API-key provisioning config (mirrors the API app's `apiKey` option). */
1184
+ apiKey: {
1185
+ /** Source to provision against (mint/list/revoke). */
1186
+ source: ApiKeySource.Source;
1187
+ };
1188
+ /**
1189
+ * Static-asset writer for logo uploads (shared with the main API's `assets`
1190
+ * loader) to enable `PUT /verified-tokens/:address/logo`; omit for `404`.
1191
+ */
1192
+ assets?: Assets | undefined;
1193
+ /**
1194
+ * Extracts the verified admin identity from a request, or `null` to deny.
1195
+ * Must only return an identity for an already-authenticated request (a
1196
+ * verified Access JWT, or a header set by a trusted proxy).
1197
+ */
1198
+ identify: (request: Request) => Identity | null | Promise<Identity | null>;
1199
+ /**
1200
+ * Admin UI options, or `false` to disable the bundled UI (JSON API only).
1201
+ * `loginUrl`/`logoutUrl` are surfaced in `GET /config.json`.
1202
+ */
1203
+ ui?: Ui | false | undefined;
1204
+ /**
1205
+ * Verified-token management config (store shared with the main API's reads)
1206
+ * to enable the `/verified-tokens` routes; omit to serve them as `404`.
1207
+ */
1208
+ verifiedTokens?: {
1209
+ /** Verified-token state store (shared with the main API's reads). */
1210
+ store: Store.State;
1211
+ } | undefined;
1212
+ };
1213
+ /** Admin UI options surfaced to the SPA via `GET /config.json`. */
1214
+ type Ui = {
1215
+ /** Where the deployer's sign-in page lives; shown by the UI on a `401`. */
1216
+ loginUrl?: string | undefined;
1217
+ /** Where to send the user to sign out (e.g. Cloudflare Access logout). */
1218
+ logoutUrl?: string | undefined;
1219
+ };
1220
+ }
1221
+ //# sourceMappingURL=App.d.ts.map