agentwallet-sdk 6.0.2 → 6.0.4

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 (85) hide show
  1. package/README.md +3 -255
  2. package/dist/bridge/__tests__/solana.test.js +1 -1
  3. package/dist/bridge/__tests__/solana.test.js.map +1 -1
  4. package/dist/convenience.d.ts +104 -0
  5. package/dist/convenience.d.ts.map +1 -0
  6. package/dist/convenience.js +264 -0
  7. package/dist/convenience.js.map +1 -0
  8. package/dist/escrow/MutualStakeEscrow.d.ts.map +1 -1
  9. package/dist/escrow/MutualStakeEscrow.js +5 -3
  10. package/dist/escrow/MutualStakeEscrow.js.map +1 -1
  11. package/dist/index.d.ts +254 -49
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +8 -14
  14. package/dist/index.js.map +1 -1
  15. package/dist/plugins/elizaos.d.ts +52 -0
  16. package/dist/plugins/elizaos.d.ts.map +1 -0
  17. package/dist/plugins/elizaos.js +89 -0
  18. package/dist/plugins/elizaos.js.map +1 -0
  19. package/dist/policy/SpendingPolicy.test.js.map +1 -1
  20. package/dist/swap/SwapModule.d.ts.map +1 -1
  21. package/dist/swap/SwapModule.js +3 -3
  22. package/dist/swap/SwapModule.js.map +1 -1
  23. package/dist/swap/index.d.ts +1 -1
  24. package/dist/swap/index.d.ts.map +1 -1
  25. package/dist/swap/index.js +1 -1
  26. package/dist/swap/index.js.map +1 -1
  27. package/dist/swap/types.d.ts +2 -0
  28. package/dist/swap/types.d.ts.map +1 -1
  29. package/dist/swap/types.js +2 -0
  30. package/dist/swap/types.js.map +1 -1
  31. package/dist/x402/__tests__/client.test.js +1 -1
  32. package/dist/x402/__tests__/client.test.js.map +1 -1
  33. package/dist/x402/chains/abstract/index.d.ts.map +1 -1
  34. package/dist/x402/chains/abstract/index.js.map +1 -1
  35. package/dist/x402/chains/stellar/index.d.ts.map +1 -1
  36. package/dist/x402/chains/stellar/index.js +0 -2
  37. package/dist/x402/chains/stellar/index.js.map +1 -1
  38. package/dist/x402/client.d.ts +1 -7
  39. package/dist/x402/client.d.ts.map +1 -1
  40. package/dist/x402/client.js +25 -25
  41. package/dist/x402/client.js.map +1 -1
  42. package/dist/x402/index.d.ts +0 -1
  43. package/dist/x402/index.d.ts.map +1 -1
  44. package/dist/x402/index.js +0 -2
  45. package/dist/x402/index.js.map +1 -1
  46. package/dist/x402/middleware.d.ts.map +1 -1
  47. package/dist/x402/middleware.js +3 -0
  48. package/dist/x402/middleware.js.map +1 -1
  49. package/package.json +6 -13
  50. package/dist/tokens/__tests__/decimals.test.d.ts +0 -2
  51. package/dist/tokens/__tests__/decimals.test.d.ts.map +0 -1
  52. package/dist/tokens/__tests__/decimals.test.js +0 -107
  53. package/dist/tokens/__tests__/decimals.test.js.map +0 -1
  54. package/dist/tokens/__tests__/registry.test.d.ts +0 -2
  55. package/dist/tokens/__tests__/registry.test.d.ts.map +0 -1
  56. package/dist/tokens/__tests__/registry.test.js +0 -191
  57. package/dist/tokens/__tests__/registry.test.js.map +0 -1
  58. package/dist/tokens/__tests__/transfers.test.d.ts +0 -2
  59. package/dist/tokens/__tests__/transfers.test.d.ts.map +0 -1
  60. package/dist/tokens/__tests__/transfers.test.js +0 -103
  61. package/dist/tokens/__tests__/transfers.test.js.map +0 -1
  62. package/dist/tokens/decimals.d.ts +0 -65
  63. package/dist/tokens/decimals.d.ts.map +0 -1
  64. package/dist/tokens/decimals.js +0 -112
  65. package/dist/tokens/decimals.js.map +0 -1
  66. package/dist/tokens/index.d.ts +0 -14
  67. package/dist/tokens/index.d.ts.map +0 -1
  68. package/dist/tokens/index.js +0 -14
  69. package/dist/tokens/index.js.map +0 -1
  70. package/dist/tokens/registry.d.ts +0 -82
  71. package/dist/tokens/registry.d.ts.map +0 -1
  72. package/dist/tokens/registry.js +0 -293
  73. package/dist/tokens/registry.js.map +0 -1
  74. package/dist/tokens/solana.d.ts +0 -108
  75. package/dist/tokens/solana.d.ts.map +0 -1
  76. package/dist/tokens/solana.js +0 -306
  77. package/dist/tokens/solana.js.map +0 -1
  78. package/dist/tokens/transfers.d.ts +0 -95
  79. package/dist/tokens/transfers.d.ts.map +0 -1
  80. package/dist/tokens/transfers.js +0 -196
  81. package/dist/tokens/transfers.js.map +0 -1
  82. package/dist/x402/multi-asset.d.ts +0 -54
  83. package/dist/x402/multi-asset.d.ts.map +0 -1
  84. package/dist/x402/multi-asset.js +0 -123
  85. package/dist/x402/multi-asset.js.map +0 -1
