agentwallet-sdk 5.1.1 → 6.0.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 (366) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +463 -24
  3. package/dist/bridge/__tests__/solana.test.d.ts +2 -0
  4. package/dist/bridge/__tests__/solana.test.d.ts.map +1 -0
  5. package/dist/bridge/__tests__/solana.test.js +106 -0
  6. package/dist/bridge/__tests__/solana.test.js.map +1 -0
  7. package/dist/bridge/client.d.ts +21 -7
  8. package/dist/bridge/client.d.ts.map +1 -1
  9. package/dist/bridge/client.js +16 -1
  10. package/dist/bridge/client.js.map +1 -1
  11. package/dist/bridge/index.d.ts +12 -1
  12. package/dist/bridge/index.d.ts.map +1 -1
  13. package/dist/bridge/index.js +11 -0
  14. package/dist/bridge/index.js.map +1 -1
  15. package/dist/bridge/solana.d.ts +132 -0
  16. package/dist/bridge/solana.d.ts.map +1 -0
  17. package/dist/bridge/solana.js +313 -0
  18. package/dist/bridge/solana.js.map +1 -0
  19. package/dist/bridge/types.d.ts +35 -10
  20. package/dist/bridge/types.d.ts.map +1 -1
  21. package/dist/bridge/types.js +16 -4
  22. package/dist/bridge/types.js.map +1 -1
  23. package/dist/escrow/MutualStakeEscrow.d.ts.map +1 -1
  24. package/dist/escrow/MutualStakeEscrow.js +3 -5
  25. package/dist/escrow/MutualStakeEscrow.js.map +1 -1
  26. package/dist/index.d.ts +192 -469
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +14 -8
  29. package/dist/index.js.map +1 -1
  30. package/dist/policy/SpendingPolicy.test.js.map +1 -1
  31. package/dist/swap/SwapModule.d.ts +17 -3
  32. package/dist/swap/SwapModule.d.ts.map +1 -1
  33. package/dist/swap/SwapModule.js +21 -5
  34. package/dist/swap/SwapModule.js.map +1 -1
  35. package/dist/swap/index.d.ts +9 -2
  36. package/dist/swap/index.d.ts.map +1 -1
  37. package/dist/swap/index.js +8 -1
  38. package/dist/swap/index.js.map +1 -1
  39. package/dist/swap/types.d.ts +58 -1
  40. package/dist/swap/types.d.ts.map +1 -1
  41. package/dist/swap/types.js +56 -1
  42. package/dist/swap/types.js.map +1 -1
  43. package/dist/tokens/__tests__/decimals.test.d.ts +2 -0
  44. package/dist/tokens/__tests__/decimals.test.d.ts.map +1 -0
  45. package/dist/tokens/__tests__/decimals.test.js +107 -0
  46. package/dist/tokens/__tests__/decimals.test.js.map +1 -0
  47. package/dist/tokens/__tests__/registry.test.d.ts +2 -0
  48. package/dist/tokens/__tests__/registry.test.d.ts.map +1 -0
  49. package/dist/tokens/__tests__/registry.test.js +191 -0
  50. package/dist/tokens/__tests__/registry.test.js.map +1 -0
  51. package/dist/tokens/__tests__/transfers.test.d.ts +2 -0
  52. package/dist/tokens/__tests__/transfers.test.d.ts.map +1 -0
  53. package/dist/tokens/__tests__/transfers.test.js +103 -0
  54. package/dist/tokens/__tests__/transfers.test.js.map +1 -0
  55. package/dist/tokens/decimals.d.ts +65 -0
  56. package/dist/tokens/decimals.d.ts.map +1 -0
  57. package/dist/tokens/decimals.js +112 -0
  58. package/dist/tokens/decimals.js.map +1 -0
  59. package/dist/tokens/index.d.ts +14 -0
  60. package/dist/tokens/index.d.ts.map +1 -0
  61. package/dist/tokens/index.js +14 -0
  62. package/dist/tokens/index.js.map +1 -0
  63. package/dist/tokens/registry.d.ts +82 -0
  64. package/dist/tokens/registry.d.ts.map +1 -0
  65. package/dist/tokens/registry.js +293 -0
  66. package/dist/tokens/registry.js.map +1 -0
  67. package/dist/tokens/solana.d.ts +108 -0
  68. package/dist/tokens/solana.d.ts.map +1 -0
  69. package/dist/tokens/solana.js +306 -0
  70. package/dist/tokens/solana.js.map +1 -0
  71. package/dist/tokens/transfers.d.ts +95 -0
  72. package/dist/tokens/transfers.d.ts.map +1 -0
  73. package/dist/tokens/transfers.js +196 -0
  74. package/dist/tokens/transfers.js.map +1 -0
  75. package/dist/types.d.ts +20 -1
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/types.js +6 -0
  78. package/dist/types.js.map +1 -1
  79. package/dist/x402/__tests__/client.test.js +77 -5
  80. package/dist/x402/__tests__/client.test.js.map +1 -1
  81. package/dist/x402/chains/abstract/index.d.ts.map +1 -1
  82. package/dist/x402/chains/abstract/index.js.map +1 -1
  83. package/dist/x402/chains/stellar/index.d.ts +149 -0
  84. package/dist/x402/chains/stellar/index.d.ts.map +1 -0
  85. package/dist/x402/chains/stellar/index.js +199 -0
  86. package/dist/x402/chains/stellar/index.js.map +1 -0
  87. package/dist/x402/client.d.ts +7 -1
  88. package/dist/x402/client.d.ts.map +1 -1
  89. package/dist/x402/client.js +24 -13
  90. package/dist/x402/client.js.map +1 -1
  91. package/dist/x402/index.d.ts +1 -0
  92. package/dist/x402/index.d.ts.map +1 -1
  93. package/dist/x402/index.js +2 -0
  94. package/dist/x402/index.js.map +1 -1
  95. package/dist/x402/middleware.d.ts.map +1 -1
  96. package/dist/x402/middleware.js +0 -3
  97. package/dist/x402/middleware.js.map +1 -1
  98. package/dist/x402/multi-asset.d.ts +54 -0
  99. package/dist/x402/multi-asset.d.ts.map +1 -0
  100. package/dist/x402/multi-asset.js +123 -0
  101. package/dist/x402/multi-asset.js.map +1 -0
  102. package/dist/x402/types.d.ts +22 -3
  103. package/dist/x402/types.d.ts.map +1 -1
  104. package/dist/x402/types.js +34 -4
  105. package/dist/x402/types.js.map +1 -1
  106. package/package.json +21 -6
  107. package/dist/ap2/index.d.ts +0 -185
  108. package/dist/ap2/index.d.ts.map +0 -1
  109. package/dist/ap2/index.js +0 -255
  110. package/dist/ap2/index.js.map +0 -1
  111. package/dist/bridge/unified.d.ts +0 -101
  112. package/dist/bridge/unified.d.ts.map +0 -1
  113. package/dist/bridge/unified.js +0 -284
  114. package/dist/bridge/unified.js.map +0 -1
  115. package/dist/chains.d.ts +0 -62
  116. package/dist/chains.d.ts.map +0 -1
  117. package/dist/chains.js +0 -108
  118. package/dist/chains.js.map +0 -1
  119. package/dist/fiat/index.d.ts +0 -10
  120. package/dist/fiat/index.d.ts.map +0 -1
  121. package/dist/fiat/index.js +0 -9
  122. package/dist/fiat/index.js.map +0 -1
  123. package/dist/fiat/onramp.d.ts +0 -101
  124. package/dist/fiat/onramp.d.ts.map +0 -1
  125. package/dist/fiat/onramp.js +0 -155
  126. package/dist/fiat/onramp.js.map +0 -1
  127. package/dist/fiat/providers/index.d.ts +0 -16
  128. package/dist/fiat/providers/index.d.ts.map +0 -1
  129. package/dist/fiat/providers/index.js +0 -30
  130. package/dist/fiat/providers/index.js.map +0 -1
  131. package/dist/fiat/providers/moonpay.d.ts +0 -22
  132. package/dist/fiat/providers/moonpay.d.ts.map +0 -1
  133. package/dist/fiat/providers/moonpay.js +0 -107
  134. package/dist/fiat/providers/moonpay.js.map +0 -1
  135. package/dist/fiat/providers/stripe.d.ts +0 -26
  136. package/dist/fiat/providers/stripe.d.ts.map +0 -1
  137. package/dist/fiat/providers/stripe.js +0 -135
  138. package/dist/fiat/providers/stripe.js.map +0 -1
  139. package/dist/fiat/providers/transak.d.ts +0 -26
  140. package/dist/fiat/providers/transak.d.ts.map +0 -1
  141. package/dist/fiat/providers/transak.js +0 -119
  142. package/dist/fiat/providers/transak.js.map +0 -1
  143. package/dist/fiat/types.d.ts +0 -106
  144. package/dist/fiat/types.d.ts.map +0 -1
  145. package/dist/fiat/types.js +0 -13
  146. package/dist/fiat/types.js.map +0 -1
  147. package/dist/flash/executor.d.ts +0 -119
  148. package/dist/flash/executor.d.ts.map +0 -1
  149. package/dist/flash/executor.js +0 -195
  150. package/dist/flash/executor.js.map +0 -1
  151. package/dist/flash/index.d.ts +0 -28
  152. package/dist/flash/index.d.ts.map +0 -1
  153. package/dist/flash/index.js +0 -29
  154. package/dist/flash/index.js.map +0 -1
  155. package/dist/flash/scanner.d.ts +0 -133
  156. package/dist/flash/scanner.d.ts.map +0 -1
  157. package/dist/flash/scanner.js +0 -212
  158. package/dist/flash/scanner.js.map +0 -1
  159. package/dist/flash/types.d.ts +0 -136
  160. package/dist/flash/types.d.ts.map +0 -1
  161. package/dist/flash/types.js +0 -23
  162. package/dist/flash/types.js.map +0 -1
  163. package/dist/gas/index.d.ts +0 -4
  164. package/dist/gas/index.d.ts.map +0 -1
  165. package/dist/gas/index.js +0 -3
  166. package/dist/gas/index.js.map +0 -1
  167. package/dist/gas/sponsor.d.ts +0 -70
  168. package/dist/gas/sponsor.d.ts.map +0 -1
  169. package/dist/gas/sponsor.js +0 -193
  170. package/dist/gas/sponsor.js.map +0 -1
  171. package/dist/gas/types.d.ts +0 -76
  172. package/dist/gas/types.d.ts.map +0 -1
  173. package/dist/gas/types.js +0 -21
  174. package/dist/gas/types.js.map +0 -1
  175. package/dist/identity/agent-identity.d.ts +0 -276
  176. package/dist/identity/agent-identity.d.ts.map +0 -1
  177. package/dist/identity/agent-identity.js +0 -300
  178. package/dist/identity/agent-identity.js.map +0 -1
  179. package/dist/identity/email-resolver.d.ts +0 -235
  180. package/dist/identity/email-resolver.js +0 -283
  181. package/dist/identity/erc6551.d.ts +0 -441
  182. package/dist/identity/erc6551.d.ts.map +0 -1
  183. package/dist/identity/erc6551.js +0 -517
  184. package/dist/identity/erc6551.js.map +0 -1
  185. package/dist/mev/index.d.ts +0 -4
  186. package/dist/mev/index.d.ts.map +0 -1
  187. package/dist/mev/index.js +0 -8
  188. package/dist/mev/index.js.map +0 -1
  189. package/dist/mev/protection.d.ts +0 -54
  190. package/dist/mev/protection.d.ts.map +0 -1
  191. package/dist/mev/protection.js +0 -185
  192. package/dist/mev/protection.js.map +0 -1
  193. package/dist/mev/risk.d.ts +0 -19
  194. package/dist/mev/risk.d.ts.map +0 -1
  195. package/dist/mev/risk.js +0 -95
  196. package/dist/mev/risk.js.map +0 -1
  197. package/dist/mev/types.d.ts +0 -49
  198. package/dist/mev/types.d.ts.map +0 -1
  199. package/dist/mev/types.js +0 -2
  200. package/dist/mev/types.js.map +0 -1
  201. package/dist/plugins/elizaos.d.ts +0 -52
  202. package/dist/plugins/elizaos.d.ts.map +0 -1
  203. package/dist/plugins/elizaos.js +0 -89
  204. package/dist/plugins/elizaos.js.map +0 -1
  205. package/dist/settlement/index.d.ts +0 -4
  206. package/dist/settlement/index.d.ts.map +0 -1
  207. package/dist/settlement/index.js +0 -3
  208. package/dist/settlement/index.js.map +0 -1
  209. package/dist/settlement/types.d.ts +0 -66
  210. package/dist/settlement/types.d.ts.map +0 -1
  211. package/dist/settlement/types.js +0 -37
  212. package/dist/settlement/types.js.map +0 -1
  213. package/dist/settlement/verifier.d.ts +0 -75
  214. package/dist/settlement/verifier.d.ts.map +0 -1
  215. package/dist/settlement/verifier.js +0 -354
  216. package/dist/settlement/verifier.js.map +0 -1
  217. package/dist/solana/bridge.d.ts +0 -144
  218. package/dist/solana/bridge.d.ts.map +0 -1
  219. package/dist/solana/bridge.js +0 -352
  220. package/dist/solana/bridge.js.map +0 -1
  221. package/dist/solana/index.d.ts +0 -8
  222. package/dist/solana/index.d.ts.map +0 -1
  223. package/dist/solana/index.js +0 -6
  224. package/dist/solana/index.js.map +0 -1
  225. package/dist/solana/swap.d.ts +0 -85
  226. package/dist/solana/swap.d.ts.map +0 -1
  227. package/dist/solana/swap.js +0 -173
  228. package/dist/solana/swap.js.map +0 -1
  229. package/dist/solana/types.d.ts +0 -126
  230. package/dist/solana/types.d.ts.map +0 -1
  231. package/dist/solana/types.js +0 -10
  232. package/dist/solana/types.js.map +0 -1
  233. package/dist/solana/wallet.d.ts +0 -83
  234. package/dist/solana/wallet.d.ts.map +0 -1
  235. package/dist/solana/wallet.js +0 -164
  236. package/dist/solana/wallet.js.map +0 -1
  237. package/dist/solana/x402.d.ts +0 -69
  238. package/dist/solana/x402.d.ts.map +0 -1
  239. package/dist/solana/x402.js +0 -154
  240. package/dist/solana/x402.js.map +0 -1
  241. package/dist/solver/adapter.d.ts +0 -47
  242. package/dist/solver/adapter.d.ts.map +0 -1
  243. package/dist/solver/adapter.js +0 -146
  244. package/dist/solver/adapter.js.map +0 -1
  245. package/dist/solver/analyzer.d.ts +0 -48
  246. package/dist/solver/analyzer.d.ts.map +0 -1
  247. package/dist/solver/analyzer.js +0 -171
  248. package/dist/solver/analyzer.js.map +0 -1
  249. package/dist/solver/builder.d.ts +0 -31
  250. package/dist/solver/builder.d.ts.map +0 -1
  251. package/dist/solver/builder.js +0 -60
  252. package/dist/solver/builder.js.map +0 -1
  253. package/dist/solver/index.d.ts +0 -22
  254. package/dist/solver/index.d.ts.map +0 -1
  255. package/dist/solver/index.js +0 -25
  256. package/dist/solver/index.js.map +0 -1
  257. package/dist/solver/types.d.ts +0 -115
  258. package/dist/solver/types.d.ts.map +0 -1
  259. package/dist/solver/types.js +0 -10
  260. package/dist/solver/types.js.map +0 -1
  261. package/dist/spend-guard/index.d.ts +0 -125
  262. package/dist/spend-guard/index.d.ts.map +0 -1
  263. package/dist/spend-guard/index.js +0 -150
  264. package/dist/spend-guard/index.js.map +0 -1
  265. package/dist/swap/router/cache.d.ts +0 -13
  266. package/dist/swap/router/cache.d.ts.map +0 -1
  267. package/dist/swap/router/cache.js +0 -30
  268. package/dist/swap/router/cache.js.map +0 -1
  269. package/dist/swap/router/flashbots.d.ts +0 -10
  270. package/dist/swap/router/flashbots.d.ts.map +0 -1
  271. package/dist/swap/router/flashbots.js +0 -43
  272. package/dist/swap/router/flashbots.js.map +0 -1
  273. package/dist/swap/router/health.d.ts +0 -17
  274. package/dist/swap/router/health.d.ts.map +0 -1
  275. package/dist/swap/router/health.js +0 -38
  276. package/dist/swap/router/health.js.map +0 -1
  277. package/dist/swap/router/index.d.ts +0 -10
  278. package/dist/swap/router/index.d.ts.map +0 -1
  279. package/dist/swap/router/index.js +0 -10
  280. package/dist/swap/router/index.js.map +0 -1
  281. package/dist/swap/router/providers/cowswap.d.ts +0 -11
  282. package/dist/swap/router/providers/cowswap.d.ts.map +0 -1
  283. package/dist/swap/router/providers/cowswap.js +0 -79
  284. package/dist/swap/router/providers/cowswap.js.map +0 -1
  285. package/dist/swap/router/providers/index.d.ts +0 -20
  286. package/dist/swap/router/providers/index.d.ts.map +0 -1
  287. package/dist/swap/router/providers/index.js +0 -32
  288. package/dist/swap/router/providers/index.js.map +0 -1
  289. package/dist/swap/router/providers/jupiter.d.ts +0 -12
  290. package/dist/swap/router/providers/jupiter.d.ts.map +0 -1
  291. package/dist/swap/router/providers/jupiter.js +0 -73
  292. package/dist/swap/router/providers/jupiter.js.map +0 -1
  293. package/dist/swap/router/providers/lifi.d.ts +0 -11
  294. package/dist/swap/router/providers/lifi.d.ts.map +0 -1
  295. package/dist/swap/router/providers/lifi.js +0 -123
  296. package/dist/swap/router/providers/lifi.js.map +0 -1
  297. package/dist/swap/router/providers/oneinch.d.ts +0 -13
  298. package/dist/swap/router/providers/oneinch.d.ts.map +0 -1
  299. package/dist/swap/router/providers/oneinch.js +0 -71
  300. package/dist/swap/router/providers/oneinch.js.map +0 -1
  301. package/dist/swap/router/providers/paraswap.d.ts +0 -11
  302. package/dist/swap/router/providers/paraswap.d.ts.map +0 -1
  303. package/dist/swap/router/providers/paraswap.js +0 -73
  304. package/dist/swap/router/providers/paraswap.js.map +0 -1
  305. package/dist/swap/router/providers/uniswap.d.ts +0 -31
  306. package/dist/swap/router/providers/uniswap.d.ts.map +0 -1
  307. package/dist/swap/router/providers/uniswap.js +0 -237
  308. package/dist/swap/router/providers/uniswap.js.map +0 -1
  309. package/dist/swap/router/providers/zerox.d.ts +0 -13
  310. package/dist/swap/router/providers/zerox.d.ts.map +0 -1
  311. package/dist/swap/router/providers/zerox.js +0 -94
  312. package/dist/swap/router/providers/zerox.js.map +0 -1
  313. package/dist/swap/router/router.d.ts +0 -86
  314. package/dist/swap/router/router.d.ts.map +0 -1
  315. package/dist/swap/router/router.js +0 -224
  316. package/dist/swap/router/router.js.map +0 -1
  317. package/dist/swap/router/rsi/engine.d.ts +0 -60
  318. package/dist/swap/router/rsi/engine.d.ts.map +0 -1
  319. package/dist/swap/router/rsi/engine.js +0 -483
  320. package/dist/swap/router/rsi/engine.js.map +0 -1
  321. package/dist/swap/router/rsi/index.d.ts +0 -3
  322. package/dist/swap/router/rsi/index.d.ts.map +0 -1
  323. package/dist/swap/router/rsi/index.js +0 -3
  324. package/dist/swap/router/rsi/index.js.map +0 -1
  325. package/dist/swap/router/rsi/types.d.ts +0 -106
  326. package/dist/swap/router/rsi/types.d.ts.map +0 -1
  327. package/dist/swap/router/rsi/types.js +0 -3
  328. package/dist/swap/router/rsi/types.js.map +0 -1
  329. package/dist/swap/router/types.d.ts +0 -120
  330. package/dist/swap/router/types.d.ts.map +0 -1
  331. package/dist/swap/router/types.js +0 -16
  332. package/dist/swap/router/types.js.map +0 -1
  333. package/dist/tax/engine.d.ts +0 -131
  334. package/dist/tax/engine.d.ts.map +0 -1
  335. package/dist/tax/engine.js +0 -307
  336. package/dist/tax/engine.js.map +0 -1
  337. package/dist/tax/index.d.ts +0 -9
  338. package/dist/tax/index.d.ts.map +0 -1
  339. package/dist/tax/index.js +0 -12
  340. package/dist/tax/index.js.map +0 -1
  341. package/dist/tax/lots.d.ts +0 -60
  342. package/dist/tax/lots.d.ts.map +0 -1
  343. package/dist/tax/lots.js +0 -129
  344. package/dist/tax/lots.js.map +0 -1
  345. package/dist/tax/types.d.ts +0 -113
  346. package/dist/tax/types.d.ts.map +0 -1
  347. package/dist/tax/types.js +0 -18
  348. package/dist/tax/types.js.map +0 -1
  349. package/dist/verifiable-intent/index.d.ts +0 -84
  350. package/dist/verifiable-intent/index.js +0 -385
  351. package/dist/yield/index.d.ts +0 -26
  352. package/dist/yield/index.d.ts.map +0 -1
  353. package/dist/yield/index.js +0 -29
  354. package/dist/yield/index.js.map +0 -1
  355. package/dist/yield/rates.d.ts +0 -114
  356. package/dist/yield/rates.d.ts.map +0 -1
  357. package/dist/yield/rates.js +0 -351
  358. package/dist/yield/rates.js.map +0 -1
  359. package/dist/yield/types.d.ts +0 -134
  360. package/dist/yield/types.d.ts.map +0 -1
  361. package/dist/yield/types.js +0 -24
  362. package/dist/yield/types.js.map +0 -1
  363. package/dist/yield/vault.d.ts +0 -112
  364. package/dist/yield/vault.d.ts.map +0 -1
  365. package/dist/yield/vault.js +0 -264
  366. package/dist/yield/vault.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/x402/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/x402/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4EAA4E;AAC5E,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrC,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC5F,6BAA6B;IAC7B,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACvD;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAczC,CAAC;AAEX,sDAAsD;AACtD,eAAO,MAAM,0BAA0B,uKAW7B,CAAC"}
