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.
- package/README.md +3 -255
- package/dist/bridge/__tests__/solana.test.js +1 -1
- package/dist/bridge/__tests__/solana.test.js.map +1 -1
- package/dist/convenience.d.ts +104 -0
- package/dist/convenience.d.ts.map +1 -0
- package/dist/convenience.js +264 -0
- package/dist/convenience.js.map +1 -0
- package/dist/escrow/MutualStakeEscrow.d.ts.map +1 -1
- package/dist/escrow/MutualStakeEscrow.js +5 -3
- package/dist/escrow/MutualStakeEscrow.js.map +1 -1
- package/dist/index.d.ts +254 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -14
- package/dist/index.js.map +1 -1
- package/dist/plugins/elizaos.d.ts +52 -0
- package/dist/plugins/elizaos.d.ts.map +1 -0
- package/dist/plugins/elizaos.js +89 -0
- package/dist/plugins/elizaos.js.map +1 -0
- package/dist/policy/SpendingPolicy.test.js.map +1 -1
- package/dist/swap/SwapModule.d.ts.map +1 -1
- package/dist/swap/SwapModule.js +3 -3
- package/dist/swap/SwapModule.js.map +1 -1
- package/dist/swap/index.d.ts +1 -1
- package/dist/swap/index.d.ts.map +1 -1
- package/dist/swap/index.js +1 -1
- package/dist/swap/index.js.map +1 -1
- package/dist/swap/types.d.ts +2 -0
- package/dist/swap/types.d.ts.map +1 -1
- package/dist/swap/types.js +2 -0
- package/dist/swap/types.js.map +1 -1
- package/dist/x402/__tests__/client.test.js +1 -1
- package/dist/x402/__tests__/client.test.js.map +1 -1
- package/dist/x402/chains/abstract/index.d.ts.map +1 -1
- package/dist/x402/chains/abstract/index.js.map +1 -1
- package/dist/x402/chains/stellar/index.d.ts.map +1 -1
- package/dist/x402/chains/stellar/index.js +0 -2
- package/dist/x402/chains/stellar/index.js.map +1 -1
- package/dist/x402/client.d.ts +1 -7
- package/dist/x402/client.d.ts.map +1 -1
- package/dist/x402/client.js +25 -25
- package/dist/x402/client.js.map +1 -1
- package/dist/x402/index.d.ts +0 -1
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +0 -2
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/middleware.d.ts.map +1 -1
- package/dist/x402/middleware.js +3 -0
- package/dist/x402/middleware.js.map +1 -1
- package/package.json +6 -13
- package/dist/tokens/__tests__/decimals.test.d.ts +0 -2
- package/dist/tokens/__tests__/decimals.test.d.ts.map +0 -1
- package/dist/tokens/__tests__/decimals.test.js +0 -107
- package/dist/tokens/__tests__/decimals.test.js.map +0 -1
- package/dist/tokens/__tests__/registry.test.d.ts +0 -2
- package/dist/tokens/__tests__/registry.test.d.ts.map +0 -1
- package/dist/tokens/__tests__/registry.test.js +0 -191
- package/dist/tokens/__tests__/registry.test.js.map +0 -1
- package/dist/tokens/__tests__/transfers.test.d.ts +0 -2
- package/dist/tokens/__tests__/transfers.test.d.ts.map +0 -1
- package/dist/tokens/__tests__/transfers.test.js +0 -103
- package/dist/tokens/__tests__/transfers.test.js.map +0 -1
- package/dist/tokens/decimals.d.ts +0 -65
- package/dist/tokens/decimals.d.ts.map +0 -1
- package/dist/tokens/decimals.js +0 -112
- package/dist/tokens/decimals.js.map +0 -1
- package/dist/tokens/index.d.ts +0 -14
- package/dist/tokens/index.d.ts.map +0 -1
- package/dist/tokens/index.js +0 -14
- package/dist/tokens/index.js.map +0 -1
- package/dist/tokens/registry.d.ts +0 -82
- package/dist/tokens/registry.d.ts.map +0 -1
- package/dist/tokens/registry.js +0 -293
- package/dist/tokens/registry.js.map +0 -1
- package/dist/tokens/solana.d.ts +0 -108
- package/dist/tokens/solana.d.ts.map +0 -1
- package/dist/tokens/solana.js +0 -306
- package/dist/tokens/solana.js.map +0 -1
- package/dist/tokens/transfers.d.ts +0 -95
- package/dist/tokens/transfers.d.ts.map +0 -1
- package/dist/tokens/transfers.js +0 -196
- package/dist/tokens/transfers.js.map +0 -1
- package/dist/x402/multi-asset.d.ts +0 -54
- package/dist/x402/multi-asset.d.ts.map +0 -1
- package/dist/x402/multi-asset.js +0 -123
- 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"}
|
package/dist/x402/multi-asset.js
DELETED
|
@@ -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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"}
|