tapimo 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/dist/App.d.ts +13987 -5755
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js.map +1 -1
  4. package/dist/admin/App.d.ts +910 -412
  5. package/dist/admin/App.d.ts.map +1 -1
  6. package/dist/admin/App.js +4 -0
  7. package/dist/admin/App.js.map +1 -1
  8. package/dist/admin/apps/early-access.d.ts +148 -0
  9. package/dist/admin/apps/early-access.d.ts.map +1 -0
  10. package/dist/admin/apps/early-access.js +133 -0
  11. package/dist/admin/apps/early-access.js.map +1 -0
  12. package/dist/admin/apps/verified-tokens.d.ts +526 -1
  13. package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
  14. package/dist/admin/apps/verified-tokens.js +214 -1
  15. package/dist/admin/apps/verified-tokens.js.map +1 -1
  16. package/dist/admin/ui.generated.d.ts +1 -1
  17. package/dist/admin/ui.generated.d.ts.map +1 -1
  18. package/dist/admin/ui.generated.js +45 -33
  19. package/dist/admin/ui.generated.js.map +1 -1
  20. package/dist/apps/data/App.d.ts +3733 -2428
  21. package/dist/apps/data/App.d.ts.map +1 -1
  22. package/dist/apps/data/App.js +11 -6
  23. package/dist/apps/data/App.js.map +1 -1
  24. package/dist/apps/data/FundingQuoteProviders.d.ts +34 -1
  25. package/dist/apps/data/FundingQuoteProviders.d.ts.map +1 -1
  26. package/dist/apps/data/FundingQuoteProviders.js +193 -2
  27. package/dist/apps/data/FundingQuoteProviders.js.map +1 -1
  28. package/dist/apps/data/FxOracle.d.ts +71 -0
  29. package/dist/apps/data/FxOracle.d.ts.map +1 -0
  30. package/dist/apps/data/FxOracle.js +97 -0
  31. package/dist/apps/data/FxOracle.js.map +1 -0
  32. package/dist/apps/data/index.d.ts +1 -0
  33. package/dist/apps/data/index.d.ts.map +1 -1
  34. package/dist/apps/data/index.js +1 -0
  35. package/dist/apps/data/index.js.map +1 -1
  36. package/dist/apps/data/routes/activities.d.ts +3575 -1358
  37. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  38. package/dist/apps/data/routes/activities.js +230 -88
  39. package/dist/apps/data/routes/activities.js.map +1 -1
  40. package/dist/apps/data/routes/addresses.d.ts +872 -251
  41. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  42. package/dist/apps/data/routes/addresses.js +11 -9
  43. package/dist/apps/data/routes/addresses.js.map +1 -1
  44. package/dist/apps/data/routes/balances.d.ts +108 -57
  45. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  46. package/dist/apps/data/routes/balances.js +88 -45
  47. package/dist/apps/data/routes/balances.js.map +1 -1
  48. package/dist/apps/data/routes/coingecko.d.ts +169 -169
  49. package/dist/apps/data/routes/exchanges.d.ts +952 -201
  50. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  51. package/dist/apps/data/routes/exchanges.js +518 -76
  52. package/dist/apps/data/routes/exchanges.js.map +1 -1
  53. package/dist/apps/data/routes/fee-amm.d.ts +24 -24
  54. package/dist/apps/data/routes/funding.d.ts +8 -2
  55. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  56. package/dist/apps/data/routes/funding.js +32 -6
  57. package/dist/apps/data/routes/funding.js.map +1 -1
  58. package/dist/apps/data/routes/indexer.d.ts +5 -5
  59. package/dist/apps/data/routes/receipts.d.ts +392 -315
  60. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  61. package/dist/apps/data/routes/receipts.js +152 -77
  62. package/dist/apps/data/routes/receipts.js.map +1 -1
  63. package/dist/apps/data/routes/rpc.d.ts +31 -31
  64. package/dist/apps/data/routes/tokens.d.ts +166 -173
  65. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  66. package/dist/apps/data/routes/tokens.js +14 -12
  67. package/dist/apps/data/routes/tokens.js.map +1 -1
  68. package/dist/apps/data/routes/transactions.d.ts +277 -536
  69. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  70. package/dist/apps/data/routes/transactions.js +96 -77
  71. package/dist/apps/data/routes/transactions.js.map +1 -1
  72. package/dist/apps/data/routes/transfers.d.ts +82 -17
  73. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  74. package/dist/apps/data/routes/transfers.js +70 -13
  75. package/dist/apps/data/routes/transfers.js.map +1 -1
  76. package/dist/apps/data/routes/valuation.d.ts +307 -0
  77. package/dist/apps/data/routes/valuation.d.ts.map +1 -0
  78. package/dist/apps/data/routes/valuation.js +292 -0
  79. package/dist/apps/data/routes/valuation.js.map +1 -0
  80. package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
  81. package/dist/apps/data/routes/verified-tokens.js +7 -5
  82. package/dist/apps/data/routes/verified-tokens.js.map +1 -1
  83. package/dist/apps/data/routes/webhooks.d.ts +459 -479
  84. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  85. package/dist/apps/data/routes/webhooks.js +124 -25
  86. package/dist/apps/data/routes/webhooks.js.map +1 -1
  87. package/dist/apps/index.d.ts +1 -1
  88. package/dist/apps/index.d.ts.map +1 -1
  89. package/dist/apps/index.js +1 -1
  90. package/dist/apps/index.js.map +1 -1
  91. package/dist/apps/management/App.d.ts +8606 -1681
  92. package/dist/apps/management/App.d.ts.map +1 -1
  93. package/dist/apps/management/App.js +12 -1
  94. package/dist/apps/management/App.js.map +1 -1
  95. package/dist/apps/management/routes/api-keys.d.ts +23 -0
  96. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  97. package/dist/apps/management/routes/api-keys.js +5 -3
  98. package/dist/apps/management/routes/api-keys.js.map +1 -1
  99. package/dist/apps/management/routes/billing.d.ts +88 -48
  100. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  101. package/dist/apps/management/routes/billing.js +10 -2
  102. package/dist/apps/management/routes/billing.js.map +1 -1
  103. package/dist/apps/management/routes/faucet.d.ts +218 -0
  104. package/dist/apps/management/routes/faucet.d.ts.map +1 -0
  105. package/dist/apps/management/routes/faucet.js +139 -0
  106. package/dist/apps/management/routes/faucet.js.map +1 -0
  107. package/dist/apps/management/routes/invitations.d.ts +121 -121
  108. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  109. package/dist/apps/management/routes/invitations.js +3 -0
  110. package/dist/apps/management/routes/invitations.js.map +1 -1
  111. package/dist/apps/management/routes/invite-links.d.ts +49 -20
  112. package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
  113. package/dist/apps/management/routes/invite-links.js +26 -1
  114. package/dist/apps/management/routes/invite-links.js.map +1 -1
  115. package/dist/apps/management/routes/me.d.ts +2 -0
  116. package/dist/apps/management/routes/me.d.ts.map +1 -1
  117. package/dist/apps/management/routes/me.js +4 -0
  118. package/dist/apps/management/routes/me.js.map +1 -1
  119. package/dist/apps/management/routes/members.d.ts +49 -49
  120. package/dist/apps/management/routes/orgs.d.ts +91 -91
  121. package/dist/apps/management/routes/projects.d.ts +44 -44
  122. package/dist/apps/management/routes/usage.d.ts +35 -32
  123. package/dist/apps/management/routes/usage.d.ts.map +1 -1
  124. package/dist/apps/management/routes/usage.js +4 -0
  125. package/dist/apps/management/routes/usage.js.map +1 -1
  126. package/dist/apps/management/routes/verified-token-requests.d.ts +697 -0
  127. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -0
  128. package/dist/apps/management/routes/verified-token-requests.js +271 -0
  129. package/dist/apps/management/routes/verified-token-requests.js.map +1 -0
  130. package/dist/apps/management/routes/webhooks.d.ts +6977 -0
  131. package/dist/apps/management/routes/webhooks.d.ts.map +1 -0
  132. package/dist/apps/management/routes/webhooks.js +573 -0
  133. package/dist/apps/management/routes/webhooks.js.map +1 -0
  134. package/dist/db/Db.d.ts +4 -0
  135. package/dist/db/Db.d.ts.map +1 -1
  136. package/dist/db/Db.js +83 -0
  137. package/dist/db/Db.js.map +1 -1
  138. package/dist/db/Schema.d.ts +41 -0
  139. package/dist/db/Schema.d.ts.map +1 -1
  140. package/dist/db/Schema.js +45 -0
  141. package/dist/db/Schema.js.map +1 -1
  142. package/dist/db/tables/earlyAccess.d.ts +50 -0
  143. package/dist/db/tables/earlyAccess.d.ts.map +1 -0
  144. package/dist/db/tables/earlyAccess.js +63 -0
  145. package/dist/db/tables/earlyAccess.js.map +1 -0
  146. package/dist/db/tables/invitations.d.ts +12 -1
  147. package/dist/db/tables/invitations.d.ts.map +1 -1
  148. package/dist/db/tables/invitations.js +23 -0
  149. package/dist/db/tables/invitations.js.map +1 -1
  150. package/dist/db/tables/inviteLinks.d.ts +10 -2
  151. package/dist/db/tables/inviteLinks.d.ts.map +1 -1
  152. package/dist/db/tables/inviteLinks.js +10 -1
  153. package/dist/db/tables/inviteLinks.js.map +1 -1
  154. package/dist/db/tables/sponsoredTransactions.d.ts +2 -0
  155. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  156. package/dist/db/tables/sponsoredTransactions.js +2 -0
  157. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  158. package/dist/db/tables/verifiedTokenRequests.d.ts +94 -0
  159. package/dist/db/tables/verifiedTokenRequests.d.ts.map +1 -0
  160. package/dist/db/tables/verifiedTokenRequests.js +120 -0
  161. package/dist/db/tables/verifiedTokenRequests.js.map +1 -0
  162. package/dist/db/tables/webhookSubscriptions.d.ts +14 -0
  163. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  164. package/dist/db/tables/webhookSubscriptions.js +16 -0
  165. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  166. package/dist/internal/Auth.d.ts +43 -2
  167. package/dist/internal/Auth.d.ts.map +1 -1
  168. package/dist/internal/Auth.js +60 -45
  169. package/dist/internal/Auth.js.map +1 -1
  170. package/dist/internal/FundingQuotes.d.ts +69 -15
  171. package/dist/internal/FundingQuotes.d.ts.map +1 -1
  172. package/dist/internal/FundingQuotes.js +74 -25
  173. package/dist/internal/FundingQuotes.js.map +1 -1
  174. package/dist/internal/Log.d.ts +19 -1
  175. package/dist/internal/Log.d.ts.map +1 -1
  176. package/dist/internal/Log.js +2 -0
  177. package/dist/internal/Log.js.map +1 -1
  178. package/dist/internal/MetricSink.d.ts.map +1 -1
  179. package/dist/internal/MetricSink.js +9 -0
  180. package/dist/internal/MetricSink.js.map +1 -1
  181. package/dist/internal/OpenApi.d.ts +2 -2
  182. package/dist/internal/OpenApi.d.ts.map +1 -1
  183. package/dist/internal/OpenApi.js +3 -0
  184. package/dist/internal/OpenApi.js.map +1 -1
  185. package/dist/internal/Schema.d.ts +14 -5
  186. package/dist/internal/Schema.d.ts.map +1 -1
  187. package/dist/internal/Schema.js +23 -5
  188. package/dist/internal/Schema.js.map +1 -1
  189. package/dist/internal/Value.d.ts +18 -0
  190. package/dist/internal/Value.d.ts.map +1 -1
  191. package/dist/internal/Value.js +11 -1
  192. package/dist/internal/Value.js.map +1 -1
  193. package/dist/internal/VerifiedTokens.d.ts.map +1 -1
  194. package/dist/internal/VerifiedTokens.js +10 -1
  195. package/dist/internal/VerifiedTokens.js.map +1 -1
  196. package/dist/internal/Viem.d.ts +1 -1
  197. package/dist/internal/Webhooks.d.ts +24 -3
  198. package/dist/internal/Webhooks.d.ts.map +1 -1
  199. package/dist/internal/Webhooks.js +34 -8
  200. package/dist/internal/Webhooks.js.map +1 -1
  201. package/package.json +1 -1
  202. package/src/App.ts +9 -1
  203. package/src/Client.test-d.ts +638 -6
  204. package/src/admin/App.ts +4 -0
  205. package/src/admin/apps/early-access.test.ts +125 -0
  206. package/src/admin/apps/early-access.ts +175 -0
  207. package/src/admin/apps/verified-tokens.test.ts +201 -0
  208. package/src/admin/apps/verified-tokens.ts +532 -286
  209. package/src/admin/ui/plugin.ts +2 -1
  210. package/src/admin/ui/src/lib/early-access.ts +63 -0
  211. package/src/admin/ui/src/lib/verified-tokens.ts +79 -0
  212. package/src/admin/ui/src/routeTree.gen.ts +33 -2
  213. package/src/admin/ui/src/routes/__root.tsx +2 -1
  214. package/src/admin/ui/src/routes/early-access.tsx +157 -0
  215. package/src/admin/ui/src/routes/verified-tokens.tsx +230 -19
  216. package/src/admin/ui.generated.ts +48 -33
  217. package/src/apps/data/App.ts +22 -14
  218. package/src/apps/data/FundingQuoteProviders.test.ts +298 -0
  219. package/src/apps/data/FundingQuoteProviders.ts +257 -4
  220. package/src/apps/data/FxOracle.test.ts +118 -0
  221. package/src/apps/data/FxOracle.ts +153 -0
  222. package/src/apps/data/index.ts +1 -0
  223. package/src/apps/data/routes/activities.test.ts +173 -3
  224. package/src/apps/data/routes/activities.ts +403 -132
  225. package/src/apps/data/routes/addresses.ts +19 -9
  226. package/src/apps/data/routes/balances.test.ts +144 -11
  227. package/src/apps/data/routes/balances.ts +140 -51
  228. package/src/apps/data/routes/exchanges.test.ts +540 -9
  229. package/src/apps/data/routes/exchanges.ts +690 -103
  230. package/src/apps/data/routes/funding.test.ts +84 -0
  231. package/src/apps/data/routes/funding.ts +38 -6
  232. package/src/apps/data/routes/receipts.test.ts +125 -23
  233. package/src/apps/data/routes/receipts.ts +205 -100
  234. package/src/apps/data/routes/tokens.test.ts +43 -0
  235. package/src/apps/data/routes/tokens.ts +27 -12
  236. package/src/apps/data/routes/transactions.test.ts +72 -19
  237. package/src/apps/data/routes/transactions.ts +162 -92
  238. package/src/apps/data/routes/transfers.test.ts +146 -4
  239. package/src/apps/data/routes/transfers.ts +91 -13
  240. package/src/apps/data/routes/valuation.test.ts +422 -0
  241. package/src/apps/data/routes/valuation.ts +423 -0
  242. package/src/apps/data/routes/verified-tokens.ts +14 -2
  243. package/src/apps/data/routes/webhooks.test.ts +56 -8
  244. package/src/apps/data/routes/webhooks.ts +144 -27
  245. package/src/apps/index.ts +1 -1
  246. package/src/apps/management/App.ts +13 -0
  247. package/src/apps/management/routes/api-keys.test.ts +87 -0
  248. package/src/apps/management/routes/api-keys.ts +4 -3
  249. package/src/apps/management/routes/billing.test.ts +112 -1
  250. package/src/apps/management/routes/billing.ts +7 -2
  251. package/src/apps/management/routes/faucet.test.ts +79 -0
  252. package/src/apps/management/routes/faucet.ts +185 -0
  253. package/src/apps/management/routes/invitations.test.ts +172 -0
  254. package/src/apps/management/routes/invitations.ts +3 -0
  255. package/src/apps/management/routes/invite-links.test.ts +117 -0
  256. package/src/apps/management/routes/invite-links.ts +43 -1
  257. package/src/apps/management/routes/me.test.ts +140 -88
  258. package/src/apps/management/routes/me.ts +6 -0
  259. package/src/apps/management/routes/usage.test.ts +6 -0
  260. package/src/apps/management/routes/usage.ts +7 -0
  261. package/src/apps/management/routes/verified-token-requests.test.ts +377 -0
  262. package/src/apps/management/routes/verified-token-requests.ts +397 -0
  263. package/src/apps/management/routes/webhooks.test.ts +426 -0
  264. package/src/apps/management/routes/webhooks.ts +672 -0
  265. package/src/db/Db.test.ts +19 -0
  266. package/src/db/Db.ts +95 -0
  267. package/src/db/Schema.ts +53 -0
  268. package/src/db/tables/earlyAccess.ts +86 -0
  269. package/src/db/tables/invitations.ts +26 -1
  270. package/src/db/tables/inviteLinks.ts +22 -3
  271. package/src/db/tables/sponsoredTransactions.ts +4 -0
  272. package/src/db/tables/verifiedTokenRequests.test.ts +200 -0
  273. package/src/db/tables/verifiedTokenRequests.ts +182 -0
  274. package/src/db/tables/webhookSubscriptions.ts +31 -0
  275. package/src/internal/Auth.ts +73 -45
  276. package/src/internal/FundingQuotes.test.ts +143 -1
  277. package/src/internal/FundingQuotes.ts +95 -28
  278. package/src/internal/Log.test-d.ts +21 -0
  279. package/src/internal/Log.test.ts +50 -0
  280. package/src/internal/Log.ts +24 -1
  281. package/src/internal/MetricSink.test.ts +160 -0
  282. package/src/internal/MetricSink.ts +10 -0
  283. package/src/internal/OpenApi.ts +3 -0
  284. package/src/internal/Schema.ts +50 -5
  285. package/src/internal/Value.test.ts +20 -0
  286. package/src/internal/Value.ts +24 -1
  287. package/src/internal/VerifiedTokens.ts +9 -1
  288. package/src/internal/Webhooks.test.ts +140 -0
  289. package/src/internal/Webhooks.ts +53 -9
