tapimo 0.5.3 → 0.7.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 (376) hide show
  1. package/dist/App.d.ts +15830 -7220
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +9 -1
  4. package/dist/App.js.map +1 -1
  5. package/dist/Scope.d.ts +4 -0
  6. package/dist/Scope.d.ts.map +1 -1
  7. package/dist/Scope.js +5 -0
  8. package/dist/Scope.js.map +1 -1
  9. package/dist/admin/App.d.ts +1011 -412
  10. package/dist/admin/App.d.ts.map +1 -1
  11. package/dist/admin/App.js +4 -0
  12. package/dist/admin/App.js.map +1 -1
  13. package/dist/admin/apps/api-keys.d.ts +2 -1
  14. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  15. package/dist/admin/apps/early-access.d.ts +148 -0
  16. package/dist/admin/apps/early-access.d.ts.map +1 -0
  17. package/dist/admin/apps/early-access.js +133 -0
  18. package/dist/admin/apps/early-access.js.map +1 -0
  19. package/dist/admin/apps/organizations.d.ts +124 -1
  20. package/dist/admin/apps/organizations.d.ts.map +1 -1
  21. package/dist/admin/apps/organizations.js +97 -6
  22. package/dist/admin/apps/organizations.js.map +1 -1
  23. package/dist/admin/apps/verified-tokens.d.ts +526 -1
  24. package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
  25. package/dist/admin/apps/verified-tokens.js +214 -1
  26. package/dist/admin/apps/verified-tokens.js.map +1 -1
  27. package/dist/admin/ui.generated.d.ts +1 -1
  28. package/dist/admin/ui.generated.d.ts.map +1 -1
  29. package/dist/admin/ui.generated.js +95 -75
  30. package/dist/admin/ui.generated.js.map +1 -1
  31. package/dist/analytics/Analytics.d.ts.map +1 -1
  32. package/dist/analytics/Analytics.js +20 -0
  33. package/dist/analytics/Analytics.js.map +1 -1
  34. package/dist/analytics/tables/requestEvents.d.ts +18 -0
  35. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  36. package/dist/analytics/tables/requestEvents.js +36 -7
  37. package/dist/analytics/tables/requestEvents.js.map +1 -1
  38. package/dist/apps/data/App.d.ts +6260 -4924
  39. package/dist/apps/data/App.d.ts.map +1 -1
  40. package/dist/apps/data/App.js +11 -6
  41. package/dist/apps/data/App.js.map +1 -1
  42. package/dist/apps/data/FundingQuoteProviders.d.ts +34 -1
  43. package/dist/apps/data/FundingQuoteProviders.d.ts.map +1 -1
  44. package/dist/apps/data/FundingQuoteProviders.js +194 -16
  45. package/dist/apps/data/FundingQuoteProviders.js.map +1 -1
  46. package/dist/apps/data/FxOracle.d.ts +71 -0
  47. package/dist/apps/data/FxOracle.d.ts.map +1 -0
  48. package/dist/apps/data/FxOracle.js +97 -0
  49. package/dist/apps/data/FxOracle.js.map +1 -0
  50. package/dist/apps/data/index.d.ts +1 -0
  51. package/dist/apps/data/index.d.ts.map +1 -1
  52. package/dist/apps/data/index.js +1 -0
  53. package/dist/apps/data/index.js.map +1 -1
  54. package/dist/apps/data/routes/activities.d.ts +3599 -1382
  55. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  56. package/dist/apps/data/routes/activities.js +250 -88
  57. package/dist/apps/data/routes/activities.js.map +1 -1
  58. package/dist/apps/data/routes/addresses.d.ts +872 -251
  59. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  60. package/dist/apps/data/routes/addresses.js +11 -9
  61. package/dist/apps/data/routes/addresses.js.map +1 -1
  62. package/dist/apps/data/routes/balances.d.ts +77 -26
  63. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  64. package/dist/apps/data/routes/balances.js +88 -45
  65. package/dist/apps/data/routes/balances.js.map +1 -1
  66. package/dist/apps/data/routes/blocks.d.ts +39 -39
  67. package/dist/apps/data/routes/coingecko.d.ts +54 -54
  68. package/dist/apps/data/routes/exchanges.d.ts +856 -105
  69. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  70. package/dist/apps/data/routes/exchanges.js +518 -76
  71. package/dist/apps/data/routes/exchanges.js.map +1 -1
  72. package/dist/apps/data/routes/fee-amm.d.ts +81 -67
  73. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  74. package/dist/apps/data/routes/fee-amm.js +76 -91
  75. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  76. package/dist/apps/data/routes/funding.d.ts +80 -36
  77. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  78. package/dist/apps/data/routes/funding.js +65 -31
  79. package/dist/apps/data/routes/funding.js.map +1 -1
  80. package/dist/apps/data/routes/receipts.d.ts +392 -315
  81. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  82. package/dist/apps/data/routes/receipts.js +152 -77
  83. package/dist/apps/data/routes/receipts.js.map +1 -1
  84. package/dist/apps/data/routes/tokens.d.ts +167 -174
  85. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  86. package/dist/apps/data/routes/tokens.js +15 -13
  87. package/dist/apps/data/routes/tokens.js.map +1 -1
  88. package/dist/apps/data/routes/transactions.d.ts +277 -536
  89. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  90. package/dist/apps/data/routes/transactions.js +96 -77
  91. package/dist/apps/data/routes/transactions.js.map +1 -1
  92. package/dist/apps/data/routes/transfers.d.ts +157 -81
  93. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  94. package/dist/apps/data/routes/transfers.js +272 -130
  95. package/dist/apps/data/routes/transfers.js.map +1 -1
  96. package/dist/apps/data/routes/valuation.d.ts +307 -0
  97. package/dist/apps/data/routes/valuation.d.ts.map +1 -0
  98. package/dist/apps/data/routes/valuation.js +292 -0
  99. package/dist/apps/data/routes/valuation.js.map +1 -0
  100. package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
  101. package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
  102. package/dist/apps/data/routes/verified-tokens.js +7 -5
  103. package/dist/apps/data/routes/verified-tokens.js.map +1 -1
  104. package/dist/apps/data/routes/webhooks.d.ts +103 -123
  105. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  106. package/dist/apps/data/routes/webhooks.js +124 -25
  107. package/dist/apps/data/routes/webhooks.js.map +1 -1
  108. package/dist/apps/index.d.ts +2 -1
  109. package/dist/apps/index.d.ts.map +1 -1
  110. package/dist/apps/index.js +2 -1
  111. package/dist/apps/index.js.map +1 -1
  112. package/dist/apps/management/App.d.ts +8554 -1692
  113. package/dist/apps/management/App.d.ts.map +1 -1
  114. package/dist/apps/management/App.js +12 -1
  115. package/dist/apps/management/App.js.map +1 -1
  116. package/dist/apps/management/routes/api-keys.d.ts +7 -0
  117. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  118. package/dist/apps/management/routes/api-keys.js +17 -3
  119. package/dist/apps/management/routes/api-keys.js.map +1 -1
  120. package/dist/apps/management/routes/billing.d.ts +157 -162
  121. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  122. package/dist/apps/management/routes/billing.js +31 -23
  123. package/dist/apps/management/routes/billing.js.map +1 -1
  124. package/dist/apps/management/routes/faucet.d.ts +232 -0
  125. package/dist/apps/management/routes/faucet.d.ts.map +1 -0
  126. package/dist/apps/management/routes/faucet.js +154 -0
  127. package/dist/apps/management/routes/faucet.js.map +1 -0
  128. package/dist/apps/management/routes/invitations.d.ts +60 -60
  129. package/dist/apps/management/routes/invite-links.d.ts +49 -20
  130. package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
  131. package/dist/apps/management/routes/invite-links.js +26 -1
  132. package/dist/apps/management/routes/invite-links.js.map +1 -1
  133. package/dist/apps/management/routes/me.d.ts +6 -6
  134. package/dist/apps/management/routes/members.d.ts +6 -6
  135. package/dist/apps/management/routes/orgs.d.ts +42 -42
  136. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  137. package/dist/apps/management/routes/orgs.js +5 -0
  138. package/dist/apps/management/routes/orgs.js.map +1 -1
  139. package/dist/apps/management/routes/projects.d.ts +44 -44
  140. package/dist/apps/management/routes/usage.d.ts +3 -0
  141. package/dist/apps/management/routes/usage.d.ts.map +1 -1
  142. package/dist/apps/management/routes/usage.js +4 -0
  143. package/dist/apps/management/routes/usage.js.map +1 -1
  144. package/dist/apps/management/routes/verified-token-requests.d.ts +697 -0
  145. package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -0
  146. package/dist/apps/management/routes/verified-token-requests.js +271 -0
  147. package/dist/apps/management/routes/verified-token-requests.js.map +1 -0
  148. package/dist/apps/management/routes/webhooks.d.ts +6977 -0
  149. package/dist/apps/management/routes/webhooks.d.ts.map +1 -0
  150. package/dist/apps/management/routes/webhooks.js +573 -0
  151. package/dist/apps/management/routes/webhooks.js.map +1 -0
  152. package/dist/apps/mpp/App.d.ts +363 -0
  153. package/dist/apps/mpp/App.d.ts.map +1 -0
  154. package/dist/apps/mpp/App.js +72 -0
  155. package/dist/apps/mpp/App.js.map +1 -0
  156. package/dist/apps/mpp/Mpp.d.ts +178 -0
  157. package/dist/apps/mpp/Mpp.d.ts.map +1 -0
  158. package/dist/apps/mpp/Mpp.js +183 -0
  159. package/dist/apps/mpp/Mpp.js.map +1 -0
  160. package/dist/apps/mpp/index.d.ts +3 -0
  161. package/dist/apps/mpp/index.d.ts.map +1 -0
  162. package/dist/apps/mpp/index.js +3 -0
  163. package/dist/apps/mpp/index.js.map +1 -0
  164. package/dist/apps/relay/App.d.ts.map +1 -1
  165. package/dist/apps/relay/App.js +56 -9
  166. package/dist/apps/relay/App.js.map +1 -1
  167. package/dist/db/Db.d.ts +6 -0
  168. package/dist/db/Db.d.ts.map +1 -1
  169. package/dist/db/Db.js +110 -0
  170. package/dist/db/Db.js.map +1 -1
  171. package/dist/db/Schema.d.ts +53 -0
  172. package/dist/db/Schema.d.ts.map +1 -1
  173. package/dist/db/Schema.js +56 -0
  174. package/dist/db/Schema.js.map +1 -1
  175. package/dist/db/tables/earlyAccess.d.ts +50 -0
  176. package/dist/db/tables/earlyAccess.d.ts.map +1 -0
  177. package/dist/db/tables/earlyAccess.js +63 -0
  178. package/dist/db/tables/earlyAccess.js.map +1 -0
  179. package/dist/db/tables/enabledBillingSources.d.ts +73 -0
  180. package/dist/db/tables/enabledBillingSources.d.ts.map +1 -0
  181. package/dist/db/tables/enabledBillingSources.js +69 -0
  182. package/dist/db/tables/enabledBillingSources.js.map +1 -0
  183. package/dist/db/tables/invitations.d.ts.map +1 -1
  184. package/dist/db/tables/invitations.js +3 -0
  185. package/dist/db/tables/invitations.js.map +1 -1
  186. package/dist/db/tables/inviteLinks.d.ts +10 -2
  187. package/dist/db/tables/inviteLinks.d.ts.map +1 -1
  188. package/dist/db/tables/inviteLinks.js +10 -1
  189. package/dist/db/tables/inviteLinks.js.map +1 -1
  190. package/dist/db/tables/organizations.d.ts +5 -2
  191. package/dist/db/tables/organizations.d.ts.map +1 -1
  192. package/dist/db/tables/organizations.js +13 -2
  193. package/dist/db/tables/organizations.js.map +1 -1
  194. package/dist/db/tables/sponsoredTransactions.d.ts +2 -0
  195. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  196. package/dist/db/tables/sponsoredTransactions.js +2 -0
  197. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  198. package/dist/db/tables/verifiedTokenRequests.d.ts +94 -0
  199. package/dist/db/tables/verifiedTokenRequests.d.ts.map +1 -0
  200. package/dist/db/tables/verifiedTokenRequests.js +120 -0
  201. package/dist/db/tables/verifiedTokenRequests.js.map +1 -0
  202. package/dist/db/tables/webhookSubscriptions.d.ts +14 -0
  203. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  204. package/dist/db/tables/webhookSubscriptions.js +16 -0
  205. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  206. package/dist/handlers/internal/utils.d.ts +1 -16
  207. package/dist/handlers/internal/utils.d.ts.map +1 -1
  208. package/dist/handlers/internal/utils.js +17 -6
  209. package/dist/handlers/internal/utils.js.map +1 -1
  210. package/dist/handlers/relay.d.ts.map +1 -1
  211. package/dist/handlers/relay.js +37 -5
  212. package/dist/handlers/relay.js.map +1 -1
  213. package/dist/internal/Auth.d.ts +11 -2
  214. package/dist/internal/Auth.d.ts.map +1 -1
  215. package/dist/internal/Auth.js +14 -47
  216. package/dist/internal/Auth.js.map +1 -1
  217. package/dist/internal/FundingQuotes.d.ts +147 -47
  218. package/dist/internal/FundingQuotes.d.ts.map +1 -1
  219. package/dist/internal/FundingQuotes.js +119 -33
  220. package/dist/internal/FundingQuotes.js.map +1 -1
  221. package/dist/internal/Log.d.ts +37 -5
  222. package/dist/internal/Log.d.ts.map +1 -1
  223. package/dist/internal/Log.js +52 -3
  224. package/dist/internal/Log.js.map +1 -1
  225. package/dist/internal/MetricSink.d.ts.map +1 -1
  226. package/dist/internal/MetricSink.js +24 -0
  227. package/dist/internal/MetricSink.js.map +1 -1
  228. package/dist/internal/OpenApi.d.ts +2 -2
  229. package/dist/internal/OpenApi.d.ts.map +1 -1
  230. package/dist/internal/OpenApi.js +3 -0
  231. package/dist/internal/OpenApi.js.map +1 -1
  232. package/dist/internal/Response.d.ts +2 -2
  233. package/dist/internal/Response.d.ts.map +1 -1
  234. package/dist/internal/Response.js +12 -4
  235. package/dist/internal/Response.js.map +1 -1
  236. package/dist/internal/Schema.d.ts +14 -5
  237. package/dist/internal/Schema.d.ts.map +1 -1
  238. package/dist/internal/Schema.js +23 -5
  239. package/dist/internal/Schema.js.map +1 -1
  240. package/dist/internal/Value.d.ts +18 -0
  241. package/dist/internal/Value.d.ts.map +1 -1
  242. package/dist/internal/Value.js +11 -1
  243. package/dist/internal/Value.js.map +1 -1
  244. package/dist/internal/VerifiedTokens.d.ts.map +1 -1
  245. package/dist/internal/VerifiedTokens.js +10 -1
  246. package/dist/internal/VerifiedTokens.js.map +1 -1
  247. package/dist/internal/Webhooks.d.ts +24 -3
  248. package/dist/internal/Webhooks.d.ts.map +1 -1
  249. package/dist/internal/Webhooks.js +34 -8
  250. package/dist/internal/Webhooks.js.map +1 -1
  251. package/package.json +7 -2
  252. package/src/App.test.ts +9 -4
  253. package/src/App.ts +23 -3
  254. package/src/Client.test-d.ts +733 -20
  255. package/src/Scope.ts +5 -0
  256. package/src/admin/App.test.ts +4 -0
  257. package/src/admin/App.ts +4 -0
  258. package/src/admin/apps/early-access.test.ts +125 -0
  259. package/src/admin/apps/early-access.ts +176 -0
  260. package/src/admin/apps/organizations.test.ts +86 -2
  261. package/src/admin/apps/organizations.ts +155 -31
  262. package/src/admin/apps/scopes.test.ts +5 -0
  263. package/src/admin/apps/verified-tokens.test.ts +201 -0
  264. package/src/admin/apps/verified-tokens.ts +532 -286
  265. package/src/admin/ui/plugin.ts +2 -1
  266. package/src/admin/ui/src/lib/early-access.ts +63 -0
  267. package/src/admin/ui/src/lib/organizations.test.ts +81 -1
  268. package/src/admin/ui/src/lib/organizations.ts +92 -0
  269. package/src/admin/ui/src/lib/verified-tokens.ts +79 -0
  270. package/src/admin/ui/src/routeTree.gen.ts +33 -2
  271. package/src/admin/ui/src/routes/__root.tsx +2 -1
  272. package/src/admin/ui/src/routes/api-keys.tsx +1 -1
  273. package/src/admin/ui/src/routes/early-access.tsx +162 -0
  274. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +103 -0
  275. package/src/admin/ui/src/routes/verified-tokens.tsx +230 -19
  276. package/src/admin/ui.generated.ts +95 -94
  277. package/src/analytics/Analytics.test.ts +83 -0
  278. package/src/analytics/Analytics.ts +20 -0
  279. package/src/analytics/tables/requestEvents.ts +60 -7
  280. package/src/apps/composition.test.ts +11 -2
  281. package/src/apps/data/App.test.ts +1 -1
  282. package/src/apps/data/App.ts +22 -14
  283. package/src/apps/data/FundingQuoteProviders.test.ts +297 -4
  284. package/src/apps/data/FundingQuoteProviders.ts +255 -29
  285. package/src/apps/data/FxOracle.test.ts +118 -0
  286. package/src/apps/data/FxOracle.ts +153 -0
  287. package/src/apps/data/index.ts +1 -0
  288. package/src/apps/data/routes/activities.test.ts +177 -3
  289. package/src/apps/data/routes/activities.ts +441 -132
  290. package/src/apps/data/routes/addresses.ts +19 -9
  291. package/src/apps/data/routes/balances.test.ts +148 -11
  292. package/src/apps/data/routes/balances.ts +140 -51
  293. package/src/apps/data/routes/exchanges.test.ts +544 -9
  294. package/src/apps/data/routes/exchanges.ts +690 -103
  295. package/src/apps/data/routes/fee-amm.test.ts +47 -23
  296. package/src/apps/data/routes/fee-amm.ts +98 -119
  297. package/src/apps/data/routes/funding.test.ts +113 -8
  298. package/src/apps/data/routes/funding.ts +77 -51
  299. package/src/apps/data/routes/receipts.test.ts +129 -23
  300. package/src/apps/data/routes/receipts.ts +205 -100
  301. package/src/apps/data/routes/tokens.test.ts +43 -0
  302. package/src/apps/data/routes/tokens.ts +28 -13
  303. package/src/apps/data/routes/transactions.test.ts +72 -19
  304. package/src/apps/data/routes/transactions.ts +162 -92
  305. package/src/apps/data/routes/transfers.test.ts +341 -31
  306. package/src/apps/data/routes/transfers.ts +358 -158
  307. package/src/apps/data/routes/valuation.test.ts +437 -0
  308. package/src/apps/data/routes/valuation.ts +423 -0
  309. package/src/apps/data/routes/verified-tokens.ts +14 -2
  310. package/src/apps/data/routes/webhooks.test.ts +56 -8
  311. package/src/apps/data/routes/webhooks.ts +144 -27
  312. package/src/apps/index.ts +2 -1
  313. package/src/apps/management/App.ts +13 -0
  314. package/src/apps/management/routes/api-keys.test.ts +14 -0
  315. package/src/apps/management/routes/api-keys.ts +27 -3
  316. package/src/apps/management/routes/billing.test.ts +152 -20
  317. package/src/apps/management/routes/billing.ts +34 -18
  318. package/src/apps/management/routes/faucet.test.ts +87 -0
  319. package/src/apps/management/routes/faucet.ts +201 -0
  320. package/src/apps/management/routes/invite-links.test.ts +117 -0
  321. package/src/apps/management/routes/invite-links.ts +43 -1
  322. package/src/apps/management/routes/me.test.ts +9 -99
  323. package/src/apps/management/routes/orgs.test.ts +45 -2
  324. package/src/apps/management/routes/orgs.ts +6 -0
  325. package/src/apps/management/routes/scopes.test.ts +1 -0
  326. package/src/apps/management/routes/usage.test.ts +6 -0
  327. package/src/apps/management/routes/usage.ts +7 -0
  328. package/src/apps/management/routes/verified-token-requests.test.ts +377 -0
  329. package/src/apps/management/routes/verified-token-requests.ts +397 -0
  330. package/src/apps/management/routes/webhooks.test.ts +426 -0
  331. package/src/apps/management/routes/webhooks.ts +672 -0
  332. package/src/apps/mpp/App.ts +86 -0
  333. package/src/apps/mpp/Mpp.test.ts +193 -0
  334. package/src/apps/mpp/Mpp.ts +353 -0
  335. package/src/apps/mpp/index.ts +2 -0
  336. package/src/apps/mpp/internal/Adapter.ts +11 -0
  337. package/src/apps/mpp/internal/Error.ts +9 -0
  338. package/src/apps/mpp/internal/Idempotency.ts +7 -0
  339. package/src/apps/mpp/internal/Screening.ts +10 -0
  340. package/src/apps/relay/App.test.ts +88 -6
  341. package/src/apps/relay/App.ts +61 -9
  342. package/src/db/Db.test.ts +19 -0
  343. package/src/db/Db.ts +125 -0
  344. package/src/db/Schema.ts +68 -0
  345. package/src/db/tables/earlyAccess.ts +86 -0
  346. package/src/db/tables/enabledBillingSources.test.ts +303 -0
  347. package/src/db/tables/enabledBillingSources.ts +118 -0
  348. package/src/db/tables/invitations.ts +3 -0
  349. package/src/db/tables/inviteLinks.ts +22 -3
  350. package/src/db/tables/organizations.test.ts +103 -0
  351. package/src/db/tables/organizations.ts +18 -2
  352. package/src/db/tables/sponsoredTransactions.ts +4 -0
  353. package/src/db/tables/verifiedTokenRequests.test.ts +200 -0
  354. package/src/db/tables/verifiedTokenRequests.ts +182 -0
  355. package/src/db/tables/webhookSubscriptions.ts +31 -0
  356. package/src/handlers/internal/utils.ts +22 -6
  357. package/src/handlers/relay.errors.test.ts +153 -0
  358. package/src/handlers/relay.ts +42 -7
  359. package/src/internal/Auth.test.ts +3 -3
  360. package/src/internal/Auth.ts +15 -47
  361. package/src/internal/FundingQuotes.test.ts +161 -6
  362. package/src/internal/FundingQuotes.ts +141 -39
  363. package/src/internal/Log.test-d.ts +21 -0
  364. package/src/internal/Log.test.ts +141 -0
  365. package/src/internal/Log.ts +93 -6
  366. package/src/internal/MetricSink.test.ts +215 -0
  367. package/src/internal/MetricSink.ts +24 -0
  368. package/src/internal/OpenApi.ts +3 -0
  369. package/src/internal/Response.test.ts +28 -0
  370. package/src/internal/Response.ts +12 -4
  371. package/src/internal/Schema.ts +50 -5
  372. package/src/internal/Value.test.ts +20 -0
  373. package/src/internal/Value.ts +24 -1
  374. package/src/internal/VerifiedTokens.ts +9 -1
  375. package/src/internal/Webhooks.test.ts +140 -0
  376. package/src/internal/Webhooks.ts +53 -9
