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
@@ -0,0 +1,196 @@
1
+ /**
2
+ * @module tokens/transfers
3
+ * Multi-token transfer utilities for AgentWallet v6.
4
+ *
5
+ * Provides send/balance functions for any ERC-20 token or native gas token,
6
+ * with flexible amount input (raw bigint or human-readable string).
7
+ *
8
+ * All transfer functions go through viem's wallet client — they do NOT
9
+ * route through the AgentAccountV2 contract (use agentTransferToken for that).
10
+ * These are direct EOA/smart-wallet operations for wallets that hold the key.
11
+ */
12
+ import { encodeFunctionData, parseAbi, zeroAddress, } from 'viem';
13
+ import { getGlobalRegistry } from './registry.js';
14
+ import { parseAmount, toHuman, formatBalance } from './decimals.js';
15
+ // ─── ERC20 ABI (minimal) ─────────────────────────────────────────────────────
16
+ const ERC20_ABI = parseAbi([
17
+ 'function transfer(address to, uint256 amount) returns (bool)',
18
+ 'function balanceOf(address account) view returns (uint256)',
19
+ 'function decimals() view returns (uint8)',
20
+ 'function symbol() view returns (string)',
21
+ 'function name() view returns (string)',
22
+ ]);
23
+ // ─── Core transfer functions ──────────────────────────────────────────────────
24
+ /**
25
+ * Send any ERC-20 token.
26
+ *
27
+ * @param ctx - Public + wallet clients and account
28
+ * @param to - Recipient address
29
+ * @param amount - Amount as raw bigint OR human-readable string (requires tokenAddress decimals lookup)
30
+ * @param tokenAddress - ERC-20 contract address
31
+ * @param options - Optional gas overrides
32
+ */
33
+ export async function sendToken(ctx, to, amount, tokenAddress, options = {}) {
34
+ let rawAmount;
35
+ if (typeof amount === 'string') {
36
+ // Need decimals to parse string amount
37
+ let decimals;
38
+ // Try registry first
39
+ if (ctx.chainId != null) {
40
+ const entry = getGlobalRegistry().getTokenByAddress(tokenAddress, ctx.chainId);
41
+ decimals = entry?.decimals ?? await fetchTokenDecimals(ctx.publicClient, tokenAddress);
42
+ }
43
+ else {
44
+ decimals = await fetchTokenDecimals(ctx.publicClient, tokenAddress);
45
+ }
46
+ rawAmount = parseAmount(amount, decimals);
47
+ }
48
+ else {
49
+ rawAmount = amount;
50
+ }
51
+ const data = encodeFunctionData({
52
+ abi: ERC20_ABI,
53
+ functionName: 'transfer',
54
+ args: [to, rawAmount],
55
+ });
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+ return ctx.walletClient.sendTransaction({
58
+ account: ctx.account,
59
+ to: tokenAddress,
60
+ data,
61
+ ...buildGasOptions(options),
62
+ });
63
+ }
64
+ /**
65
+ * Send native gas token (ETH, MATIC, AVAX, etc.).
66
+ *
67
+ * @param ctx - Transfer context
68
+ * @param to - Recipient address
69
+ * @param amount - Raw bigint OR human-readable string (18 decimals for ETH/MATIC/AVAX)
70
+ * @param options - Optional gas overrides
71
+ */
72
+ export async function sendNative(ctx, to, amount, options = {}) {
73
+ const rawAmount = parseAmount(amount, 18);
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
+ return ctx.walletClient.sendTransaction({
76
+ account: ctx.account,
77
+ to,
78
+ value: rawAmount,
79
+ ...buildGasOptions(options),
80
+ });
81
+ }
82
+ /**
83
+ * Get the ERC-20 balance of the current account (or a specified address).
84
+ *
85
+ * @param ctx - Transfer context
86
+ * @param tokenAddress - ERC-20 contract address
87
+ * @param holder - Address to check (defaults to ctx.account)
88
+ */
89
+ export async function getTokenBalance(ctx, tokenAddress, holder) {
90
+ const target = holder ?? ctx.account;
91
+ // Batch read: balanceOf + decimals + symbol + name
92
+ const [rawBalance, decimals, symbol, name] = await Promise.all([
93
+ ctx.publicClient.readContract({
94
+ address: tokenAddress,
95
+ abi: ERC20_ABI,
96
+ functionName: 'balanceOf',
97
+ args: [target],
98
+ }),
99
+ ctx.publicClient.readContract({
100
+ address: tokenAddress,
101
+ abi: ERC20_ABI,
102
+ functionName: 'decimals',
103
+ }),
104
+ ctx.publicClient.readContract({
105
+ address: tokenAddress,
106
+ abi: ERC20_ABI,
107
+ functionName: 'symbol',
108
+ }),
109
+ ctx.publicClient.readContract({
110
+ address: tokenAddress,
111
+ abi: ERC20_ABI,
112
+ functionName: 'name',
113
+ }),
114
+ ]);
115
+ const humanBalance = toHuman(rawBalance, decimals);
116
+ const formatted = formatBalance(rawBalance, { symbol, decimals });
117
+ return { address: tokenAddress, symbol, name, decimals, rawBalance, humanBalance, formatted };
118
+ }
119
+ /**
120
+ * Get the native gas token balance of the current account (or a specified address).
121
+ *
122
+ * @param ctx - Transfer context
123
+ * @param holder - Address to check (defaults to ctx.account)
124
+ */
125
+ export async function getNativeBalance(ctx, holder) {
126
+ const target = holder ?? ctx.account;
127
+ const rawBalance = await ctx.publicClient.getBalance({ address: target });
128
+ // Determine native token symbol from registry if chainId is known
129
+ let symbol = 'ETH';
130
+ if (ctx.chainId != null) {
131
+ const native = getGlobalRegistry().getTokenByAddress(zeroAddress, ctx.chainId);
132
+ symbol = native?.symbol ?? 'ETH';
133
+ }
134
+ const humanBalance = toHuman(rawBalance, 18);
135
+ return { symbol, decimals: 18, rawBalance, humanBalance };
136
+ }
137
+ /**
138
+ * Batch query balances for multiple ERC-20 tokens.
139
+ *
140
+ * @param ctx - Transfer context
141
+ * @param tokenAddresses - List of ERC-20 addresses to query (or null/empty for all registry tokens)
142
+ * @param holder - Address to check (defaults to ctx.account)
143
+ */
144
+ export async function getBalances(ctx, tokenAddresses, holder) {
145
+ const target = holder ?? ctx.account;
146
+ let addresses = tokenAddresses;
147
+ // If no addresses provided and chainId is known, use all registry tokens
148
+ if (!addresses || addresses.length === 0) {
149
+ if (ctx.chainId != null) {
150
+ const tokens = getGlobalRegistry().listTokens(ctx.chainId);
151
+ addresses = tokens
152
+ .filter(t => !t.isNative)
153
+ .map(t => t.address);
154
+ }
155
+ else {
156
+ return [];
157
+ }
158
+ }
159
+ // Parallel balance fetches
160
+ const results = await Promise.allSettled(addresses.map(addr => getTokenBalance(ctx, addr, target)));
161
+ return results
162
+ .filter((r) => r.status === 'fulfilled')
163
+ .map(r => r.value);
164
+ }
165
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
166
+ async function fetchTokenDecimals(publicClient, tokenAddress) {
167
+ return publicClient.readContract({
168
+ address: tokenAddress,
169
+ abi: ERC20_ABI,
170
+ functionName: 'decimals',
171
+ });
172
+ }
173
+ function buildGasOptions(options) {
174
+ const gas = {};
175
+ if (options.gas != null)
176
+ gas.gas = options.gas;
177
+ if (options.gasPrice != null)
178
+ gas.gasPrice = options.gasPrice;
179
+ if (options.maxFeePerGas != null)
180
+ gas.maxFeePerGas = options.maxFeePerGas;
181
+ if (options.maxPriorityFeePerGas != null)
182
+ gas.maxPriorityFeePerGas = options.maxPriorityFeePerGas;
183
+ return gas;
184
+ }
185
+ /**
186
+ * Encode an ERC-20 transfer call as raw calldata.
187
+ * Useful for building calldata for agentExecute() or multicall.
188
+ */
189
+ export function encodeERC20Transfer(to, amount) {
190
+ return encodeFunctionData({
191
+ abi: ERC20_ABI,
192
+ functionName: 'transfer',
193
+ args: [to, amount],
194
+ });
195
+ }
196
+ //# sourceMappingURL=transfers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfers.js","sourceRoot":"","sources":["../../src/tokens/transfers.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,14 @@
1
+ /**
2
+ * @module types
3
+ * Core type definitions for the AgentWallet SDK.
4
+ *
5
+ * Contains shared interfaces, constants, and type utilities used across all
6
+ * SDK modules: spending policies, wallet config, chain identifiers, and
7
+ * value-add diagnostic types (BudgetForecast, WalletHealth, ActivityEntry).
8
+ *
9
+ * Supported chains: Base, Ethereum, Arbitrum, Polygon, Optimism, Avalanche,
10
+ * Unichain, Linea, Sonic, Worldchain, and Base Sepolia (testnet).
11
+ */
1
12
  import type { Address, Hash, Hex } from 'viem';
