@bankofai/x402 0.5.9 → 0.6.0-beta.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 (235) hide show
  1. package/dist/abi.d.ts +164 -0
  2. package/dist/abi.d.ts.map +1 -1
  3. package/dist/abi.js +115 -0
  4. package/dist/abi.js.map +1 -1
  5. package/dist/client/x402Client.js +1 -1
  6. package/dist/client/x402Client.js.map +1 -1
  7. package/dist/errors.d.ts +8 -0
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +13 -0
  10. package/dist/errors.js.map +1 -1
  11. package/dist/facilitator/client.d.ts +77 -0
  12. package/dist/facilitator/client.d.ts.map +1 -0
  13. package/dist/facilitator/client.js +130 -0
  14. package/dist/facilitator/client.js.map +1 -0
  15. package/dist/facilitator/index.d.ts +14 -0
  16. package/dist/facilitator/index.d.ts.map +1 -0
  17. package/dist/facilitator/index.js +12 -0
  18. package/dist/facilitator/index.js.map +1 -0
  19. package/dist/facilitator/x402Facilitator.d.ts +97 -0
  20. package/dist/facilitator/x402Facilitator.d.ts.map +1 -0
  21. package/dist/facilitator/x402Facilitator.js +212 -0
  22. package/dist/facilitator/x402Facilitator.js.map +1 -0
  23. package/dist/http/client.d.ts +66 -17
  24. package/dist/http/client.d.ts.map +1 -1
  25. package/dist/http/client.js +90 -31
  26. package/dist/http/client.js.map +1 -1
  27. package/dist/index.d.ts +8 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +11 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/mechanisms/_base/index.d.ts +19 -0
  32. package/dist/mechanisms/_base/index.d.ts.map +1 -0
  33. package/dist/mechanisms/_base/index.js +17 -0
  34. package/dist/mechanisms/_base/index.js.map +1 -0
  35. package/dist/mechanisms/_exact_base/adapter.d.ts +23 -0
  36. package/dist/mechanisms/_exact_base/adapter.d.ts.map +1 -0
  37. package/dist/mechanisms/_exact_base/adapter.js +9 -0
  38. package/dist/mechanisms/_exact_base/adapter.js.map +1 -0
  39. package/dist/mechanisms/_exact_base/evmAdapter.d.ts +10 -0
  40. package/dist/mechanisms/_exact_base/evmAdapter.d.ts.map +1 -0
  41. package/dist/mechanisms/_exact_base/evmAdapter.js +28 -0
  42. package/dist/mechanisms/_exact_base/evmAdapter.js.map +1 -0
  43. package/dist/mechanisms/_exact_base/facilitator.d.ts +70 -0
  44. package/dist/mechanisms/_exact_base/facilitator.d.ts.map +1 -0
  45. package/dist/mechanisms/_exact_base/facilitator.js +223 -0
  46. package/dist/mechanisms/_exact_base/facilitator.js.map +1 -0
  47. package/dist/mechanisms/_exact_base/index.d.ts +12 -0
  48. package/dist/mechanisms/_exact_base/index.d.ts.map +1 -0
  49. package/dist/mechanisms/_exact_base/index.js +10 -0
  50. package/dist/mechanisms/_exact_base/index.js.map +1 -0
  51. package/dist/mechanisms/_exact_base/server.d.ts +40 -0
  52. package/dist/mechanisms/_exact_base/server.d.ts.map +1 -0
  53. package/dist/mechanisms/_exact_base/server.js +62 -0
  54. package/dist/mechanisms/_exact_base/server.js.map +1 -0
  55. package/dist/mechanisms/_exact_base/tronAdapter.d.ts +11 -0
  56. package/dist/mechanisms/_exact_base/tronAdapter.d.ts.map +1 -0
  57. package/dist/mechanisms/_exact_base/tronAdapter.js +48 -0
  58. package/dist/mechanisms/_exact_base/tronAdapter.js.map +1 -0
  59. package/dist/mechanisms/{nativeExact.d.ts → _exact_base/types.d.ts} +4 -4
  60. package/dist/mechanisms/_exact_base/types.d.ts.map +1 -0
  61. package/dist/mechanisms/{nativeExact.js → _exact_base/types.js} +1 -1
  62. package/dist/mechanisms/_exact_base/types.js.map +1 -0
  63. package/dist/mechanisms/_exact_permit_base/facilitator.d.ts +116 -0
  64. package/dist/mechanisms/_exact_permit_base/facilitator.d.ts.map +1 -0
  65. package/dist/mechanisms/_exact_permit_base/facilitator.js +267 -0
  66. package/dist/mechanisms/_exact_permit_base/facilitator.js.map +1 -0
  67. package/dist/mechanisms/_exact_permit_base/index.d.ts +8 -0
  68. package/dist/mechanisms/_exact_permit_base/index.d.ts.map +1 -0
  69. package/dist/mechanisms/_exact_permit_base/index.js +7 -0
  70. package/dist/mechanisms/_exact_permit_base/index.js.map +1 -0
  71. package/dist/mechanisms/_exact_permit_base/server.d.ts +31 -0
  72. package/dist/mechanisms/_exact_permit_base/server.d.ts.map +1 -0
  73. package/dist/mechanisms/_exact_permit_base/server.js +53 -0
  74. package/dist/mechanisms/_exact_permit_base/server.js.map +1 -0
  75. package/dist/mechanisms/{nativeExactEvm.d.ts → evm/exact/client.d.ts} +2 -2
  76. package/dist/mechanisms/evm/exact/client.d.ts.map +1 -0
  77. package/dist/mechanisms/{nativeExactEvm.js → evm/exact/client.js} +4 -4
  78. package/dist/mechanisms/evm/exact/client.js.map +1 -0
  79. package/dist/mechanisms/evm/exact/facilitator.d.ts +19 -0
  80. package/dist/mechanisms/evm/exact/facilitator.d.ts.map +1 -0
  81. package/dist/mechanisms/evm/exact/facilitator.js +34 -0
  82. package/dist/mechanisms/evm/exact/facilitator.js.map +1 -0
  83. package/dist/mechanisms/evm/exact/index.d.ts +4 -0
  84. package/dist/mechanisms/evm/exact/index.d.ts.map +1 -0
  85. package/dist/mechanisms/evm/exact/index.js +4 -0
  86. package/dist/mechanisms/evm/exact/index.js.map +1 -0
  87. package/dist/mechanisms/evm/exact/server.d.ts +19 -0
  88. package/dist/mechanisms/evm/exact/server.d.ts.map +1 -0
  89. package/dist/mechanisms/evm/exact/server.js +23 -0
  90. package/dist/mechanisms/evm/exact/server.js.map +1 -0
  91. package/dist/mechanisms/{exactEvm.d.ts → evm/exact_permit/client.d.ts} +2 -2
  92. package/dist/mechanisms/evm/exact_permit/client.d.ts.map +1 -0
  93. package/dist/mechanisms/{exactEvm.js → evm/exact_permit/client.js} +2 -2
  94. package/dist/mechanisms/evm/exact_permit/client.js.map +1 -0
  95. package/dist/mechanisms/evm/exact_permit/facilitator.d.ts +22 -0
  96. package/dist/mechanisms/evm/exact_permit/facilitator.d.ts.map +1 -0
  97. package/dist/mechanisms/evm/exact_permit/facilitator.js +53 -0
  98. package/dist/mechanisms/evm/exact_permit/facilitator.js.map +1 -0
  99. package/dist/mechanisms/evm/exact_permit/index.d.ts +4 -0
  100. package/dist/mechanisms/evm/exact_permit/index.d.ts.map +1 -0
  101. package/dist/mechanisms/evm/exact_permit/index.js +4 -0
  102. package/dist/mechanisms/evm/exact_permit/index.js.map +1 -0
  103. package/dist/mechanisms/evm/exact_permit/server.d.ts +11 -0
  104. package/dist/mechanisms/evm/exact_permit/server.d.ts.map +1 -0
  105. package/dist/mechanisms/evm/exact_permit/server.js +16 -0
  106. package/dist/mechanisms/evm/exact_permit/server.js.map +1 -0
  107. package/dist/mechanisms/index.d.ts +27 -7
  108. package/dist/mechanisms/index.d.ts.map +1 -1
  109. package/dist/mechanisms/index.js +27 -11
  110. package/dist/mechanisms/index.js.map +1 -1
  111. package/dist/mechanisms/{nativeExactTron.d.ts → tron/exact/client.d.ts} +2 -2
  112. package/dist/mechanisms/tron/exact/client.d.ts.map +1 -0
  113. package/dist/mechanisms/{nativeExactTron.js → tron/exact/client.js} +4 -4
  114. package/dist/mechanisms/tron/exact/client.js.map +1 -0
  115. package/dist/mechanisms/tron/exact/facilitator.d.ts +19 -0
  116. package/dist/mechanisms/tron/exact/facilitator.d.ts.map +1 -0
  117. package/dist/mechanisms/tron/exact/facilitator.js +46 -0
  118. package/dist/mechanisms/tron/exact/facilitator.js.map +1 -0
  119. package/dist/mechanisms/tron/exact/index.d.ts +4 -0
  120. package/dist/mechanisms/tron/exact/index.d.ts.map +1 -0
  121. package/dist/mechanisms/tron/exact/index.js +4 -0
  122. package/dist/mechanisms/tron/exact/index.js.map +1 -0
  123. package/dist/mechanisms/tron/exact/server.d.ts +18 -0
  124. package/dist/mechanisms/tron/exact/server.d.ts.map +1 -0
  125. package/dist/mechanisms/tron/exact/server.js +22 -0
  126. package/dist/mechanisms/tron/exact/server.js.map +1 -0
  127. package/dist/mechanisms/{exactGasfree.d.ts → tron/exact_gasfree/client.d.ts} +3 -3
  128. package/dist/mechanisms/tron/exact_gasfree/client.d.ts.map +1 -0
  129. package/dist/mechanisms/{exactGasfree.js → tron/exact_gasfree/client.js} +4 -4
  130. package/dist/mechanisms/tron/exact_gasfree/client.js.map +1 -0
  131. package/dist/mechanisms/tron/exact_gasfree/facilitator.d.ts +29 -0
  132. package/dist/mechanisms/tron/exact_gasfree/facilitator.d.ts.map +1 -0
  133. package/dist/mechanisms/tron/exact_gasfree/facilitator.js +209 -0
  134. package/dist/mechanisms/tron/exact_gasfree/facilitator.js.map +1 -0
  135. package/dist/mechanisms/tron/exact_gasfree/index.d.ts +5 -0
  136. package/dist/mechanisms/tron/exact_gasfree/index.d.ts.map +1 -0
  137. package/dist/mechanisms/tron/exact_gasfree/index.js +4 -0
  138. package/dist/mechanisms/tron/exact_gasfree/index.js.map +1 -0
  139. package/dist/mechanisms/tron/exact_gasfree/server.d.ts +23 -0
  140. package/dist/mechanisms/tron/exact_gasfree/server.d.ts.map +1 -0
  141. package/dist/mechanisms/tron/exact_gasfree/server.js +43 -0
  142. package/dist/mechanisms/tron/exact_gasfree/server.js.map +1 -0
  143. package/dist/mechanisms/{exact.d.ts → tron/exact_permit/client.d.ts} +2 -2
  144. package/dist/mechanisms/tron/exact_permit/client.d.ts.map +1 -0
  145. package/dist/mechanisms/{exact.js → tron/exact_permit/client.js} +2 -2
  146. package/dist/mechanisms/tron/exact_permit/client.js.map +1 -0
  147. package/dist/mechanisms/tron/exact_permit/facilitator.d.ts +25 -0
  148. package/dist/mechanisms/tron/exact_permit/facilitator.d.ts.map +1 -0
  149. package/dist/mechanisms/tron/exact_permit/facilitator.js +95 -0
  150. package/dist/mechanisms/tron/exact_permit/facilitator.js.map +1 -0
  151. package/dist/mechanisms/tron/exact_permit/index.d.ts +4 -0
  152. package/dist/mechanisms/tron/exact_permit/index.d.ts.map +1 -0
  153. package/dist/mechanisms/tron/exact_permit/index.js +4 -0
  154. package/dist/mechanisms/tron/exact_permit/index.js.map +1 -0
  155. package/dist/mechanisms/tron/exact_permit/server.d.ts +11 -0
  156. package/dist/mechanisms/tron/exact_permit/server.d.ts.map +1 -0
  157. package/dist/mechanisms/tron/exact_permit/server.js +22 -0
  158. package/dist/mechanisms/tron/exact_permit/server.js.map +1 -0
  159. package/dist/middleware/core.d.ts +87 -0
  160. package/dist/middleware/core.d.ts.map +1 -0
  161. package/dist/middleware/core.js +202 -0
  162. package/dist/middleware/core.js.map +1 -0
  163. package/dist/middleware/express.d.ts +40 -0
  164. package/dist/middleware/express.d.ts.map +1 -0
  165. package/dist/middleware/express.js +83 -0
  166. package/dist/middleware/express.js.map +1 -0
  167. package/dist/middleware/hono.d.ts +43 -0
  168. package/dist/middleware/hono.d.ts.map +1 -0
  169. package/dist/middleware/hono.js +72 -0
  170. package/dist/middleware/hono.js.map +1 -0
  171. package/dist/middleware/index.d.ts +12 -0
  172. package/dist/middleware/index.d.ts.map +1 -0
  173. package/dist/middleware/index.js +11 -0
  174. package/dist/middleware/index.js.map +1 -0
  175. package/dist/server/index.d.ts +12 -0
  176. package/dist/server/index.d.ts.map +1 -0
  177. package/dist/server/index.js +10 -0
  178. package/dist/server/index.js.map +1 -0
  179. package/dist/server/types.d.ts +78 -0
  180. package/dist/server/types.d.ts.map +1 -0
  181. package/dist/server/types.js +12 -0
  182. package/dist/server/types.js.map +1 -0
  183. package/dist/server/x402Server.d.ts +115 -0
  184. package/dist/server/x402Server.d.ts.map +1 -0
  185. package/dist/server/x402Server.js +318 -0
  186. package/dist/server/x402Server.js.map +1 -0
  187. package/dist/signers/facilitator/base.d.ts +67 -0
  188. package/dist/signers/facilitator/base.d.ts.map +1 -0
  189. package/dist/signers/facilitator/base.js +11 -0
  190. package/dist/signers/facilitator/base.js.map +1 -0
  191. package/dist/signers/facilitator/evmSigner.d.ts +28 -0
  192. package/dist/signers/facilitator/evmSigner.d.ts.map +1 -0
  193. package/dist/signers/facilitator/evmSigner.js +148 -0
  194. package/dist/signers/facilitator/evmSigner.js.map +1 -0
  195. package/dist/signers/facilitator/tronSigner.d.ts +92 -0
  196. package/dist/signers/facilitator/tronSigner.d.ts.map +1 -0
  197. package/dist/signers/facilitator/tronSigner.js +287 -0
  198. package/dist/signers/facilitator/tronSigner.js.map +1 -0
  199. package/dist/signers/index.d.ts +4 -0
  200. package/dist/signers/index.d.ts.map +1 -1
  201. package/dist/signers/index.js +4 -0
  202. package/dist/signers/index.js.map +1 -1
  203. package/dist/tokens.d.ts +29 -0
  204. package/dist/tokens.d.ts.map +1 -1
  205. package/dist/tokens.js +44 -0
  206. package/dist/tokens.js.map +1 -1
  207. package/dist/utils/encoding.d.ts +7 -0
  208. package/dist/utils/encoding.d.ts.map +1 -1
  209. package/dist/utils/encoding.js +15 -0
  210. package/dist/utils/encoding.js.map +1 -1
  211. package/dist/utils/gasfree.d.ts +6 -0
  212. package/dist/utils/gasfree.d.ts.map +1 -1
  213. package/dist/utils/gasfree.js +10 -0
  214. package/dist/utils/gasfree.js.map +1 -1
  215. package/dist/utils/index.d.ts +1 -1
  216. package/dist/utils/index.d.ts.map +1 -1
  217. package/dist/utils/index.js +1 -1
  218. package/dist/utils/index.js.map +1 -1
  219. package/dist/utils/tx_verification.d.ts +113 -0
  220. package/dist/utils/tx_verification.d.ts.map +1 -0
  221. package/dist/utils/tx_verification.js +98 -0
  222. package/dist/utils/tx_verification.js.map +1 -0
  223. package/package.json +22 -9
  224. package/dist/mechanisms/exact.d.ts.map +0 -1
  225. package/dist/mechanisms/exact.js.map +0 -1
  226. package/dist/mechanisms/exactEvm.d.ts.map +0 -1
  227. package/dist/mechanisms/exactEvm.js.map +0 -1
  228. package/dist/mechanisms/exactGasfree.d.ts.map +0 -1
  229. package/dist/mechanisms/exactGasfree.js.map +0 -1
  230. package/dist/mechanisms/nativeExact.d.ts.map +0 -1
  231. package/dist/mechanisms/nativeExact.js.map +0 -1
  232. package/dist/mechanisms/nativeExactEvm.d.ts.map +0 -1
  233. package/dist/mechanisms/nativeExactEvm.js.map +0 -1
  234. package/dist/mechanisms/nativeExactTron.d.ts.map +0 -1
  235. package/dist/mechanisms/nativeExactTron.js.map +0 -1
