envoy-pay 0.1.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 (364) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/LICENSE +200 -0
  3. package/README.md +529 -0
  4. package/dist/cjs/adapters/base.js +174 -0
  5. package/dist/cjs/adapters/base.js.map +1 -0
  6. package/dist/cjs/adapters/evm.js +339 -0
  7. package/dist/cjs/adapters/evm.js.map +1 -0
  8. package/dist/cjs/adapters/index.js +15 -0
  9. package/dist/cjs/adapters/index.js.map +1 -0
  10. package/dist/cjs/adapters/ows.js +204 -0
  11. package/dist/cjs/adapters/ows.js.map +1 -0
  12. package/dist/cjs/adapters/solana.js +210 -0
  13. package/dist/cjs/adapters/solana.js.map +1 -0
  14. package/dist/cjs/adapters/stellar.js +173 -0
  15. package/dist/cjs/adapters/stellar.js.map +1 -0
  16. package/dist/cjs/adapters/stripe.js +338 -0
  17. package/dist/cjs/adapters/stripe.js.map +1 -0
  18. package/dist/cjs/adapters/types.js +3 -0
  19. package/dist/cjs/adapters/types.js.map +1 -0
  20. package/dist/cjs/client.js +309 -0
  21. package/dist/cjs/client.js.map +1 -0
  22. package/dist/cjs/contracts/abis/EnvoyFacilitator.js +197 -0
  23. package/dist/cjs/contracts/abis/EnvoyFacilitator.js.map +1 -0
  24. package/dist/cjs/contracts/addresses.js +42 -0
  25. package/dist/cjs/contracts/addresses.js.map +1 -0
  26. package/dist/cjs/contracts/facilitator.js +225 -0
  27. package/dist/cjs/contracts/facilitator.js.map +1 -0
  28. package/dist/cjs/contracts/index.js +21 -0
  29. package/dist/cjs/contracts/index.js.map +1 -0
  30. package/dist/cjs/facilitator/facilitator-service.js +305 -0
  31. package/dist/cjs/facilitator/facilitator-service.js.map +1 -0
  32. package/dist/cjs/facilitator/fee-calculator.js +134 -0
  33. package/dist/cjs/facilitator/fee-calculator.js.map +1 -0
  34. package/dist/cjs/facilitator/index.js +12 -0
  35. package/dist/cjs/facilitator/index.js.map +1 -0
  36. package/dist/cjs/facilitator/types.js +99 -0
  37. package/dist/cjs/facilitator/types.js.map +1 -0
  38. package/dist/cjs/identity/agent-card.js +143 -0
  39. package/dist/cjs/identity/agent-card.js.map +1 -0
  40. package/dist/cjs/identity/agent-identity.js +166 -0
  41. package/dist/cjs/identity/agent-identity.js.map +1 -0
  42. package/dist/cjs/identity/did-resolver.js +149 -0
  43. package/dist/cjs/identity/did-resolver.js.map +1 -0
  44. package/dist/cjs/identity/erc8004/abis.js +218 -0
  45. package/dist/cjs/identity/erc8004/abis.js.map +1 -0
  46. package/dist/cjs/identity/erc8004/identity.js +268 -0
  47. package/dist/cjs/identity/erc8004/identity.js.map +1 -0
  48. package/dist/cjs/identity/erc8004/index.js +36 -0
  49. package/dist/cjs/identity/erc8004/index.js.map +1 -0
  50. package/dist/cjs/identity/erc8004/reputation.js +110 -0
  51. package/dist/cjs/identity/erc8004/reputation.js.map +1 -0
  52. package/dist/cjs/identity/erc8004/types.js +3 -0
  53. package/dist/cjs/identity/erc8004/types.js.map +1 -0
  54. package/dist/cjs/identity/index.js +61 -0
  55. package/dist/cjs/identity/index.js.map +1 -0
  56. package/dist/cjs/identity/owner-registry.js +140 -0
  57. package/dist/cjs/identity/owner-registry.js.map +1 -0
  58. package/dist/cjs/identity/reputation.js +193 -0
  59. package/dist/cjs/identity/reputation.js.map +1 -0
  60. package/dist/cjs/identity/types.js +16 -0
  61. package/dist/cjs/identity/types.js.map +1 -0
  62. package/dist/cjs/index.js +72 -0
  63. package/dist/cjs/index.js.map +1 -0
  64. package/dist/cjs/logger.js +7 -0
  65. package/dist/cjs/logger.js.map +1 -0
  66. package/dist/cjs/monitor/evm-watcher.js +165 -0
  67. package/dist/cjs/monitor/evm-watcher.js.map +1 -0
  68. package/dist/cjs/monitor/index.js +32 -0
  69. package/dist/cjs/monitor/index.js.map +1 -0
  70. package/dist/cjs/monitor/multi-watcher.js +94 -0
  71. package/dist/cjs/monitor/multi-watcher.js.map +1 -0
  72. package/dist/cjs/monitor/solana-watcher.js +172 -0
  73. package/dist/cjs/monitor/solana-watcher.js.map +1 -0
  74. package/dist/cjs/monitor/stellar-watcher.js +125 -0
  75. package/dist/cjs/monitor/stellar-watcher.js.map +1 -0
  76. package/dist/cjs/mpp.js +187 -0
  77. package/dist/cjs/mpp.js.map +1 -0
  78. package/dist/cjs/policy.js +71 -0
  79. package/dist/cjs/policy.js.map +1 -0
  80. package/dist/cjs/providers/bridge.js +323 -0
  81. package/dist/cjs/providers/bridge.js.map +1 -0
  82. package/dist/cjs/providers/onchainos.js +210 -0
  83. package/dist/cjs/providers/onchainos.js.map +1 -0
  84. package/dist/cjs/requests/eip681.js +77 -0
  85. package/dist/cjs/requests/eip681.js.map +1 -0
  86. package/dist/cjs/requests/index.js +18 -0
  87. package/dist/cjs/requests/index.js.map +1 -0
  88. package/dist/cjs/requests/sep7.js +61 -0
  89. package/dist/cjs/requests/sep7.js.map +1 -0
  90. package/dist/cjs/requests/solana-pay.js +51 -0
  91. package/dist/cjs/requests/solana-pay.js.map +1 -0
  92. package/dist/cjs/requests/universal.js +40 -0
  93. package/dist/cjs/requests/universal.js.map +1 -0
  94. package/dist/cjs/server/index.js +35 -0
  95. package/dist/cjs/server/index.js.map +1 -0
  96. package/dist/cjs/server/mpp-gate.js +118 -0
  97. package/dist/cjs/server/mpp-gate.js.map +1 -0
  98. package/dist/cjs/server/payment-gate.js +92 -0
  99. package/dist/cjs/server/payment-gate.js.map +1 -0
  100. package/dist/cjs/server/receipt.js +52 -0
  101. package/dist/cjs/server/receipt.js.map +1 -0
  102. package/dist/cjs/server/webhook.js +122 -0
  103. package/dist/cjs/server/webhook.js.map +1 -0
  104. package/dist/cjs/server/x402-gate.js +103 -0
  105. package/dist/cjs/server/x402-gate.js.map +1 -0
  106. package/dist/cjs/solana.js +14 -0
  107. package/dist/cjs/solana.js.map +1 -0
  108. package/dist/cjs/stellar.js +14 -0
  109. package/dist/cjs/stellar.js.map +1 -0
  110. package/dist/cjs/wallet/balance-aggregator.js +149 -0
  111. package/dist/cjs/wallet/balance-aggregator.js.map +1 -0
  112. package/dist/cjs/wallet/chain-router.js +254 -0
  113. package/dist/cjs/wallet/chain-router.js.map +1 -0
  114. package/dist/cjs/wallet/index.js +15 -0
  115. package/dist/cjs/wallet/index.js.map +1 -0
  116. package/dist/cjs/wallet/intent-resolver.js +145 -0
  117. package/dist/cjs/wallet/intent-resolver.js.map +1 -0
  118. package/dist/cjs/wallet/session-manager.js +170 -0
  119. package/dist/cjs/wallet/session-manager.js.map +1 -0
  120. package/dist/cjs/wallet/types.js +14 -0
  121. package/dist/cjs/wallet/types.js.map +1 -0
  122. package/dist/cjs/wallet/unified-wallet.js +253 -0
  123. package/dist/cjs/wallet/unified-wallet.js.map +1 -0
  124. package/dist/esm/adapters/base.js +170 -0
  125. package/dist/esm/adapters/base.js.map +1 -0
  126. package/dist/esm/adapters/evm.js +334 -0
  127. package/dist/esm/adapters/evm.js.map +1 -0
  128. package/dist/esm/adapters/index.js +6 -0
  129. package/dist/esm/adapters/index.js.map +1 -0
  130. package/dist/esm/adapters/ows.js +194 -0
  131. package/dist/esm/adapters/ows.js.map +1 -0
  132. package/dist/esm/adapters/solana.js +206 -0
  133. package/dist/esm/adapters/solana.js.map +1 -0
  134. package/dist/esm/adapters/stellar.js +136 -0
  135. package/dist/esm/adapters/stellar.js.map +1 -0
  136. package/dist/esm/adapters/stripe.js +334 -0
  137. package/dist/esm/adapters/stripe.js.map +1 -0
  138. package/dist/esm/adapters/types.js +2 -0
  139. package/dist/esm/adapters/types.js.map +1 -0
  140. package/dist/esm/client.js +302 -0
  141. package/dist/esm/client.js.map +1 -0
  142. package/dist/esm/contracts/abis/EnvoyFacilitator.js +194 -0
  143. package/dist/esm/contracts/abis/EnvoyFacilitator.js.map +1 -0
  144. package/dist/esm/contracts/addresses.js +38 -0
  145. package/dist/esm/contracts/addresses.js.map +1 -0
  146. package/dist/esm/contracts/facilitator.js +218 -0
  147. package/dist/esm/contracts/facilitator.js.map +1 -0
  148. package/dist/esm/contracts/index.js +8 -0
  149. package/dist/esm/contracts/index.js.map +1 -0
  150. package/dist/esm/facilitator/facilitator-service.js +301 -0
  151. package/dist/esm/facilitator/facilitator-service.js.map +1 -0
  152. package/dist/esm/facilitator/fee-calculator.js +130 -0
  153. package/dist/esm/facilitator/fee-calculator.js.map +1 -0
  154. package/dist/esm/facilitator/index.js +5 -0
  155. package/dist/esm/facilitator/index.js.map +1 -0
  156. package/dist/esm/facilitator/types.js +96 -0
  157. package/dist/esm/facilitator/types.js.map +1 -0
  158. package/dist/esm/identity/agent-card.js +139 -0
  159. package/dist/esm/identity/agent-card.js.map +1 -0
  160. package/dist/esm/identity/agent-identity.js +162 -0
  161. package/dist/esm/identity/agent-identity.js.map +1 -0
  162. package/dist/esm/identity/did-resolver.js +145 -0
  163. package/dist/esm/identity/did-resolver.js.map +1 -0
  164. package/dist/esm/identity/erc8004/abis.js +215 -0
  165. package/dist/esm/identity/erc8004/abis.js.map +1 -0
  166. package/dist/esm/identity/erc8004/identity.js +250 -0
  167. package/dist/esm/identity/erc8004/identity.js.map +1 -0
  168. package/dist/esm/identity/erc8004/index.js +13 -0
  169. package/dist/esm/identity/erc8004/index.js.map +1 -0
  170. package/dist/esm/identity/erc8004/reputation.js +105 -0
  171. package/dist/esm/identity/erc8004/reputation.js.map +1 -0
  172. package/dist/esm/identity/erc8004/types.js +2 -0
  173. package/dist/esm/identity/erc8004/types.js.map +1 -0
  174. package/dist/esm/identity/index.js +19 -0
  175. package/dist/esm/identity/index.js.map +1 -0
  176. package/dist/esm/identity/owner-registry.js +136 -0
  177. package/dist/esm/identity/owner-registry.js.map +1 -0
  178. package/dist/esm/identity/reputation.js +189 -0
  179. package/dist/esm/identity/reputation.js.map +1 -0
  180. package/dist/esm/identity/types.js +15 -0
  181. package/dist/esm/identity/types.js.map +1 -0
  182. package/dist/esm/index.js +37 -0
  183. package/dist/esm/index.js.map +1 -0
  184. package/dist/esm/logger.js +3 -0
  185. package/dist/esm/logger.js.map +1 -0
  186. package/dist/esm/monitor/evm-watcher.js +162 -0
  187. package/dist/esm/monitor/evm-watcher.js.map +1 -0
  188. package/dist/esm/monitor/index.js +25 -0
  189. package/dist/esm/monitor/index.js.map +1 -0
  190. package/dist/esm/monitor/multi-watcher.js +91 -0
  191. package/dist/esm/monitor/multi-watcher.js.map +1 -0
  192. package/dist/esm/monitor/solana-watcher.js +169 -0
  193. package/dist/esm/monitor/solana-watcher.js.map +1 -0
  194. package/dist/esm/monitor/stellar-watcher.js +122 -0
  195. package/dist/esm/monitor/stellar-watcher.js.map +1 -0
  196. package/dist/esm/mpp.js +175 -0
  197. package/dist/esm/mpp.js.map +1 -0
  198. package/dist/esm/policy.js +67 -0
  199. package/dist/esm/policy.js.map +1 -0
  200. package/dist/esm/providers/bridge.js +319 -0
  201. package/dist/esm/providers/bridge.js.map +1 -0
  202. package/dist/esm/providers/onchainos.js +172 -0
  203. package/dist/esm/providers/onchainos.js.map +1 -0
  204. package/dist/esm/requests/eip681.js +74 -0
  205. package/dist/esm/requests/eip681.js.map +1 -0
  206. package/dist/esm/requests/index.js +11 -0
  207. package/dist/esm/requests/index.js.map +1 -0
  208. package/dist/esm/requests/sep7.js +58 -0
  209. package/dist/esm/requests/sep7.js.map +1 -0
  210. package/dist/esm/requests/solana-pay.js +48 -0
  211. package/dist/esm/requests/solana-pay.js.map +1 -0
  212. package/dist/esm/requests/universal.js +37 -0
  213. package/dist/esm/requests/universal.js.map +1 -0
  214. package/dist/esm/server/index.js +27 -0
  215. package/dist/esm/server/index.js.map +1 -0
  216. package/dist/esm/server/mpp-gate.js +115 -0
  217. package/dist/esm/server/mpp-gate.js.map +1 -0
  218. package/dist/esm/server/payment-gate.js +89 -0
  219. package/dist/esm/server/payment-gate.js.map +1 -0
  220. package/dist/esm/server/receipt.js +48 -0
  221. package/dist/esm/server/receipt.js.map +1 -0
  222. package/dist/esm/server/webhook.js +119 -0
  223. package/dist/esm/server/webhook.js.map +1 -0
  224. package/dist/esm/server/x402-gate.js +100 -0
  225. package/dist/esm/server/x402-gate.js.map +1 -0
  226. package/dist/esm/solana.js +8 -0
  227. package/dist/esm/solana.js.map +1 -0
  228. package/dist/esm/stellar.js +8 -0
  229. package/dist/esm/stellar.js.map +1 -0
  230. package/dist/esm/wallet/balance-aggregator.js +145 -0
  231. package/dist/esm/wallet/balance-aggregator.js.map +1 -0
  232. package/dist/esm/wallet/chain-router.js +250 -0
  233. package/dist/esm/wallet/chain-router.js.map +1 -0
  234. package/dist/esm/wallet/index.js +7 -0
  235. package/dist/esm/wallet/index.js.map +1 -0
  236. package/dist/esm/wallet/intent-resolver.js +141 -0
  237. package/dist/esm/wallet/intent-resolver.js.map +1 -0
  238. package/dist/esm/wallet/session-manager.js +166 -0
  239. package/dist/esm/wallet/session-manager.js.map +1 -0
  240. package/dist/esm/wallet/types.js +13 -0
  241. package/dist/esm/wallet/types.js.map +1 -0
  242. package/dist/esm/wallet/unified-wallet.js +249 -0
  243. package/dist/esm/wallet/unified-wallet.js.map +1 -0
  244. package/dist/types/adapters/base.d.ts +53 -0
  245. package/dist/types/adapters/base.d.ts.map +1 -0
  246. package/dist/types/adapters/evm.d.ts +93 -0
  247. package/dist/types/adapters/evm.d.ts.map +1 -0
  248. package/dist/types/adapters/index.d.ts +7 -0
  249. package/dist/types/adapters/index.d.ts.map +1 -0
  250. package/dist/types/adapters/ows.d.ts +123 -0
  251. package/dist/types/adapters/ows.d.ts.map +1 -0
  252. package/dist/types/adapters/solana.d.ts +77 -0
  253. package/dist/types/adapters/solana.d.ts.map +1 -0
  254. package/dist/types/adapters/stellar.d.ts +67 -0
  255. package/dist/types/adapters/stellar.d.ts.map +1 -0
  256. package/dist/types/adapters/stripe.d.ts +206 -0
  257. package/dist/types/adapters/stripe.d.ts.map +1 -0
  258. package/dist/types/adapters/types.d.ts +110 -0
  259. package/dist/types/adapters/types.d.ts.map +1 -0
  260. package/dist/types/client.d.ts +89 -0
  261. package/dist/types/client.d.ts.map +1 -0
  262. package/dist/types/contracts/abis/EnvoyFacilitator.d.ts +296 -0
  263. package/dist/types/contracts/abis/EnvoyFacilitator.d.ts.map +1 -0
  264. package/dist/types/contracts/addresses.d.ts +24 -0
  265. package/dist/types/contracts/addresses.d.ts.map +1 -0
  266. package/dist/types/contracts/facilitator.d.ts +172 -0
  267. package/dist/types/contracts/facilitator.d.ts.map +1 -0
  268. package/dist/types/contracts/index.d.ts +6 -0
  269. package/dist/types/contracts/index.d.ts.map +1 -0
  270. package/dist/types/facilitator/facilitator-service.d.ts +69 -0
  271. package/dist/types/facilitator/facilitator-service.d.ts.map +1 -0
  272. package/dist/types/facilitator/fee-calculator.d.ts +48 -0
  273. package/dist/types/facilitator/fee-calculator.d.ts.map +1 -0
  274. package/dist/types/facilitator/index.d.ts +5 -0
  275. package/dist/types/facilitator/index.d.ts.map +1 -0
  276. package/dist/types/facilitator/types.d.ts +221 -0
  277. package/dist/types/facilitator/types.d.ts.map +1 -0
  278. package/dist/types/identity/agent-card.d.ts +83 -0
  279. package/dist/types/identity/agent-card.d.ts.map +1 -0
  280. package/dist/types/identity/agent-identity.d.ts +102 -0
  281. package/dist/types/identity/agent-identity.d.ts.map +1 -0
  282. package/dist/types/identity/did-resolver.d.ts +70 -0
  283. package/dist/types/identity/did-resolver.d.ts.map +1 -0
  284. package/dist/types/identity/erc8004/abis.d.ts +336 -0
  285. package/dist/types/identity/erc8004/abis.d.ts.map +1 -0
  286. package/dist/types/identity/erc8004/identity.d.ts +109 -0
  287. package/dist/types/identity/erc8004/identity.d.ts.map +1 -0
  288. package/dist/types/identity/erc8004/index.d.ts +15 -0
  289. package/dist/types/identity/erc8004/index.d.ts.map +1 -0
  290. package/dist/types/identity/erc8004/reputation.d.ts +52 -0
  291. package/dist/types/identity/erc8004/reputation.d.ts.map +1 -0
  292. package/dist/types/identity/erc8004/types.d.ts +31 -0
  293. package/dist/types/identity/erc8004/types.d.ts.map +1 -0
  294. package/dist/types/identity/index.d.ts +10 -0
  295. package/dist/types/identity/index.d.ts.map +1 -0
  296. package/dist/types/identity/owner-registry.d.ts +68 -0
  297. package/dist/types/identity/owner-registry.d.ts.map +1 -0
  298. package/dist/types/identity/reputation.d.ts +66 -0
  299. package/dist/types/identity/reputation.d.ts.map +1 -0
  300. package/dist/types/identity/types.d.ts +182 -0
  301. package/dist/types/identity/types.d.ts.map +1 -0
  302. package/dist/types/index.d.ts +17 -0
  303. package/dist/types/index.d.ts.map +1 -0
  304. package/dist/types/logger.d.ts +10 -0
  305. package/dist/types/logger.d.ts.map +1 -0
  306. package/dist/types/monitor/evm-watcher.d.ts +40 -0
  307. package/dist/types/monitor/evm-watcher.d.ts.map +1 -0
  308. package/dist/types/monitor/index.d.ts +25 -0
  309. package/dist/types/monitor/index.d.ts.map +1 -0
  310. package/dist/types/monitor/multi-watcher.d.ts +48 -0
  311. package/dist/types/monitor/multi-watcher.d.ts.map +1 -0
  312. package/dist/types/monitor/solana-watcher.d.ts +36 -0
  313. package/dist/types/monitor/solana-watcher.d.ts.map +1 -0
  314. package/dist/types/monitor/stellar-watcher.d.ts +34 -0
  315. package/dist/types/monitor/stellar-watcher.d.ts.map +1 -0
  316. package/dist/types/mpp.d.ts +153 -0
  317. package/dist/types/mpp.d.ts.map +1 -0
  318. package/dist/types/policy.d.ts +40 -0
  319. package/dist/types/policy.d.ts.map +1 -0
  320. package/dist/types/providers/bridge.d.ts +162 -0
  321. package/dist/types/providers/bridge.d.ts.map +1 -0
  322. package/dist/types/providers/onchainos.d.ts +128 -0
  323. package/dist/types/providers/onchainos.d.ts.map +1 -0
  324. package/dist/types/requests/eip681.d.ts +51 -0
  325. package/dist/types/requests/eip681.d.ts.map +1 -0
  326. package/dist/types/requests/index.d.ts +11 -0
  327. package/dist/types/requests/index.d.ts.map +1 -0
  328. package/dist/types/requests/sep7.d.ts +56 -0
  329. package/dist/types/requests/sep7.d.ts.map +1 -0
  330. package/dist/types/requests/solana-pay.d.ts +50 -0
  331. package/dist/types/requests/solana-pay.d.ts.map +1 -0
  332. package/dist/types/requests/universal.d.ts +28 -0
  333. package/dist/types/requests/universal.d.ts.map +1 -0
  334. package/dist/types/server/index.d.ts +27 -0
  335. package/dist/types/server/index.d.ts.map +1 -0
  336. package/dist/types/server/mpp-gate.d.ts +66 -0
  337. package/dist/types/server/mpp-gate.d.ts.map +1 -0
  338. package/dist/types/server/payment-gate.d.ts +33 -0
  339. package/dist/types/server/payment-gate.d.ts.map +1 -0
  340. package/dist/types/server/receipt.d.ts +52 -0
  341. package/dist/types/server/receipt.d.ts.map +1 -0
  342. package/dist/types/server/webhook.d.ts +46 -0
  343. package/dist/types/server/webhook.d.ts.map +1 -0
  344. package/dist/types/server/x402-gate.d.ts +70 -0
  345. package/dist/types/server/x402-gate.d.ts.map +1 -0
  346. package/dist/types/solana.d.ts +7 -0
  347. package/dist/types/solana.d.ts.map +1 -0
  348. package/dist/types/stellar.d.ts +7 -0
  349. package/dist/types/stellar.d.ts.map +1 -0
  350. package/dist/types/wallet/balance-aggregator.d.ts +51 -0
  351. package/dist/types/wallet/balance-aggregator.d.ts.map +1 -0
  352. package/dist/types/wallet/chain-router.d.ts +44 -0
  353. package/dist/types/wallet/chain-router.d.ts.map +1 -0
  354. package/dist/types/wallet/index.d.ts +7 -0
  355. package/dist/types/wallet/index.d.ts.map +1 -0
  356. package/dist/types/wallet/intent-resolver.d.ts +39 -0
  357. package/dist/types/wallet/intent-resolver.d.ts.map +1 -0
  358. package/dist/types/wallet/session-manager.d.ts +57 -0
  359. package/dist/types/wallet/session-manager.d.ts.map +1 -0
  360. package/dist/types/wallet/types.d.ts +161 -0
  361. package/dist/types/wallet/types.d.ts.map +1 -0
  362. package/dist/types/wallet/unified-wallet.d.ts +122 -0
  363. package/dist/types/wallet/unified-wallet.d.ts.map +1 -0
  364. package/package.json +194 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sep7.d.ts","sourceRoot":"","sources":["../../../src/requests/sep7.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IAClC,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA0BzD"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Solana Pay — Payment URI builder.