@@ -1,9 +1,39 @@
1
1
  // ─── Well-known Assets ───
2
- /** USDC contract addresses by network */
2
+ /**
3
+ * USDC contract addresses by network (chain-name:chainId format).
4
+ * Sources:
5
+ * - EVM chains: https://developers.circle.com/cctp/references/contract-addresses
6
+ * - Linea: https://linea.build/ecosystem/usdc
7
+ * - Unichain: https://docs.unichain.org/docs/technical-information/token-addresses
8
+ * - Sonic: https://docs.soniclabs.com/build/useful-addresses
9
+ * - Worldchain: https://docs.worldcoin.org/world-chain/addresses/usdc
10
+ */
3
11
  export const USDC_ADDRESSES = {
4
- 'base:8453': '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
12
+ // Testnets
5
13
  'base-sepolia:84532': '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
14
+ // Mainnets
15
+ 'base:8453': '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
16
+ 'ethereum:1': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
17
+ 'arbitrum:42161': '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
18
+ 'polygon:137': '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359',
19
+ 'optimism:10': '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
20
+ 'avalanche:43114': '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E',
21
+ 'unichain:130': '0x078D782b760474a361dDA0AF3839290b0EF57AD6',
22
+ 'linea:59144': '0x176211869cA2b568f2A7D4EE941E073a821EE1ff',
23
+ 'sonic:146': '0x29219dd400f2Bf60E5a23d13Be72B486D4038894',
24
+ 'worldchain:480': '0x79A02482A880bCE3B13e09Da970dC34db4CD24d1',
6
25
  };