package/dist/abi.d.ts CHANGED
@@ -124,5 +124,169 @@ export declare const ERC20_ABI: readonly [{
124
124
  readonly name: "";
125
125
  readonly type: "bool";
126
126
  }];
127
+ }, {
128
+ readonly name: "balanceOf";
129
+ readonly type: "function";
130
+ readonly stateMutability: "view";
131
+ readonly inputs: readonly [{
132
+ readonly name: "account";
133
+ readonly type: "address";
134
+ }];
135
+ readonly outputs: readonly [{
136
+ readonly name: "";
137
+ readonly type: "uint256";
138
+ }];
139
+ }];
140
+ /**
141
+ * PaymentPermit contract ABI (subset used by facilitator settlement).
142
+ *
143
+ * Mirrors Python `bankofai.x402.abi.PAYMENT_PERMIT_ABI`. Only the methods
144
+ * actually called by the facilitator are included; the on-chain contract
145
+ * exposes more (DOMAIN_SEPARATOR, nonceBitmap, nonceUsed) that we surface
146
+ * here in case TS callers need them too.
147
+ */
148
+ export declare const PAYMENT_PERMIT_ABI: readonly [{
149
+ readonly name: "permitTransferFrom";
150
+ readonly type: "function";
151
+ readonly stateMutability: "nonpayable";
152
+ readonly inputs: readonly [{
153
+ readonly name: "permit";
154
+ readonly type: "tuple";
155
+ readonly components: readonly [{
156
+ readonly name: "meta";
157
+ readonly type: "tuple";
158
+ readonly components: readonly [{
159
+ readonly name: "kind";
160
+ readonly type: "uint8";
161
+ }, {
162
+ readonly name: "paymentId";
163
+ readonly type: "bytes16";
164
+ }, {
165
+ readonly name: "nonce";
166
+ readonly type: "uint256";
167
+ }, {
168
+ readonly name: "validAfter";
169
+ readonly type: "uint256";
170
+ }, {
171
+ readonly name: "validBefore";
172
+ readonly type: "uint256";
173
+ }];
174
+ }, {
175
+ readonly name: "buyer";
176
+ readonly type: "address";
177
+ }, {
178
+ readonly name: "caller";
179
+ readonly type: "address";
180
+ }, {
181
+ readonly name: "payment";
182
+ readonly type: "tuple";
183
+ readonly components: readonly [{
184
+ readonly name: "payToken";
185
+ readonly type: "address";
186
+ }, {
187
+ readonly name: "payAmount";
188
+ readonly type: "uint256";
189
+ }, {
190
+ readonly name: "payTo";
191
+ readonly type: "address";
192
+ }];
193
+ }, {
194
+ readonly name: "fee";
195
+ readonly type: "tuple";
196
+ readonly components: readonly [{
197
+ readonly name: "feeTo";
198
+ readonly type: "address";
199
+ }, {
200
+ readonly name: "feeAmount";
201
+ readonly type: "uint256";
202
+ }];
203
+ }];
204
+ }, {
205
+ readonly name: "owner";
206
+ readonly type: "address";
207
+ }, {
208
+ readonly name: "signature";
209
+ readonly type: "bytes";
210
+ }];
211
+ readonly outputs: readonly [];
212
+ }, {
213
+ readonly name: "DOMAIN_SEPARATOR";
214
+ readonly type: "function";
215
+ readonly stateMutability: "view";
216
+ readonly inputs: readonly [];
217
+ readonly outputs: readonly [{
218
+ readonly name: "";
219
+ readonly type: "bytes32";
220
+ }];
221
+ }, {
222
+ readonly name: "nonceUsed";
223
+ readonly type: "function";
224
+ readonly stateMutability: "view";
225
+ readonly inputs: readonly [{
226
+ readonly name: "owner";
227
+ readonly type: "address";
228
+ }, {
229
+ readonly name: "nonce";
230
+ readonly type: "uint256";
231
+ }];
232
+ readonly outputs: readonly [{
233
+ readonly name: "";
234
+ readonly type: "bool";
235
+ }];
236
+ }];
237
+ /**
238
+ * ERC-3009 `transferWithAuthorization` ABI (v, r, s variant).
239
+ *
240
+ * Mirrors Python `bankofai.x402.mechanisms._exact_base.types.TRANSFER_WITH_AUTHORIZATION_ABI`.
241
+ * Used by `exact` scheme facilitator settle.
242
+ */
243
+ export declare const TRANSFER_WITH_AUTHORIZATION_ABI: readonly [{
244
+ readonly name: "transferWithAuthorization";
245
+ readonly type: "function";
246
+ readonly stateMutability: "nonpayable";
247
+ readonly inputs: readonly [{
248
+ readonly name: "from";
249
+ readonly type: "address";
250
+ }, {
251
+ readonly name: "to";
252
+ readonly type: "address";
253
+ }, {
254
+ readonly name: "value";
255
+ readonly type: "uint256";
256
+ }, {
257
+ readonly name: "validAfter";
258
+ readonly type: "uint256";
259
+ }, {
260
+ readonly name: "validBefore";
261
+ readonly type: "uint256";
262
+ }, {
263
+ readonly name: "nonce";
264
+ readonly type: "bytes32";
265
+ }, {
266
+ readonly name: "v";
267
+ readonly type: "uint8";
268
+ }, {
269
+ readonly name: "r";
270
+ readonly type: "bytes32";
271
+ }, {
272
+ readonly name: "s";
273
+ readonly type: "bytes32";
274
+ }];
275
+ readonly outputs: readonly [];
276
+ }, {
277
+ readonly name: "authorizationState";
278
+ readonly type: "function";
279
+ readonly stateMutability: "view";
280
+ readonly inputs: readonly [{
281
+ readonly name: "authorizer";
282
+ readonly type: "address";
283
+ }, {
284
+ readonly name: "nonce";
285
+ readonly type: "bytes32";
286
+ }];
287
+ readonly outputs: readonly [{
288
+ readonly name: "";
289
+ readonly type: "bool";
290
+ }];
127
291
  }];