3
+ *
4
+ * Generates `solana:` URIs per the Solana Pay specification
5
+ * for requesting SOL or SPL token payments.
6
+ *
7
+ * @see https://docs.solanapay.com/spec
8
+ *
9
+ * @example
10
+ * ```
11
+ * solana:7abc...?amount=1.5&spl-token=EPjFW...&reference=ref123&label=MyStore&message=Order42
12
+ * ```
13
+ */
14
+ export interface SolanaPayOptions {
15
+ /** Recipient wallet address (base58). */
16
+ recipient: string;
17
+ /** Amount to request (human-readable). */
18
+ amount: string;
19
+ /** SPL token mint address. If omitted, requests native SOL. */
20
+ splToken?: string;
21
+ /** Unique reference for tracking the payment (base58 public key). */
22
+ reference?: string;
23
+ /** Label for the recipient. */
24
+ label?: string;
25
+ /** Message to display to the payer. */
26
+ message?: string;
27
+ /** Optional memo to include in the transaction. */
28
+ memo?: string;
29
+ }
30
+ /**
31
+ * Build a Solana Pay payment URI.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * // Native SOL
36
+ * buildSolanaPayUri({ recipient: '7abc...', amount: '1.5' });
37
+ * // => 'solana:7abc...?amount=1.5'
38
+ *
39
+ * // USDC SPL token
40
+ * buildSolanaPayUri({
41
+ * recipient: '7abc...',
42
+ * amount: '25.00',
43
+ * splToken: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
44
+ * label: 'envoy',
45
+ * message: 'Agent service payment',
46
+ * });
47
+ * ```
48
+ */
49
+ export declare function buildSolanaPayUri(options: SolanaPayOptions): string;
50
+ //# sourceMappingURL=solana-pay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-pay.d.ts","sourceRoot":"","sources":["../../../src/requests/solana-pay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAYnE"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Universal Payment URI builder — auto-detects chain and generates
3
+ * the appropriate payment URI format.
4
+ */
5
+ import { type Eip681Options } from './eip681';
6
+ import { type Sep7Options } from './sep7';
7
+ import { type SolanaPayOptions } from './solana-pay';
8
+ export interface UniversalPaymentUriOptions {
9
+ /** Target chain. */
10
+ chain: 'evm' | 'stellar' | 'solana';
11
+ /** Chain-specific options. */
12
+ evm?: Eip681Options;
13
+ stellar?: Sep7Options;
14
+ solana?: SolanaPayOptions;
15
+ }
16
+ /**
17
+ * Build a payment URI for any supported chain.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const uri = buildPaymentUri({
22
+ * chain: 'evm',
23
+ * evm: { to: '0x...', amount: '0.5', chainId: 8453 },
24
+ * });
25
+ * ```
26
+ */
27
+ export declare function buildPaymentUri(options: UniversalPaymentUriOptions): string;
28
+ //# sourceMappingURL=universal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../../../src/requests/universal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,WAAW,0BAA0B;IACzC,oBAAoB;IACpB,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAc3E"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * envoy — Server-Side Payment Gating
3
+ *
4
+ * Express/Connect-compatible middleware for monetizing API endpoints.
5
+ * Supports both x402 and MPP (Machine Payment Protocol) standards.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { createPaymentGate } from 'envoy-pay/server';
10
+ *
11
+ * app.post('/api/premium',
12
+ * createPaymentGate({
13
+ * payTo: '0xYOUR_WALLET',
14
+ * amount: '500000', // 0.50 USDC
15
+ * asset: 'USDC',
16
+ * network: 'eip155:8453',
17
+ * }),
18
+ * (req, res) => { res.json({ data: 'premium content' }); }
19
+ * );
20
+ * ```
21
+ */
22
+ export { createX402Gate, type X402GateConfig, type X402Proof } from './x402-gate';
23
+ export { createMppGate, type MppGateConfig } from './mpp-gate';
24
+ export { createPaymentGate, type PaymentGateConfig } from './payment-gate';
25
+ export { createWebhookHandler, type WebhookConfig } from './webhook';
26
+ export { buildReceipt, type ReceiptOptions, type PaymentReceipt } from './receipt';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { IncomingMessage, ServerResponse } from 'http';
2
+ import { Logger } from '../logger';
3
+ /**
4
+ * Configuration for MPP payment gate middleware.
5
+ */
6
+ export interface MppGateConfig {
7
+ /** Realm identifier for the challenge (usually the API domain). */
8
+ realm: string;
9
+ /** Payment method: 'stripe', 'onchain', etc. */
10
+ method: string;
11
+ /** Intent: 'payment', 'subscription', etc. Default: 'payment'. */
12
+ intent?: string;
13
+ /** Amount to charge (as string, in smallest units). */
14
+ amount: string;
15
+ /** Currency code. Default: 'usd'. */
16
+ currency?: string;
17
+ /** Number of decimal places. Default: 2. */
18
+ decimals?: number;
19
+ /** Recipient address / account. */
20
+ recipient: string;
21
+ /** Challenge TTL in milliseconds. Default: 300000 (5 min). */
22
+ ttlMs?: number;
23
+ /** Verification function for the payment credential. */
24
+ verifyCredential?: (credential: MppCredential, challengeId: string) => Promise<boolean> | boolean;
25
+ /** Logger function. */
26
+ logger?: Logger;
27
+ }
28
+ /** Decoded MPP credential from Authorization: Payment header. */
29
+ export interface MppCredential {
30
+ challenge: {
31
+ id: string;
32
+ realm: string;
33
+ method: string;
34
+ intent: string;
35
+ request: string;
36
+ expires?: string;
37
+ };
38
+ source: string;
39
+ payload: {
40
+ transaction: string;
41
+ };
42
+ }
43
+ /** Express/Connect request with optional MPP payment metadata. */
44
+ interface MppGatedRequest extends IncomingMessage {
45
+ mppPayment?: MppCredential;
46
+ }
47
+ /**
48
+ * Creates an Express/Connect middleware that gates access behind MPP payments.
49
+ *
50
+ * When a request lacks a valid `Authorization: Payment` header, the middleware
51
+ * responds with 402 and a `WWW-Authenticate: Payment` challenge header.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * app.post('/api/premium', createMppGate({
56
+ * realm: 'api.example.com',
57
+ * method: 'stripe',
58
+ * amount: '50',
59
+ * currency: 'usd',
60
+ * recipient: 'acct_xxx',
61
+ * }), handler);
62
+ * ```
63
+ */
64
+ export declare function createMppGate(config: MppGateConfig): (req: MppGatedRequest, res: ServerResponse, next: (err?: any) => void) => Promise<void>;
65
+ export {};
66
+ //# sourceMappingURL=mpp-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpp-gate.d.ts","sourceRoot":"","sources":["../../../src/server/mpp-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAc,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAClG,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,kEAAkE;AAClE,UAAU,eAAgB,SAAQ,eAAe;IAC/C,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,IAQ/C,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,mBA6F5B"}
@@ -0,0 +1,33 @@
1
+ import type { IncomingMessage, ServerResponse } from 'http';
2
+ import { type X402GateConfig } from './x402-gate';
3
+ import { type MppGateConfig } from './mpp-gate';
4
+ import { Logger } from '../logger';
5
+ /**
6
+ * Unified Payment Gate — supports both x402 and MPP simultaneously.
7
+ */
8
+ export interface PaymentGateConfig {
9
+ /** x402 configuration. */
10
+ x402: Omit<X402GateConfig, 'logger'>;
11
+ /** MPP configuration. */
12
+ mpp: Omit<MppGateConfig, 'logger'>;
13
+ /** Shared logger. */
14
+ logger?: Logger;
15
+ }
16
+ /**
17
+ * Creates a dual-protocol payment gate that accepts both x402 and MPP.
18
+ *
19
+ * Detection logic:
20
+ * - `X-PAYMENT` header → x402 flow
21
+ * - `Authorization: Payment` header → MPP flow
22
+ * - Neither present → returns both challenge types simultaneously
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * app.post('/api/premium', createPaymentGate({
27
+ * x402: { payTo: '0x...', amount: '500000', asset: 'USDC', network: 'eip155:8453' },
28
+ * mpp: { realm: 'api.example.com', method: 'stripe', amount: '50', recipient: 'acct_xxx' },
29
+ * }), handler);
30
+ * ```
31
+ */
32
+ export declare function createPaymentGate(config: PaymentGateConfig): (req: IncomingMessage, res: ServerResponse, next: (err?: any) => void) => Promise<void>;
33
+ //# sourceMappingURL=payment-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-gate.d.ts","sourceRoot":"","sources":["../../../src/server/payment-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAc,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACrC,yBAAyB;IACzB,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnC,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,IAcvD,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,mBAuE5B"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * MPP Payment-Receipt builder.
3
+ *
4
+ * Generates base64url-encoded receipt JSON that can be attached
5
+ * as a `Payment-Receipt` response header after successful payment verification.
6
+ */
7
+ export interface ReceiptOptions {
8
+ /** The challenge ID this receipt is for. */
9
+ challengeId: string;
10
+ /** Payment status. */
11
+ status: 'settled' | 'pending' | 'failed';
12
+ /** Amount paid (atomic units). */
13
+ amount: string;
14
+ /** Currency / asset. */
15
+ asset: string;
16
+ /** Transaction hash / proof. */
17
+ transactionHash?: string;
18
+ /** Timestamp of the receipt. */
19
+ timestamp?: Date;
20
+ }
21
+ export interface PaymentReceipt {
22
+ challengeId: string;
23
+ status: 'settled' | 'pending' | 'failed';
24
+ amount: string;
25
+ asset: string;
26
+ transactionHash?: string;
27
+ issuedAt: string;
28
+ }
29
+ /**
30
+ * Build a Payment-Receipt header value.
31
+ *
32
+ * @returns base64url-encoded JSON receipt.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const receipt = buildReceipt({
37
+ * challengeId: 'ch_123',
38
+ * status: 'settled',
39
+ * amount: '500000',
40
+ * asset: 'USDC',
41
+ * transactionHash: '0xabc...',
42
+ * });
43
+ *
44
+ * res.setHeader('Payment-Receipt', receipt);
45
+ * ```
46
+ */
47
+ export declare function buildReceipt(options: ReceiptOptions): string;
48
+ /**
49
+ * Parse a Payment-Receipt header value back into a receipt object.
50
+ */
51
+ export declare function parseReceipt(encoded: string): PaymentReceipt;
52
+ //# sourceMappingURL=receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../src/server/receipt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAe5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAI5D"}
@@ -0,0 +1,46 @@
1
+ import { Logger } from '../logger';
2
+ /**
3
+ * Configuration for Stripe webhook handler.
4
+ */
5
+ export interface WebhookConfig {
6
+ /** Stripe webhook signing secret (whsec_...). */
7
+ signingSecret: string;
8
+ /** Callback for successful payments. */
9
+ onPaymentSuccess?: (event: WebhookEvent) => void | Promise<void>;
10
+ /** Callback for failed payments. */
11
+ onPaymentFailure?: (event: WebhookEvent) => void | Promise<void>;
12
+ /** Idempotency: track processed event IDs to prevent replay. */
13
+ processedEventIds?: Set<string>;
14
+ /** Logger function. */
15
+ logger?: Logger;
16
+ }
17
+ /** Simplified webhook event representation. */
18
+ export interface WebhookEvent {
19
+ id: string;
20
+ type: string;
21
+ amount?: number;
22
+ currency?: string;
23
+ paymentIntentId?: string;
24
+ metadata?: Record<string, string>;
25
+ timestamp: Date;
26
+ }
27
+ /**
28
+ * Creates a Connect/Express-compatible webhook handler for Stripe events.
29
+ *
30
+ * Uses HMAC signature verification via the raw request body.
31
+ * Supports idempotency guard to prevent duplicate processing.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const handler = createWebhookHandler({
36
+ * signingSecret: process.env.STRIPE_WEBHOOK_SECRET!,
37
+ * onPaymentSuccess: (event) => {
38
+ * console.log(`Payment received: ${event.amount} ${event.currency}`);
39
+ * },
40
+ * });
41
+ *
42
+ * app.post('/webhook', express.raw({ type: 'application/json' }), handler);
43
+ * ```
44
+ */
45
+ export declare function createWebhookHandler(config: WebhookConfig): (req: any, res: any, _next?: (err?: any) => void) => Promise<void>;
46
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../src/server/webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,IAKtD,KAAK,GAAG,EACR,KAAK,GAAG,EACR,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,mBA2E9B"}
@@ -0,0 +1,70 @@
1
+ import type { IncomingMessage, ServerResponse } from 'http';
2
+ import { Logger } from '../logger';
3
+ /**
4
+ * Configuration for x402 payment gate middleware.
5
+ */
6
+ export interface X402GateConfig {
7
+ /** Wallet address to receive payments. */
8
+ payTo: string;
9
+ /** Amount in atomic units (e.g., '500000' = 0.50 USDC). */
10
+ amount: string;
11
+ /** Asset identifier: 'USDC', 'ETH', etc. */
12
+ asset: string;
13
+ /** Network / CAIP-2 identifier. */
14
+ network: string;
15
+ /** Payment scheme. Default: 'exact'. */
16
+ scheme?: string;
17
+ /** x402 version. Default: 2. */
18
+ x402Version?: number;
19
+ /** Resource description for human-readable display. */
20
+ description?: string;
21
+ /** USD amount for policy engines (optional). */
22
+ usdAmount?: number;
23
+ /** Facilitator URL for verification (optional). */
24
+ facilitatorUrl?: string;
25
+ /** Verification function. If provided, called to verify X-PAYMENT proof. */
26
+ verifyPayment?: (proof: X402Proof) => Promise<boolean> | boolean;
27
+ /** Logger function. */
28
+ logger?: Logger;
29
+ }
30
+ /** Decoded X-PAYMENT proof from client. */
31
+ export interface X402Proof {
32
+ x402Version: number;
33
+ accepted: {
34
+ scheme: string;
35
+ network: string;
36
+ amount: string;
37
+ payTo: string;
38
+ asset: string;
39
+ };
40
+ payload: {
41
+ transaction: string;
42
+ chain: string;
43
+ };
44
+ }
45
+ /** Express/Connect-style request with optional payment metadata. */
46
+ interface GatedRequest extends IncomingMessage {
47
+ payment?: X402Proof;
48
+ }
49
+ /**
50
+ * Creates an Express/Connect middleware that gates access behind x402 payments.
51
+ *
52
+ * When a request lacks a valid `X-PAYMENT` header, the middleware responds with
53
+ * 402 Payment Required and an x402-compliant JSON challenge body.
54
+ *
55
+ * When a valid `X-PAYMENT` header is present, it's decoded and optionally
56
+ * verified before calling `next()`.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * app.post('/api/premium', createX402Gate({
61
+ * payTo: '0xABC...',
62
+ * amount: '500000',
63
+ * asset: 'USDC',
64
+ * network: 'eip155:8453',
65
+ * }), handler);
66
+ * ```
67
+ */
68
+ export declare function createX402Gate(config: X402GateConfig): (req: GatedRequest, res: ServerResponse, next: (err?: any) => void) => Promise<void>;
69
+ export {};
70
+ //# sourceMappingURL=x402-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402-gate.d.ts","sourceRoot":"","sources":["../../../src/server/x402-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAc,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACjE,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,2CAA2C;AAC3C,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,oEAAoE;AACpE,UAAU,YAAa,SAAQ,eAAe;IAC5C,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,IAMjD,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,mBAoF5B"}
@@ -0,0 +1,7 @@
1
+ export { SolanaPaymentAdapter } from './adapters/solana';
2
+ export type { SolanaAdapterOptions } from './adapters/solana';
3
+ export { createSolanaWatcher } from './monitor/solana-watcher';
4
+ export type { SolanaWatcherConfig } from './monitor/solana-watcher';
5
+ export { buildSolanaPayUri } from './requests/solana-pay';
6
+ export type { SolanaPayOptions } from './requests/solana-pay';
7
+ //# sourceMappingURL=solana.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/solana.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { StellarPaymentAdapter } from './adapters/stellar';
2
+ export type { StellarPaymentAdapterOptions } from './adapters/stellar';
3
+ export { createStellarWatcher } from './monitor/stellar-watcher';
4
+ export type { StellarWatcherConfig } from './monitor/stellar-watcher';
5
+ export { buildSep7Uri } from './requests/sep7';
6
+ export type { Sep7Options } from './requests/sep7';
7
+ //# sourceMappingURL=stellar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stellar.d.ts","sourceRoot":"","sources":["../../src/stellar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * BalanceAggregator — Multi-chain balance aggregation.
3
+ *
4
+ * Queries all registered adapters in parallel to produce a unified
5
+ * balance snapshot. Handles adapters that don't implement `getBalance()`
6
+ * gracefully (returns 0).
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const aggregator = new BalanceAggregator(adapters);
11
+ * const balance = await aggregator.getUnifiedBalance();
12
+ * console.log(balance.totalFormatted); // "$400.00"
13
+ * ```
14
+ */
15
+ import { PaymentAdapter } from '../adapters/types';
16
+ import { ChainBalance, UnifiedBalance } from './types';
17
+ export declare class BalanceAggregator {
18
+ private adapters;
19
+ constructor(adapters: PaymentAdapter[]);
20
+ /**
21
+ * Query all adapters and return a unified balance snapshot.
22
+ * Adapters without `getBalance()` report $0.
23
+ */
24
+ getUnifiedBalance(): Promise<UnifiedBalance>;
25
+ /**
26
+ * Get the balance for a specific chain by CAIP-2 ID.
27
+ */
28
+ getChainBalance(caip2Id: string): Promise<ChainBalance | null>;
29
+ /**
30
+ * Find the adapter with the highest USD balance.
31
+ */
32
+ getRichestChain(): Promise<ChainBalance | null>;
33
+ /**
34
+ * Check if sufficient funds exist across all chains.
35
+ */
36
+ hasSufficientFunds(amountUsd: number): Promise<boolean>;
37
+ /**
38
+ * Find all chains that can cover a given USD amount.
39
+ */
40
+ getChainsWithSufficientFunds(amountUsd: number): Promise<ChainBalance[]>;
41
+ private queryAdapter;
42
+ /**
43
+ * Convert an asset amount to USD using stablecoin 1:1 or fallback rates.
44
+ */
45
+ private toUsd;
46
+ /**
47
+ * Best-effort detection of the primary asset for a chain.
48
+ */
49
+ private detectPrimaryAsset;
50
+ }
51
+ //# sourceMappingURL=balance-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance-aggregator.d.ts","sourceRoot":"","sources":["../../../src/wallet/balance-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAyBvD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc,EAAE;IAE9C;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAwBlD;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAMpE;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAQrD;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7D;;OAEG;IACG,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAOhE,YAAY;IA4B1B;;OAEG;IACH,OAAO,CAAC,KAAK;IAQb;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAQ3B"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * ChainRouter — Optimal chain selection for payment execution.
3
+ *
4
+ * Given a payment intent ($5 USDC), the router scores all available
5
+ * adapters based on the configured strategy (cheapest, fastest,
6
+ * prefer-crypto, etc.) and returns a ranked list of PaymentPlans.
7
+ *
8
+ * Scoring is based on chain metadata (gas estimates, settlement times)
9
+ * and real-time balance availability.
10
+ *
11
+ * @see ERC-7521 — Intent-based execution patterns
12
+ */
13
+ import { PaymentAdapter } from '../adapters/types';
14
+ import { ChainMeta, PayIntent, PaymentPlan, RoutingStrategy } from './types';
15
+ export declare class ChainRouter {
16
+ private adapters;
17
+ private chainMeta;
18
+ private roundRobinIndex;
19
+ constructor(adapters: PaymentAdapter[], customMeta?: Record<string, ChainMeta>);
20
+ /**
21
+ * Score and rank all adapters for a given payment intent.
22
+ * Returns plans sorted by score (lower = better).
23
+ */
24
+ route(intent: PayIntent, strategy: RoutingStrategy): PaymentPlan[];
25
+ /**
26
+ * Get the single best adapter for a payment intent.
27
+ */
28
+ getBestPlan(intent: PayIntent, strategy: RoutingStrategy): PaymentPlan | null;
29
+ /**
30
+ * Get chain metadata for a CAIP-2 ID.
31
+ * Falls back to sensible defaults for unknown chains.
32
+ */
33
+ getChainMeta(caip2Id: string): ChainMeta;
34
+ /**
35
+ * Calculate a composite score for an adapter/chain based on the strategy.
36
+ * Lower score = better.
37
+ */
38
+ private calculateScore;
39
+ /**
40
+ * Convert a USD amount to atomic units for a specific chain.
41
+ */
42
+ private toAtomicUnits;
43
+ }
44
+ //# sourceMappingURL=chain-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-router.d.ts","sourceRoot":"","sources":["../../../src/wallet/chain-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,eAAe,EAChB,MAAM,SAAS,CAAC;AAmIjB,qBAAa,WAAW;IAKpB,OAAO,CAAC,QAAQ;IAJlB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,eAAe,CAAK;gBAGlB,QAAQ,EAAE,cAAc,EAAE,EAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;IAiBxC;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAAG,WAAW,EAAE;IAiClE;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI;IAK7E;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAaxC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAwCtB;;OAEG;IACH,OAAO,CAAC,aAAa;CAKtB"}
@@ -0,0 +1,7 @@
1
+ export { UnifiedWallet } from './unified-wallet';
2
+ export { BalanceAggregator } from './balance-aggregator';
3
+ export { ChainRouter } from './chain-router';
4
+ export { IntentResolver } from './intent-resolver';
5
+ export { SessionManager } from './session-manager';
6
+ export type { UnifiedWalletOptions, UnifiedBalance, ChainBalance, PayIntent, PaymentPlan, PayResult, RoutingStrategy, Session, SessionPermissions, ChainMeta, } from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,EACP,kBAAkB,EAClB,SAAS,GACV,MAAM,SAAS,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * IntentResolver — Parses natural-language payment intents into PaymentPlans.
3
+ *
4
+ * Agents express payment desires as simple strings ("pay $5", "send 10 USDC
5
+ * to 0x1234..."). The IntentResolver parses these into structured PayIntent
6
+ * objects, then delegates to ChainRouter for execution planning.
7
+ *
8
+ * Supports:
9
+ * - "$5" / "$5.00" — USD amounts
10
+ * - "5 USDC" / "10 XLM" — Asset-specific amounts
11
+ * - "to 0x..." / "to G..." / "to ..." — destination extraction
12
+ * - "memo: invoice-123" — memo extraction
13
+ *
14
+ * @see ERC-7521 — Intent-centric execution pattern
15
+ */
16
+ import { PayIntent } from './types';
17
+ export declare class IntentResolver {
18
+ /**
19
+ * Parse a natural-language payment intent string into a structured PayIntent.
20
+ *
21
+ * @example
22
+ * resolve('pay $5 to 0x1234...'); // { amount: '5.00', destination: '0x1234...' }
23
+ * resolve('send 100 USDC memo: inv-42'); // { amount: '100', asset: 'USDC', memo: 'inv-42' }
24
+ * resolve('$0.50'); // { amount: '0.50' }
25
+ */
26
+ resolve(input: string): PayIntent;
27
+ /**
28
+ * Validate that a PayIntent has the minimum required fields.
29
+ */
30
+ validate(intent: PayIntent): {
31
+ valid: boolean;
32
+ errors: string[];
33
+ };
34
+ /**
35
+ * Convert a raw USD amount string to a specific asset amount.
36
+ */
37
+ usdToAsset(usdAmount: string, asset: string): string;
38
+ }
39
+ //# sourceMappingURL=intent-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../src/wallet/intent-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAqDpC,qBAAa,cAAc;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAiDjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAkBjE;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAOrD"}