2
13
  /** Spend policy for a single token */
3
14
  export interface SpendPolicy {
@@ -38,7 +49,7 @@ export interface ExecuteResult {
38
49
  /** Config for creating an AgentWallet client */
39
50
  export interface AgentWalletConfig {
40
51
  accountAddress: Address;
41
- chain: 'base' | 'base-sepolia' | 'ethereum' | 'arbitrum' | 'polygon';
52
+ chain: 'base' | 'base-sepolia' | 'ethereum' | 'arbitrum' | 'polygon' | 'optimism' | 'avalanche' | 'unichain' | 'linea' | 'sonic' | 'worldchain';
42
53
  rpcUrl?: string;
43
54
  }
44
55
  /** Event emitted when a transaction exceeds spend limits */
@@ -106,5 +117,13 @@ export declare const CHAIN_IDS: {
106
117
  readonly ethereum: 1;
107
118
  readonly arbitrum: 42161;
108
119
  readonly polygon: 137;
120
+ readonly optimism: 10;
121
+ readonly avalanche: 43114;
122
+ readonly unichain: 130;
123
+ readonly linea: 59144;
124
+ readonly sonic: 146;
125
+ readonly worldchain: 480;
109
126
  };
127
+ /** Supported chain name type */
128
+ export type SupportedChain = keyof typeof CHAIN_IDS;
110
129
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -5,5 +5,11 @@ export const CHAIN_IDS = {
5
5
  'ethereum': 1,
6
6
  'arbitrum': 42161,
7
7
  'polygon': 137,
8
+ 'optimism': 10,
9
+ 'avalanche': 43114,
10
+ 'unichain': 130,
11
+ 'linea': 59144,
12
+ 'sonic': 146,
13
+ 'worldchain': 480,
8
14
  };
9
15
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAgHA,0BAA0B;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,GAAG;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA2HA,0BAA0B;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAS,IAAI;IACnB,cAAc,EAAE,KAAK;IACrB,UAAU,EAAK,CAAC;IAChB,UAAU,EAAK,KAAK;IACpB,SAAS,EAAM,GAAG;IAClB,UAAU,EAAK,EAAE;IACjB,WAAW,EAAI,KAAK;IACpB,UAAU,EAAK,GAAG;IAClB,OAAO,EAAQ,KAAK;IACpB,OAAO,EAAQ,GAAG;IAClB,YAAY,EAAG,GAAG;CACV,CAAC"}
@@ -1,6 +1,7 @@
1
1
  // [MAX-ADDED] Tests for x402 Client — protocol parsing and payment selection
2
2
  import { describe, it, expect } from 'vitest';
3
3
  import { X402Client } from '../client.js';
4
+ import { USDC_ADDRESSES } from '../types.js';
4
5
  // Mock wallet (we test protocol logic, not on-chain execution)
5
6
  const mockWallet = {};
6
7
  describe('X402Client', () => {
@@ -67,8 +68,8 @@ describe('X402Client', () => {
67
68
  });
68
69
  });
69
70
  describe('selectPaymentOption', () => {
70
- it('selects Base USDC exact scheme', () => {
71
- const client = new X402Client(mockWallet);
71
+ it('selects Base USDC exact scheme when base is in supported networks', () => {
72
+ const client = new X402Client(mockWallet, { supportedNetworks: ['base:8453'] });
72
73
  const accepts = [
73
74
  { scheme: 'exact', network: 'ethereum:1', asset: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
74
75
  { scheme: 'exact', network: 'base:8453', asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
@@ -77,8 +78,47 @@ describe('X402Client', () => {
77
78
  expect(selected).not.toBeNull();
78
79
  expect(selected.network).toBe('base:8453');
79
80
  });
81
+ it('selects Arbitrum USDC when configured for arbitrum', () => {
82
+ const client = new X402Client(mockWallet, { supportedNetworks: ['arbitrum:42161'] });
83
+ const accepts = [
84
+ { scheme: 'exact', network: 'base:8453', asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
85
+ { scheme: 'exact', network: 'arbitrum:42161', asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
86
+ ];
87
+ const selected = client.selectPaymentOption(accepts);
88
+ expect(selected).not.toBeNull();
89
+ expect(selected.network).toBe('arbitrum:42161');
90
+ });
91
+ it('selects Optimism USDC when configured for optimism', () => {
92
+ const client = new X402Client(mockWallet, { supportedNetworks: ['optimism:10'] });
93
+ const accepts = [
94
+ { scheme: 'exact', network: 'optimism:10', asset: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', amount: '2000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
95
+ ];
96
+ const selected = client.selectPaymentOption(accepts);
97
+ expect(selected).not.toBeNull();
98
+ expect(selected.network).toBe('optimism:10');
99
+ });
100
+ it('selects Polygon USDC when configured for polygon', () => {
101
+ const client = new X402Client(mockWallet, { supportedNetworks: ['polygon:137'] });
102
+ const accepts = [
103
+ { scheme: 'exact', network: 'polygon:137', asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', amount: '500000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
104
+ ];
105
+ const selected = client.selectPaymentOption(accepts);
106
+ expect(selected).not.toBeNull();
107
+ expect(selected.network).toBe('polygon:137');
108
+ });
109
+ it('selects any supported network when multi-chain configured', () => {
110
+ const client = new X402Client(mockWallet, {
111
+ supportedNetworks: ['base:8453', 'ethereum:1', 'arbitrum:42161'],
112
+ });
113
+ const accepts = [
114
+ { scheme: 'exact', network: 'arbitrum:42161', asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
115
+ ];
116
+ const selected = client.selectPaymentOption(accepts);
117
+ expect(selected).not.toBeNull();
118
+ expect(selected.network).toBe('arbitrum:42161');
119
+ });
80
120
  it('prefers lowest amount among compatible options', () => {
81
- const client = new X402Client(mockWallet);
121
+ const client = new X402Client(mockWallet, { supportedNetworks: ['base:8453'] });
82
122
  const accepts = [
83
123
  { scheme: 'exact', network: 'base:8453', asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', amount: '5000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
84
124
  { scheme: 'exact', network: 'base:8453', asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
@@ -87,14 +127,22 @@ describe('X402Client', () => {
87
127
  expect(selected.amount).toBe('1000000');
88
128
  });
89
129
  it('returns null when no compatible option exists', () => {
90
- const client = new X402Client(mockWallet);
130
+ const client = new X402Client(mockWallet, { supportedNetworks: ['base:8453'] });
91
131
  const accepts = [
92
132
  { scheme: 'exact', network: 'solana:mainnet', asset: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', amount: '1000000', payTo: 'sol_addr', maxTimeoutSeconds: 30, extra: {} },
93
133
  ];
94
134
  expect(client.selectPaymentOption(accepts)).toBeNull();
95
135
  });
136
+ it('returns null when network matches but asset is not supported USDC', () => {
137
+ const client = new X402Client(mockWallet, { supportedNetworks: ['base:8453'] });
138
+ const accepts = [
139
+ { scheme: 'exact', network: 'base:8453', asset: '0xDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEf', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
140
+ ];
141
+ // Asset is not the known USDC address — should be rejected
142
+ expect(client.selectPaymentOption(accepts)).toBeNull();
143
+ });
96
144
  it('prefers exact scheme over others', () => {
97
- const client = new X402Client(mockWallet);
145
+ const client = new X402Client(mockWallet, { supportedNetworks: ['base:8453'] });
98
146
  const accepts = [
99
147
  { scheme: 'upto', network: 'base:8453', asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', amount: '500000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
100
148
  { scheme: 'exact', network: 'base:8453', asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', amount: '1000000', payTo: '0x1', maxTimeoutSeconds: 30, extra: {} },
@@ -104,4 +152,28 @@ describe('X402Client', () => {
104
152
  });
105
153
  });
106
154
  });
155
+ // ─── USDC_ADDRESSES coverage tests ───
156
+ describe('USDC_ADDRESSES multi-chain coverage', () => {
157
+ it('covers all 10 mainnet chains', () => {
158
+ const mainnetChains = [
159
+ 'base:8453',
160
+ 'ethereum:1',
161
+ 'arbitrum:42161',
162
+ 'polygon:137',
163
+ 'optimism:10',
164
+ 'avalanche:43114',
165
+ 'unichain:130',
166
+ 'linea:59144',
167
+ 'sonic:146',
168
+ 'worldchain:480',
169
+ ];
170
+ for (const chain of mainnetChains) {
171
+ expect(USDC_ADDRESSES[chain]).toBeDefined();
172
+ expect(USDC_ADDRESSES[chain]).toMatch(/^0x[0-9a-fA-F]{40}$/);
173
+ }
174
+ });
175
+ it('includes base-sepolia testnet', () => {
176
+ expect(USDC_ADDRESSES['base-sepolia:84532']).toBe('0x036CbD53842c5426634e7929541eC2318f3dCF7e');
177
+ });
178
+ });
107
179
  //# sourceMappingURL=client.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/x402/__tests__/client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/x402/__tests__/client.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/x402/chains/abstract/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAQ,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAK7D,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAGjD,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,8BAA8B,EAAE,OAAO,EAEnD,CAAC;AAwBF,MAAM,WAAW,8BAA8B;IAC7C,sFAAsF;IACtF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,eAAe,EAAE,GAAG,CAAC;IACrB,gEAAgE;IAChE,UAAU,EAAE,GAAG,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mCAAmC;IAC9C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,OAAO,CAAS;gBAGtB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,8BAA8B,EACtC,OAAO,GAAE,MAAmC;IA4B9C;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoDlC;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkBpC,+CAA+C;IAC/C,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhD,kFAAkF;IAClF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAGjD;AAID;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/x402/chains/abstract/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAKvD,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAGjD,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,8BAA8B,EAAE,OAAO,EAEnD,CAAC;AAwBF,MAAM,WAAW,8BAA8B;IAC7C,sFAAsF;IACtF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,eAAe,EAAE,GAAG,CAAC;IACrB,gEAAgE;IAChE,UAAU,EAAE,GAAG,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mCAAmC;IAC9C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,OAAO,CAAS;gBAGtB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,8BAA8B,EACtC,OAAO,GAAE,MAAmC;IA4B9C;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoDlC;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkBpC,+CAA+C;IAC/C,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhD,kFAAkF;IAClF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAGjD;AAID;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/x402/chains/abstract/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/x402/chains/abstract/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Stellar x402 Payment Adapter
3
+ *
4
+ * Implements x402 payment protocol on Stellar network.
5
+ * Stellar x402 support went live March 11, 2026.
6
+ *
7
+ * Chain identifiers:
8
+ * - Stellar Mainnet: "stellar:pubnet"
9
+ * - Stellar Testnet: "stellar:testnet"
10
+ *
11
+ * Key differences from EVM chains:
12
+ * - Uses Ed25519 keypairs (not secp256k1)
13
+ * - Transaction format: Stellar XDR (not EVM tx)
14
+ * - Settlement: ~5 seconds (1 ledger close)
15
+ * - Fees: ~0.00001 XLM per operation (effectively free at scale)
16
+ * - USDC: Circle-issued USDC on Stellar
17
+ */
18
+ export declare const STELLAR_NETWORK: {
19
+ readonly pubnet: {
20
+ readonly horizonUrl: "https://horizon.stellar.org";
21
+ readonly networkPassphrase: "Public Global Stellar Network ; September 2015";
22
+ readonly chainId: "stellar:pubnet";
23
+ };
24
+ readonly testnet: {
25
+ readonly horizonUrl: "https://horizon-testnet.stellar.org";
26
+ readonly networkPassphrase: "Test SDF Network ; September 2015";
27
+ readonly chainId: "stellar:testnet";
28
+ };
29
+ };
30
+ /**
31
+ * Circle USDC on Stellar (Mainnet)
32
+ * Asset code: USDC
33
+ * Issuer: GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN
34
+ */
35
+ export declare const STELLAR_USDC: {
36
+ readonly pubnet: {
37
+ readonly code: "USDC";
38
+ readonly issuer: "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN";
39
+ };
40
+ readonly testnet: {
41
+ readonly code: "USDC";
42
+ readonly issuer: "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5";
43
+ };
44
+ };
45
+ export type StellarNetwork = 'pubnet' | 'testnet';
46
+ export interface StellarPaymentConfig {
47
+ /** Which Stellar network to use */
48
+ network?: StellarNetwork;
49
+ /** x402 resource identifier (for memo) */
50
+ resource?: string;
51
+ /** Custom Horizon URL (overrides default) */
52
+ horizonUrl?: string;
53
+ }
54
+ export interface StellarPaymentRequest {
55
+ /** Destination Stellar account (G... address) */
56
+ destination: string;
57
+ /** Amount in USDC (decimal string, e.g. "0.50") */
58
+ amount: string;
59
+ /** Source Stellar account public key */
60
+ sourcePublicKey: string;
61
+ /** x402 resource path for memo */
62
+ resource?: string;
63
+ /** Network to use */
64
+ network?: StellarNetwork;
65
+ }
66
+ export interface StellarPaymentResult {
67
+ /** Stellar transaction hash */
68
+ hash: string;
69
+ /** Ledger number the transaction landed in */
70
+ ledger: number;
71
+ /** Successful */
72
+ successful: boolean;
73
+ /** Network used */
74
+ network: StellarNetwork;
75
+ }
76
+ /**
77
+ * StellarX402Adapter
78
+ *
79
+ * Handles x402 payment flow for Stellar network.
80
+ *
81
+ * Usage (with stellar-sdk):
82
+ * ```typescript
83
+ * import { StellarX402Adapter } from 'agentwallet-sdk/x402/stellar';
84
+ * import { Keypair, Networks } from '@stellar/stellar-sdk';
85
+ *
86
+ * const adapter = new StellarX402Adapter({ network: 'pubnet' });
87
+ * const result = await adapter.pay({
88
+ * destination: 'GDESTWVX3VMLQCXPHPVLS3FMNMG2X7L5IGGQT7BQMIZXZZ4V7KBQVS',
89
+ * amount: '0.50',
90
+ * sourcePublicKey: keypair.publicKey(),
91
+ * resource: '/api/data-endpoint',
92
+ * }, keypair.secret());
93
+ * ```
94
+ *
95
+ * Note: stellar-sdk must be installed separately:
96
+ * npm install @stellar/stellar-sdk
97
+ */
98
+ export declare class StellarX402Adapter {
99
+ private network;
100
+ private horizonUrl;
101
+ constructor(config?: StellarPaymentConfig);
102
+ /**
103
+ * Parse an x402 402 response and extract Stellar payment details.
104
+ * The 402 response should include X-Payment-Chains: stellar:pubnet
105
+ * and X-Payment-Amount, X-Payment-Destination headers.
106
+ */
107
+ parseX402Response(headers: Record<string, string>): {
108
+ supported: boolean;
109
+ destination?: string;
110
+ amount?: string;
111
+ resource?: string;
112
+ };
113
+ /**
114
+ * Build a Stellar USDC payment transaction.
115
+ *
116
+ * Requires @stellar/stellar-sdk to be installed:
117
+ * npm install @stellar/stellar-sdk
118
+ *
119
+ * Returns the XDR-encoded transaction envelope for signing and submission.
120
+ */
121
+ buildPaymentTransaction(request: StellarPaymentRequest): Promise<string>;
122
+ /**
123
+ * Submit a signed Stellar transaction to Horizon.
124
+ */
125
+ submitTransaction(signedXdr: string): Promise<StellarPaymentResult>;
126
+ private _loadAccount;
127
+ /** Chain ID for this adapter (e.g. "stellar:pubnet") */
128
+ get chainId(): string;
129
+ }
130
+ /**
131
+ * Full x402 payment flow for Stellar.
132
+ * 1. Detects 402 response from API
133
+ * 2. Parses Stellar payment details from headers
134
+ * 3. Builds, signs, and submits Stellar USDC payment
135
+ * 4. Retries the original request with payment proof
136
+ *
137
+ * Requires stellar-sdk: npm install @stellar/stellar-sdk
138
+ */
139
+ export declare function stellarX402Pay(params: {
140
+ /** The 402 response headers */
141
+ responseHeaders: Record<string, string>;
142
+ /** Source account public key */
143
+ sourcePublicKey: string;
144
+ /** Signer function that takes XDR and returns signed XDR */
145
+ sign: (xdr: string) => Promise<string>;
146
+ /** Network to use */
147
+ network?: StellarNetwork;
148
+ }): Promise<StellarPaymentResult>;
149
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/x402/chains/stellar/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,eAAO,MAAM,eAAe;;;;;;;;;;;CAWlB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAIX,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB;IACnB,OAAO,EAAE,cAAc,CAAC;CACzB;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,GAAE,oBAAyB;IAK7C;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClD,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAgBD;;;;;;;OAOG;IACG,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IA+C9E;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;YA6B3D,YAAY;IAe1B,wDAAwD;IACxD,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;AAID;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC3C,+BAA+B;IAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,qBAAqB;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqBhC"}