128
292
  //# sourceMappingURL=abi.d.ts.map
package/dist/abi.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,6CAA6C;AAC7C,eAAO,MAAM,2BAA2B,yBAAyB,CAAC;AAElE,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;EAIpC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAKtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB,CAAC;AAEX,mDAAmD;AACnD,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAEjD,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBZ,CAAC"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,6CAA6C;AAC7C,eAAO,MAAM,2BAA2B,yBAAyB,CAAC;AAElE,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;EAIpC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAKtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB,CAAC;AAEX,mDAAmD;AACnD,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAEjD,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BZ,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgErB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BlC,CAAC"}
package/dist/abi.js CHANGED
@@ -78,5 +78,120 @@ export const ERC20_ABI = [
78
78
  ],
79
79
  outputs: [{ name: '', type: 'bool' }],
80
80
  },
81
+ {
82
+ name: 'balanceOf',
83
+ type: 'function',
84
+ stateMutability: 'view',
85
+ inputs: [{ name: 'account', type: 'address' }],
86
+ outputs: [{ name: '', type: 'uint256' }],
87
+ },
88
+ ];
89
+ /**
90
+ * PaymentPermit contract ABI (subset used by facilitator settlement).
91
+ *
92
+ * Mirrors Python `bankofai.x402.abi.PAYMENT_PERMIT_ABI`. Only the methods
93
+ * actually called by the facilitator are included; the on-chain contract
94
+ * exposes more (DOMAIN_SEPARATOR, nonceBitmap, nonceUsed) that we surface
95
+ * here in case TS callers need them too.
96
+ */
97
+ export const PAYMENT_PERMIT_ABI = [
98
+ {
99
+ name: 'permitTransferFrom',
100
+ type: 'function',
101
+ stateMutability: 'nonpayable',
102
+ inputs: [
103
+ {
104
+ name: 'permit',
105
+ type: 'tuple',
106
+ components: [
107
+ {
108
+ name: 'meta',
109
+ type: 'tuple',
110
+ components: [
111
+ { name: 'kind', type: 'uint8' },
112
+ { name: 'paymentId', type: 'bytes16' },
113
+ { name: 'nonce', type: 'uint256' },
114
+ { name: 'validAfter', type: 'uint256' },
115
+ { name: 'validBefore', type: 'uint256' },
116
+ ],
117
+ },
118
+ { name: 'buyer', type: 'address' },
119
+ { name: 'caller', type: 'address' },
120
+ {
121
+ name: 'payment',
122
+ type: 'tuple',
123
+ components: [
124
+ { name: 'payToken', type: 'address' },
125
+ { name: 'payAmount', type: 'uint256' },
126
+ { name: 'payTo', type: 'address' },
127
+ ],
128
+ },
129
+ {
130
+ name: 'fee',
131
+ type: 'tuple',
132
+ components: [
133
+ { name: 'feeTo', type: 'address' },
134
+ { name: 'feeAmount', type: 'uint256' },
135
+ ],
136
+ },
137
+ ],
138
+ },
139
+ { name: 'owner', type: 'address' },
140
+ { name: 'signature', type: 'bytes' },
141
+ ],
142
+ outputs: [],
143
+ },
144
+ {
145
+ name: 'DOMAIN_SEPARATOR',
146
+ type: 'function',
147
+ stateMutability: 'view',
148
+ inputs: [],
149
+ outputs: [{ name: '', type: 'bytes32' }],
150
+ },
151
+ {
152
+ name: 'nonceUsed',
153
+ type: 'function',
154
+ stateMutability: 'view',
155
+ inputs: [
156
+ { name: 'owner', type: 'address' },
157
+ { name: 'nonce', type: 'uint256' },
158
+ ],
159
+ outputs: [{ name: '', type: 'bool' }],
160
+ },
161
+ ];
162
+ /**
163
+ * ERC-3009 `transferWithAuthorization` ABI (v, r, s variant).
164
+ *
165
+ * Mirrors Python `bankofai.x402.mechanisms._exact_base.types.TRANSFER_WITH_AUTHORIZATION_ABI`.
166
+ * Used by `exact` scheme facilitator settle.
167
+ */
168
+ export const TRANSFER_WITH_AUTHORIZATION_ABI = [
169
+ {
170
+ name: 'transferWithAuthorization',
171
+ type: 'function',
172
+ stateMutability: 'nonpayable',
173
+ inputs: [
174
+ { name: 'from', type: 'address' },
175
+ { name: 'to', type: 'address' },
176
+ { name: 'value', type: 'uint256' },
177
+ { name: 'validAfter', type: 'uint256' },
178
+ { name: 'validBefore', type: 'uint256' },
179
+ { name: 'nonce', type: 'bytes32' },
180
+ { name: 'v', type: 'uint8' },
181
+ { name: 'r', type: 'bytes32' },
182
+ { name: 's', type: 'bytes32' },
183
+ ],
184
+ outputs: [],
185
+ },
186
+ {
187
+ name: 'authorizationState',
188
+ type: 'function',
189
+ stateMutability: 'view',
190
+ inputs: [
191
+ { name: 'authorizer', type: 'address' },
192
+ { name: 'nonce', type: 'bytes32' },
193
+ ],
194
+ outputs: [{ name: '', type: 'bool' }],
195
+ },
81
196
  ];
