awal 2.0.3 → 2.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.
- package/dist/commands/address.d.ts.map +1 -1
- package/dist/commands/address.js +22 -5
- package/dist/commands/address.js.map +1 -1
- package/dist/commands/balance.d.ts.map +1 -1
- package/dist/commands/balance.js +61 -28
- package/dist/commands/balance.js.map +1 -1
- package/dist/commands/bazaar.d.ts.map +1 -1
- package/dist/commands/bazaar.js +15 -16
- package/dist/commands/bazaar.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +18 -7
- package/dist/commands/send.js.map +1 -1
- package/dist/formatters/output.d.ts +1 -1
- package/dist/formatters/output.js +3 -3
- package/dist/formatters/output.js.map +1 -1
- package/dist/utils/addressValidation.d.ts +14 -1
- package/dist/utils/addressValidation.d.ts.map +1 -1
- package/dist/utils/addressValidation.js +16 -1
- package/dist/utils/addressValidation.js.map +1 -1
- package/dist/utils/bazaarCache.d.ts +4 -0
- package/dist/utils/bazaarCache.d.ts.map +1 -1
- package/dist/utils/bazaarCache.js +136 -8
- package/dist/utils/bazaarCache.js.map +1 -1
- package/dist/utils/serverManager.js +1 -1
- package/package.json +6 -6
- package/server-bundle/bundle-electron.js +74 -11
- package/server-bundle/package.json +1 -1
- package/server-bundle/preload.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/commands/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/commands/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,oBAAoB,IAAI,OAAO,CA6C9C"}
|
package/dist/commands/address.js
CHANGED
|
@@ -7,21 +7,38 @@ import { formatError } from '../utils/errors.js';
|
|
|
7
7
|
import { formatJson } from '../formatters/output.js';
|
|
8
8
|
export function createAddressCommand() {
|
|
9
9
|
return new Command('address')
|
|
10
|
-
.description('Get wallet address')
|
|
10
|
+
.description('Get wallet address (returns both EVM and Solana by default)')
|
|
11
|
+
.option('--chain <chain>', 'Blockchain network: base, base-sepolia, solana, solana-devnet')
|
|
11
12
|
.option('--json', 'Output as JSON')
|
|
12
13
|
.action(async (options) => {
|
|
13
14
|
const spinner = ora('Fetching wallet address...').start();
|
|
14
15
|
try {
|
|
15
16
|
// Check authentication first
|
|
16
17
|
await requireAuth();
|
|
17
|
-
const
|
|
18
|
+
const data = {};
|
|
19
|
+
if (options.chain) {
|
|
20
|
+
data.chain = options.chain;
|
|
21
|
+
}
|
|
22
|
+
const result = await sendIpcRequest('get-wallet-address', data);
|
|
18
23
|
spinner.stop();
|
|
24
|
+
const isMulti = typeof result === 'object' && result !== null && 'evm' in result && 'solana' in result;
|
|
19
25
|
if (options.json) {
|
|
20
|
-
|
|
26
|
+
if (isMulti) {
|
|
27
|
+
console.log(formatJson(result));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.log(formatJson({ address: result, chain: options.chain }));
|
|
31
|
+
}
|
|
21
32
|
return;
|
|
22
33
|
}
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
if (isMulti) {
|
|
35
|
+
const multi = result;
|
|
36
|
+
console.log(`${chalk.bold('EVM (Base)')} ${multi.evm}`);
|
|
37
|
+
console.log(`${chalk.bold('Solana')} ${multi.solana}`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.log(result);
|
|
41
|
+
}
|
|
25
42
|
}
|
|
26
43
|
catch (error) {
|
|
27
44
|
spinner.fail('Failed to fetch address');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/commands/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/commands/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAOrD,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;SAC1F,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1D,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,WAAW,EAAE,CAAC;YAEpB,MAAM,IAAI,GAAuB,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC;YAEzF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,MAA4B,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC,wBAAgB,oBAAoB,IAAI,OAAO,CA8D9C"}
|
package/dist/commands/balance.js
CHANGED
|
@@ -5,47 +5,80 @@ import { sendIpcRequest } from '../ipcClient.js';
|
|
|
5
5
|
import { requireAuth } from '../utils/authCheck.js';
|
|
6
6
|
import { formatError } from '../utils/errors.js';
|
|
7
7
|
import { formatJson, formatAssetBalance } from '../formatters/output.js';
|
|
8
|
-
const
|
|
8
|
+
const EVM_DEFAULT_ASSETS = ['USDC', 'ETH', 'WETH'];
|
|
9
|
+
const SOLANA_DEFAULT_ASSETS = ['USDC', 'SOL'];
|
|
10
|
+
const SOLANA_CHAINS = ['solana', 'solana-devnet'];
|
|
11
|
+
function isSolanaChain(chain) {
|
|
12
|
+
if (!chain)
|
|
13
|
+
return false;
|
|
14
|
+
return SOLANA_CHAINS.includes(chain) || chain.startsWith('solana:');
|
|
15
|
+
}
|
|
16
|
+
function getDefaultDecimals(asset) {
|
|
17
|
+
const upper = asset.toUpperCase();
|
|
18
|
+
if (upper === 'USDC')
|
|
19
|
+
return 6;
|
|
20
|
+
if (upper === 'SOL')
|
|
21
|
+
return 9;
|
|
22
|
+
return 18;
|
|
23
|
+
}
|
|
24
|
+
function printChainBalances(chainDisplay, assets, result) {
|
|
25
|
+
console.log(chalk.bold(`\n${chainDisplay}`));
|
|
26
|
+
console.log(chalk.dim('─'.repeat(24)));
|
|
27
|
+
for (const asset of assets) {
|
|
28
|
+
const assetData = result.balances?.[asset];
|
|
29
|
+
const raw = assetData?.raw ?? '0';
|
|
30
|
+
const decimals = assetData?.decimals ?? getDefaultDecimals(asset);
|
|
31
|
+
const formatted = formatAssetBalance(asset, raw, decimals);
|
|
32
|
+
console.log(`${chalk.cyan(asset.padEnd(8))}${formatted}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
9
35
|
export function createBalanceCommand() {
|
|
10
36
|
return new Command('balance')
|
|
11
|
-
.description('Get wallet balances (
|
|
12
|
-
.option('--asset <asset>', 'Show specific asset only (usdc, eth, weth)')
|
|
13
|
-
.option('--chain <chain>', '
|
|
37
|
+
.description('Get wallet balances across all chains (or a specific chain with --chain)')
|
|
38
|
+
.option('--asset <asset>', 'Show specific asset only (usdc, eth, weth, sol)')
|
|
39
|
+
.option('--chain <chain>', 'Show only one chain (base, base-sepolia, solana, solana-devnet)')
|
|
14
40
|
.option('--json', 'Output as JSON')
|
|
15
41
|
.action(async (options) => {
|
|
16
42
|
const spinner = ora('Fetching balances...').start();
|
|
17
43
|
try {
|
|
18
|
-
// Check authentication first
|
|
19
44
|
await requireAuth();
|
|
20
|
-
//
|
|
21
|
-
let assets;
|
|
22
|
-
if (options.asset) {
|
|
23
|
-
assets = [options.asset.toUpperCase()];
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
assets = DEFAULT_ASSETS;
|
|
27
|
-
}
|
|
28
|
-
const data = { assets };
|
|
45
|
+
// Single-chain mode: explicit --chain flag
|
|
29
46
|
if (options.chain) {
|
|
30
|
-
|
|
47
|
+
const assets = options.asset
|
|
48
|
+
? [options.asset.toUpperCase()]
|
|
49
|
+
: isSolanaChain(options.chain)
|
|
50
|
+
? SOLANA_DEFAULT_ASSETS
|
|
51
|
+
: EVM_DEFAULT_ASSETS;
|
|
52
|
+
const result = (await sendIpcRequest('get-wallet-balance', {
|
|
53
|
+
assets,
|
|
54
|
+
chain: options.chain,
|
|
55
|
+
}));
|
|
56
|
+
spinner.stop();
|
|
57
|
+
if (options.json) {
|
|
58
|
+
console.log(formatJson(result));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const chainDisplay = result.chain ?? options.chain;
|
|
62
|
+
printChainBalances(chainDisplay, assets, result);
|
|
63
|
+
return;
|
|
31
64
|
}
|
|
32
|
-
|
|
65
|
+
// All-chains mode: fetch EVM and Solana in parallel
|
|
66
|
+
const evmAssets = options.asset ? [options.asset.toUpperCase()] : EVM_DEFAULT_ASSETS;
|
|
67
|
+
const solanaAssets = options.asset ? [options.asset.toUpperCase()] : SOLANA_DEFAULT_ASSETS;
|
|
68
|
+
const [evmResult, solanaResult] = (await Promise.all([
|
|
69
|
+
sendIpcRequest('get-wallet-balance', { assets: evmAssets, chain: 'base' }),
|
|
70
|
+
sendIpcRequest('get-wallet-balance', {
|
|
71
|
+
assets: solanaAssets,
|
|
72
|
+
chain: 'solana',
|
|
73
|
+
}),
|
|
74
|
+
]));
|
|
33
75
|
spinner.stop();
|
|
34
76
|
if (options.json) {
|
|
35
|
-
console.log(formatJson(
|
|
77
|
+
console.log(formatJson({ base: evmResult, solana: solanaResult }));
|
|
36
78
|
return;
|
|
37
79
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
console.log(chalk.bold(`\nWallet Balances (${chainDisplay})`));
|
|
41
|
-
console.log(chalk.dim('─'.repeat(24)));
|
|
42
|
-
for (const asset of assets) {
|
|
43
|
-
const assetData = result.balances?.[asset];
|
|
44
|
-
const raw = assetData?.raw ?? '0';
|
|
45
|
-
const decimals = assetData?.decimals ?? (asset === 'USDC' ? 6 : 18);
|
|
46
|
-
const formatted = formatAssetBalance(asset, raw, decimals);
|
|
47
|
-
console.log(`${chalk.cyan(asset.padEnd(8))}${formatted}`);
|
|
48
|
-
}
|
|
80
|
+
printChainBalances(evmResult.chain ?? 'Base', evmAssets, evmResult);
|
|
81
|
+
printChainBalances(solanaResult.chain ?? 'Solana', solanaAssets, solanaResult);
|
|
49
82
|
}
|
|
50
83
|
catch (error) {
|
|
51
84
|
spinner.fail('Failed to fetch balances');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bazaar.d.ts","sourceRoot":"","sources":["../../src/commands/bazaar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bazaar.d.ts","sourceRoot":"","sources":["../../src/commands/bazaar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyCpC,wBAAgB,mBAAmB,IAAI,OAAO,CAwJ7C"}
|
package/dist/commands/bazaar.js
CHANGED
|
@@ -4,7 +4,6 @@ import ora from 'ora';
|
|
|
4
4
|
import { sendIpcRequest } from '../ipcClient.js';
|
|
5
5
|
import { formatError } from '../utils/errors.js';
|
|
6
6
|
import { formatJson, formatTable, formatUsdcAmount } from '../formatters/output.js';
|
|
7
|
-
import { getResources, searchResources, } from '../utils/bazaarCache.js';
|
|
8
7
|
export function createBazaarCommand() {
|
|
9
8
|
const bazaar = new Command('bazaar').description('Browse X402 payment-enabled services');
|
|
10
9
|
bazaar
|
|
@@ -93,30 +92,33 @@ export function createBazaarCommand() {
|
|
|
93
92
|
.description('Search bazaar resources using BM25 relevance ranking')
|
|
94
93
|
.argument('<query>', 'Search query')
|
|
95
94
|
.option('--json', 'Output as JSON')
|
|
96
|
-
.option('--
|
|
95
|
+
.option('--network <network>', 'Filter by network')
|
|
97
96
|
.option('-k, --top <n>', 'Number of results', '5')
|
|
98
97
|
.action(async (query, options) => {
|
|
99
|
-
const forceRefresh = !!options.forceRefresh;
|
|
100
98
|
const k = parseInt(options.top, 10);
|
|
101
|
-
const spinner = ora(
|
|
99
|
+
const spinner = ora('Searching...').start();
|
|
102
100
|
try {
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
const result = (await sendIpcRequest('bazaar-search', {
|
|
102
|
+
query,
|
|
103
|
+
limit: k,
|
|
104
|
+
network: options.network,
|
|
105
|
+
}));
|
|
106
106
|
spinner.stop();
|
|
107
|
-
|
|
107
|
+
const items = result.items || [];
|
|
108
|
+
if (items.length === 0) {
|
|
108
109
|
console.log('No matching resources found');
|
|
109
110
|
return;
|
|
110
111
|
}
|
|
111
112
|
if (options.json) {
|
|
112
|
-
console.log(formatJson(
|
|
113
|
+
console.log(formatJson(result));
|
|
113
114
|
return;
|
|
114
115
|
}
|
|
115
|
-
console.log(chalk.dim(`Found ${
|
|
116
|
-
for (const item of
|
|
116
|
+
console.log(chalk.dim(`Found ${items.length} result${items.length === 1 ? '' : 's'}\n`));
|
|
117
|
+
for (const item of items) {
|
|
118
|
+
const fullItem = item;
|
|
117
119
|
console.log(chalk.bold(item.resource));
|
|
118
|
-
const accept =
|
|
119
|
-
const description =
|
|
120
|
+
const accept = fullItem.accepts?.[0];
|
|
121
|
+
const description = fullItem.metadata?.description ?? accept?.description;
|
|
120
122
|
if (description) {
|
|
121
123
|
console.log(chalk.dim(description));
|
|
122
124
|
}
|
|
@@ -129,9 +131,6 @@ export function createBazaarCommand() {
|
|
|
129
131
|
if (accept?.scheme) {
|
|
130
132
|
console.log(`Scheme: ${accept.scheme}`);
|
|
131
133
|
}
|
|
132
|
-
if (item.type) {
|
|
133
|
-
console.log(`Type: ${item.type}`);
|
|
134
|
-
}
|
|
135
134
|
console.log('---');
|
|
136
135
|
}
|
|
137
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bazaar.js","sourceRoot":"","sources":["../../src/commands/bazaar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"bazaar.js","sourceRoot":"","sources":["../../src/commands/bazaar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoCpF,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAEzF,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,2CAA2C,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,IAAI,GAAyC,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAqB,CAAC;YAC/E,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,eAAe;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,oEAAoE;gBACpE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,QAAQ,GAAG,IAAsB,CAAC;oBACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBAErC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC7C,CAAC;oBACD,IAAI,MAAM,EAAE,iBAAiB,EAAE,CAAC;wBAC9B,OAAO,CAAC,GAAG,CAAC,UAAU,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpF,CAAC;oBACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC5C,CAAC;oBACD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC9D,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;wBACzB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzE,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0DAA0D;gBAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvC,MAAM,OAAO,GAAG,CAAsB,CAAC;oBACvC,OAAO;wBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;wBACvC,KAAK,EAAE,OAAO,CAAC,iBAAiB;4BAC9B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;4BAC3D,CAAC,CAAC,GAAG;wBACP,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG;qBAChC,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,SAAS,EAAE;oBACrB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;oBAClD,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;oBACxD,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC5C,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;iBACjD,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sDAAsD,CAAC;SACnE,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,mBAAmB,EAAE,GAAG,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,eAAe,EAAE;gBACpD,KAAK;gBACL,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAqB,CAAC;YACxB,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,MAAM,UAAU,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAEzF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAsB,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,WAAW,IAAI,MAAM,EAAE,WAAW,CAAC;gBAC1E,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,MAAM,EAAE,iBAAiB,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,UAAU,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,iBAAiB,IAAI,OAAO,CA2H3C"}
|
package/dist/commands/send.js
CHANGED
|
@@ -6,15 +6,18 @@ import { sendIpcRequest } from '../ipcClient.js';
|
|
|
6
6
|
import { requireAuth } from '../utils/authCheck.js';
|
|
7
7
|
import { formatError } from '../utils/errors.js';
|
|
8
8
|
import { formatJson, formatSuccess, formatUsdcAmount } from '../formatters/output.js';
|
|
9
|
-
import { isEthAddress, isEnsName } from '../utils/addressValidation.js';
|
|
9
|
+
import { isEthAddress, isEnsName, isSolanaAddress } from '../utils/addressValidation.js';
|
|
10
10
|
import { parseUsdcAmount } from '../utils/parseAmount.js';
|
|
11
11
|
import { getMainnetClient } from '../utils/viemClient.js';
|
|
12
|
+
function isSolanaChain(chain) {
|
|
13
|
+
return chain === 'solana' || chain === 'solana-devnet';
|
|
14
|
+
}
|
|
12
15
|
export function createSendCommand() {
|
|
13
16
|
return new Command('send')
|
|
14
17
|
.description('Send USDC to an address')
|
|
15
18
|
.argument('<amount>', 'Amount to send (e.g., "$0.01", "0.01", or atomic units)')
|
|
16
|
-
.argument('<recipient>', 'Recipient address (0x...) or ENS domain')
|
|
17
|
-
.option('--chain <chain>', 'Blockchain network (default: base)', 'base')
|
|
19
|
+
.argument('<recipient>', 'Recipient address (0x... for EVM, Base58 for Solana) or ENS domain')
|
|
20
|
+
.option('--chain <chain>', 'Blockchain network: base, base-sepolia, solana, solana-devnet (default: base)', 'base')
|
|
18
21
|
.option('--json', 'Output as JSON')
|
|
19
22
|
.action(async (amount, recipient, options) => {
|
|
20
23
|
const spinner = ora('Preparing transaction...').start();
|
|
@@ -32,15 +35,22 @@ export function createSendCommand() {
|
|
|
32
35
|
process.exit(1);
|
|
33
36
|
}
|
|
34
37
|
// Validate recipient address format
|
|
35
|
-
|
|
38
|
+
const isSolana = isSolanaChain(options.chain);
|
|
39
|
+
if (isSolana) {
|
|
40
|
+
if (!isSolanaAddress(recipient)) {
|
|
41
|
+
spinner.fail('Invalid recipient');
|
|
42
|
+
console.error(chalk.red('Recipient must be a valid Solana address (Base58 encoded, 32-44 chars)'));
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if (!isEthAddress(recipient) && !isEnsName(recipient)) {
|
|
36
47
|
spinner.fail('Invalid recipient');
|
|
37
48
|
console.error(chalk.red('Recipient must be a valid Ethereum address (0x...) or ENS domain'));
|
|
38
49
|
process.exit(1);
|
|
39
50
|
}
|
|
40
|
-
const recipientIsEns = isEnsName(recipient);
|
|
41
51
|
let resolvedRecipient = recipient;
|
|
42
52
|
let ensName;
|
|
43
|
-
if (
|
|
53
|
+
if (!isSolana && isEnsName(recipient)) {
|
|
44
54
|
spinner.text = `Resolving ${recipient}...`;
|
|
45
55
|
try {
|
|
46
56
|
const mainnetClient = getMainnetClient();
|
|
@@ -90,7 +100,8 @@ export function createSendCommand() {
|
|
|
90
100
|
console.log(chalk.gray(`Transaction: ${result.transactionHash}`));
|
|
91
101
|
}
|
|
92
102
|
if (result.blockExplorerUrl) {
|
|
93
|
-
|
|
103
|
+
const explorerLabel = isSolana ? 'View on Solscan' : 'View on Basescan';
|
|
104
|
+
console.log(chalk.cyan(`\n${explorerLabel}: ${result.blockExplorerUrl}`));
|
|
94
105
|
}
|
|
95
106
|
}
|
|
96
107
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export declare function formatInfo(message: string): string;
|
|
|
37
37
|
export declare function formatUsdcAmount(atomicUnits: number | string): string;
|
|
38
38
|
/**
|
|
39
39
|
* Formats asset balance based on asset type and decimals.
|
|
40
|
-
* USDC shows as $X.XX, ETH/WETH
|
|
40
|
+
* USDC shows as $X.XX, ETH/WETH/SOL show with appropriate precision.
|
|
41
41
|
*/
|
|
42
42
|
export declare function formatAssetBalance(asset: string, raw: string, decimals: number): string;
|
|
43
43
|
//# sourceMappingURL=output.d.ts.map
|
|
@@ -82,14 +82,14 @@ export function formatUsdcAmount(atomicUnits) {
|
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
84
|
* Formats asset balance based on asset type and decimals.
|
|
85
|
-
* USDC shows as $X.XX, ETH/WETH
|
|
85
|
+
* USDC shows as $X.XX, ETH/WETH/SOL show with appropriate precision.
|
|
86
86
|
*/
|
|
87
87
|
export function formatAssetBalance(asset, raw, decimals) {
|
|
88
88
|
const balance = Number(raw) / Math.pow(10, decimals);
|
|
89
|
-
if (asset === 'USDC') {
|
|
89
|
+
if (asset.toUpperCase() === 'USDC') {
|
|
90
90
|
return `$${balance.toFixed(2)}`;
|
|
91
91
|
}
|
|
92
|
-
// For ETH/WETH, show more precision for small amounts
|
|
92
|
+
// For ETH/WETH/SOL, show more precision for small amounts
|
|
93
93
|
if (balance === 0) {
|
|
94
94
|
return '0.00';
|
|
95
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/formatters/output.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/formatters/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Address and name validation utilities for EVM and Solana
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Regex pattern for validating Ethereum addresses (0x followed by 40 hex characters)
|
|
6
6
|
*/
|
|
7
7
|
export declare const ETH_ADDRESS_REGEX: RegExp;
|
|
8
|
+
/**
|
|
9
|
+
* Regex pattern for validating Solana addresses (Base58, 32-44 characters).
|
|
10
|
+
* NOTE: Duplicated in apps/payments-mcp chainConfig.ts and packages/mcp-server Operations.ts
|
|
11
|
+
* because those are separate packages that cannot import from this package.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SOLANA_ADDRESS_REGEX: RegExp;
|
|
8
14
|
/**
|
|
9
15
|
* Check if a string is a valid Ethereum address
|
|
10
16
|
*
|
|
@@ -12,6 +18,13 @@ export declare const ETH_ADDRESS_REGEX: RegExp;
|
|
|
12
18
|
* @returns true if the value is a valid Ethereum address
|
|
13
19
|
*/
|
|
14
20
|
export declare function isEthAddress(value: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a string is a valid Solana address (Base58 encoded, 32-44 chars)
|
|
23
|
+
*
|
|
24
|
+
* @param value - The string to validate
|
|
25
|
+
* @returns true if the value is a valid Solana address
|
|
26
|
+
*/
|
|
27
|
+
export declare function isSolanaAddress(value: string): boolean;
|
|
15
28
|
/**
|
|
16
29
|
* Check if a string looks like an ENS name (contains a dot but isn't a hex address)
|
|
17
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressValidation.d.ts","sourceRoot":"","sources":["../../src/utils/addressValidation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD"}
|
|
1
|
+
{"version":3,"file":"addressValidation.d.ts","sourceRoot":"","sources":["../../src/utils/addressValidation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAkC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Address and name validation utilities for EVM and Solana
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Regex pattern for validating Ethereum addresses (0x followed by 40 hex characters)
|
|
6
6
|
*/
|
|
7
7
|
export const ETH_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;
|
|
8
|
+
/**
|
|
9
|
+
* Regex pattern for validating Solana addresses (Base58, 32-44 characters).
|
|
10
|
+
* NOTE: Duplicated in apps/payments-mcp chainConfig.ts and packages/mcp-server Operations.ts
|
|
11
|
+
* because those are separate packages that cannot import from this package.
|
|
12
|
+
*/
|
|
13
|
+
export const SOLANA_ADDRESS_REGEX = /^[1-9A-HJ-NP-Za-km-z]{32,44}$/;
|
|
8
14
|
/**
|
|
9
15
|
* Check if a string is a valid Ethereum address
|
|
10
16
|
*
|
|
@@ -14,6 +20,15 @@ export const ETH_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;
|
|
|
14
20
|
export function isEthAddress(value) {
|
|
15
21
|
return ETH_ADDRESS_REGEX.test(value);
|
|
16
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if a string is a valid Solana address (Base58 encoded, 32-44 chars)
|
|
25
|
+
*
|
|
26
|
+
* @param value - The string to validate
|
|
27
|
+
* @returns true if the value is a valid Solana address
|
|
28
|
+
*/
|
|
29
|
+
export function isSolanaAddress(value) {
|
|
30
|
+
return SOLANA_ADDRESS_REGEX.test(value);
|
|
31
|
+
}
|
|
17
32
|
/**
|
|
18
33
|
* Check if a string looks like an ENS name (contains a dot but isn't a hex address)
|
|
19
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressValidation.js","sourceRoot":"","sources":["../../src/utils/addressValidation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"addressValidation.js","sourceRoot":"","sources":["../../src/utils/addressValidation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -12,6 +12,7 @@ export interface BazaarResource {
|
|
|
12
12
|
x402Version?: string;
|
|
13
13
|
accepts?: BazaarAccept[];
|
|
14
14
|
lastUpdated?: string;
|
|
15
|
+
facilitator?: string;
|
|
15
16
|
metadata?: {
|
|
16
17
|
description?: string;
|
|
17
18
|
input?: unknown;
|
|
@@ -27,6 +28,9 @@ export declare function loadCache(): BazaarCache | null;
|
|
|
27
28
|
export declare function saveCache(resources: BazaarResource[]): void;
|
|
28
29
|
export declare function isCacheStale(cache: BazaarCache): boolean;
|
|
29
30
|
export declare function getResources(forceRefresh?: boolean): Promise<BazaarResource[]>;
|
|
31
|
+
export declare function isGenericDescription(desc: string | undefined): boolean;
|
|
32
|
+
export declare function getDomainCounts(resources: BazaarResource[]): Map<string, number>;
|
|
33
|
+
export declare function scoreResourceQuality(resource: BazaarResource, domainCounts: Map<string, number>): number;
|
|
30
34
|
export declare function searchResources(query: string, resources: BazaarResource[], k?: number): Promise<BazaarResource[]>;
|
|
31
35
|
export {};
|
|
32
36
|
//# sourceMappingURL=bazaarCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bazaarCache.d.ts","sourceRoot":"","sources":["../../src/utils/bazaarCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bazaarCache.d.ts","sourceRoot":"","sources":["../../src/utils/bazaarCache.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAmDD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAGnE;AAED,wBAAgB,SAAS,IAAI,WAAW,GAAG,IAAI,CAY9C;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,CAY3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIxD;AAED,wBAAsB,YAAY,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAWlF;AAgDD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMtE;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWhF;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CA+DR;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,cAAc,EAAE,EAC3B,CAAC,SAAI,GACJ,OAAO,CAAC,cAAc,EAAE,CAAC,CA4B3B"}
|