@@ -0,0 +1,363 @@
1
+ import type * as App from '../../App.js';
2
+ import * as Mpp from './Mpp.js';
3
+ /** Mounts MPP credential verification and broadcast routes. */
4
+ export declare function mpp(): import("hono/hono-base").HonoBase<App.Environment, {
5
+ "/v1/mpp/verify": {
6
+ $post: {
7
+ output: Mpp.Unavailable;
8
+ outputFormat: "json";
9
+ status: 503;
10
+ input: {
11
+ json: {
12
+ challenge: {
13
+ [x: string]: unknown;
14
+ description?: string | undefined;
15
+ expires?: string | undefined;
16
+ id: string;
17
+ intent: string;
18
+ method: string;
19
+ opaque?: string | undefined;
20
+ realm: string;
21
+ request: Record<string, unknown>;
22
+ };
23
+ payload: unknown;
24
+ };
25
+ };
26
+ } | {
27
+ output: {
28
+ error: {
29
+ code: "api_key_malformed";
30
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
31
+ message: string;
32
+ };
33
+ requestId: string;
34
+ };
35
+ outputFormat: "json";
36
+ status: 400;
37
+ input: {
38
+ json: {
39
+ challenge: {
40
+ [x: string]: unknown;
41
+ description?: string | undefined;
42
+ expires?: string | undefined;
43
+ id: string;
44
+ intent: string;
45
+ method: string;
46
+ opaque?: string | undefined;
47
+ realm: string;
48
+ request: Record<string, unknown>;
49
+ };
50
+ payload: unknown;
51
+ };
52
+ };
53
+ } | {
54
+ output: {
55
+ error: {
56
+ code: "api_key_invalid" | "api_key_missing";
57
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
58
+ message: string;
59
+ };
60
+ requestId: string;
61
+ };
62
+ outputFormat: "json";
63
+ status: 401;
64
+ input: {
65
+ json: {
66
+ challenge: {
67
+ [x: string]: unknown;
68
+ description?: string | undefined;
69
+ expires?: string | undefined;
70
+ id: string;
71
+ intent: string;
72
+ method: string;
73
+ opaque?: string | undefined;
74
+ realm: string;
75
+ request: Record<string, unknown>;
76
+ };
77
+ payload: unknown;
78
+ };
79
+ };
80
+ } | {
81
+ output: {
82
+ error: {
83
+ code: "api_key_forbidden";
84
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
85
+ message: string;
86
+ };
87
+ requestId: string;
88
+ };
89
+ outputFormat: "json";
90
+ status: 403;
91
+ input: {
92
+ json: {
93
+ challenge: {
94
+ [x: string]: unknown;
95
+ description?: string | undefined;
96
+ expires?: string | undefined;
97
+ id: string;
98
+ intent: string;
99
+ method: string;
100
+ opaque?: string | undefined;
101
+ realm: string;
102
+ request: Record<string, unknown>;
103
+ };
104
+ payload: unknown;
105
+ };
106
+ };
107
+ } | {
108
+ output: {
109
+ error: {
110
+ code: "payment_required" | "rate_limit_exceeded";
111
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
112
+ message: string;
113
+ };
114
+ requestId: string;
115
+ };
116
+ outputFormat: "json";
117
+ status: 429;
118
+ input: {
119
+ json: {
120
+ challenge: {
121
+ [x: string]: unknown;
122
+ description?: string | undefined;
123
+ expires?: string | undefined;
124
+ id: string;
125
+ intent: string;
126
+ method: string;
127
+ opaque?: string | undefined;
128
+ realm: string;
129
+ request: Record<string, unknown>;
130
+ };
131
+ payload: unknown;
132
+ };
133
+ };
134
+ } | {
135
+ output: {
136
+ error: {
137
+ code: "body_invalid";
138
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
139
+ message: string;
140
+ };
141
+ requestId: string;
142
+ };
143
+ outputFormat: "json";
144
+ status: 400;
145
+ input: {
146
+ json: {
147
+ challenge: {
148
+ [x: string]: unknown;
149
+ description?: string | undefined;
150
+ expires?: string | undefined;
151
+ id: string;
152
+ intent: string;
153
+ method: string;
154
+ opaque?: string | undefined;
155
+ realm: string;
156
+ request: Record<string, unknown>;
157
+ };
158
+ payload: unknown;
159
+ };
160
+ };
161
+ } | {
162
+ output: Mpp.VerifyResponse;
163
+ outputFormat: "json";
164
+ status: 200;
165
+ input: {
166
+ json: {
167
+ challenge: {
168
+ [x: string]: unknown;
169
+ description?: string | undefined;
170
+ expires?: string | undefined;
171
+ id: string;
172
+ intent: string;
173
+ method: string;
174
+ opaque?: string | undefined;
175
+ realm: string;
176
+ request: Record<string, unknown>;
177
+ };
178
+ payload: unknown;
179
+ };
180
+ };
181
+ };
182
+ };
183
+ } & {
184
+ "/v1/mpp/broadcast": {
185
+ $post: {
186
+ output: Mpp.Unavailable;
187
+ outputFormat: "json";
188
+ status: 503;
189
+ input: {
190
+ json: {
191
+ challenge: {
192
+ [x: string]: unknown;
193
+ description?: string | undefined;
194
+ expires?: string | undefined;
195
+ id: string;
196
+ intent: string;
197
+ method: string;
198
+ opaque?: string | undefined;
199
+ realm: string;
200
+ request: Record<string, unknown>;
201
+ };
202
+ payload: unknown;
203
+ };
204
+ };
205
+ } | {
206
+ output: {
207
+ error: {
208
+ code: "api_key_malformed";
209
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
210
+ message: string;
211
+ };
212
+ requestId: string;
213
+ };
214
+ outputFormat: "json";
215
+ status: 400;
216
+ input: {
217
+ json: {
218
+ challenge: {
219
+ [x: string]: unknown;
220
+ description?: string | undefined;
221
+ expires?: string | undefined;
222
+ id: string;
223
+ intent: string;
224
+ method: string;
225
+ opaque?: string | undefined;
226
+ realm: string;
227
+ request: Record<string, unknown>;
228
+ };
229
+ payload: unknown;
230
+ };
231
+ };
232
+ } | {
233
+ output: {
234
+ error: {
235
+ code: "api_key_invalid" | "api_key_missing";
236
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
237
+ message: string;
238
+ };
239
+ requestId: string;
240
+ };
241
+ outputFormat: "json";
242
+ status: 401;
243
+ input: {
244
+ json: {
245
+ challenge: {
246
+ [x: string]: unknown;
247
+ description?: string | undefined;
248
+ expires?: string | undefined;
249
+ id: string;
250
+ intent: string;
251
+ method: string;
252
+ opaque?: string | undefined;
253
+ realm: string;
254
+ request: Record<string, unknown>;
255
+ };
256
+ payload: unknown;
257
+ };
258
+ };
259
+ } | {
260
+ output: {
261
+ error: {
262
+ code: "api_key_forbidden";
263
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
264
+ message: string;
265
+ };
266
+ requestId: string;
267
+ };
268
+ outputFormat: "json";
269
+ status: 403;
270
+ input: {
271
+ json: {
272
+ challenge: {
273
+ [x: string]: unknown;
274
+ description?: string | undefined;
275
+ expires?: string | undefined;
276
+ id: string;
277
+ intent: string;
278
+ method: string;
279
+ opaque?: string | undefined;
280
+ realm: string;
281
+ request: Record<string, unknown>;
282
+ };
283
+ payload: unknown;
284
+ };
285
+ };
286
+ } | {
287
+ output: {
288
+ error: {
289
+ code: "payment_required" | "rate_limit_exceeded";
290
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
291
+ message: string;
292
+ };
293
+ requestId: string;
294
+ };
295
+ outputFormat: "json";
296
+ status: 429;
297
+ input: {
298
+ json: {
299
+ challenge: {
300
+ [x: string]: unknown;
301
+ description?: string | undefined;
302
+ expires?: string | undefined;
303
+ id: string;
304
+ intent: string;
305
+ method: string;
306
+ opaque?: string | undefined;
307
+ realm: string;
308
+ request: Record<string, unknown>;
309
+ };
310
+ payload: unknown;
311
+ };
312
+ };
313
+ } | {
314
+ output: {
315
+ error: {
316
+ code: "body_invalid";
317
+ details?: readonly import("../../internal/Response.js").error.Detail[] | undefined;
318
+ message: string;
319
+ };
320
+ requestId: string;
321
+ };
322
+ outputFormat: "json";
323
+ status: 400;
324
+ input: {
325
+ json: {
326
+ challenge: {
327
+ [x: string]: unknown;
328
+ description?: string | undefined;
329
+ expires?: string | undefined;
330
+ id: string;
331
+ intent: string;
332
+ method: string;
333
+ opaque?: string | undefined;
334
+ realm: string;
335
+ request: Record<string, unknown>;
336
+ };
337
+ payload: unknown;
338
+ };
339
+ };
340
+ } | {
341
+ output: Mpp.BroadcastResponse;
342
+ outputFormat: "json";
343
+ status: 200;
344
+ input: {
345
+ json: {
346
+ challenge: {
347
+ [x: string]: unknown;
348
+ description?: string | undefined;
349
+ expires?: string | undefined;
350
+ id: string;
351
+ intent: string;
352
+ method: string;
353
+ opaque?: string | undefined;
354
+ realm: string;
355
+ request: Record<string, unknown>;
356
+ };
357
+ payload: unknown;
358
+ };
359
+ };
360
+ };
361
+ };
362
+ }, "/", "/v1/mpp/broadcast">;
363
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/apps/mpp/App.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAIxC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,+DAA+D;AAC/D,wBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAyClB"}
@@ -0,0 +1,72 @@
1
+ import { Hono } from 'hono';
2
+ import * as Auth from '../../internal/Auth.js';
3
+ import * as OpenApi from '../../internal/OpenApi.js';
4
+ import * as Metadata from '../metadata.js';
5
+ import * as Mpp from './Mpp.js';
6
+ /** Mounts MPP credential verification and broadcast routes. */
7
+ export function mpp() {
8
+ const app = new Hono()
9
+ .post('/v1/mpp/verify', Auth.policy({ apiKey: { scopes: ['mpp:write'] }, mpp: false, public: false }), OpenApi.validate('json', Mpp.schema.RelayInput, bodyValidation), OpenApi.describeRoute({
10
+ operationId: 'verifyMppCredential',
11
+ responses: responses({
12
+ description: 'The MPP credential validation result.',
13
+ schema: Mpp.schema.VerifyResponse,
14
+ }),
15
+ summary: 'Verify MPP credential',
16
+ tags: ['MPP Relay'],
17
+ }), (c) => {
18
+ if (Auth.narrowAccess)
19
+ return Auth.accessError(c);
20
+ if (OpenApi.narrowValidation)
21
+ return OpenApi.validationError(c, bodyValidation);
22
+ return Mpp.unavailable(c);
23
+ })
24
+ .post('/v1/mpp/broadcast', Auth.policy({ apiKey: { scopes: ['mpp:write'] }, mpp: false, public: false }), OpenApi.validate('json', Mpp.schema.RelayInput, bodyValidation), OpenApi.describeRoute({
25
+ operationId: 'broadcastMppCredential',
26
+ responses: responses({
27
+ description: 'The MPP credential broadcast result.',
28
+ schema: Mpp.schema.BroadcastResponse,
29
+ }),
30
+ summary: 'Broadcast MPP credential',
31
+ tags: ['MPP Relay'],
32
+ }), (c) => {
33
+ if (Auth.narrowAccess)
34
+ return Auth.accessError(c);
35
+ if (OpenApi.narrowValidation)
36
+ return OpenApi.validationError(c, bodyValidation);
37
+ return Mpp.unavailable(c);
38
+ });
39
+ return Metadata.attach(app, openapi);
40
+ }
41
+ const bodyValidation = {
42
+ code: 'body_invalid',
43
+ message: 'Check the MPP credential and challenge, then try again.',
44
+ };
45
+ function responses(options) {
46
+ return {
47
+ ...OpenApi.responses({
48
+ errors: { 403: 'The API key does not grant MPP relay access.' },
49
+ success: options,
50
+ }),
51
+ 503: {
52
+ content: { 'application/json': { schema: OpenApi.resolver(Mpp.schema.Unavailable) } },
53
+ description: 'MPP relay settlement is temporarily unavailable.',
54
+ headers: {
55
+ 'Retry-After': {
56
+ description: 'How many seconds to wait before retrying the relay.',
57
+ schema: { type: 'integer' },
58
+ },
59
+ },
60
+ },
61
+ };
62
+ }
63
+ const openapi = {
64
+ tags: [
65
+ {
66
+ name: 'MPP Relay',
67
+ description: 'Validate and broadcast MPP payment credentials through Tempo.',
68
+ },
69
+ ],
70
+ 'x-tagGroups': [{ name: 'Payments', tags: ['MPP Relay'] }],
71
+ };
72
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/apps/mpp/App.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import type { Context, TypedResponse } from 'hono';
2
+ import * as z from 'zod/mini';
3
+ import type * as App from '../../App.js';
4
+ /** Stable MPP relay failure codes. */
5
+ export declare const relayErrorCode: {
6
+ /** Credential or transaction already used. */
7
+ readonly alreadyUsed: 'already_used';
8
+ /** Transaction broadcast or confirmation failed. */
9
+ readonly broadcastFailed: 'broadcast_failed';
10
+ /** Challenge or payment authorization expired. */
11
+ readonly expired: 'expired';
12
+ /** Payload, signature, parties, or payment requirements are invalid. */
13
+ readonly invalidPayment: 'invalid_payment';
14
+ /** Sender lacks funds. */
15
+ readonly insufficientFunds: 'insufficient_funds';
16
+ /** Payment violates relay or account policy. */
17
+ readonly policyDenied: 'policy_denied';
18
+ /** Originator or recipient failed screening. */
19
+ readonly screenRejected: 'screen_rejected';
20
+ /** Transaction simulation failed before broadcast. */
21
+ readonly simulationFailed: 'simulation_failed';
22
+ /** Retry may succeed. */
23
+ readonly temporarilyUnavailable: 'temporarily_unavailable';
24
+ /** Method, intent, network, or asset is unsupported. */
25
+ readonly unsupported: 'unsupported';
26
+ /** Unexpected relay failure. */
27
+ readonly unknown: 'unknown';
28
+ };
29
+ /** Stable MPP relay failure code. */
30
+ export type RelayErrorCode = (typeof relayErrorCode)[keyof typeof relayErrorCode];
31
+ /** MPP relay error response. */
32
+ export type RelayError = {
33
+ /** Stable machine-readable reason the relay rejected the credential. */
34
+ code: RelayErrorCode;
35
+ /** Human-readable explanation of the relay result. */
36
+ message?: string | undefined;
37
+ };
38
+ /** MPP challenge accepted with a relay credential payload. */
39
+ export type Challenge = {
40
+ /** Additional MPP challenge metadata, preserved verbatim for validation. */
41
+ [key: string]: unknown;
42
+ /** Human-readable payment description. */
43
+ description?: string | undefined;
44
+ /** When the payment challenge expires, as an ISO-8601 timestamp. */
45
+ expires?: string | undefined;
46
+ /** Payment challenge identifier. */
47
+ id: string;
48
+ /** MPP payment intent. */
49
+ intent: string;
50
+ /** MPP payment method. */
51
+ method: string;
52
+ /** Opaque data bound to the challenge by its issuer. */
53
+ opaque?: string | undefined;
54
+ /** MPP realm that issued the challenge. */
55
+ realm: string;
56
+ /** Payment request bound to the challenge. */
57
+ request: Record<string, unknown>;
58
+ };
59
+ /** MPP challenge and credential payload accepted by the relay. */
60
+ export type RelayInput = {
61
+ /** Payment challenge supplied with the credential. */
62
+ challenge: Challenge;
63
+ /** Method-specific MPP credential payload. */
64
+ payload: unknown;
65
+ };
66
+ /** Broadcast MPP payment receipt. */
67
+ export type Receipt = {
68
+ /** Optional caller-provided payment reference. */
69
+ externalId?: string | undefined;
70
+ /** Payment method that settled the credential. */
71
+ method: string;
72
+ /** On-chain or payment-system settlement reference. */
73
+ reference: string;
74
+ /** When the payment settled, as an ISO-8601 timestamp. */
75
+ timestamp: string;
76
+ };
77
+ /** MPP credential validation response. */
78
+ export type VerifyResponse = {
79
+ success: true;
80
+ } | {
81
+ error: RelayError;
82
+ success: false;
83
+ };
84
+ /** MPP credential broadcast response. */
85
+ export type BroadcastResponse = {
86
+ receipt: Receipt;
87
+ success: true;
88
+ } | {
89
+ error: RelayError;
90
+ success: false;
91
+ };
92
+ /** Retryable response returned while relay settlement is disabled. */
93
+ export type Unavailable = {
94
+ error: {
95
+ code: 'temporarily_unavailable';
96
+ message: 'MPP relay is not enabled yet.';
97
+ };
98
+ success: false;
99
+ };
100
+ /** MPP relay schemas. */
101
+ export declare namespace schema {
102
+ /** Stable MPP relay failure codes. */
103
+ const ErrorCode: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"unsupported">, z.ZodMiniLiteral<"policy_denied">, z.ZodMiniLiteral<"invalid_payment">, z.ZodMiniLiteral<"insufficient_funds">, z.ZodMiniLiteral<"expired">, z.ZodMiniLiteral<"already_used">, z.ZodMiniLiteral<"screen_rejected">, z.ZodMiniLiteral<"simulation_failed">, z.ZodMiniLiteral<"broadcast_failed">, z.ZodMiniLiteral<"temporarily_unavailable">, z.ZodMiniLiteral<"unknown">]>;
104
+ /** Error returned by the MPP relay. */
105
+ const RelayError: z.ZodMiniObject<{
106
+ code: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"unsupported">, z.ZodMiniLiteral<"policy_denied">, z.ZodMiniLiteral<"invalid_payment">, z.ZodMiniLiteral<"insufficient_funds">, z.ZodMiniLiteral<"expired">, z.ZodMiniLiteral<"already_used">, z.ZodMiniLiteral<"screen_rejected">, z.ZodMiniLiteral<"simulation_failed">, z.ZodMiniLiteral<"broadcast_failed">, z.ZodMiniLiteral<"temporarily_unavailable">, z.ZodMiniLiteral<"unknown">]>;
107
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
108
+ }, z.core.$strip>;
109
+ /** MPP challenge accepted with a relay credential payload. */
110
+ const Challenge: z.ZodMiniObject<{
111
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
112
+ expires: z.ZodMiniOptional<z.ZodMiniString<string>>;
113
+ id: z.ZodMiniString<string>;
114
+ intent: z.ZodMiniString<string>;
115
+ method: z.ZodMiniString<string>;
116
+ opaque: z.ZodMiniOptional<z.ZodMiniString<string>>;
117
+ realm: z.ZodMiniString<string>;
118
+ request: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
119
+ }, z.core.$loose>;
120
+ /** Request accepted by MPP relay verification and broadcast routes. */
121
+ const RelayInput: z.ZodMiniObject<{
122
+ challenge: z.ZodMiniObject<{
123
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
124
+ expires: z.ZodMiniOptional<z.ZodMiniString<string>>;
125
+ id: z.ZodMiniString<string>;
126
+ intent: z.ZodMiniString<string>;
127
+ method: z.ZodMiniString<string>;
128
+ opaque: z.ZodMiniOptional<z.ZodMiniString<string>>;
129
+ realm: z.ZodMiniString<string>;
130
+ request: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
131
+ }, z.core.$loose>;
132
+ payload: z.ZodMiniCustom<unknown, unknown>;
133
+ }, z.core.$strip>;
134
+ /** Receipt returned after the relay broadcasts a payment. */
135
+ const Receipt: z.ZodMiniObject<{
136
+ externalId: z.ZodMiniOptional<z.ZodMiniString<string>>;
137
+ method: z.ZodMiniString<string>;
138
+ reference: z.ZodMiniString<string>;
139
+ timestamp: z.ZodMiniString<string>;
140
+ }, z.core.$strip>;
141
+ /** Read-only MPP credential validation result. */
142
+ const VerifyResponse: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
143
+ success: z.ZodMiniLiteral<true>;
144
+ }, z.core.$strip>, z.ZodMiniObject<{
145
+ error: z.ZodMiniObject<{
146
+ code: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"unsupported">, z.ZodMiniLiteral<"policy_denied">, z.ZodMiniLiteral<"invalid_payment">, z.ZodMiniLiteral<"insufficient_funds">, z.ZodMiniLiteral<"expired">, z.ZodMiniLiteral<"already_used">, z.ZodMiniLiteral<"screen_rejected">, z.ZodMiniLiteral<"simulation_failed">, z.ZodMiniLiteral<"broadcast_failed">, z.ZodMiniLiteral<"temporarily_unavailable">, z.ZodMiniLiteral<"unknown">]>;
147
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
148
+ }, z.core.$strip>;
149
+ success: z.ZodMiniLiteral<false>;
150
+ }, z.core.$strip>]>;
151
+ /** MPP credential broadcast result. */
152
+ const BroadcastResponse: z.ZodMiniUnion<readonly [z.ZodMiniObject<{
153
+ receipt: z.ZodMiniObject<{
154
+ externalId: z.ZodMiniOptional<z.ZodMiniString<string>>;
155
+ method: z.ZodMiniString<string>;
156
+ reference: z.ZodMiniString<string>;
157
+ timestamp: z.ZodMiniString<string>;
158
+ }, z.core.$strip>;
159
+ success: z.ZodMiniLiteral<true>;
160
+ }, z.core.$strip>, z.ZodMiniObject<{
161
+ error: z.ZodMiniObject<{
162
+ code: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"unsupported">, z.ZodMiniLiteral<"policy_denied">, z.ZodMiniLiteral<"invalid_payment">, z.ZodMiniLiteral<"insufficient_funds">, z.ZodMiniLiteral<"expired">, z.ZodMiniLiteral<"already_used">, z.ZodMiniLiteral<"screen_rejected">, z.ZodMiniLiteral<"simulation_failed">, z.ZodMiniLiteral<"broadcast_failed">, z.ZodMiniLiteral<"temporarily_unavailable">, z.ZodMiniLiteral<"unknown">]>;
163
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
164
+ }, z.core.$strip>;
165
+ success: z.ZodMiniLiteral<false>;
166
+ }, z.core.$strip>]>;
167
+ /** Temporary response returned while MPP relay settlement is disabled. */
168
+ const Unavailable: z.ZodMiniObject<{
169
+ error: z.ZodMiniObject<{
170
+ code: z.ZodMiniLiteral<"temporarily_unavailable">;
171
+ message: z.ZodMiniLiteral<"MPP relay is not enabled yet.">;
172
+ }, z.core.$strip>;
173
+ success: z.ZodMiniLiteral<false>;
174
+ }, z.core.$strip>;
175
+ }
176
+ /** Returns the relay-disabled response while retaining its published success contract. */
177
+ export declare function unavailable<success>(c: Context<App.Environment>): TypedResponse<success, 200> | TypedResponse<Unavailable, 503>;
178
+ //# sourceMappingURL=Mpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mpp.d.ts","sourceRoot":"","sources":["../../../src/apps/mpp/Mpp.ts"],"names":[],"mappings":"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"}