@@ -149,6 +149,116 @@ export declare namespace schema {
149
149
  }>, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniNumber<unknown>]>, z.ZodMiniNumber<number>>;
150
150
  }, z.core.$strict>;
151
151
  }
152
+ /**
153
+ * A verification request with reviewer context: the management wire shape
154
+ * plus the requesting org's name and the reviewing admin's email.
155
+ */
156
+ const Request: z.ZodMiniObject<{
157
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
158
+ currency: z.ZodMiniString<string>;
159
+ decimals: z.ZodMiniNumber<number>;
160
+ logoUri: z.ZodMiniOptional<z.ZodMiniURL>;
161
+ name: z.ZodMiniString<string>;
162
+ symbol: z.ZodMiniString<string>;
163
+ chainId: z.ZodMiniNumber<number>;
164
+ createdAt: z.ZodMiniString<string>;
165
+ id: z.ZodMiniString<string>;
166
+ logo: z.ZodMiniOptional<z.ZodMiniString<string>>;
167
+ note: z.ZodMiniNullable<z.ZodMiniString<string>>;
168
+ orgId: z.ZodMiniString<string>;
169
+ requestedBy: z.ZodMiniString<string>;
170
+ reviewNote: z.ZodMiniNullable<z.ZodMiniString<string>>;
171
+ reviewedAt: z.ZodMiniNullable<z.ZodMiniString<string>>;
172
+ status: z.ZodMiniEnum<{
173
+ approved: "approved";
174
+ denied: "denied";
175
+ pending: "pending";
176
+ }>;
177
+ updatedAt: z.ZodMiniString<string>;
178
+ orgName: z.ZodMiniNullable<z.ZodMiniString<string>>;
179
+ reviewedBy: z.ZodMiniNullable<z.ZodMiniString<string>>;
180
+ }, z.core.$strip>;
181
+ /** Path parameters addressing one verification request. */
182
+ const RequestParams: z.ZodMiniObject<{
183
+ requestId: z.ZodMiniString<string>;
184
+ }, z.core.$strip>;
185
+ /** Schemas for the listVerifiedTokenRequests operation. */
186
+ namespace listVerifiedTokenRequests {
187
+ /** Query parameters for the request queue. */
188
+ const Query: z.ZodMiniObject<{
189
+ status: z.ZodMiniDefault<z.ZodMiniEnum<{
190
+ approved: "approved";
191
+ denied: "denied";
192
+ pending: "pending";
193
+ }>>;
194
+ }, z.core.$strict>;
195
+ /** Response: requests in the selected status, oldest first. */
196
+ const Response: z.ZodMiniObject<{
197
+ data: z.ZodMiniArray<z.ZodMiniObject<{
198
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
199
+ currency: z.ZodMiniString<string>;
200
+ decimals: z.ZodMiniNumber<number>;
201
+ logoUri: z.ZodMiniOptional<z.ZodMiniURL>;
202
+ name: z.ZodMiniString<string>;
203
+ symbol: z.ZodMiniString<string>;
204
+ chainId: z.ZodMiniNumber<number>;
205
+ createdAt: z.ZodMiniString<string>;
206
+ id: z.ZodMiniString<string>;
207
+ logo: z.ZodMiniOptional<z.ZodMiniString<string>>;
208
+ note: z.ZodMiniNullable<z.ZodMiniString<string>>;
209
+ orgId: z.ZodMiniString<string>;
210
+ requestedBy: z.ZodMiniString<string>;
211
+ reviewNote: z.ZodMiniNullable<z.ZodMiniString<string>>;
212
+ reviewedAt: z.ZodMiniNullable<z.ZodMiniString<string>>;
213
+ status: z.ZodMiniEnum<{
214
+ approved: "approved";
215
+ denied: "denied";
216
+ pending: "pending";
217
+ }>;
218
+ updatedAt: z.ZodMiniString<string>;
219
+ orgName: z.ZodMiniNullable<z.ZodMiniString<string>>;
220
+ reviewedBy: z.ZodMiniNullable<z.ZodMiniString<string>>;
221
+ }, z.core.$strip>>;
222
+ }, z.core.$strip>;
223
+ }
224
+ /** Schemas for the denyVerifiedTokenRequest operation. */
225
+ namespace denyVerifiedTokenRequest {
226
+ /** Request body for a denial. */
227
+ const Body: z.ZodMiniObject<{
228
+ reviewNote: z.ZodMiniOptional<z.ZodMiniString<string>>;
229
+ }, z.core.$strip>;
230
+ }
231
+ /** Response shared by the approve and deny operations. */
232
+ namespace reviewVerifiedTokenRequest {
233
+ /** The reviewed request. */
234
+ const Response: z.ZodMiniObject<{
235
+ data: z.ZodMiniObject<{
236
+ address: z.ZodMiniPipe<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>;
237
+ currency: z.ZodMiniString<string>;
238
+ decimals: z.ZodMiniNumber<number>;
239
+ logoUri: z.ZodMiniOptional<z.ZodMiniURL>;
240
+ name: z.ZodMiniString<string>;
241
+ symbol: z.ZodMiniString<string>;
242
+ chainId: z.ZodMiniNumber<number>;
243
+ createdAt: z.ZodMiniString<string>;
244
+ id: z.ZodMiniString<string>;
245
+ logo: z.ZodMiniOptional<z.ZodMiniString<string>>;
246
+ note: z.ZodMiniNullable<z.ZodMiniString<string>>;
247
+ orgId: z.ZodMiniString<string>;
248
+ requestedBy: z.ZodMiniString<string>;
249
+ reviewNote: z.ZodMiniNullable<z.ZodMiniString<string>>;
250
+ reviewedAt: z.ZodMiniNullable<z.ZodMiniString<string>>;
251
+ status: z.ZodMiniEnum<{
252
+ approved: "approved";
253
+ denied: "denied";
254
+ pending: "pending";
255
+ }>;
256
+ updatedAt: z.ZodMiniString<string>;
257
+ orgName: z.ZodMiniNullable<z.ZodMiniString<string>>;
258
+ reviewedBy: z.ZodMiniNullable<z.ZodMiniString<string>>;
259
+ }, z.core.$strip>;
260
+ }, z.core.$strip>;
261
+ }
152
262
  /** Schemas for the replaceVerifiedTokens operation. */