7
- /** Default supported networks */
8
- export const DEFAULT_SUPPORTED_NETWORKS = ['base:8453'];
26
+ /** Default supported networks (all mainnet chains) */
27
+ export const DEFAULT_SUPPORTED_NETWORKS = [
28
+ 'base:8453',
29
+ 'ethereum:1',
30
+ 'arbitrum:42161',
31
+ 'polygon:137',
32
+ 'optimism:10',
33
+ 'avalanche:43114',
34
+ 'unichain:130',
35
+ 'linea:59144',
36
+ 'sonic:146',
37
+ 'worldchain:480',
38
+ ];
9
39
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/x402/types.ts"],"names":[],"mappings":"AAoGA,4BAA4B;AAE5B,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD,WAAW,EAAE,4CAA4C;IACzD,oBAAoB,EAAE,4CAA4C;CAC1D,CAAC;AAEX,iCAAiC;AACjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,WAAW,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/x402/types.ts"],"names":[],"mappings":"AA+GA,4BAA4B;AAE5B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD,WAAW;IACX,oBAAoB,EAAE,4CAA4C;IAClE,WAAW;IACX,WAAW,EAAW,4CAA4C;IAClE,YAAY,EAAU,4CAA4C;IAClE,gBAAgB,EAAM,4CAA4C;IAClE,aAAa,EAAS,4CAA4C;IAClE,aAAa,EAAS,4CAA4C;IAClE,iBAAiB,EAAK,4CAA4C;IAClE,cAAc,EAAQ,4CAA4C;IAClE,aAAa,EAAS,4CAA4C;IAClE,WAAW,EAAW,4CAA4C;IAClE,gBAAgB,EAAM,4CAA4C;CAC1D,CAAC;AAEX,sDAAsD;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,WAAW;IACX,gBAAgB;CACR,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agentwallet-sdk",
3
- "version": "5.1.1",
4
- "description": "Non-custodial AI agent wallet SDK. ERC-8004 identity & reputation registries, mutual stake escrow, x402 payments, 17-chain CCTP bridging, ERC-6551 TBA, SpendingPolicy guardrails, Uniswap V3 swap. The agent holds the keys.",
3
+ "version": "6.0.0",
4
+ "description": "Non-custodial AI agent wallet SDK. Full multi-chain, multi-token support with TokenRegistry, ERC-20/native transfers, Solana SPL, multi-asset x402 payments, ERC-8004 identity & reputation, mutual stake escrow, CCTP bridging, SpendingPolicy guardrails, Uniswap V3 swap. The agent holds the keys.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
@@ -11,7 +11,10 @@
11
11
  "build": "tsc",
