agentwallet-sdk 5.1.1 → 5.2.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 (311) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +208 -21
  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/index.d.ts +215 -288
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1 -3
  26. package/dist/index.js.map +1 -1
  27. package/dist/swap/SwapModule.d.ts +17 -3
  28. package/dist/swap/SwapModule.d.ts.map +1 -1
  29. package/dist/swap/SwapModule.js +20 -4
  30. package/dist/swap/SwapModule.js.map +1 -1
  31. package/dist/swap/index.d.ts +9 -2
  32. package/dist/swap/index.d.ts.map +1 -1
  33. package/dist/swap/index.js +8 -1
  34. package/dist/swap/index.js.map +1 -1
  35. package/dist/swap/types.d.ts +58 -1
  36. package/dist/swap/types.d.ts.map +1 -1
  37. package/dist/swap/types.js +56 -1
  38. package/dist/swap/types.js.map +1 -1
  39. package/dist/types.d.ts +20 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js +6 -0
  42. package/dist/types.js.map +1 -1
  43. package/dist/x402/__tests__/client.test.js +77 -5
  44. package/dist/x402/__tests__/client.test.js.map +1 -1
  45. package/dist/x402/chains/stellar/index.d.ts +149 -0
  46. package/dist/x402/chains/stellar/index.d.ts.map +1 -0
  47. package/dist/x402/chains/stellar/index.js +197 -0
  48. package/dist/x402/chains/stellar/index.js.map +1 -0
  49. package/dist/x402/client.d.ts.map +1 -1
  50. package/dist/x402/client.js.map +1 -1
  51. package/dist/x402/types.d.ts +22 -3
  52. package/dist/x402/types.d.ts.map +1 -1
  53. package/dist/x402/types.js +34 -4
  54. package/dist/x402/types.js.map +1 -1
  55. package/package.json +16 -5
  56. package/dist/ap2/index.d.ts +0 -185
  57. package/dist/ap2/index.d.ts.map +0 -1
  58. package/dist/ap2/index.js +0 -255
  59. package/dist/ap2/index.js.map +0 -1
  60. package/dist/bridge/unified.d.ts +0 -101
  61. package/dist/bridge/unified.d.ts.map +0 -1
  62. package/dist/bridge/unified.js +0 -284
  63. package/dist/bridge/unified.js.map +0 -1
  64. package/dist/chains.d.ts +0 -62
  65. package/dist/chains.d.ts.map +0 -1
  66. package/dist/chains.js +0 -108
  67. package/dist/chains.js.map +0 -1
  68. package/dist/fiat/index.d.ts +0 -10
  69. package/dist/fiat/index.d.ts.map +0 -1
  70. package/dist/fiat/index.js +0 -9
  71. package/dist/fiat/index.js.map +0 -1
  72. package/dist/fiat/onramp.d.ts +0 -101
  73. package/dist/fiat/onramp.d.ts.map +0 -1
  74. package/dist/fiat/onramp.js +0 -155
  75. package/dist/fiat/onramp.js.map +0 -1
  76. package/dist/fiat/providers/index.d.ts +0 -16
  77. package/dist/fiat/providers/index.d.ts.map +0 -1
  78. package/dist/fiat/providers/index.js +0 -30
  79. package/dist/fiat/providers/index.js.map +0 -1
  80. package/dist/fiat/providers/moonpay.d.ts +0 -22
  81. package/dist/fiat/providers/moonpay.d.ts.map +0 -1
  82. package/dist/fiat/providers/moonpay.js +0 -107
  83. package/dist/fiat/providers/moonpay.js.map +0 -1
  84. package/dist/fiat/providers/stripe.d.ts +0 -26
  85. package/dist/fiat/providers/stripe.d.ts.map +0 -1
  86. package/dist/fiat/providers/stripe.js +0 -135
  87. package/dist/fiat/providers/stripe.js.map +0 -1
  88. package/dist/fiat/providers/transak.d.ts +0 -26
  89. package/dist/fiat/providers/transak.d.ts.map +0 -1
  90. package/dist/fiat/providers/transak.js +0 -119
  91. package/dist/fiat/providers/transak.js.map +0 -1
  92. package/dist/fiat/types.d.ts +0 -106
  93. package/dist/fiat/types.d.ts.map +0 -1
  94. package/dist/fiat/types.js +0 -13
  95. package/dist/fiat/types.js.map +0 -1
  96. package/dist/flash/executor.d.ts +0 -119
  97. package/dist/flash/executor.d.ts.map +0 -1
  98. package/dist/flash/executor.js +0 -195
  99. package/dist/flash/executor.js.map +0 -1
  100. package/dist/flash/index.d.ts +0 -28
  101. package/dist/flash/index.d.ts.map +0 -1
  102. package/dist/flash/index.js +0 -29
  103. package/dist/flash/index.js.map +0 -1
  104. package/dist/flash/scanner.d.ts +0 -133
  105. package/dist/flash/scanner.d.ts.map +0 -1
  106. package/dist/flash/scanner.js +0 -212
  107. package/dist/flash/scanner.js.map +0 -1
  108. package/dist/flash/types.d.ts +0 -136
  109. package/dist/flash/types.d.ts.map +0 -1
  110. package/dist/flash/types.js +0 -23
  111. package/dist/flash/types.js.map +0 -1
  112. package/dist/gas/index.d.ts +0 -4
  113. package/dist/gas/index.d.ts.map +0 -1
  114. package/dist/gas/index.js +0 -3
  115. package/dist/gas/index.js.map +0 -1
  116. package/dist/gas/sponsor.d.ts +0 -70
  117. package/dist/gas/sponsor.d.ts.map +0 -1
  118. package/dist/gas/sponsor.js +0 -193
  119. package/dist/gas/sponsor.js.map +0 -1
  120. package/dist/gas/types.d.ts +0 -76
  121. package/dist/gas/types.d.ts.map +0 -1
  122. package/dist/gas/types.js +0 -21
  123. package/dist/gas/types.js.map +0 -1
  124. package/dist/identity/agent-identity.d.ts +0 -276
  125. package/dist/identity/agent-identity.d.ts.map +0 -1
  126. package/dist/identity/agent-identity.js +0 -300
  127. package/dist/identity/agent-identity.js.map +0 -1
  128. package/dist/identity/email-resolver.d.ts +0 -235
  129. package/dist/identity/email-resolver.js +0 -283
  130. package/dist/identity/erc6551.d.ts +0 -441
  131. package/dist/identity/erc6551.d.ts.map +0 -1
  132. package/dist/identity/erc6551.js +0 -517
  133. package/dist/identity/erc6551.js.map +0 -1
  134. package/dist/mev/index.d.ts +0 -4
  135. package/dist/mev/index.d.ts.map +0 -1
  136. package/dist/mev/index.js +0 -8
  137. package/dist/mev/index.js.map +0 -1
  138. package/dist/mev/protection.d.ts +0 -54
  139. package/dist/mev/protection.d.ts.map +0 -1
  140. package/dist/mev/protection.js +0 -185
  141. package/dist/mev/protection.js.map +0 -1
  142. package/dist/mev/risk.d.ts +0 -19
  143. package/dist/mev/risk.d.ts.map +0 -1
  144. package/dist/mev/risk.js +0 -95
  145. package/dist/mev/risk.js.map +0 -1
  146. package/dist/mev/types.d.ts +0 -49
  147. package/dist/mev/types.d.ts.map +0 -1
  148. package/dist/mev/types.js +0 -2
  149. package/dist/mev/types.js.map +0 -1
  150. package/dist/settlement/index.d.ts +0 -4
  151. package/dist/settlement/index.d.ts.map +0 -1
  152. package/dist/settlement/index.js +0 -3
  153. package/dist/settlement/index.js.map +0 -1
  154. package/dist/settlement/types.d.ts +0 -66
  155. package/dist/settlement/types.d.ts.map +0 -1
  156. package/dist/settlement/types.js +0 -37
  157. package/dist/settlement/types.js.map +0 -1
  158. package/dist/settlement/verifier.d.ts +0 -75
  159. package/dist/settlement/verifier.d.ts.map +0 -1
  160. package/dist/settlement/verifier.js +0 -354
  161. package/dist/settlement/verifier.js.map +0 -1
  162. package/dist/solana/bridge.d.ts +0 -144
  163. package/dist/solana/bridge.d.ts.map +0 -1
  164. package/dist/solana/bridge.js +0 -352
  165. package/dist/solana/bridge.js.map +0 -1
  166. package/dist/solana/index.d.ts +0 -8
  167. package/dist/solana/index.d.ts.map +0 -1
  168. package/dist/solana/index.js +0 -6
  169. package/dist/solana/index.js.map +0 -1
  170. package/dist/solana/swap.d.ts +0 -85
  171. package/dist/solana/swap.d.ts.map +0 -1
  172. package/dist/solana/swap.js +0 -173
  173. package/dist/solana/swap.js.map +0 -1
  174. package/dist/solana/types.d.ts +0 -126
  175. package/dist/solana/types.d.ts.map +0 -1
  176. package/dist/solana/types.js +0 -10
  177. package/dist/solana/types.js.map +0 -1
  178. package/dist/solana/wallet.d.ts +0 -83
  179. package/dist/solana/wallet.d.ts.map +0 -1
  180. package/dist/solana/wallet.js +0 -164
  181. package/dist/solana/wallet.js.map +0 -1
  182. package/dist/solana/x402.d.ts +0 -69
  183. package/dist/solana/x402.d.ts.map +0 -1
  184. package/dist/solana/x402.js +0 -154
  185. package/dist/solana/x402.js.map +0 -1
  186. package/dist/solver/adapter.d.ts +0 -47
  187. package/dist/solver/adapter.d.ts.map +0 -1
  188. package/dist/solver/adapter.js +0 -146
  189. package/dist/solver/adapter.js.map +0 -1
  190. package/dist/solver/analyzer.d.ts +0 -48
  191. package/dist/solver/analyzer.d.ts.map +0 -1
  192. package/dist/solver/analyzer.js +0 -171
  193. package/dist/solver/analyzer.js.map +0 -1
  194. package/dist/solver/builder.d.ts +0 -31
  195. package/dist/solver/builder.d.ts.map +0 -1
  196. package/dist/solver/builder.js +0 -60
  197. package/dist/solver/builder.js.map +0 -1
  198. package/dist/solver/index.d.ts +0 -22
  199. package/dist/solver/index.d.ts.map +0 -1
  200. package/dist/solver/index.js +0 -25
  201. package/dist/solver/index.js.map +0 -1
  202. package/dist/solver/types.d.ts +0 -115
  203. package/dist/solver/types.d.ts.map +0 -1
  204. package/dist/solver/types.js +0 -10
  205. package/dist/solver/types.js.map +0 -1
  206. package/dist/spend-guard/index.d.ts +0 -125
  207. package/dist/spend-guard/index.d.ts.map +0 -1
  208. package/dist/spend-guard/index.js +0 -150
  209. package/dist/spend-guard/index.js.map +0 -1
  210. package/dist/swap/router/cache.d.ts +0 -13
  211. package/dist/swap/router/cache.d.ts.map +0 -1
  212. package/dist/swap/router/cache.js +0 -30
  213. package/dist/swap/router/cache.js.map +0 -1
  214. package/dist/swap/router/flashbots.d.ts +0 -10
  215. package/dist/swap/router/flashbots.d.ts.map +0 -1
  216. package/dist/swap/router/flashbots.js +0 -43
  217. package/dist/swap/router/flashbots.js.map +0 -1
  218. package/dist/swap/router/health.d.ts +0 -17
  219. package/dist/swap/router/health.d.ts.map +0 -1
  220. package/dist/swap/router/health.js +0 -38
  221. package/dist/swap/router/health.js.map +0 -1
  222. package/dist/swap/router/index.d.ts +0 -10
  223. package/dist/swap/router/index.d.ts.map +0 -1
  224. package/dist/swap/router/index.js +0 -10
  225. package/dist/swap/router/index.js.map +0 -1
  226. package/dist/swap/router/providers/cowswap.d.ts +0 -11
  227. package/dist/swap/router/providers/cowswap.d.ts.map +0 -1
  228. package/dist/swap/router/providers/cowswap.js +0 -79
  229. package/dist/swap/router/providers/cowswap.js.map +0 -1
  230. package/dist/swap/router/providers/index.d.ts +0 -20
  231. package/dist/swap/router/providers/index.d.ts.map +0 -1
  232. package/dist/swap/router/providers/index.js +0 -32
  233. package/dist/swap/router/providers/index.js.map +0 -1
  234. package/dist/swap/router/providers/jupiter.d.ts +0 -12
  235. package/dist/swap/router/providers/jupiter.d.ts.map +0 -1
  236. package/dist/swap/router/providers/jupiter.js +0 -73
  237. package/dist/swap/router/providers/jupiter.js.map +0 -1
  238. package/dist/swap/router/providers/lifi.d.ts +0 -11
  239. package/dist/swap/router/providers/lifi.d.ts.map +0 -1
  240. package/dist/swap/router/providers/lifi.js +0 -123
  241. package/dist/swap/router/providers/lifi.js.map +0 -1
  242. package/dist/swap/router/providers/oneinch.d.ts +0 -13
  243. package/dist/swap/router/providers/oneinch.d.ts.map +0 -1
  244. package/dist/swap/router/providers/oneinch.js +0 -71
  245. package/dist/swap/router/providers/oneinch.js.map +0 -1
  246. package/dist/swap/router/providers/paraswap.d.ts +0 -11
  247. package/dist/swap/router/providers/paraswap.d.ts.map +0 -1
  248. package/dist/swap/router/providers/paraswap.js +0 -73
  249. package/dist/swap/router/providers/paraswap.js.map +0 -1
  250. package/dist/swap/router/providers/uniswap.d.ts +0 -31
  251. package/dist/swap/router/providers/uniswap.d.ts.map +0 -1
  252. package/dist/swap/router/providers/uniswap.js +0 -237
  253. package/dist/swap/router/providers/uniswap.js.map +0 -1
  254. package/dist/swap/router/providers/zerox.d.ts +0 -13
  255. package/dist/swap/router/providers/zerox.d.ts.map +0 -1
  256. package/dist/swap/router/providers/zerox.js +0 -94
  257. package/dist/swap/router/providers/zerox.js.map +0 -1
  258. package/dist/swap/router/router.d.ts +0 -86
  259. package/dist/swap/router/router.d.ts.map +0 -1
  260. package/dist/swap/router/router.js +0 -224
  261. package/dist/swap/router/router.js.map +0 -1
  262. package/dist/swap/router/rsi/engine.d.ts +0 -60
  263. package/dist/swap/router/rsi/engine.d.ts.map +0 -1
  264. package/dist/swap/router/rsi/engine.js +0 -483
  265. package/dist/swap/router/rsi/engine.js.map +0 -1
  266. package/dist/swap/router/rsi/index.d.ts +0 -3
  267. package/dist/swap/router/rsi/index.d.ts.map +0 -1
  268. package/dist/swap/router/rsi/index.js +0 -3
  269. package/dist/swap/router/rsi/index.js.map +0 -1
  270. package/dist/swap/router/rsi/types.d.ts +0 -106
  271. package/dist/swap/router/rsi/types.d.ts.map +0 -1
  272. package/dist/swap/router/rsi/types.js +0 -3
  273. package/dist/swap/router/rsi/types.js.map +0 -1
  274. package/dist/swap/router/types.d.ts +0 -120
  275. package/dist/swap/router/types.d.ts.map +0 -1
  276. package/dist/swap/router/types.js +0 -16
  277. package/dist/swap/router/types.js.map +0 -1
  278. package/dist/tax/engine.d.ts +0 -131
  279. package/dist/tax/engine.d.ts.map +0 -1
  280. package/dist/tax/engine.js +0 -307
  281. package/dist/tax/engine.js.map +0 -1
  282. package/dist/tax/index.d.ts +0 -9
  283. package/dist/tax/index.d.ts.map +0 -1
  284. package/dist/tax/index.js +0 -12
  285. package/dist/tax/index.js.map +0 -1
  286. package/dist/tax/lots.d.ts +0 -60
  287. package/dist/tax/lots.d.ts.map +0 -1
  288. package/dist/tax/lots.js +0 -129
  289. package/dist/tax/lots.js.map +0 -1
  290. package/dist/tax/types.d.ts +0 -113
  291. package/dist/tax/types.d.ts.map +0 -1
  292. package/dist/tax/types.js +0 -18
  293. package/dist/tax/types.js.map +0 -1
  294. package/dist/verifiable-intent/index.d.ts +0 -84
  295. package/dist/verifiable-intent/index.js +0 -385
  296. package/dist/yield/index.d.ts +0 -26
  297. package/dist/yield/index.d.ts.map +0 -1
  298. package/dist/yield/index.js +0 -29
  299. package/dist/yield/index.js.map +0 -1
  300. package/dist/yield/rates.d.ts +0 -114
  301. package/dist/yield/rates.d.ts.map +0 -1
  302. package/dist/yield/rates.js +0 -351
  303. package/dist/yield/rates.js.map +0 -1
  304. package/dist/yield/types.d.ts +0 -134
  305. package/dist/yield/types.d.ts.map +0 -1
  306. package/dist/yield/types.js +0 -24
  307. package/dist/yield/types.js.map +0 -1
  308. package/dist/yield/vault.d.ts +0 -112
  309. package/dist/yield/vault.d.ts.map +0 -1
  310. package/dist/yield/vault.js +0 -264
  311. package/dist/yield/vault.js.map +0 -1
