awal 2.2.0 → 2.8.1
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 +16 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +10 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/__tests__/balance.test.d.ts +2 -0
- package/dist/commands/__tests__/balance.test.d.ts.map +1 -0
- package/dist/commands/__tests__/balance.test.js +245 -0
- package/dist/commands/__tests__/balance.test.js.map +1 -0
- package/dist/commands/__tests__/telemetry.test.d.ts +2 -0
- package/dist/commands/__tests__/telemetry.test.d.ts.map +1 -0
- package/dist/commands/__tests__/telemetry.test.js +79 -0
- package/dist/commands/__tests__/telemetry.test.js.map +1 -0
- package/dist/commands/__tests__/trade.test.d.ts +2 -0
- package/dist/commands/__tests__/trade.test.d.ts.map +1 -0
- package/dist/commands/__tests__/trade.test.js +147 -0
- package/dist/commands/__tests__/trade.test.js.map +1 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +48 -5
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/balance.d.ts +16 -0
- package/dist/commands/balance.d.ts.map +1 -1
- package/dist/commands/balance.js +53 -22
- package/dist/commands/balance.js.map +1 -1
- package/dist/commands/bazaar.d.ts.map +1 -1
- package/dist/commands/bazaar.js +51 -22
- package/dist/commands/bazaar.js.map +1 -1
- package/dist/commands/persistence.d.ts +3 -0
- package/dist/commands/persistence.d.ts.map +1 -0
- package/dist/commands/persistence.js +75 -0
- package/dist/commands/persistence.js.map +1 -0
- package/dist/commands/quit.d.ts +3 -0
- package/dist/commands/quit.d.ts.map +1 -0
- package/dist/commands/quit.js +91 -0
- package/dist/commands/quit.js.map +1 -0
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +23 -14
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/telemetry.d.ts +3 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/telemetry.js +41 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/commands/trade.d.ts +13 -0
- package/dist/commands/trade.d.ts.map +1 -1
- package/dist/commands/trade.js +22 -20
- package/dist/commands/trade.js.map +1 -1
- package/dist/constants.d.ts +11 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +22 -0
- package/dist/constants.js.map +1 -0
- package/dist/formatters/output.d.ts +3 -2
- package/dist/formatters/output.d.ts.map +1 -1
- package/dist/formatters/output.js +13 -6
- package/dist/formatters/output.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/ipcClient.d.ts.map +1 -1
- package/dist/ipcClient.js +9 -5
- package/dist/ipcClient.js.map +1 -1
- package/dist/utils/__tests__/errors.test.d.ts +2 -0
- package/dist/utils/__tests__/errors.test.d.ts.map +1 -0
- package/dist/utils/__tests__/errors.test.js +27 -0
- package/dist/utils/__tests__/errors.test.js.map +1 -0
- package/dist/utils/chainValidation.d.ts +11 -0
- package/dist/utils/chainValidation.d.ts.map +1 -0
- package/dist/utils/chainValidation.js +29 -0
- package/dist/utils/chainValidation.js.map +1 -0
- package/dist/utils/configManager.d.ts +9 -0
- package/dist/utils/configManager.d.ts.map +1 -0
- package/dist/utils/configManager.js +46 -0
- package/dist/utils/configManager.js.map +1 -0
- package/dist/utils/errors.d.ts +5 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +28 -10
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/parseAmount.d.ts +11 -1
- package/dist/utils/parseAmount.d.ts.map +1 -1
- package/dist/utils/parseAmount.js +36 -1
- package/dist/utils/parseAmount.js.map +1 -1
- package/dist/utils/serverManager.js +1 -1
- package/package.json +15 -6
- package/server-bundle/bundle-electron.js +43 -42
- package/server-bundle/package.json +1 -1
- package/server-bundle/preload.js +1 -1
- package/dist/commands/discover.d.ts +0 -3
- package/dist/commands/discover.d.ts.map +0 -1
- package/dist/commands/discover.js +0 -76
- package/dist/commands/discover.js.map +0 -1
- package/dist/utils/bazaarCache.d.ts +0 -36
- package/dist/utils/bazaarCache.d.ts.map +0 -1
- package/dist/utils/bazaarCache.js +0 -246
- package/dist/utils/bazaarCache.js.map +0 -1
package/dist/ipcClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipcClient.js","sourceRoot":"","sources":["../src/ipcClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ipcClient.js","sourceRoot":"","sources":["../src/ipcClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/errors.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IpcTimeoutError, formatError } from '../errors.js';
|
|
2
|
+
describe('IpcTimeoutError', () => {
|
|
3
|
+
it('stores the channel for downstream branching', () => {
|
|
4
|
+
const err = new IpcTimeoutError('make-x402-request', 180000);
|
|
5
|
+
expect(err.channel).toBe('make-x402-request');
|
|
6
|
+
expect(err.name).toBe('IpcTimeoutError');
|
|
7
|
+
});
|
|
8
|
+
it('emits the payment-may-have-completed hint for x402 timeouts', () => {
|
|
9
|
+
const err = new IpcTimeoutError('make-x402-request', 180000);
|
|
10
|
+
const message = err.getDisplayMessage();
|
|
11
|
+
expect(message).toContain('payment may still have completed on chain');
|
|
12
|
+
expect(message).toContain('npx awal show');
|
|
13
|
+
expect(message).not.toContain('Restart the wallet');
|
|
14
|
+
});
|
|
15
|
+
it('emits the wallet-restart hint for non-x402 timeouts', () => {
|
|
16
|
+
const err = new IpcTimeoutError('get-wallet-balance', 180000);
|
|
17
|
+
const message = err.getDisplayMessage();
|
|
18
|
+
expect(message).toContain('wallet may be unresponsive');
|
|
19
|
+
expect(message).toContain('Restart the wallet');
|
|
20
|
+
expect(message).not.toContain('payment may still have completed');
|
|
21
|
+
});
|
|
22
|
+
it('flows through formatError', () => {
|
|
23
|
+
const err = new IpcTimeoutError('make-x402-request', 180000);
|
|
24
|
+
expect(formatError(err)).toBe(err.getDisplayMessage());
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=errors.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/errors.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain validation utilities for the AWAL CLI.
|
|
3
|
+
*/
|
|
4
|
+
export declare function isSolanaChain(chain?: string): boolean;
|
|
5
|
+
export declare function isPolygonChain(chain?: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Checks whether an asset is supported on the given chain.
|
|
8
|
+
* Returns an error message if incompatible, or undefined if valid.
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateAssetChain(asset: string, chain: string): string | undefined;
|
|
11
|
+
//# sourceMappingURL=chainValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chainValidation.d.ts","sourceRoot":"","sources":["../../src/utils/chainValidation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWnF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain validation utilities for the AWAL CLI.
|
|
3
|
+
*/
|
|
4
|
+
import { SOLANA_CHAINS, POLYGON_CHAINS } from '../constants.js';
|
|
5
|
+
export function isSolanaChain(chain) {
|
|
6
|
+
if (!chain)
|
|
7
|
+
return false;
|
|
8
|
+
return SOLANA_CHAINS.has(chain) || chain.startsWith('solana:');
|
|
9
|
+
}
|
|
10
|
+
export function isPolygonChain(chain) {
|
|
11
|
+
if (!chain)
|
|
12
|
+
return false;
|
|
13
|
+
return POLYGON_CHAINS.has(chain);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Checks whether an asset is supported on the given chain.
|
|
17
|
+
* Returns an error message if incompatible, or undefined if valid.
|
|
18
|
+
*/
|
|
19
|
+
export function validateAssetChain(asset, chain) {
|
|
20
|
+
const solana = isSolanaChain(chain);
|
|
21
|
+
if (asset === 'SOL' && !solana) {
|
|
22
|
+
return 'SOL can only be sent on Solana chains (--chain solana)';
|
|
23
|
+
}
|
|
24
|
+
if (asset === 'ETH' && solana) {
|
|
25
|
+
return 'ETH can only be sent on EVM chains (--chain base)';
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=chainValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chainValidation.js","sourceRoot":"","sources":["../../src/utils/chainValidation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,KAAa;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,wDAAwD,CAAC;IAClE,CAAC;IACD,IAAI,KAAK,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC;QAC9B,OAAO,mDAAmD,CAAC;IAC7D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface AwalConfig {
|
|
2
|
+
persistence: boolean;
|
|
3
|
+
telemetryDisabled: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function readConfig(): AwalConfig;
|
|
6
|
+
export declare function setPersistence(enabled: boolean): void;
|
|
7
|
+
export declare function setTelemetry(disabled: boolean): void;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=configManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configManager.d.ts","sourceRoot":"","sources":["../../src/utils/configManager.ts"],"names":[],"mappings":"AAMA,UAAU,UAAU;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAWD,wBAAgB,UAAU,IAAI,UAAU,CAcvC;AAaD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIrD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAIpD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import envPaths from 'env-paths';
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
const paths = envPaths('awal');
|
|
5
|
+
const DEFAULT_CONFIG = {
|
|
6
|
+
persistence: true,
|
|
7
|
+
telemetryDisabled: false,
|
|
8
|
+
};
|
|
9
|
+
function getConfigPath() {
|
|
10
|
+
return path.join(paths.data, 'config.json');
|
|
11
|
+
}
|
|
12
|
+
export function readConfig() {
|
|
13
|
+
const configPath = getConfigPath();
|
|
14
|
+
try {
|
|
15
|
+
if (existsSync(configPath)) {
|
|
16
|
+
const data = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
17
|
+
return {
|
|
18
|
+
...DEFAULT_CONFIG,
|
|
19
|
+
...data,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Invalid config file, return defaults
|
|
25
|
+
}
|
|
26
|
+
return { ...DEFAULT_CONFIG };
|
|
27
|
+
}
|
|
28
|
+
function writeConfig(config) {
|
|
29
|
+
const configPath = getConfigPath();
|
|
30
|
+
const dir = path.dirname(configPath);
|
|
31
|
+
if (!existsSync(dir)) {
|
|
32
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
33
|
+
}
|
|
34
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', { mode: 0o600 });
|
|
35
|
+
}
|
|
36
|
+
export function setPersistence(enabled) {
|
|
37
|
+
const config = readConfig();
|
|
38
|
+
config.persistence = enabled;
|
|
39
|
+
writeConfig(config);
|
|
40
|
+
}
|
|
41
|
+
export function setTelemetry(disabled) {
|
|
42
|
+
const config = readConfig();
|
|
43
|
+
config.telemetryDisabled = disabled;
|
|
44
|
+
writeConfig(config);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=configManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/utils/configManager.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAO/B,MAAM,cAAc,GAAe;IACjC,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,KAAK;CACzB,CAAC;AAEF,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,OAAO;gBACL,GAAG,cAAc;gBACjB,GAAG,IAAI;aACR,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB;IACrC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAiB;IAC5C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpC,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -10,9 +10,14 @@ export declare class AuthRequiredError extends Error {
|
|
|
10
10
|
getDisplayMessage(): string;
|
|
11
11
|
}
|
|
12
12
|
export declare class IpcTimeoutError extends Error {
|
|
13
|
+
readonly channel: string;
|
|
13
14
|
constructor(channel: string, timeoutMs: number);
|
|
14
15
|
getDisplayMessage(): string;
|
|
15
16
|
}
|
|
17
|
+
export declare class WalletError extends Error {
|
|
18
|
+
constructor(message: string);
|
|
19
|
+
getDisplayMessage(): string;
|
|
20
|
+
}
|
|
16
21
|
export declare class IpcBridgeError extends Error {
|
|
17
22
|
constructor(message: string);
|
|
18
23
|
getDisplayMessage(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,qBAAsB,SAAQ,KAAK;;IAM9C,iBAAiB,IAAI,MAAM;CAO5B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,SAA4B;IAK/C,iBAAiB,IAAI,MAAM;CAW5B;AAED,qBAAa,eAAgB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,qBAAsB,SAAQ,KAAK;;IAM9C,iBAAiB,IAAI,MAAM;CAO5B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,SAA4B;IAK/C,iBAAiB,IAAI,MAAM;CAW5B;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM9C,iBAAiB,IAAI,MAAM;CAoB5B;AAED,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;IAK3B,iBAAiB,IAAI,MAAM;CAG5B;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;IAK3B,iBAAiB,IAAI,MAAM;CAK5B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAclD"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -32,11 +32,25 @@ Sign in using one of:
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
export class IpcTimeoutError extends Error {
|
|
35
|
+
channel;
|
|
35
36
|
constructor(channel, timeoutMs) {
|
|
36
37
|
super(`IPC timeout on channel "${channel}" after ${timeoutMs}ms`);
|
|
37
38
|
this.name = 'IpcTimeoutError';
|
|
39
|
+
this.channel = channel;
|
|
38
40
|
}
|
|
39
41
|
getDisplayMessage() {
|
|
42
|
+
// x402 payments settle server-side via the facilitator before the seller's
|
|
43
|
+
// response returns, so a timeout here can mean the USDC moved on chain even
|
|
44
|
+
// though awal didn't see a result. Restarting the wallet would mask, not
|
|
45
|
+
// resolve, that case — direct the user to check history first.
|
|
46
|
+
if (this.channel === 'make-x402-request') {
|
|
47
|
+
return `Request timed out. The payment may still have completed on chain.
|
|
48
|
+
|
|
49
|
+
Before retrying:
|
|
50
|
+
1. Open the wallet UI: npx awal show
|
|
51
|
+
2. Check transaction history for a settled payment matching this request
|
|
52
|
+
3. If the payment landed, the seller likely failed after settlement — do not retry`;
|
|
53
|
+
}
|
|
40
54
|
return `Request timed out. The wallet may be unresponsive.
|
|
41
55
|
|
|
42
56
|
Try:
|
|
@@ -44,6 +58,15 @@ Try:
|
|
|
44
58
|
2. Restart the wallet and try again`;
|
|
45
59
|
}
|
|
46
60
|
}
|
|
61
|
+
export class WalletError extends Error {
|
|
62
|
+
constructor(message) {
|
|
63
|
+
super(message);
|
|
64
|
+
this.name = 'WalletError';
|
|
65
|
+
}
|
|
66
|
+
getDisplayMessage() {
|
|
67
|
+
return this.message;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
47
70
|
export class IpcBridgeError extends Error {
|
|
48
71
|
constructor(message) {
|
|
49
72
|
super(message);
|
|
@@ -56,16 +79,11 @@ This may indicate a configuration issue. Try restarting the wallet.`;
|
|
|
56
79
|
}
|
|
57
80
|
}
|
|
58
81
|
export function formatError(error) {
|
|
59
|
-
if (error instanceof WalletNotRunningError
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
if (error instanceof IpcTimeoutError) {
|
|
66
|
-
return error.getDisplayMessage();
|
|
67
|
-
}
|
|
68
|
-
if (error instanceof IpcBridgeError) {
|
|
82
|
+
if (error instanceof WalletNotRunningError ||
|
|
83
|
+
error instanceof AuthRequiredError ||
|
|
84
|
+
error instanceof IpcTimeoutError ||
|
|
85
|
+
error instanceof WalletError ||
|
|
86
|
+
error instanceof IpcBridgeError) {
|
|
69
87
|
return error.getDisplayMessage();
|
|
70
88
|
}
|
|
71
89
|
if (error instanceof Error) {
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;IAED,iBAAiB;QACf,OAAO;;;;gBAIK,CAAC;IACf,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAO,GAAG,yBAAyB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;IAED,iBAAiB;QACf,OAAO;;;;;;;;mBAQQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;IAED,iBAAiB;QACf,OAAO;;;;gBAIK,CAAC;IACf,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAO,GAAG,yBAAyB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;IAED,iBAAiB;QACf,OAAO;;;;;;;;mBAQQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,OAAO,CAAS;IAEzB,YAAY,OAAe,EAAE,SAAiB;QAC5C,KAAK,CAAC,2BAA2B,OAAO,WAAW,SAAS,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,iBAAiB;QACf,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,+DAA+D;QAC/D,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;YACzC,OAAO;;;;;qFAKwE,CAAC;QAClF,CAAC;QAED,OAAO;;;;sCAI2B,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;IAED,iBAAiB;QACf,OAAO,+BAA+B,IAAI,CAAC,OAAO;;oEAEc,CAAC;IACnE,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IACE,KAAK,YAAY,qBAAqB;QACtC,KAAK,YAAY,iBAAiB;QAClC,KAAK,YAAY,eAAe;QAChC,KAAK,YAAY,WAAW;QAC5B,KAAK,YAAY,cAAc,EAC/B,CAAC;QACD,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,kBAAkB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Amount parsing utilities for CLI commands
|
|
2
|
+
* Amount parsing and formatting utilities for CLI commands
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Parses an amount string that can be in various formats:
|
|
@@ -11,4 +11,14 @@
|
|
|
11
11
|
* @returns Amount in USDC atomic units (6 decimals)
|
|
12
12
|
*/
|
|
13
13
|
export declare function parseUsdcAmount(amountStr: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Parse an amount string to atomic units for the given asset.
|
|
16
|
+
* USDC uses parseUsdcAmount (handles "$1.00" format).
|
|
17
|
+
* ETH/SOL use viem's parseUnits with their respective decimals.
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseAmountForAsset(amount: string, asset: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Format atomic units back to a human-readable string for the given asset.
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatAmount(atomicAmount: string, asset: string): string;
|
|
14
24
|
//# sourceMappingURL=parseAmount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseAmount.d.ts","sourceRoot":"","sources":["../../src/utils/parseAmount.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"parseAmount.d.ts","sourceRoot":"","sources":["../../src/utils/parseAmount.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqBzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxE"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Amount parsing utilities for CLI commands
|
|
2
|
+
* Amount parsing and formatting utilities for CLI commands
|
|
3
3
|
*/
|
|
4
|
+
import { parseUnits } from 'viem';
|
|
5
|
+
import { ASSET_DECIMALS } from '../constants.js';
|
|
6
|
+
import { formatUsdcAmount } from '../formatters/output.js';
|
|
4
7
|
/**
|
|
5
8
|
* Parses an amount string that can be in various formats:
|
|
6
9
|
* - "$0.01" or "$1.00" - Dollar format
|
|
@@ -28,4 +31,36 @@ export function parseUsdcAmount(amountStr) {
|
|
|
28
31
|
const atomicUnits = Math.floor(num * 1_000_000);
|
|
29
32
|
return atomicUnits.toString();
|
|
30
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Parse an amount string to atomic units for the given asset.
|
|
36
|
+
* USDC uses parseUsdcAmount (handles "$1.00" format).
|
|
37
|
+
* ETH/SOL use viem's parseUnits with their respective decimals.
|
|
38
|
+
*/
|
|
39
|
+
export function parseAmountForAsset(amount, asset) {
|
|
40
|
+
if (asset === 'USDC') {
|
|
41
|
+
return parseUsdcAmount(amount);
|
|
42
|
+
}
|
|
43
|
+
const decimals = ASSET_DECIMALS[asset];
|
|
44
|
+
if (!decimals) {
|
|
45
|
+
throw new Error(`Unsupported asset: ${asset}. Supported: USDC, ETH, POL, SOL`);
|
|
46
|
+
}
|
|
47
|
+
// Strip $ prefix if present
|
|
48
|
+
const cleaned = amount.replace(/^\$/, '').trim();
|
|
49
|
+
const num = parseFloat(cleaned);
|
|
50
|
+
if (isNaN(num) || num <= 0) {
|
|
51
|
+
throw new Error(`Invalid amount: ${amount}. Must be a positive number.`);
|
|
52
|
+
}
|
|
53
|
+
return parseUnits(cleaned, decimals).toString();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Format atomic units back to a human-readable string for the given asset.
|
|
57
|
+
*/
|
|
58
|
+
export function formatAmount(atomicAmount, asset) {
|
|
59
|
+
if (asset === 'USDC') {
|
|
60
|
+
return formatUsdcAmount(atomicAmount);
|
|
61
|
+
}
|
|
62
|
+
const decimals = ASSET_DECIMALS[asset] || 18;
|
|
63
|
+
const value = Number(atomicAmount) / 10 ** decimals;
|
|
64
|
+
return `${value} ${asset}`;
|
|
65
|
+
}
|
|
31
66
|
//# sourceMappingURL=parseAmount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseAmount.js","sourceRoot":"","sources":["../../src/utils/parseAmount.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,6BAA6B;IAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpD,kBAAkB;IAClB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,8BAA8B,CAAC,CAAC;IAC9E,CAAC;IAED,+EAA+E;IAC/E,4DAA4D;IAC5D,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACvC,iCAAiC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,iDAAiD;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAChD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"parseAmount.js","sourceRoot":"","sources":["../../src/utils/parseAmount.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,6BAA6B;IAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpD,kBAAkB;IAClB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,8BAA8B,CAAC,CAAC;IAC9E,CAAC;IAED,+EAA+E;IAC/E,4DAA4D;IAC5D,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACvC,iCAAiC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,iDAAiD;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAChD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,KAAa;IAC/D,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,kCAAkC,CAAC,CAAC;IACjF,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,YAAoB,EAAE,KAAa;IAC9D,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IACpD,OAAO,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { fileURLToPath } from 'url';
|
|
|
6
6
|
import { getPrimaryProcessPid } from './processCheck.js';
|
|
7
7
|
const paths = envPaths('awal');
|
|
8
8
|
// This will be updated by the build script
|
|
9
|
-
const BUNDLE_VERSION = '2.
|
|
9
|
+
const BUNDLE_VERSION = '2.8.1';
|
|
10
10
|
function getServerPaths() {
|
|
11
11
|
const dataDir = paths.data;
|
|
12
12
|
const bundleDir = path.join(dataDir, 'server');
|
package/package.json
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "awal",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Coinbase Wallet CLI for payments and crypto",
|
|
6
|
-
"bin":
|
|
7
|
-
"awal": "dist/index.js"
|
|
8
|
-
},
|
|
6
|
+
"bin": "dist/index.js",
|
|
9
7
|
"files": [
|
|
10
8
|
"dist/",
|
|
11
9
|
"server-bundle/"
|
|
@@ -15,8 +13,9 @@
|
|
|
15
13
|
"dev": "tsx src/index.ts",
|
|
16
14
|
"start": "node dist/index.js",
|
|
17
15
|
"typecheck": "tsc --noEmit",
|
|
18
|
-
"lint": "eslint src --ext .ts",
|
|
19
|
-
"format": "prettier --write src/**/*.ts"
|
|
16
|
+
"lint": "eslint -c .eslintrc.cjs src --ext .ts",
|
|
17
|
+
"format": "prettier --write src/**/*.ts",
|
|
18
|
+
"test": "jest --config jest.config.cjs"
|
|
20
19
|
},
|
|
21
20
|
"dependencies": {
|
|
22
21
|
"@x402/core": "^2.4.0",
|
|
@@ -29,7 +28,17 @@
|
|
|
29
28
|
"zod": "^3.23.8"
|
|
30
29
|
},
|
|
31
30
|
"devDependencies": {
|
|
31
|
+
"@babel/core": "^7.24.0",
|
|
32
|
+
"@babel/preset-env": "^7.24.0",
|
|
33
|
+
"@babel/preset-typescript": "^7.24.0",
|
|
34
|
+
"@cbhq/jest-preset": "*",
|
|
35
|
+
"@types/jest": "^29.5.0",
|
|
32
36
|
"@types/node": "^20.17.57",
|
|
37
|
+
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
38
|
+
"@typescript-eslint/parser": "^7.18.0",
|
|
39
|
+
"babel-jest": "^29.7.0",
|
|
40
|
+
"eslint": "^8.57.1",
|
|
41
|
+
"jest": "^29.5.0",
|
|
33
42
|
"tsx": "^4.20.3",
|
|
34
43
|
"typescript": "5.8.3"
|
|
35
44
|
},
|