tapimo 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/App.d.ts +8641 -8263
  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 +112 -11
  10. package/dist/admin/App.d.ts.map +1 -1
  11. package/dist/admin/apps/api-keys.d.ts +2 -1
  12. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  13. package/dist/admin/apps/early-access.d.ts +2 -2
  14. package/dist/admin/apps/early-access.d.ts.map +1 -1
  15. package/dist/admin/apps/early-access.js +5 -5
  16. package/dist/admin/apps/early-access.js.map +1 -1
  17. package/dist/admin/apps/organizations.d.ts +124 -1
  18. package/dist/admin/apps/organizations.d.ts.map +1 -1
  19. package/dist/admin/apps/organizations.js +97 -6
  20. package/dist/admin/apps/organizations.js.map +1 -1
  21. package/dist/admin/ui.generated.d.ts +1 -1
  22. package/dist/admin/ui.generated.d.ts.map +1 -1
  23. package/dist/admin/ui.generated.js +47 -39
  24. package/dist/admin/ui.generated.js.map +1 -1
  25. package/dist/analytics/Analytics.d.ts.map +1 -1
  26. package/dist/analytics/Analytics.js +20 -0
  27. package/dist/analytics/Analytics.js.map +1 -1
  28. package/dist/analytics/tables/requestEvents.d.ts +18 -0
  29. package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
  30. package/dist/analytics/tables/requestEvents.js +36 -7
  31. package/dist/analytics/tables/requestEvents.js.map +1 -1
  32. package/dist/apps/data/App.d.ts +8050 -8019
  33. package/dist/apps/data/App.d.ts.map +1 -1
  34. package/dist/apps/data/FundingQuoteProviders.js +2 -15
  35. package/dist/apps/data/FundingQuoteProviders.js.map +1 -1
  36. package/dist/apps/data/FxOracle.d.ts +1 -1
  37. package/dist/apps/data/FxOracle.d.ts.map +1 -1
  38. package/dist/apps/data/FxOracle.js +1 -1
  39. package/dist/apps/data/FxOracle.js.map +1 -1
  40. package/dist/apps/data/routes/activities.d.ts +27 -27
  41. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  42. package/dist/apps/data/routes/activities.js +21 -1
  43. package/dist/apps/data/routes/activities.js.map +1 -1
  44. package/dist/apps/data/routes/balances.d.ts +58 -58
  45. package/dist/apps/data/routes/blocks.d.ts +39 -39
  46. package/dist/apps/data/routes/coingecko.d.ts +176 -176
  47. package/dist/apps/data/routes/exchanges.d.ts +669 -669
  48. package/dist/apps/data/routes/fee-amm.d.ts +157 -143
  49. package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
  50. package/dist/apps/data/routes/fee-amm.js +76 -91
  51. package/dist/apps/data/routes/fee-amm.js.map +1 -1
  52. package/dist/apps/data/routes/funding.d.ts +72 -34
  53. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  54. package/dist/apps/data/routes/funding.js +34 -26
  55. package/dist/apps/data/routes/funding.js.map +1 -1
  56. package/dist/apps/data/routes/indexer.d.ts +30 -30
  57. package/dist/apps/data/routes/receipts.d.ts +8 -8
  58. package/dist/apps/data/routes/rpc.d.ts +31 -31
  59. package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
  60. package/dist/apps/data/routes/tokenlist.js +12 -3
  61. package/dist/apps/data/routes/tokenlist.js.map +1 -1
  62. package/dist/apps/data/routes/tokens.d.ts +4 -4
  63. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  64. package/dist/apps/data/routes/tokens.js +5 -1
  65. package/dist/apps/data/routes/tokens.js.map +1 -1
  66. package/dist/apps/data/routes/transactions.d.ts +6 -6
  67. package/dist/apps/data/routes/transfers.d.ts +101 -90
  68. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  69. package/dist/apps/data/routes/transfers.js +226 -141
  70. package/dist/apps/data/routes/transfers.js.map +1 -1
  71. package/dist/apps/data/routes/valuation.d.ts +2 -2
  72. package/dist/apps/data/routes/valuation.js +3 -3
  73. package/dist/apps/data/routes/valuation.js.map +1 -1
  74. package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
  75. package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
  76. package/dist/apps/data/routes/verified-tokens.js +34 -9
  77. package/dist/apps/data/routes/verified-tokens.js.map +1 -1
  78. package/dist/apps/data/routes/webhooks.d.ts +2 -2
  79. package/dist/apps/data/routes/webhooks.js +14 -6
  80. package/dist/apps/data/routes/webhooks.js.map +1 -1
  81. package/dist/apps/index.d.ts +1 -0
  82. package/dist/apps/index.d.ts.map +1 -1
  83. package/dist/apps/index.js +1 -0
  84. package/dist/apps/index.js.map +1 -1
  85. package/dist/apps/management/App.d.ts +460 -523
  86. package/dist/apps/management/App.d.ts.map +1 -1
  87. package/dist/apps/management/routes/api-keys.d.ts +7 -23
  88. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  89. package/dist/apps/management/routes/api-keys.js +20 -8
  90. package/dist/apps/management/routes/api-keys.js.map +1 -1
  91. package/dist/apps/management/routes/billing.d.ts +106 -151
  92. package/dist/apps/management/routes/billing.d.ts.map +1 -1
  93. package/dist/apps/management/routes/billing.js +28 -28
  94. package/dist/apps/management/routes/billing.js.map +1 -1
  95. package/dist/apps/management/routes/faucet.d.ts +48 -34
  96. package/dist/apps/management/routes/faucet.d.ts.map +1 -1
  97. package/dist/apps/management/routes/faucet.js +33 -18
  98. package/dist/apps/management/routes/faucet.js.map +1 -1
  99. package/dist/apps/management/routes/invitations.d.ts +131 -131
  100. package/dist/apps/management/routes/invitations.d.ts.map +1 -1
  101. package/dist/apps/management/routes/invitations.js +0 -3
  102. package/dist/apps/management/routes/invitations.js.map +1 -1
  103. package/dist/apps/management/routes/me.d.ts +6 -8
  104. package/dist/apps/management/routes/me.d.ts.map +1 -1
  105. package/dist/apps/management/routes/me.js +0 -4
  106. package/dist/apps/management/routes/me.js.map +1 -1
  107. package/dist/apps/management/routes/members.d.ts +73 -73
  108. package/dist/apps/management/routes/orgs.d.ts +94 -94
  109. package/dist/apps/management/routes/orgs.d.ts.map +1 -1
  110. package/dist/apps/management/routes/orgs.js +5 -0
  111. package/dist/apps/management/routes/orgs.js.map +1 -1
  112. package/dist/apps/management/routes/usage.d.ts +72 -72
  113. package/dist/apps/management/routes/verified-token-requests.d.ts +94 -94
  114. package/dist/apps/management/routes/webhooks.d.ts +1 -1
  115. package/dist/apps/mpp/App.d.ts +363 -0
  116. package/dist/apps/mpp/App.d.ts.map +1 -0
  117. package/dist/apps/mpp/App.js +72 -0
  118. package/dist/apps/mpp/App.js.map +1 -0
  119. package/dist/apps/mpp/Mpp.d.ts +178 -0
  120. package/dist/apps/mpp/Mpp.d.ts.map +1 -0
  121. package/dist/apps/mpp/Mpp.js +183 -0
  122. package/dist/apps/mpp/Mpp.js.map +1 -0
  123. package/dist/apps/mpp/index.d.ts +3 -0
  124. package/dist/apps/mpp/index.d.ts.map +1 -0
  125. package/dist/apps/mpp/index.js +3 -0
  126. package/dist/apps/mpp/index.js.map +1 -0
  127. package/dist/apps/relay/App.d.ts.map +1 -1
  128. package/dist/apps/relay/App.js +57 -10
  129. package/dist/apps/relay/App.js.map +1 -1
  130. package/dist/apps/relay/Sponsorships.js +1 -1
  131. package/dist/apps/relay/Sponsorships.js.map +1 -1
  132. package/dist/db/Db.d.ts +2 -0
  133. package/dist/db/Db.d.ts.map +1 -1
  134. package/dist/db/Db.js +27 -0
  135. package/dist/db/Db.js.map +1 -1
  136. package/dist/db/Schema.d.ts +12 -0
  137. package/dist/db/Schema.d.ts.map +1 -1
  138. package/dist/db/Schema.js +11 -0
  139. package/dist/db/Schema.js.map +1 -1
  140. package/dist/db/tables/enabledBillingSources.d.ts +73 -0
  141. package/dist/db/tables/enabledBillingSources.d.ts.map +1 -0
  142. package/dist/db/tables/enabledBillingSources.js +69 -0
  143. package/dist/db/tables/enabledBillingSources.js.map +1 -0
  144. package/dist/db/tables/invitations.d.ts +1 -12
  145. package/dist/db/tables/invitations.d.ts.map +1 -1
  146. package/dist/db/tables/invitations.js +3 -23
  147. package/dist/db/tables/invitations.js.map +1 -1
  148. package/dist/db/tables/organizations.d.ts +5 -2
  149. package/dist/db/tables/organizations.d.ts.map +1 -1
  150. package/dist/db/tables/organizations.js +32 -2
  151. package/dist/db/tables/organizations.js.map +1 -1
  152. package/dist/db/tables/sponsoredTransactions.d.ts +2 -0
  153. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  154. package/dist/db/tables/sponsoredTransactions.js +13 -3
  155. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  156. package/dist/handlers/internal/utils.d.ts +1 -16
  157. package/dist/handlers/internal/utils.d.ts.map +1 -1
  158. package/dist/handlers/internal/utils.js +17 -6
  159. package/dist/handlers/internal/utils.js.map +1 -1
  160. package/dist/handlers/relay.d.ts.map +1 -1
  161. package/dist/handlers/relay.js +37 -5
  162. package/dist/handlers/relay.js.map +1 -1
  163. package/dist/internal/Auth.d.ts +0 -32
  164. package/dist/internal/Auth.d.ts.map +1 -1
  165. package/dist/internal/Auth.js +3 -51
  166. package/dist/internal/Auth.js.map +1 -1
  167. package/dist/internal/EdgeCache.d.ts +1 -1
  168. package/dist/internal/EdgeCache.d.ts.map +1 -1
  169. package/dist/internal/EdgeCache.js +3 -2
  170. package/dist/internal/EdgeCache.js.map +1 -1
  171. package/dist/internal/FundingQuotes.d.ts +78 -32
  172. package/dist/internal/FundingQuotes.d.ts.map +1 -1
  173. package/dist/internal/FundingQuotes.js +45 -8
  174. package/dist/internal/FundingQuotes.js.map +1 -1
  175. package/dist/internal/Log.d.ts +18 -4
  176. package/dist/internal/Log.d.ts.map +1 -1
  177. package/dist/internal/Log.js +50 -3
  178. package/dist/internal/Log.js.map +1 -1
  179. package/dist/internal/MetricSink.d.ts.map +1 -1
  180. package/dist/internal/MetricSink.js +15 -0
  181. package/dist/internal/MetricSink.js.map +1 -1
  182. package/dist/internal/Response.d.ts +2 -2
  183. package/dist/internal/Response.d.ts.map +1 -1
  184. package/dist/internal/Response.js +12 -4
  185. package/dist/internal/Response.js.map +1 -1
  186. package/dist/internal/Schema.d.ts +2 -2
  187. package/dist/internal/Schema.d.ts.map +1 -1
  188. package/dist/internal/Schema.js +4 -2
  189. package/dist/internal/Schema.js.map +1 -1
  190. package/dist/internal/Viem.d.ts +1 -1
  191. package/package.json +7 -2
  192. package/src/App.test.ts +9 -4
  193. package/src/App.ts +14 -2
  194. package/src/Client.test-d.ts +109 -28
  195. package/src/Scope.ts +5 -0
  196. package/src/admin/App.test.ts +4 -0
  197. package/src/admin/apps/early-access.ts +6 -5
  198. package/src/admin/apps/organizations.test.ts +86 -2
  199. package/src/admin/apps/organizations.ts +155 -31
  200. package/src/admin/apps/scopes.test.ts +5 -0
  201. package/src/admin/ui/src/lib/organizations.test.ts +81 -1
  202. package/src/admin/ui/src/lib/organizations.ts +92 -0
  203. package/src/admin/ui/src/routes/api-keys.tsx +1 -1
  204. package/src/admin/ui/src/routes/early-access.tsx +8 -3
  205. package/src/admin/ui/src/routes/organizations_.$orgId.tsx +103 -0
  206. package/src/admin/ui.generated.ts +49 -39
  207. package/src/analytics/Analytics.test.ts +83 -0
  208. package/src/analytics/Analytics.ts +20 -0
  209. package/src/analytics/tables/requestEvents.ts +60 -7
  210. package/src/apps/composition.test.ts +11 -2
  211. package/src/apps/data/App.test.ts +14 -2
  212. package/src/apps/data/FundingQuoteProviders.test.ts +0 -5
  213. package/src/apps/data/FundingQuoteProviders.ts +2 -29
  214. package/src/apps/data/FxOracle.test.ts +2 -2
  215. package/src/apps/data/FxOracle.ts +2 -2
  216. package/src/apps/data/routes/activities.test.ts +6 -2
  217. package/src/apps/data/routes/activities.ts +39 -1
  218. package/src/apps/data/routes/balances.test.ts +6 -2
  219. package/src/apps/data/routes/exchanges.test.ts +7 -3
  220. package/src/apps/data/routes/fee-amm.test.ts +47 -23
  221. package/src/apps/data/routes/fee-amm.ts +98 -119
  222. package/src/apps/data/routes/funding.test.ts +29 -8
  223. package/src/apps/data/routes/funding.ts +42 -48
  224. package/src/apps/data/routes/receipts.test.ts +6 -2
  225. package/src/apps/data/routes/tokenlist.test.ts +15 -0
  226. package/src/apps/data/routes/tokenlist.ts +18 -5
  227. package/src/apps/data/routes/tokens.ts +5 -1
  228. package/src/apps/data/routes/transfers.test.ts +203 -35
  229. package/src/apps/data/routes/transfers.ts +294 -172
  230. package/src/apps/data/routes/valuation.test.ts +18 -3
  231. package/src/apps/data/routes/valuation.ts +4 -4
  232. package/src/apps/data/routes/verified-tokens.test.ts +51 -0
  233. package/src/apps/data/routes/verified-tokens.ts +52 -15
  234. package/src/apps/data/routes/webhooks.test.ts +56 -0
  235. package/src/apps/data/routes/webhooks.ts +17 -8
  236. package/src/apps/index.ts +1 -0
  237. package/src/apps/management/routes/api-keys.test.ts +2 -75
  238. package/src/apps/management/routes/api-keys.ts +30 -7
  239. package/src/apps/management/routes/billing.test.ts +106 -85
  240. package/src/apps/management/routes/billing.ts +32 -21
  241. package/src/apps/management/routes/faucet.test.ts +11 -3
  242. package/src/apps/management/routes/faucet.ts +46 -30
  243. package/src/apps/management/routes/invitations.test.ts +0 -172
  244. package/src/apps/management/routes/invitations.ts +0 -3
  245. package/src/apps/management/routes/me.test.ts +3 -145
  246. package/src/apps/management/routes/me.ts +0 -6
  247. package/src/apps/management/routes/orgs.test.ts +45 -2
  248. package/src/apps/management/routes/orgs.ts +6 -0
  249. package/src/apps/management/routes/scopes.test.ts +1 -0
  250. package/src/apps/mpp/App.ts +86 -0
  251. package/src/apps/mpp/Mpp.test.ts +193 -0
  252. package/src/apps/mpp/Mpp.ts +353 -0
  253. package/src/apps/mpp/index.ts +2 -0
  254. package/src/apps/mpp/internal/Adapter.ts +11 -0
  255. package/src/apps/mpp/internal/Error.ts +9 -0
  256. package/src/apps/mpp/internal/Idempotency.ts +7 -0
  257. package/src/apps/mpp/internal/Screening.ts +10 -0
  258. package/src/apps/relay/App.test.ts +90 -8
  259. package/src/apps/relay/App.ts +62 -10
  260. package/src/apps/relay/Sponsorships.test.ts +2 -0
  261. package/src/apps/relay/Sponsorships.ts +1 -1
  262. package/src/db/Db.test.ts +2 -2
  263. package/src/db/Db.ts +30 -0
  264. package/src/db/Schema.ts +15 -0
  265. package/src/db/tables/enabledBillingSources.test.ts +303 -0
  266. package/src/db/tables/enabledBillingSources.ts +118 -0
  267. package/src/db/tables/invitations.ts +4 -26
  268. package/src/db/tables/organizations.test.ts +191 -0
  269. package/src/db/tables/organizations.ts +44 -3
  270. package/src/db/tables/sponsoredTransactions.test.ts +41 -2
  271. package/src/db/tables/sponsoredTransactions.ts +15 -3
  272. package/src/handlers/internal/utils.ts +22 -6
  273. package/src/handlers/relay.errors.test.ts +153 -0
  274. package/src/handlers/relay.ts +42 -7
  275. package/src/internal/Auth.test.ts +3 -3
  276. package/src/internal/Auth.ts +3 -63
  277. package/src/internal/EdgeCache.test.ts +18 -5
  278. package/src/internal/EdgeCache.ts +4 -2
  279. package/src/internal/FundingQuotes.test.ts +18 -5
  280. package/src/internal/FundingQuotes.ts +46 -11
  281. package/src/internal/Log.test.ts +91 -0
  282. package/src/internal/Log.ts +69 -5
  283. package/src/internal/MetricSink.test.ts +55 -0
  284. package/src/internal/MetricSink.ts +14 -0
  285. package/src/internal/Response.test.ts +28 -0
  286. package/src/internal/Response.ts +12 -4
  287. package/src/internal/Schema.test.ts +13 -0
  288. package/src/internal/Schema.ts +14 -7
@@ -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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"}