82
197
  //# sourceMappingURL=abi.js.map
package/dist/abi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Manages payment mechanism registry and coordinates payment flows.
5
5
  */
6
- import { ExactGasFreeClientMechanism } from '../mechanisms/exactGasfree.js';
6
+ import { ExactGasFreeClientMechanism } from '../mechanisms/tron/exact_gasfree/index.js';
7
7
  import { DefaultTokenSelectionStrategy } from './tokenSelection.js';
8
8
  import { UnsupportedNetworkError } from '../errors.js';
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"x402Client.js","sourceRoot":"","sources":["../../src/client/x402Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x402Client.js","sourceRoot":"","sources":["../../src/client/x402Client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -38,4 +38,12 @@ export declare class PermitValidationError extends ValidationError {
38
38
  reason: string;
39
39
  constructor(reason: string, message?: string);
40
40
  }
41
+ /** Facilitator HTTP / protocol error */
42
+ export declare class FacilitatorError extends X402Error {
43
+ /** HTTP status code returned by facilitator (0 if request itself failed) */
44
+ status: number;
45
+ /** Response body, decoded as text or null if unavailable */
46
+ body: string | null;
47
+ constructor(message: string, status: number, body?: string | null);
48
+ }
41
49
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qCAAqC;AACrC,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED,8BAA8B;AAC9B,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,gCAAgC;AAChC,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,OAAO,EAAE,MAAM;CAI5B;AAED,8BAA8B;AAC9B,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,6BAA6B;AAC7B,qBAAa,0BAA2B,SAAQ,cAAc;gBAChD,OAAO,EAAE,MAAM;CAI5B;AAED,kCAAkC;AAClC,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED,0BAA0B;AAC1B,qBAAa,uBAAwB,SAAQ,kBAAkB;gBACjD,OAAO,EAAE,MAAM;CAI5B;AAED,+BAA+B;AAC/B,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,+BAA+B;AAC/B,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAK7C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qCAAqC;AACrC,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED,8BAA8B;AAC9B,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,gCAAgC;AAChC,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,OAAO,EAAE,MAAM;CAI5B;AAED,8BAA8B;AAC9B,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,6BAA6B;AAC7B,qBAAa,0BAA2B,SAAQ,cAAc;gBAChD,OAAO,EAAE,MAAM;CAI5B;AAED,kCAAkC;AAClC,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED,0BAA0B;AAC1B,qBAAa,uBAAwB,SAAQ,kBAAkB;gBACjD,OAAO,EAAE,MAAM;CAI5B;AAED,+BAA+B;AAC/B,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,+BAA+B;AAC/B,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAK7C;AAED,wCAAwC;AACxC,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW;CAMxE"}
package/dist/errors.js CHANGED
@@ -66,4 +66,17 @@ export class PermitValidationError extends ValidationError {
66
66
  this.reason = reason;
67
67
  }
68
68
  }