12
12
  "dev": "tsc --watch",
13
13
  "clean": "rm -rf dist",
14
- "test": "vitest run"
14
+ "test": "vitest run",
15
+ "deploy": "wrangler deploy",
16
+ "preview": "wrangler dev",
17
+ "lint": "eslint src/"
15
18
  },
16
19
  "keywords": [
17
20
  "agent-wallet",
@@ -37,15 +40,27 @@
37
40
  "license": "MIT",
38
41
  "repository": {
39
42
  "type": "git",
40
- "url": "git+https://github.com/agentnexus/agent-wallet-sdk.git"
43
+ "url": "https://github.com/agentnexus/agent-wallet-sdk"
41
44
  },
42
45
  "author": "AgentNexus",
43
46
  "dependencies": {
44
47
  "viem": "2.46.0"
45
48
  },
49
+ "peerDependencies": {
50
+ "@solana/web3.js": ">=1.87.0"
51
+ },
52
+ "peerDependenciesMeta": {
53
+ "@solana/web3.js": {
54
+ "optional": true
55
+ }
56
+ },
46
57
  "devDependencies": {
47
58
  "@elizaos/core": "^1.5.4",
59
+ "@typescript-eslint/eslint-plugin": "^8.57.1",
60
+ "@typescript-eslint/parser": "^8.57.1",
61
+ "eslint": "^10.1.0",
48
62
  "typescript": "5.3.3",
49
- "vitest": "4.0.18"
63
+ "vitest": "4.0.18",
64
+ "wrangler": "^4.72.0"
50
65
  }
51
- }
66
+ }
@@ -1,185 +0,0 @@
1
- /**
2
- * AP2Client — ISO 20022 / AP2 European Payment Module for agentwallet-sdk
3
- *
4
- * Non-custodial AI agent bridge for AP2 payments:
5
- * - Parse ISO 20022 pacs.008 XML → bridge quote
6
- * - Sign x402 payment header locally (private key never leaves agent)
7
- * - Execute USDC → EUR settlement via CCTP V2 (Base → EUR off-ramp)
8
- *
9
- * AP2 context:
10
- * Nexi + Google Cloud MoU (2026): AP2 processes ~2.9T EUR/year across Europe.
11
- * ISO 20022 is the wire standard. This module makes AI agents first-class
12
- * European payment participants — non-custodially.
13
- *
14
- * @module ap2
15
- */
16
- /** Parameters for building a pacs.008 XML message from simple inputs. */
17
- export interface AP2PaymentParams {
18
- /** Unique message ID (e.g. "MSG-2026-0001") */
19
- messageId: string;
20
- /** ISO 8601 creation datetime (defaults to now) */
21
- creationDateTime?: string;
22
- /** Payment amount in EUR (or specified currency) */
23
- amount: number;
24
- /** Currency code (default: "EUR") */
25
- currency?: string;
26
- /** Debtor full name */
27
- debtorName: string;
28
- /** Debtor IBAN */
29
- debtorIban: string;
30
- /** Debtor BIC */
31
- debtorBic: string;
32
- /** Creditor full name */
33
- creditorName: string;
34
- /** Creditor IBAN */
35
- creditorIban: string;
36
- /** Creditor BIC */
37
- creditorBic: string;
38
- /** Optional end-to-end reference */
39
- endToEndId?: string;
40
- /** Optional purpose code (e.g. "SUPP") */
41
- purposeCode?: string;
42
- /** Optional unstructured remittance info */
43
- remittanceInfo?: string;
44
- }
45
- /** Bridge quote returned by the AP2 facilitator. */
46
- export interface AP2Quote {
47
- /** ISO 20022 message ID */
48
- messageId: string;
49
- /** Creditor IBAN for SEPA settlement */
50
- creditorIban: string;
51
- /** EUR payment amount */
52
- amountEur: number;
53
- /** USDC required (6 decimal precision, as bigint μUSDC) */
54
- usdcRequired: bigint;
55
- /** Bridge fee in USDC (μUSDC) */
56
- bridgeFeeUsdc: bigint;
57
- /** Estimated settlement time in seconds */
58
- estimatedSettlementSeconds: number;
59
- /** x402 payment header string */
60
- x402PaymentHeader: string;
61
- /** Raw calldata for agentwallet-sdk */
62
- agentWalletCalldata: Record<string, unknown>;
63
- /** Quote expiry ISO timestamp */
64
- expiresAt: string;
65
- }
66
- /** Execution receipt after AP2 payment is submitted. */
67
- export interface AP2Receipt {
68
- /** ISO 20022 message ID */
69
- messageId: string;
70
- /** On-chain transaction hash */
71
- txHash: string;
72
- /** USDC bridged (μUSDC as bigint) */
73
- usdcBridged: bigint;
74
- /** SEPA creditor reference */
75
- sepaReference: string;
76
- /** Payment status */
77
- status: 'pending' | 'confirmed' | 'failed' | 'dry_run';
78
- /** True if this was a dry run simulation */
79
- dryRun: boolean;
80
- /** x402 payment header signature */
81
- x402Signature: string;
82
- /** Agent Ethereum address */
83
- agentAddress: string;
84
- /** CCTP bridge nonce */
85
- nonce: number;
86
- /** ISO timestamp of execution */
87
- executedAt: string;
88
- /** Creditor IBAN */
89
- creditorIban: string;
90
- /** Bridge fee in USDC (μUSDC) */
91
- bridgeFeeUsdc: bigint;
92
- }
93
- /** AP2Client configuration */
94
- export interface AP2ClientConfig {
95
- /**
96
- * URL of the AP2 facilitator (FastAPI handler).
97
- * Defaults to http://localhost:8420
98
- */
99
- facilitatorUrl?: string;
100
- }
101
- /**
102
- * Build a valid ISO 20022 pacs.008 (FIToFICstmrCdtTrf) XML string
103
- * from simple agent-friendly parameters.
104
- *
105
- * @param params - Payment parameters
106
- * @returns ISO 20022 pacs.008 XML string
107
- */
108
- declare function buildPacs008(params: AP2PaymentParams): string;
109
- /**
110
- * AP2Client — Non-custodial ISO 20022 / AP2 payment client for AI agents.
111
- *
112
- * Connects to the AP2 facilitator (ap2_handler.py FastAPI service) to
113
- * get bridge quotes and execute payments via CCTP V2 / x402.
114
- *
115
- * @example
116
- * ```typescript
117
- * const client = new AP2Client({ facilitatorUrl: 'http://localhost:8420' });
118
- *
119
- * const xml = AP2Client.buildPacs008({
120
- * messageId: 'MSG-2026-0001',
121
- * amount: 1000,
122
- * debtorName: 'Agent Zero',
123
- * debtorIban: 'DE89370400440532013000',
124
- * debtorBic: 'COBADEFFXXX',
125
- * creditorName: 'Acme GmbH',
126
- * creditorIban: 'FR7630006000011234567890189',
127
- * creditorBic: 'BNPAFRPPXXX',
128
- * });
129
- *
130
- * const quote = await client.quote(xml);
131
- * const receipt = await client.pay(xml);
132
- * ```
133
- */
134
- export declare class AP2Client {
135
- private readonly facilitatorUrl;
136
- constructor(config?: AP2ClientConfig);
137
- /**
138
- * Parse ISO 20022 pacs.008 XML and get a bridge quote from the facilitator.
139
- *
140
- * @param iso20022Xml - Raw pacs.008 XML string
141
- * @returns AP2Quote with USDC amounts and x402 calldata
142
- * @throws Error if the facilitator returns an error or the XML is invalid
143
- */
144
- quote(iso20022Xml: string): Promise<AP2Quote>;
145
- /**
146
- * Execute the full AP2 payment: sign x402 header + bridge USDC + settle.
147
- *
148
- * Calls the /ap2/execute endpoint on the facilitator, which:
149
- * 1. Parses the XML
150
- * 2. Signs x402 header with agent's private key (server-side in this flow)
151
- * 3. Submits USDC to CCTP V2 bridge
152
- * 4. Returns receipt
153
- *
154
- * @param iso20022Xml - Raw pacs.008 XML string
155
- * @returns AP2Receipt with txHash and SEPA reference
156
- * @throws AP2Error on execution failure
157
- */
158
- pay(iso20022Xml: string): Promise<AP2Receipt>;
159
- /**
160
- * Generate a valid ISO 20022 pacs.008 XML string from simple parameters.
161
- *
162
- * Handles XML escaping, IBAN normalization, and timestamp formatting.
163
- * Makes AP2 payments agent-friendly — no ISO 20022 expertise required.
164
- *
165
- * @param params - Simple payment parameters
166
- * @returns Valid pacs.008 XML string
167
- */
168
- static buildPacs008(params: AP2PaymentParams): string;
169
- /**
170
- * Estimate USDC required for a given EUR amount.
171
- *
172
- * Uses the default EUR/USDC rate. For accurate quotes, call quote() instead.
173
- *
174
- * @param amountEur - Amount in EUR
175
- * @returns Estimated USDC amount as bigint (μUSDC, 6 decimals)
176
- */
177
- static estimateUsdc(amountEur: number): bigint;
178
- }
179
- /** AP2-specific error with structured context. */
180
- export declare class AP2Error extends Error {
181
- readonly context?: Record<string, unknown> | undefined;
182
- constructor(message: string, context?: Record<string, unknown> | undefined);
183
- }
184
- export { buildPacs008 };
185
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ap2/index.ts"],"names":[],"mappings":"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"}
package/dist/ap2/index.js DELETED
@@ -1,255 +0,0 @@
1
- /**
2
- * AP2Client — ISO 20022 / AP2 European Payment Module for agentwallet-sdk
3
- *
4
- * Non-custodial AI agent bridge for AP2 payments:
5
- * - Parse ISO 20022 pacs.008 XML → bridge quote
6
- * - Sign x402 payment header locally (private key never leaves agent)
7
- * - Execute USDC → EUR settlement via CCTP V2 (Base → EUR off-ramp)
8
- *
9
- * AP2 context:
10
- * Nexi + Google Cloud MoU (2026): AP2 processes ~2.9T EUR/year across Europe.
11
- * ISO 20022 is the wire standard. This module makes AI agents first-class
12
- * European payment participants — non-custodially.
13
- *
14
- * @module ap2
15
- */
16
- // ---------------------------------------------------------------------------
17
- // Constants
18
- // ---------------------------------------------------------------------------
19
- /** USDC decimals (6) */
20
- const USDC_DECIMALS = 6n;
21
- const USDC_MULTIPLIER = 10n ** USDC_DECIMALS;
22
- /** EUR → USDC rate (fallback; production uses Chainlink oracle) */
23
- const EUR_TO_USDC_RATE = 1.08;
24
- /** Default facilitator URL */
25
- const DEFAULT_FACILITATOR_URL = 'http://localhost:8420';
26
- /** Estimated CCTP V2 settlement time (~20 min) */
27
- const ESTIMATED_SETTLEMENT_SECONDS = 1200;
28
- // ---------------------------------------------------------------------------
29
- // ISO 20022 pacs.008 XML Builder
30
- // ---------------------------------------------------------------------------
31
- /**
32
- * Build a valid ISO 20022 pacs.008 (FIToFICstmrCdtTrf) XML string
33
- * from simple agent-friendly parameters.
34
- *
35
- * @param params - Payment parameters
36
- * @returns ISO 20022 pacs.008 XML string
37
- */
38
- function buildPacs008(params) {
39
- const now = params.creationDateTime ?? new Date().toISOString().replace(/\.\d+Z$/, '+00:00');
40
- const currency = params.currency ?? 'EUR';
41
- const e2eId = params.endToEndId ?? params.messageId;
42
- const amount = params.amount.toFixed(2);
43
- return `<?xml version="1.0" encoding="UTF-8"?>
44
- <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08">
45
- <FIToFICstmrCdtTrf>
46
- <GrpHdr>
47
- <MsgId>${escapeXml(params.messageId)}</MsgId>
48
- <CreDtTm>${escapeXml(now)}</CreDtTm>
49
- <NbOfTxs>1</NbOfTxs>
50
- <SttlmInf>
51
- <SttlmMtd>CLRG</SttlmMtd>
52
- </SttlmInf>
53
- </GrpHdr>
54
- <CdtTrfTxInf>
55
- <PmtId>
56
- <EndToEndId>${escapeXml(e2eId)}</EndToEndId>
57
- </PmtId>
58
- <IntrBkSttlmAmt Ccy="${escapeXml(currency)}">${amount}</IntrBkSttlmAmt>
59
- <ChrgBr>SHAR</ChrgBr>
60
- <Dbtr>
61
- <Nm>${escapeXml(params.debtorName)}</Nm>
62
- </Dbtr>
63
- <DbtrAcct>
64
- <Id>
65
- <IBAN>${escapeXml(params.debtorIban.replace(/\s/g, '').toUpperCase())}</IBAN>
66
- </Id>
67
- </DbtrAcct>
68
- <DbtrAgt>
69
- <FinInstnId>
70
- <BICFI>${escapeXml(params.debtorBic.toUpperCase())}</BICFI>
71
- </FinInstnId>
72
- </DbtrAgt>
73
- <Cdtr>
74
- <Nm>${escapeXml(params.creditorName)}</Nm>
75
- </Cdtr>
76
- <CdtrAcct>
77
- <Id>
78
- <IBAN>${escapeXml(params.creditorIban.replace(/\s/g, '').toUpperCase())}</IBAN>
79
- </Id>
80
- </CdtrAcct>
81
- <CdtrAgt>
82
- <FinInstnId>
83
- <BICFI>${escapeXml(params.creditorBic.toUpperCase())}</BICFI>
84
- </FinInstnId>
85
- </CdtrAgt>${params.purposeCode ? `
86
- <Purp>
87
- <Cd>${escapeXml(params.purposeCode)}</Cd>
88
- </Purp>` : ''}${params.remittanceInfo ? `
89
- <RmtInf>
90
- <Ustrd>${escapeXml(params.remittanceInfo)}</Ustrd>
91
- </RmtInf>` : ''}
92
- </CdtTrfTxInf>
93
- </FIToFICstmrCdtTrf>
94
- </Document>`;
95
- }
96
- /** Escape XML special characters. */
97
- function escapeXml(str) {
98
- return str
99
- .replace(/&/g, '&amp;')
100
- .replace(/</g, '&lt;')
101
- .replace(/>/g, '&gt;')
102
- .replace(/"/g, '&quot;')
103
- .replace(/'/g, '&apos;');
104
- }
105
- /** Convert a decimal USDC string to bigint μUSDC. */
106
- function usdcToBigInt(usdcStr) {
107
- const [whole, frac = ''] = usdcStr.split('.');
108
- const fracPadded = frac.padEnd(Number(USDC_DECIMALS), '0').slice(0, Number(USDC_DECIMALS));
109
- return BigInt(whole) * USDC_MULTIPLIER + BigInt(fracPadded);
110
- }
111
- // ---------------------------------------------------------------------------
112
- // AP2Client
113
- // ---------------------------------------------------------------------------
114
- /**
115
- * AP2Client — Non-custodial ISO 20022 / AP2 payment client for AI agents.
116
- *
117
- * Connects to the AP2 facilitator (ap2_handler.py FastAPI service) to
118
- * get bridge quotes and execute payments via CCTP V2 / x402.
119
- *
120
- * @example
121
- * ```typescript
122
- * const client = new AP2Client({ facilitatorUrl: 'http://localhost:8420' });
123
- *
124
- * const xml = AP2Client.buildPacs008({
125
- * messageId: 'MSG-2026-0001',
126
- * amount: 1000,
127
- * debtorName: 'Agent Zero',
128
- * debtorIban: 'DE89370400440532013000',
129
- * debtorBic: 'COBADEFFXXX',
130
- * creditorName: 'Acme GmbH',
131
- * creditorIban: 'FR7630006000011234567890189',
132
- * creditorBic: 'BNPAFRPPXXX',
133
- * });
134
- *
135
- * const quote = await client.quote(xml);
136
- * const receipt = await client.pay(xml);
137
- * ```
138
- */
139
- export class AP2Client {
140
- constructor(config = {}) {
141
- this.facilitatorUrl = (config.facilitatorUrl ?? DEFAULT_FACILITATOR_URL).replace(/\/$/, '');
142
- }
143
- /**
144
- * Parse ISO 20022 pacs.008 XML and get a bridge quote from the facilitator.
145
- *
146
- * @param iso20022Xml - Raw pacs.008 XML string
147
- * @returns AP2Quote with USDC amounts and x402 calldata
148
- * @throws Error if the facilitator returns an error or the XML is invalid
149
- */
150
- async quote(iso20022Xml) {
151
- const response = await fetch(`${this.facilitatorUrl}/ap2/payment`, {
152
- method: 'POST',
153
- headers: { 'Content-Type': 'application/xml' },
154
- body: iso20022Xml,
155
- });
156
- if (!response.ok) {
157
- const body = await response.text();
158
- throw new AP2Error(`Quote failed (${response.status}): ${body}`);
159
- }
160
- const json = (await response.json());
161
- const bq = json.bridge_quote;
162
- const payment = json.payment;
163
- return {
164
- messageId: payment.message_id,
165
- creditorIban: payment.creditor.iban,
166
- amountEur: parseFloat(payment.amount),
167
- usdcRequired: usdcToBigInt(bq.usdc_amount),
168
- bridgeFeeUsdc: usdcToBigInt(bq.bridge_fee_usdc),
169
- estimatedSettlementSeconds: ESTIMATED_SETTLEMENT_SECONDS,
170
- x402PaymentHeader: bq.x402_payment_header,
171
- agentWalletCalldata: bq.agent_wallet_calldata,
172
- expiresAt: bq.expires_at,
173
- };
174
- }
175
- /**
176
- * Execute the full AP2 payment: sign x402 header + bridge USDC + settle.
177
- *
178
- * Calls the /ap2/execute endpoint on the facilitator, which:
179
- * 1. Parses the XML
180
- * 2. Signs x402 header with agent's private key (server-side in this flow)
181
- * 3. Submits USDC to CCTP V2 bridge
182
- * 4. Returns receipt
183
- *
184
- * @param iso20022Xml - Raw pacs.008 XML string
185
- * @returns AP2Receipt with txHash and SEPA reference
186
- * @throws AP2Error on execution failure
187
- */
188
- async pay(iso20022Xml) {
189
- const response = await fetch(`${this.facilitatorUrl}/ap2/execute`, {
190
- method: 'POST',
191
- headers: { 'Content-Type': 'application/xml' },
192
- body: iso20022Xml,
193
- });
194
- if (!response.ok) {
195
- const body = await response.text();
196
- throw new AP2Error(`Execution failed (${response.status}): ${body}`);
197
- }
198
- const json = (await response.json());
199
- const r = json.receipt;
200
- return {
201
- messageId: r.message_id,
202
- txHash: r.tx_hash,
203
- usdcBridged: usdcToBigInt(r.usdc_bridged),
204
- sepaReference: r.sepa_reference,
205
- status: r.status,
206
- dryRun: r.dry_run,
207
- x402Signature: r.x402_signature,
208
- agentAddress: r.agent_address,
209
- nonce: r.nonce,
210
- executedAt: r.executed_at,
211
- creditorIban: r.creditor_iban,
212
- bridgeFeeUsdc: usdcToBigInt(r.bridge_fee_usdc),
213
- };
214
- }
215
- /**
216
- * Generate a valid ISO 20022 pacs.008 XML string from simple parameters.
217
- *
218
- * Handles XML escaping, IBAN normalization, and timestamp formatting.
219
- * Makes AP2 payments agent-friendly — no ISO 20022 expertise required.
220
- *
221
- * @param params - Simple payment parameters
222
- * @returns Valid pacs.008 XML string
223
- */
224
- static buildPacs008(params) {
225
- return buildPacs008(params);
226
- }
227
- /**
228
- * Estimate USDC required for a given EUR amount.
229
- *
230
- * Uses the default EUR/USDC rate. For accurate quotes, call quote() instead.
231
- *
232
- * @param amountEur - Amount in EUR
233
- * @returns Estimated USDC amount as bigint (μUSDC, 6 decimals)
234
- */
235
- static estimateUsdc(amountEur) {
236
- const usdc = amountEur * EUR_TO_USDC_RATE;
237
- return BigInt(Math.round(usdc * Number(USDC_MULTIPLIER)));
238
- }
239
- }
240
- // ---------------------------------------------------------------------------
241
- // Error class
242
- // ---------------------------------------------------------------------------
243
- /** AP2-specific error with structured context. */
244
- export class AP2Error extends Error {
245
- constructor(message, context) {
246
- super(message);
247
- this.context = context;
248
- this.name = 'AP2Error';
249
- }
250
- }
251
- // ---------------------------------------------------------------------------
252
- // Re-export builder as standalone function
253
- // ---------------------------------------------------------------------------
254
- export { buildPacs008 };
255
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ap2/index.ts"],"names":[],"mappings":"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"}
@@ -1,101 +0,0 @@
1
- import type { WalletClient } from 'viem';
2
- import type { Keypair } from '@solana/web3.js';
3
- import { BridgeError } from './client.js';
4
- import type { BridgeChain, BridgeResult } from './types.js';
5
- import { type CCTPSupportedChain, type BridgeQuote, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, BRIDGE_RPC_URLS, calcBridgeFee } from './types.js';
6
- import { SolanaBridgeError } from '../solana/bridge.js';
7
- export interface UnifiedBridgeConfig {
8
- /** EVM wallet client (required for any EVM source chain) */
9
- evmSigner?: WalletClient;
10
- /** Solana keypair (required when Solana is source) */
11
- solanaWallet?: Keypair;
12
- /** Solana RPC URL (default: mainnet-beta public) */
13
- solanaRpcUrl?: string;
14
- /** Override EVM RPC URLs per chain */
15
- evmRpcOverrides?: Partial<Record<BridgeChain, string>>;
16
- /** Circle attestation API override */
17
- attestationApiUrl?: string;
18
- /** Platform fee wallet address (future: fee collection) */
19
- feeWallet?: string;
20
- }
21
- export interface UnifiedBridgeParams {
22
- /** USDC amount in base units (6 decimals). 1 USDC = 1_000_000 */
23
- amount: bigint;
24
- /** Source chain */
25
- sourceChain: CCTPSupportedChain;
26
- /** Destination chain */
27
- destinationChain: CCTPSupportedChain;
28
- /** Recipient address (hex for EVM, base58 for Solana destination) */
29
- destinationAddress: string;
30
- /** Finality: 0 = fast (~20s), 1000 = finalized (~15min) */
31
- minFinalityThreshold?: number;
32
- /** Apply 0.1% platform fee (default: true) */
33
- applyPlatformFee?: boolean;
34
- /** Override destination RPC URL */
35
- destinationRpcUrl?: string;
36
- }
37
- export type { BridgeResult, BridgeQuote, CCTPSupportedChain };
38
- /**
39
- * UnifiedBridge — Cross-chain USDC bridge across all 17 CCTP V2 supported chains.
40
- *
41
- * Routing:
42
- * - EVM → EVM: BridgeModule (approve → burn → attest → mint)
43
- * - EVM → Solana: BridgeModule burn + SolanaCCTPBridge receive
44
- * - Solana → EVM: SolanaCCTPBridge burn + EVM receiveMessage
45
- * - Solana → Solana: throws (use native Solana transfer instead)
46
- *
47
- * @example
48
- * ```ts
49
- * import { UnifiedBridge } from 'agentwallet-sdk';
50
- * import { createWalletClient } from 'viem';
51
- *
52
- * const bridge = new UnifiedBridge({ evmSigner });
53
- *
54
- * // Bridge 1 USDC from Base to Polygon
55
- * const result = await bridge.bridge({
56
- * amount: 1_000_000n,
57
- * sourceChain: 'base',
58
- * destinationChain: 'polygon',
59
- * destinationAddress: '0x...',
60
- * });
61
- * console.log(bridge.getSupportedChains()); // 17 chains!
62
- * ```
63
- */
64
- export declare class UnifiedBridge {
65
- private readonly config;
66
- private readonly solanaConnection;
67
- constructor(config?: UnifiedBridgeConfig);
68
- /**
69
- * Bridge USDC between any two CCTP V2 supported chains.
70
- * Routes automatically based on source/destination chain types.
71
- */
72
- bridge(params: UnifiedBridgeParams): Promise<BridgeResult>;
73
- /**
74
- * Get all supported chains (16 EVM + Solana = 17 total).
75
- */
76
- getSupportedChains(): CCTPSupportedChain[];
77
- /**
78
- * Get a bridge quote: fee breakdown + estimated time.
79
- */
80
- getQuote(params: {
81
- amount: bigint;
82
- sourceChain: CCTPSupportedChain;
83
- destinationChain: CCTPSupportedChain;
84
- }): BridgeQuote;
85
- /**
86
- * Check if a route is supported.
87
- */
88
- isRouteSupported(source: CCTPSupportedChain, destination: CCTPSupportedChain): boolean;
89
- private bridgeEvmToEvm;
90
- private bridgeSolanaToEvm;
91
- private bridgeEvmToSolana;
92
- private validateParams;
93
- /**
94
- * Convert a Solana base58 address to a 32-byte hex string for EVM mintRecipient.
95
- * Per Circle docs: hex-encoded USDC token account address.
96
- */
97
- private solanaAddressToHex;
98
- }
99
- export { BridgeError, SolanaBridgeError };
100
- export { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, BRIDGE_RPC_URLS, calcBridgeFee, };
101
- //# sourceMappingURL=unified.d.ts.map