153
263
  namespace replaceVerifiedTokens {
154
264
  /** Query parameters for a bulk replace. */
@@ -194,6 +304,8 @@ export declare namespace schema {
194
304
  * - `PATCH /:address` partially updates a token (`404` if absent).
195
305
  * - `DELETE /:address` removes a token (`404` if absent).
196
306
  * - `PUT /:address/logo` uploads a curated logo SVG (gated on `assets`).
307
+ * - `GET /requests` lists organization verification requests.
308
+ * - `POST /requests/:requestId/approve|deny` reviews a request.
197
309
  */
198
310
  export declare function verifiedTokens(): import("hono/hono-base").HonoBase<App.Environment, {
199
311
  "/": {
@@ -1088,5 +1200,418 @@ export declare function verifiedTokens(): import("hono/hono-base").HonoBase<App.
1088
1200
  };
1089
1201
  };
1090
1202
  };
1091
- }, "/", "/:address/logo">;
1203
+ } & {
1204
+ "/requests": {
1205
+ $get: {
1206
+ output: {
1207
+ data: {
1208
+ address: `0x${string}`;
1209
+ currency: string;
1210
+ decimals: number;
1211
+ logoUri?: string | undefined;
1212
+ name: string;
1213
+ symbol: string;
1214
+ chainId: number;
1215
+ createdAt: string;
1216
+ id: string;
1217
+ logo?: string | undefined;
1218
+ note: string | null;
1219
+ orgId: string;
1220
+ requestedBy: string;
1221
+ reviewNote: string | null;
1222
+ reviewedAt: string | null;
1223
+ status: "approved" | "denied" | "pending";
1224
+ updatedAt: string;
1225
+ orgName: string | null;
1226
+ reviewedBy: string | null;
1227
+ }[];
1228
+ };
1229
+ outputFormat: "json";
1230
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1231
+ input: {
1232
+ query?: {
1233
+ status?: string | string[];
1234
+ } | undefined;
1235
+ };
1236
+ };
1237
+ };
1238
+ } & {
1239
+ "/requests/:requestId/approve": {
1240
+ $post: {
1241
+ output: {
1242
+ error: {
1243
+ code: "upstream_error";
1244
+ details?: readonly Response.error.Detail[] | undefined;
1245
+ message: string;
1246
+ };
1247
+ requestId: string;
1248
+ };
1249
+ outputFormat: "json";
1250
+ status: 502;
1251
+ input: {
1252
+ param: {
1253
+ requestId: string;
1254
+ };
1255
+ };
1256
+ } | {
1257
+ output: {
1258
+ error: {
1259
+ code: "verified_token_not_found";
1260
+ details?: readonly Response.error.Detail[] | undefined;
1261
+ message: string;
1262
+ };
1263
+ requestId: string;
1264
+ };
1265
+ outputFormat: "json";
1266
+ status: 404;
1267
+ input: {
1268
+ param: {
1269
+ requestId: string;
1270
+ };
1271
+ };
1272
+ } | {
1273
+ output: {
1274
+ error: {
1275
+ code: "request_not_pending";
1276
+ details?: readonly Response.error.Detail[] | undefined;
1277
+ message: string;
1278
+ };
1279
+ requestId: string;
1280
+ };
1281
+ outputFormat: "json";
1282
+ status: 409;
1283
+ input: {
1284
+ param: {
1285
+ requestId: string;
1286
+ };
1287
+ };
1288
+ } | {
1289
+ output: {
1290
+ error: {
1291
+ code: "verified_token_request_not_found";
1292
+ details?: readonly Response.error.Detail[] | undefined;
1293
+ message: string;
1294
+ };
1295
+ requestId: string;
1296
+ };
1297
+ outputFormat: "json";
1298
+ status: 404;
1299
+ input: {
1300
+ param: {
1301
+ requestId: string;
1302
+ };
1303
+ };
1304
+ } | {
1305
+ output: {
1306
+ error: {
1307
+ code: "assets_not_enabled";
1308
+ details?: readonly Response.error.Detail[] | undefined;
1309
+ message: string;
1310
+ };
1311
+ requestId: string;
1312
+ };
1313
+ outputFormat: "json";
1314
+ status: 404;
1315
+ input: {
1316
+ param: {
1317
+ requestId: string;
1318
+ };
1319
+ };
1320
+ } | {
1321
+ output: {
1322
+ error: {
1323
+ code: string;
1324
+ details?: readonly Response.error.Detail[] | undefined;
1325
+ message: string;
1326
+ };
1327
+ requestId: string;
1328
+ };
1329
+ outputFormat: "json";
1330
+ status: 400 | 413 | 415;
1331
+ input: {
1332
+ param: {
1333
+ requestId: string;
1334
+ };
1335
+ };
1336
+ } | {
1337
+ output: {
1338
+ error: {
1339
+ code: "duplicate_address";
1340
+ details?: readonly Response.error.Detail[] | undefined;
1341
+ message: string;
1342
+ };
1343
+ requestId: string;
1344
+ };
1345
+ outputFormat: "json";
1346
+ status: 409;
1347
+ input: {
1348
+ param: {
1349
+ requestId: string;
1350
+ };
1351
+ };
1352
+ } | {
1353
+ output: {
1354
+ error: {
1355
+ code: "duplicate_symbol";
1356
+ details?: readonly Response.error.Detail[] | undefined;
1357
+ message: string;
1358
+ };
1359
+ requestId: string;
1360
+ };
1361
+ outputFormat: "json";
1362
+ status: 409;
1363
+ input: {
1364
+ param: {
1365
+ requestId: string;
1366
+ };
1367
+ };
1368
+ } | {
1369
+ output: {
1370
+ error: {
1371
+ code: "version_mismatch";
1372
+ details?: readonly Response.error.Detail[] | undefined;
1373
+ message: string;
1374
+ };
1375
+ requestId: string;
1376
+ };
1377
+ outputFormat: "json";
1378
+ status: 412;
1379
+ input: {
1380
+ param: {
1381
+ requestId: string;
1382
+ };
1383
+ };
1384
+ } | {
1385
+ output: {
1386
+ data: {
1387
+ address: `0x${string}`;
1388
+ currency: string;
1389
+ decimals: number;
1390
+ logoUri?: string | undefined;
1391
+ name: string;
1392
+ symbol: string;
1393
+ chainId: number;
1394
+ createdAt: string;
1395
+ id: string;
1396
+ logo?: string | undefined;
1397
+ note: string | null;
1398
+ orgId: string;
1399
+ requestedBy: string;
1400
+ reviewNote: string | null;
1401
+ reviewedAt: string | null;
1402
+ status: "approved" | "denied" | "pending";
1403
+ updatedAt: string;
1404
+ orgName: string | null;
1405
+ reviewedBy: string | null;
1406
+ };
1407
+ };
1408
+ outputFormat: "json";
1409
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1410
+ input: {
1411
+ param: {
1412
+ requestId: string;
1413
+ };
1414
+ };
1415
+ };
1416
+ };
1417
+ } & {
1418
+ "/requests/:requestId/deny": {
1419
+ $post: {
1420
+ output: {
1421
+ error: {
1422
+ code: "upstream_error";
1423
+ details?: readonly Response.error.Detail[] | undefined;
1424
+ message: string;
1425
+ };
1426
+ requestId: string;
1427
+ };
1428
+ outputFormat: "json";
1429
+ status: 502;
1430
+ input: {
1431
+ param: {
1432
+ requestId: string;
1433
+ };
1434
+ } & {
1435
+ json: {
1436
+ reviewNote?: string | undefined;
1437
+ };
1438
+ };
1439
+ } | {
1440
+ output: {
1441
+ error: {
1442
+ code: "verified_token_not_found";
1443
+ details?: readonly Response.error.Detail[] | undefined;
1444
+ message: string;
1445
+ };
1446
+ requestId: string;
1447
+ };
1448
+ outputFormat: "json";
1449
+ status: 404;
1450
+ input: {
1451
+ param: {
1452
+ requestId: string;
1453
+ };
1454
+ } & {
1455
+ json: {
1456
+ reviewNote?: string | undefined;
1457
+ };
1458
+ };
1459
+ } | {
1460
+ output: {
1461
+ error: {
1462
+ code: "request_not_pending";
1463
+ details?: readonly Response.error.Detail[] | undefined;
1464
+ message: string;
1465
+ };
1466
+ requestId: string;
1467
+ };
1468
+ outputFormat: "json";
1469
+ status: 409;
1470
+ input: {
1471
+ param: {
1472
+ requestId: string;
1473
+ };
1474
+ } & {
1475
+ json: {
1476
+ reviewNote?: string | undefined;
1477
+ };
1478
+ };
1479
+ } | {
1480
+ output: {
1481
+ error: {
1482
+ code: "verified_token_request_not_found";
1483
+ details?: readonly Response.error.Detail[] | undefined;
1484
+ message: string;
1485
+ };
1486
+ requestId: string;
1487
+ };
1488
+ outputFormat: "json";
1489
+ status: 404;
1490
+ input: {
1491
+ param: {
1492
+ requestId: string;
1493
+ };
1494
+ } & {
1495
+ json: {
1496
+ reviewNote?: string | undefined;
1497
+ };
1498
+ };
1499
+ } | {
1500
+ output: {
1501
+ error: {
1502
+ code: string;
1503
+ details?: readonly Response.error.Detail[] | undefined;
1504
+ message: string;
1505
+ };
1506
+ requestId: string;
1507
+ };
1508
+ outputFormat: "json";
1509
+ status: 400 | 413 | 415;
1510
+ input: {
1511
+ param: {
1512
+ requestId: string;
1513
+ };
1514
+ } & {
1515
+ json: {
1516
+ reviewNote?: string | undefined;
1517
+ };
1518
+ };
1519
+ } | {
1520
+ output: {
1521
+ error: {
1522
+ code: "duplicate_address";
1523
+ details?: readonly Response.error.Detail[] | undefined;
1524
+ message: string;
1525
+ };
1526
+ requestId: string;
1527
+ };
1528
+ outputFormat: "json";
1529
+ status: 409;
1530
+ input: {
1531
+ param: {
1532
+ requestId: string;
1533
+ };
1534
+ } & {
1535
+ json: {
1536
+ reviewNote?: string | undefined;
1537
+ };
1538
+ };
1539
+ } | {
1540
+ output: {
1541
+ error: {
1542
+ code: "duplicate_symbol";
1543
+ details?: readonly Response.error.Detail[] | undefined;
1544
+ message: string;
1545
+ };
1546
+ requestId: string;
1547
+ };
1548
+ outputFormat: "json";
1549
+ status: 409;
1550
+ input: {
1551
+ param: {
1552
+ requestId: string;
1553
+ };
1554
+ } & {
1555
+ json: {
1556
+ reviewNote?: string | undefined;
1557
+ };
1558
+ };
1559
+ } | {
1560
+ output: {
1561
+ error: {
1562
+ code: "version_mismatch";
1563
+ details?: readonly Response.error.Detail[] | undefined;
1564
+ message: string;
1565
+ };
1566
+ requestId: string;
1567
+ };
1568
+ outputFormat: "json";
1569
+ status: 412;
1570
+ input: {
1571
+ param: {
1572
+ requestId: string;
1573
+ };
1574
+ } & {
1575
+ json: {
1576
+ reviewNote?: string | undefined;
1577
+ };
1578
+ };
1579
+ } | {
1580
+ output: {
1581
+ data: {
1582
+ address: `0x${string}`;
1583
+ currency: string;
1584
+ decimals: number;
1585
+ logoUri?: string | undefined;
1586
+ name: string;
1587
+ symbol: string;
1588
+ chainId: number;
1589
+ createdAt: string;
1590
+ id: string;
1591
+ logo?: string | undefined;
1592
+ note: string | null;
1593
+ orgId: string;
1594
+ requestedBy: string;
1595
+ reviewNote: string | null;
1596
+ reviewedAt: string | null;
1597
+ status: "approved" | "denied" | "pending";
1598
+ updatedAt: string;
1599
+ orgName: string | null;
1600
+ reviewedBy: string | null;
1601
+ };
1602
+ };
1603
+ outputFormat: "json";
1604
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1605
+ input: {
1606
+ param: {
1607
+ requestId: string;
1608
+ };
1609
+ } & {
1610
+ json: {
1611
+ reviewNote?: string | undefined;
1612
+ };
1613
+ };
1614
+ };
1615
+ };
1616
+ }, "/", "/requests/:requestId/deny">;
1092
1617
  //# sourceMappingURL=verified-tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verified-tokens.d.ts","sourceRoot":"","sources":["../../../src/admin/apps/verified-tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verified-tokens.d.ts","sourceRoot":"","sources":["../../../src/admin/apps/verified-tokens.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAuc7B"}