69
+ /** Facilitator HTTP / protocol error */
70
+ export class FacilitatorError extends X402Error {
71
+ /** HTTP status code returned by facilitator (0 if request itself failed) */
72
+ status;
73
+ /** Response body, decoded as text or null if unavailable */
74
+ body;
75
+ constructor(message, status, body = null) {
76
+ super(message);
77
+ this.name = 'FacilitatorError';
78
+ this.status = status;
79
+ this.body = body;
80
+ }
81
+ }
69
82
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qCAAqC;AACrC,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,8BAA8B;AAC9B,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,gCAAgC;AAChC,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,8BAA8B;AAC9B,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,6BAA6B;AAC7B,MAAM,OAAO,0BAA2B,SAAQ,cAAc;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,kCAAkC;AAClC,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,0BAA0B;AAC1B,MAAM,OAAO,uBAAwB,SAAQ,kBAAkB;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD,MAAM,CAAS;IAEf,YAAY,MAAc,EAAE,OAAgB;QAC1C,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qCAAqC;AACrC,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,8BAA8B;AAC9B,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,gCAAgC;AAChC,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,8BAA8B;AAC9B,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,6BAA6B;AAC7B,MAAM,OAAO,0BAA2B,SAAQ,cAAc;IAC5D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,kCAAkC;AAClC,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,0BAA0B;AAC1B,MAAM,OAAO,uBAAwB,SAAQ,kBAAkB;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD,MAAM,CAAS;IAEf,YAAY,MAAc,EAAE,OAAgB;QAC1C,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,wCAAwC;AACxC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,4EAA4E;IAC5E,MAAM,CAAS;IACf,4DAA4D;IAC5D,IAAI,CAAgB;IAEpB,YAAY,OAAe,EAAE,MAAc,EAAE,OAAsB,IAAI;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * FacilitatorClient — TypeScript port of `bankofai.x402.facilitator.FacilitatorClient`.
3
+ *
4
+ * Talks to a remote x402 facilitator via HTTP. Handles `/supported`, `/fee/quote`,
5
+ * `/verify`, `/settle`. Used by server middleware (Hono / Express / etc.) to verify
6
+ * payments off-chain and trigger on-chain settlement.
7
+ */
8
+ import type { FeeQuoteResponse, PaymentPayload, PaymentRequirements, SettleResponse, SupportedResponse, VerifyResponse } from '../types/index.js';
9
+ /** Configuration for {@link FacilitatorClient}. */
10
+ export interface FacilitatorClientConfig {
11
+ /** Facilitator service base URL (trailing slash optional, will be normalized). */
12
+ baseUrl: string;
13
+ /** Optional custom HTTP headers (e.g. `Authorization`). */
14
+ headers?: Record<string, string>;
15
+ /** Stable identifier for this facilitator. Defaults to `baseUrl`. */
16
+ facilitatorId?: string;
17
+ /** Per-request timeout in milliseconds. Defaults to 120 000 (120 s). */
18
+ timeoutMs?: number;
19
+ /** Custom fetch implementation (defaults to global `fetch`). Useful for tests. */
20
+ fetchImpl?: typeof fetch;
21
+ }
22
+ /**
23
+ * Optional payment context forwarded to `/fee/quote`.
24
+ *
25
+ * Wire field is `paymentPermitContext` to match the facilitator API; the client
26
+ * accepts a plain JSON-shaped object and forwards it as-is.
27
+ */
28
+ export type FeeQuoteContext = Record<string, unknown>;
29
+ /**
30
+ * HTTP client for an x402 facilitator service.
31
+ *
32
+ * Mirrors the Python `FacilitatorClient` interface 1:1 so server middleware on
33
+ * either runtime sees the same shape.
34
+ */
35
+ export declare class FacilitatorClient {
36
+ private readonly baseUrl;
37
+ private readonly headers;
38
+ private readonly timeoutMs;
39
+ private readonly fetchImpl;
40
+ /** Stable identifier for this facilitator (defaults to `baseUrl`). */
41
+ readonly facilitatorId: string;
42
+ constructor(config: FacilitatorClientConfig);
43
+ /**
44
+ * Query facilitator's supported (`x402Version`, `scheme`, `network`) tuples.
45
+ */
46
+ supported(): Promise<SupportedResponse>;
47
+ /**
48
+ * Request fee quotes for a list of payment requirements.
49
+ *
50
+ * @param accepts - The same `accepts[]` you would put in `PaymentRequired`.
51
+ * @param context - Optional `paymentPermitContext`.
52
+ */
53
+ feeQuote(accepts: PaymentRequirements[], context?: FeeQuoteContext): Promise<FeeQuoteResponse[]>;
54
+ /**
55
+ * Verify a payment payload off-chain (no on-chain transaction).
56
+ *
57
+ * Server middleware should call this **before** routing the actual request
58
+ * handler — only proceed to settlement if {@link VerifyResponse.isValid} is true.
59
+ */
60
+ verify(payload: PaymentPayload, requirements: PaymentRequirements): Promise<VerifyResponse>;
61
+ /**
62
+ * Execute on-chain settlement for a verified payment.
63
+ *
64
+ * Returns a {@link SettleResponse} carrying the transaction hash on success
65
+ * or an `errorReason` on failure.
66
+ */
67
+ settle(payload: PaymentPayload, requirements: PaymentRequirements): Promise<SettleResponse>;
68
+ /**
69
+ * Symmetry with the Python client. The TS implementation uses the global
70
+ * `fetch` (no persistent connection pool to close); this is a no-op kept for
71
+ * API parity so callers can write the same teardown logic on both runtimes.
72
+ */
73
+ close(): Promise<void>;
74
+ private requestJson;
75
+ private safeReadText;
76
+ }
77
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/facilitator/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,mDAAmD;AACnD,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAID;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC,sEAAsE;IACtE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,MAAM,EAAE,uBAAuB;IAQ3C;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI7C;;;;;OAKG;IACG,QAAQ,CACZ,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ9B;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,cAAc,CAAC;IAO1B;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,cAAc,CAAC;IAO1B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,WAAW;YA2DX,YAAY;CAO3B"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * FacilitatorClient — TypeScript port of `bankofai.x402.facilitator.FacilitatorClient`.
3
+ *
4
+ * Talks to a remote x402 facilitator via HTTP. Handles `/supported`, `/fee/quote`,
5
+ * `/verify`, `/settle`. Used by server middleware (Hono / Express / etc.) to verify
6
+ * payments off-chain and trigger on-chain settlement.
7
+ */
8
+ import { FacilitatorError } from '../errors.js';
9
+ const DEFAULT_TIMEOUT_MS = 120_000;
10
+ /**
11
+ * HTTP client for an x402 facilitator service.
12
+ *
13
+ * Mirrors the Python `FacilitatorClient` interface 1:1 so server middleware on
14
+ * either runtime sees the same shape.
15
+ */
16
+ export class FacilitatorClient {
17
+ baseUrl;
18
+ headers;
19
+ timeoutMs;
20
+ fetchImpl;
21
+ /** Stable identifier for this facilitator (defaults to `baseUrl`). */
22
+ facilitatorId;
23
+ constructor(config) {
24
+ this.baseUrl = config.baseUrl.replace(/\/+$/, '');
25
+ this.headers = { ...(config.headers ?? {}) };
26
+ this.facilitatorId = config.facilitatorId ?? this.baseUrl;
27
+ this.timeoutMs = config.timeoutMs ?? DEFAULT_TIMEOUT_MS;
28
+ this.fetchImpl = config.fetchImpl ?? fetch;
29
+ }
30
+ /**
31
+ * Query facilitator's supported (`x402Version`, `scheme`, `network`) tuples.
32
+ */
33
+ async supported() {
34
+ return this.requestJson('GET', '/supported');
35
+ }
36
+ /**
37
+ * Request fee quotes for a list of payment requirements.
38
+ *
39
+ * @param accepts - The same `accepts[]` you would put in `PaymentRequired`.
40
+ * @param context - Optional `paymentPermitContext`.
41
+ */
42
+ async feeQuote(accepts, context) {
43
+ const body = { accepts };
44
+ if (context !== undefined) {
45
+ body.paymentPermitContext = context;
46
+ }
47
+ return this.requestJson('POST', '/fee/quote', body);
48
+ }
49
+ /**
50
+ * Verify a payment payload off-chain (no on-chain transaction).
51
+ *
52
+ * Server middleware should call this **before** routing the actual request
53
+ * handler — only proceed to settlement if {@link VerifyResponse.isValid} is true.
54
+ */
55
+ async verify(payload, requirements) {
56
+ return this.requestJson('POST', '/verify', {
57
+ paymentPayload: payload,
58
+ paymentRequirements: requirements,
59
+ });
60
+ }
61
+ /**
62
+ * Execute on-chain settlement for a verified payment.
63
+ *
64
+ * Returns a {@link SettleResponse} carrying the transaction hash on success
65
+ * or an `errorReason` on failure.
66
+ */
67
+ async settle(payload, requirements) {
68
+ return this.requestJson('POST', '/settle', {
69
+ paymentPayload: payload,
70
+ paymentRequirements: requirements,
71
+ });
72
+ }
73
+ /**
74
+ * Symmetry with the Python client. The TS implementation uses the global
75
+ * `fetch` (no persistent connection pool to close); this is a no-op kept for
76
+ * API parity so callers can write the same teardown logic on both runtimes.
77
+ */
78
+ async close() {
79
+ // no-op — `fetch` does not require explicit cleanup
80
+ }
81
+ async requestJson(method, path, body) {
82
+ const url = `${this.baseUrl}${path.startsWith('/') ? path : `/${path}`}`;
83
+ const controller = new AbortController();
84
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
85
+ const init = {
86
+ method,
87
+ headers: {
88
+ Accept: 'application/json',
89
+ ...(body !== undefined ? { 'Content-Type': 'application/json' } : {}),
90
+ ...this.headers,
91
+ },
92
+ signal: controller.signal,
93
+ };
94
+ if (body !== undefined) {
95
+ init.body = JSON.stringify(body);
96
+ }
97
+ let response;
98
+ try {
99
+ response = await this.fetchImpl(url, init);
100
+ }
101
+ catch (err) {
102
+ if (err instanceof Error && err.name === 'AbortError') {
103
+ throw new FacilitatorError(`Facilitator request to ${path} timed out after ${this.timeoutMs}ms`, 0);
104
+ }
105
+ throw new FacilitatorError(`Facilitator request to ${path} failed: ${err.message}`, 0);
106
+ }
107
+ finally {
108
+ clearTimeout(timer);
109
+ }
110
+ if (!response.ok) {
111
+ const text = await this.safeReadText(response);
112
+ throw new FacilitatorError(`Facilitator returned HTTP ${response.status} for ${path}`, response.status, text);
113
+ }
114
+ try {
115
+ return (await response.json());
116
+ }
117
+ catch (err) {
118
+ throw new FacilitatorError(`Facilitator response from ${path} was not valid JSON: ${err.message}`, response.status);
119
+ }
120
+ }
121
+ async safeReadText(response) {
122
+ try {
123
+ return await response.text();
124
+ }
125
+ catch {
126
+ return null;
127
+ }
128
+ }
129
+ }
130
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/facilitator/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Facilitator surface for the x402 payment protocol.
3
+ *
4
+ * - {@link FacilitatorClient} — talks to a remote facilitator (used by server middleware)
5
+ * - {@link X402Facilitator} — in-process payment processor (the engine of a facilitator service)
6
+ *
7
+ * Re-exported via the package root so consumers can `import { FacilitatorClient,
8
+ * X402Facilitator } from '@bankofai/x402'`.
9
+ */
10
+ export { FacilitatorClient } from './client.js';
11
+ export type { FacilitatorClientConfig, FeeQuoteContext } from './client.js';
12
+ export { X402Facilitator } from './x402Facilitator.js';
13
+ export type { FacilitatorMechanism, FacilitatorLogger } from './x402Facilitator.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/facilitator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Facilitator surface for the x402 payment protocol.
3
+ *
4
+ * - {@link FacilitatorClient} — talks to a remote facilitator (used by server middleware)
5
+ * - {@link X402Facilitator} — in-process payment processor (the engine of a facilitator service)
6
+ *
7
+ * Re-exported via the package root so consumers can `import { FacilitatorClient,
8
+ * X402Facilitator } from '@bankofai/x402'`.
9
+ */
10
+ export { FacilitatorClient } from './client.js';
11
+ export { X402Facilitator } from './x402Facilitator.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/facilitator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}