@@ -1,60 +0,0 @@
1
- /**
2
- * Tax / P&L Engine — Cost Basis Lot Manager
3
- *
4
- * ⚠️ DISCLAIMER: For informational purposes only. Consult a tax professional.
5
- *
6
- * Manages tax lots (individual purchase/acquisition records) for each token.
7
- * Supports FIFO, LIFO, and Specific Identification disposal ordering.
8
- */
9
- import type { TaxLot, CostBasisMethod } from './types.js';
10
- export declare class LotManager {
11
- private lots;
12
- private getLotKey;
13
- /**
14
- * Add a new tax lot (e.g., after buying or receiving a token).
15
- */
16
- addLot(lot: TaxLot): void;
17
- /**
18
- * Get all lots for a token on a specific chain.
19
- */
20
- getLots(token: string, chain: string): TaxLot[];
21
- /**
22
- * Get a specific lot by ID (used by determineGainType for acquisition date lookup).
23
- */
24
- getLotById(lotId: string): TaxLot | undefined;
25
- /**
26
- * Dispose of lots using FIFO / LIFO / Specific Identification.
27
- * Updates the lot inventory in place and returns an audit trail of disposals.
28
- *
29
- * If no lots are tracked (pre-existing wallet), returns [] with zero cost basis.
30
- */
31
- disposeLots(params: {
32
- token: string;
33
- chain: string;
34
- amount: bigint;
35
- method: CostBasisMethod;
36
- specificLotIds?: string[];
37
- }): Array<{
38
- lotId: string;
39
- amountUsed: bigint;
40
- costBasisUsed: number;
41
- acquiredAt: number;
42
- }>;
43
- /**
44
- * Get total holdings across all lots for a token on a chain.
45
- */
46
- getTotalHolding(token: string, chain: string): {
47
- amount: bigint;
48
- costBasisUsd: number;
49
- };
50
- /**
51
- * Export lot state for persistence (e.g., to database or JSON file).
52
- * Note: bigint values will need special serialization if persisting to JSON.
53
- */
54
- exportState(): Record<string, TaxLot[]>;
55
- /**
56
- * Load lot state from a previous session.
57
- */
58
- loadState(state: Record<string, TaxLot[]>): void;
59
- }
60
- //# sourceMappingURL=lots.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lots.d.ts","sourceRoot":"","sources":["../../src/tax/lots.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAoC;IAEhD,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOzB;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQ7C;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,eAAe,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,GAAG,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IA2D3F;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAQvF;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAQvC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;CAGjD"}
package/dist/tax/lots.js DELETED
@@ -1,129 +0,0 @@
1
- /**
2
- * Tax / P&L Engine — Cost Basis Lot Manager
3
- *
4
- * ⚠️ DISCLAIMER: For informational purposes only. Consult a tax professional.
5
- *
6
- * Manages tax lots (individual purchase/acquisition records) for each token.
7
- * Supports FIFO, LIFO, and Specific Identification disposal ordering.
8
- */
9
- export class LotManager {
10
- constructor() {
11
- this.lots = new Map(); // key: "chain:token"
12
- }
13
- getLotKey(token, chain) {
14
- return `${chain}:${token}`;
15
- }
16
- /**
17
- * Add a new tax lot (e.g., after buying or receiving a token).
18
- */
19
- addLot(lot) {
20
- const key = this.getLotKey(lot.token, lot.chain);
21
- const existing = this.lots.get(key) ?? [];
22
- existing.push(lot);
23
- this.lots.set(key, existing);
24
- }
25
- /**
26
- * Get all lots for a token on a specific chain.
27
- */
28
- getLots(token, chain) {
29
- return this.lots.get(this.getLotKey(token, chain)) ?? [];
30
- }
31
- /**
32
- * Get a specific lot by ID (used by determineGainType for acquisition date lookup).
33
- */
34
- getLotById(lotId) {
35
- for (const lots of this.lots.values()) {
36
- const found = lots.find(l => l.id === lotId);
37
- if (found)
38
- return found;
39
- }
40
- return undefined;
41
- }
42
- /**
43
- * Dispose of lots using FIFO / LIFO / Specific Identification.
44
- * Updates the lot inventory in place and returns an audit trail of disposals.
45
- *
46
- * If no lots are tracked (pre-existing wallet), returns [] with zero cost basis.
47
- */
48
- disposeLots(params) {
49
- const key = this.getLotKey(params.token, params.chain);
50
- let lots = this.lots.get(key) ?? [];
51
- if (lots.length === 0) {
52
- // No lots tracked — zero cost basis (common for pre-existing wallets)
53
- return [];
54
- }
55
- // Order lots by method
56
- let sorted;
57
- if (params.method === 'fifo') {
58
- sorted = [...lots].sort((a, b) => a.acquiredAt - b.acquiredAt);
59
- }
60
- else if (params.method === 'lifo') {
61
- sorted = [...lots].sort((a, b) => b.acquiredAt - a.acquiredAt);
62
- }
63
- else {
64
- // specific-id: use only the explicitly requested lots
65
- sorted = lots.filter(l => params.specificLotIds?.includes(l.id));
66
- }
67
- const disposals = [];
68
- let remaining = params.amount;
69
- for (const lot of sorted) {
70
- if (remaining === 0n)
71
- break;
72
- const amountUsed = remaining > lot.amount ? lot.amount : remaining;
73
- const fraction = Number(amountUsed) / Number(lot.amount);
74
- const costBasisUsed = lot.costBasisUsd * fraction;
75
- disposals.push({
76
- lotId: lot.id,
77
- amountUsed,
78
- costBasisUsed,
79
- acquiredAt: lot.acquiredAt,
80
- });
81
- remaining -= amountUsed;
82
- // Update the lot inventory
83
- if (amountUsed === lot.amount) {
84
- // Lot fully consumed — remove it
85
- lots = lots.filter(l => l.id !== lot.id);
86
- }
87
- else {
88
- // Lot partially consumed — reduce amount and cost basis; perUnit stays unchanged
89
- const idx = lots.findIndex(l => l.id === lot.id);
90
- lots[idx] = {
91
- ...lot,
92
- amount: lot.amount - amountUsed,
93
- costBasisUsd: lot.costBasisUsd * (1 - fraction),
94
- costBasisPerUnit: lot.costBasisPerUnit, // unchanged — reflects original purchase price
95
- };
96
- }
97
- }
98
- this.lots.set(key, lots);
99
- return disposals;
100
- }
101
- /**
102
- * Get total holdings across all lots for a token on a chain.
103
- */
104
- getTotalHolding(token, chain) {
105
- const lots = this.getLots(token, chain);
106
- return {
107
- amount: lots.reduce((sum, l) => sum + l.amount, 0n),
108
- costBasisUsd: lots.reduce((sum, l) => sum + l.costBasisUsd, 0),
109
- };
110
- }
111
- /**
112
- * Export lot state for persistence (e.g., to database or JSON file).
113
- * Note: bigint values will need special serialization if persisting to JSON.
114
- */
115
- exportState() {
116
- const state = {};
117
- for (const [key, lots] of this.lots) {
118
- state[key] = lots;
119
- }
120
- return state;
121
- }
122
- /**
123
- * Load lot state from a previous session.
124
- */
125
- loadState(state) {
126
- this.lots = new Map(Object.entries(state));
127
- }
128
- }
129
- //# sourceMappingURL=lots.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lots.js","sourceRoot":"","sources":["../../src/tax/lots.ts"],"names":[],"mappings":"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"}
@@ -1,113 +0,0 @@
1
- /**
2
- * Tax / P&L Engine — Types
3
- *
4
- * ⚠️ DISCLAIMER: This module is for informational purposes only.
5
- * Tax laws vary by jurisdiction and change frequently. Always consult
6
- * a qualified tax professional before filing. This is NOT tax advice.
7
- *
8
- * Models IRS rules for crypto (US-centric, adaptable):
9
- * - FIFO / LIFO / Specific Identification cost basis methods
10
- * - Short-term capital gains: held < 365 days (taxed as ordinary income)
11
- * - Long-term capital gains: held ≥ 365 days (preferential rates)
12
- * - Wash sale rule: NOT currently applicable to crypto (as of 2024) — noted here
13
- * for awareness. If legislation changes, this engine will need updating.
14
- * - Yield / interest received = ordinary income (taxed at full rate)
15
- * - Gas fees = deductible as part of cost basis / selling expenses
16
- */
17
- export type TaxEventType = 'swap' | 'deposit' | 'withdrawal' | 'yield-received' | 'bridge' | 'gas-paid' | 'fiat-on-ramp';
18
- export type CostBasisMethod = 'fifo' | 'lifo' | 'specific-id';
19
- export type GainType = 'short-term' | 'long-term';
20
- export interface TaxLot {
21
- id: string;
22
- token: string;
23
- tokenAddress: string;
24
- chain: string;
25
- amount: bigint;
26
- costBasisUsd: number;
27
- costBasisPerUnit: number;
28
- acquiredAt: number;
29
- acquiredTxHash?: string;
30
- acquiredFrom: TaxEventType;
31
- }
32
- export interface TaxEvent {
33
- id: string;
34
- type: TaxEventType;
35
- timestamp: number;
36
- txHash?: string;
37
- chain: string;
38
- /** For swaps: token disposed of */
39
- disposedToken?: string;
40
- disposedAmount?: bigint;
41
- disposedValueUsd?: number;
42
- /** For swaps: token acquired */
43
- acquiredToken?: string;
44
- acquiredAmount?: bigint;
45
- acquiredValueUsd?: number;
46
- /** Gas paid in USD */
47
- gasPaidUsd?: number;
48
- /** Notes */
49
- notes?: string;
50
- }
51
- export interface RealizedGain {
52
- eventId: string;
53
- txHash?: string;
54
- timestamp: number;
55
- chain: string;
56
- token: string;
57
- /** Amount disposed */
58
- amountDisposed: bigint;
59
- /** Sale proceeds (market value at disposal) */
60
- proceedsUsd: number;
61
- /** Cost basis of lots disposed */
62
- costBasisUsd: number;
63
- /** Realized gain (proceeds - costBasis - fees) */
64
- realizedGainUsd: number;
65
- /** Short or long term */
66
- gainType: GainType;
67
- /** Lots used (for audit trail) */
68
- lotsUsed: Array<{
69
- lotId: string;
70
- amountUsed: bigint;
71
- costBasisUsed: number;
72
- }>;
73
- }
74
- export interface TaxSummary {
75
- year: number;
76
- totalProceeds: number;
77
- totalCostBasis: number;
78
- /** Short-term gains (< 1 year hold) */
79
- shortTermGain: number;
80
- /** Long-term gains (≥ 1 year hold) */
81
- longTermGain: number;
82
- /** Total net gain */
83
- totalNetGain: number;
84
- /** Total yield/interest received (ordinary income) */
85
- ordinaryIncome: number;
86
- /** Total gas fees paid (cost basis adjustments) */
87
- totalGasPaid: number;
88
- /** Number of taxable events */
89
- taxableEventCount: number;
90
- }
91
- export interface TaxExportRow {
92
- date: string;
93
- type: string;
94
- asset: string;
95
- amount: string;
96
- proceeds: string;
97
- costBasis: string;
98
- gain: string;
99
- gainType: string;
100
- txHash: string;
101
- chain: string;
102
- }
103
- export interface TaxEngineConfig {
104
- /** Cost basis method (default: 'fifo') */
105
- method?: CostBasisMethod;
106
- /** Tax year for summary (default: current year) */
107
- taxYear?: number;
108
- /** Your jurisdiction (default: 'US') */
109
- jurisdiction?: 'US' | 'EU' | 'UK' | 'OTHER';
110
- /** Track gas fees as deductible expenses (default: true) */
111
- trackGasFees?: boolean;
112
- }
113
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tax/types.ts"],"names":[],"mappings":"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"}
package/dist/tax/types.js DELETED
@@ -1,18 +0,0 @@
1
- /**
2
- * Tax / P&L Engine — Types
3
- *
4
- * ⚠️ DISCLAIMER: This module is for informational purposes only.
5
- * Tax laws vary by jurisdiction and change frequently. Always consult
6
- * a qualified tax professional before filing. This is NOT tax advice.
7
- *
8
- * Models IRS rules for crypto (US-centric, adaptable):
9
- * - FIFO / LIFO / Specific Identification cost basis methods
10
- * - Short-term capital gains: held < 365 days (taxed as ordinary income)
11
- * - Long-term capital gains: held ≥ 365 days (preferential rates)
12
- * - Wash sale rule: NOT currently applicable to crypto (as of 2024) — noted here
13
- * for awareness. If legislation changes, this engine will need updating.
14
- * - Yield / interest received = ordinary income (taxed at full rate)
15
- * - Gas fees = deductible as part of cost basis / selling expenses
16
- */
17
- export {};
18
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tax/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -1,84 +0,0 @@
1
- /**
2
- * Mastercard Verifiable Intent module for agentwallet-sdk.
3
- * @module verifiable-intent
4
- */
5
-
6
- export interface AgentIdentity {
7
- agentId: string;
8
- principalId: string;
9
- agenticToken: string;
10
- issuedAt: number;
11
- expiresAt: number;
12
- }
13
-
14
- export interface ScopeConstraints {
15
- maxAmountPerTx: number;
16
- maxAmountPerDay: number;
17
- maxTxPerDay: number;
18
- allowedMerchantCategories?: string[];
19
- allowedCurrencies?: string[];
20
- windowStartUtc?: number;
21
- windowEndUtc?: number;
22
- }
23
-
24
- export interface IntentDeclaration {
25
- intentId: string;
26
- agentId: string;
27
- action: 'pay' | 'subscribe' | 'escrow' | 'refund';
28
- amount: number;
29
- currency: string;
30
- recipientId: string;
31
- description: string;
32
- createdAt: number;
33
- expiresAt: number;
34
- metadata?: Record<string, unknown>;
35
- }
36
-
37
- export interface SignedIntent {
38
- intent: IntentDeclaration;
39
- signature: string;
40
- agenticToken: string;
41
- signatureAlgorithm: string;
42
- }
43
-
44
- export interface VerificationResult {
45
- valid: boolean;
46
- errors: string[];
47
- }
48
-
49
- export interface VerifiableIntentConfig {
50
- agentId: string;
51
- principalId: string;
52
- signingSecret: string;
53
- scope: ScopeConstraints;
54
- tokenTtlSeconds?: number;
55
- intentTtlSeconds?: number;
56
- }
57
-
58
- export declare class VerifiableIntentClient {
59
- identity: AgentIdentity;
60
- constructor(config: VerifiableIntentConfig);
61
- createIntent(params: {
62
- action: 'pay' | 'subscribe' | 'escrow' | 'refund';
63
- amount: number;
64
- currency: string;
65
- recipientId: string;
66
- description: string;
67
- metadata?: Record<string, unknown>;
68
- }): SignedIntent;
69
- verify(signedIntent: SignedIntent): VerificationResult;
70
- recordExecution(signedIntent: SignedIntent): void;
71
- getDailyUsage(): {
72
- spentToday: number;
73
- txToday: number;
74
- remainingBudget: number;
75
- remainingTx: number;
76
- };
77
- static serialize(signedIntent: SignedIntent): string;
78
- static deserialize(json: string): SignedIntent;
79
- }
80
-
81
- export declare class VerifiableIntentError extends Error {
82
- context?: unknown;
83
- constructor(message: string, context?: unknown);
84
- }