@@ -1,54 +0,0 @@
1
- /**
2
- * @module x402/multi-asset
3
- * Multi-asset support utilities for the x402 payment client.
4
- *
5
- * Resolves asset names/symbols → token addresses via the global TokenRegistry.
6
- * This extends x402 beyond USDC-only to support any token the 402 response requests.
7
- *
8
- * All address lookups use the TokenRegistry from src/tokens/registry.ts.
9
- * Fallback: USDC_ADDRESSES from x402/types.ts.
10
- */
11
- import type { Address } from 'viem';
12
- /**
13
- * Network string format used in x402: "chainName:chainId" (e.g. "base:8453").
14
- * Returns the chainId portion as a number.
15
- */
16
- export declare function parseNetworkChainId(network: string): number | null;
17
- /**
18
- * Resolve an asset address in the context of a 402 response.
19
- * The asset field may be:
20
- * 1. A token symbol ("USDC", "WETH", etc.) → look up in registry by symbol
21
- * 2. A hex contract address → look up in registry by address (must be registered)
22
- *
23
- * Only returns an address if the asset is known in the TokenRegistry.
24
- * Unknown addresses are NOT accepted — they must be explicitly added or
25
- * whitelisted via supportedAssets config.
26
- *
27
- * @param asset - Asset identifier from the 402 response
28
- * @param network - Network string from the 402 response (e.g. "base:8453")
29
- * @returns Resolved contract address, or null if not found in registry
30
- */
31
- export declare function resolveAssetAddress(asset: string, network: string): Address | null;
32
- /**
33
- * Get token decimals for a given asset+network pair.
34
- * Used to correctly format amounts in x402 payments.
35
- *
36
- * @param asset - Asset address (hex) or symbol
37
- * @param network - Network string (e.g. "base:8453")
38
- * @returns Decimals, defaults to 6 for USDC-like stable, 18 for everything else
39
- */
40
- export declare function resolveAssetDecimals(asset: string, network: string): number;
41
- /**
42
- * Build a set of accepted payment assets for an x402 client, using the
43
- * global registry to auto-populate known tokens per network.
44
- *
45
- * @param networks - List of network strings (e.g. ["base:8453", "arbitrum:42161"])
46
- * @param symbols - Token symbols to include (e.g. ["USDC", "USDT", "WETH"])
47
- * @returns Map from network string → array of token addresses
48
- */
49
- export declare function buildSupportedAssets(networks: string[], symbols?: string[]): Record<string, Address[]>;
50
- /**
51
- * Check if a given asset address is a known stablecoin (6 decimals) on the network.
52
- */
53
- export declare function isStablecoin(asset: string, network: string): boolean;
54
- //# sourceMappingURL=multi-asset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-asset.d.ts","sourceRoot":"","sources":["../../src/x402/multi-asset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKlE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAkBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAmB3E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,MAAM,EAAoC,GAClD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CA6B3B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAGpE"}
@@ -1,123 +0,0 @@
1
- /**
2
- * @module x402/multi-asset
3
- * Multi-asset support utilities for the x402 payment client.
4
- *
5
- * Resolves asset names/symbols → token addresses via the global TokenRegistry.
6
- * This extends x402 beyond USDC-only to support any token the 402 response requests.
7
- *
8
- * All address lookups use the TokenRegistry from src/tokens/registry.ts.
9
- * Fallback: USDC_ADDRESSES from x402/types.ts.
10
- */
11
- import { getGlobalRegistry } from '../tokens/registry.js';
12
- import { USDC_ADDRESSES } from './types.js';
13
- /**
14
- * Network string format used in x402: "chainName:chainId" (e.g. "base:8453").
15
- * Returns the chainId portion as a number.
16
- */
17
- export function parseNetworkChainId(network) {
18
- const parts = network.split(':');
19
- if (parts.length < 2)
20
- return null;
21
- const id = parseInt(parts[parts.length - 1], 10);
22
- return isNaN(id) ? null : id;
23
- }
24
- /**
25
- * Resolve an asset address in the context of a 402 response.
26
- * The asset field may be:
27
- * 1. A token symbol ("USDC", "WETH", etc.) → look up in registry by symbol
28
- * 2. A hex contract address → look up in registry by address (must be registered)
29
- *
30
- * Only returns an address if the asset is known in the TokenRegistry.
31
- * Unknown addresses are NOT accepted — they must be explicitly added or
32
- * whitelisted via supportedAssets config.
33
- *
34
- * @param asset - Asset identifier from the 402 response
35
- * @param network - Network string from the 402 response (e.g. "base:8453")
36
- * @returns Resolved contract address, or null if not found in registry
37
- */
38
- export function resolveAssetAddress(asset, network) {
39
- const chainId = parseNetworkChainId(network);
40
- if (chainId == null)
41
- return null;
42
- const registry = getGlobalRegistry();
43
- // If it looks like an EVM address, check registry by address
44
- if (/^0x[0-9a-fA-F]{40}$/.test(asset)) {
45
- const entry = registry.getTokenByAddress(asset, chainId);
46
- if (entry)
47
- return entry.address;
48
- return null; // unknown address — reject for safety
49
- }
50
- // Try registry lookup by symbol (e.g. "USDC", "WETH")
51
- const entry = registry.getToken(asset.toUpperCase(), chainId);
52
- if (entry)
53
- return entry.address;
54
- return null;
55
- }
56
- /**
57
- * Get token decimals for a given asset+network pair.
58
- * Used to correctly format amounts in x402 payments.
59
- *
60
- * @param asset - Asset address (hex) or symbol
61
- * @param network - Network string (e.g. "base:8453")
62
- * @returns Decimals, defaults to 6 for USDC-like stable, 18 for everything else
63
- */
64
- export function resolveAssetDecimals(asset, network) {
65
- const chainId = parseNetworkChainId(network);
66
- if (chainId == null)
67
- return 6;
68
- const registry = getGlobalRegistry();
69
- // Try by address first
70
- if (/^0x[0-9a-fA-F]{40}$/.test(asset)) {
71
- const entry = registry.getTokenByAddress(asset, chainId);
72
- if (entry)
73
- return entry.decimals;
74
- // Unknown token — default to 18
75
- return 18;
76
- }
77
- // Try by symbol
78
- const entry = registry.getToken(asset.toUpperCase(), chainId);
79
- if (entry)
80
- return entry.decimals;
81
- return 18;
82
- }
83
- /**
84
- * Build a set of accepted payment assets for an x402 client, using the
85
- * global registry to auto-populate known tokens per network.
86
- *
87
- * @param networks - List of network strings (e.g. ["base:8453", "arbitrum:42161"])
88
- * @param symbols - Token symbols to include (e.g. ["USDC", "USDT", "WETH"])
89
- * @returns Map from network string → array of token addresses
90
- */
91
- export function buildSupportedAssets(networks, symbols = ['USDC', 'USDT', 'DAI', 'WETH']) {
92
- const result = {};
93
- const registry = getGlobalRegistry();
94
- for (const network of networks) {
95
- const chainId = parseNetworkChainId(network);
96
- if (chainId == null)
97
- continue;
98
- const addrs = [];
99
- for (const symbol of symbols) {
100
- const entry = registry.getToken(symbol, chainId);
101
- if (entry && !entry.isNative) {
102
- addrs.push(entry.address);
103
- }
104
- }
105
- // Always include USDC from the existing USDC_ADDRESSES table as fallback
106
- const usdcFallback = USDC_ADDRESSES[network];
107
- if (usdcFallback && !addrs.some(a => a.toLowerCase() === usdcFallback.toLowerCase())) {
108
- addrs.push(usdcFallback);
109
- }
110
- if (addrs.length > 0) {
111
- result[network] = addrs;
112
- }
113
- }
114
- return result;
115
- }
116
- /**
117
- * Check if a given asset address is a known stablecoin (6 decimals) on the network.
118
- */
119
- export function isStablecoin(asset, network) {
120
- const decimals = resolveAssetDecimals(asset, network);
121
- return decimals === 6;
122
- }
123
- //# sourceMappingURL=multi-asset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-asset.js","sourceRoot":"","sources":["../../src/x402/multi-asset.ts"],"names":[],"mappings":"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"}