awal 2.8.1 → 2.8.2
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 +27 -6
- package/dist/commands/address.js.map +1 -1
- package/dist/utils/errors.d.ts +4 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +15 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/serverManager.js +1 -1
- package/package.json +1 -1
- package/server-bundle/bundle-electron.js +21 -21
- package/server-bundle/package.json +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;AAYpC,wBAAgB,oBAAoB,IAAI,OAAO,CA6D9C"}
|
package/dist/commands/address.js
CHANGED
|
@@ -2,8 +2,7 @@ import { Command } from 'commander';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import ora from 'ora';
|
|
4
4
|
import { sendIpcRequest } from '../ipcClient.js';
|
|
5
|
-
import {
|
|
6
|
-
import { formatError } from '../utils/errors.js';
|
|
5
|
+
import { AuthRequiredError, formatError, WalletRefreshingError } from '../utils/errors.js';
|
|
7
6
|
import { formatJson } from '../formatters/output.js';
|
|
8
7
|
export function createAddressCommand() {
|
|
9
8
|
return new Command('address')
|
|
@@ -13,13 +12,26 @@ export function createAddressCommand() {
|
|
|
13
12
|
.action(async (options) => {
|
|
14
13
|
const spinner = ora('Fetching wallet address...').start();
|
|
15
14
|
try {
|
|
16
|
-
// Check authentication first
|
|
17
|
-
await requireAuth();
|
|
18
15
|
const data = {};
|
|
19
16
|
if (options.chain) {
|
|
20
17
|
data.chain = options.chain;
|
|
21
18
|
}
|
|
22
|
-
|
|
19
|
+
let result;
|
|
20
|
+
try {
|
|
21
|
+
result = await sendIpcRequest('get-wallet-address', data);
|
|
22
|
+
}
|
|
23
|
+
catch (firstError) {
|
|
24
|
+
const firstMsg = firstError instanceof Error ? firstError.message : '';
|
|
25
|
+
if (firstMsg.includes('refreshing'))
|
|
26
|
+
throw firstError;
|
|
27
|
+
// First call may fail while the SDK warms up — retry once
|
|
28
|
+
try {
|
|
29
|
+
result = await sendIpcRequest('get-wallet-address', data);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
throw firstError;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
23
35
|
spinner.stop();
|
|
24
36
|
const isMulti = typeof result === 'object' && result !== null && 'evm' in result && 'solana' in result;
|
|
25
37
|
if (options.json) {
|
|
@@ -42,7 +54,16 @@ export function createAddressCommand() {
|
|
|
42
54
|
}
|
|
43
55
|
catch (error) {
|
|
44
56
|
spinner.fail('Failed to fetch address');
|
|
45
|
-
|
|
57
|
+
const msg = error instanceof Error ? error.message : '';
|
|
58
|
+
if (msg.includes('refreshing')) {
|
|
59
|
+
console.error(chalk.yellow(formatError(new WalletRefreshingError())));
|
|
60
|
+
}
|
|
61
|
+
else if (msg.includes('not signed in') || msg.includes('Authentication required')) {
|
|
62
|
+
console.error(chalk.red(formatError(new AuthRequiredError())));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.error(chalk.red(formatError(error)));
|
|
66
|
+
}
|
|
46
67
|
process.exit(1);
|
|
47
68
|
}
|
|
48
69
|
});
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/commands/address.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ export declare class AuthRequiredError extends Error {
|
|
|
9
9
|
constructor(message?: string);
|
|
10
10
|
getDisplayMessage(): string;
|
|
11
11
|
}
|
|
12
|
+
export declare class WalletRefreshingError extends Error {
|
|
13
|
+
constructor();
|
|
14
|
+
getDisplayMessage(): string;
|
|
15
|
+
}
|
|
12
16
|
export declare class IpcTimeoutError extends Error {
|
|
13
17
|
readonly channel: string;
|
|
14
18
|
constructor(channel: string, timeoutMs: number);
|
|
@@ -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;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,
|
|
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,qBAAsB,SAAQ,KAAK;;IAM9C,iBAAiB,IAAI,MAAM;CAQ5B;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,CAelD"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -31,6 +31,20 @@ Sign in using one of:
|
|
|
31
31
|
npx awal show`;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
export class WalletRefreshingError extends Error {
|
|
35
|
+
constructor() {
|
|
36
|
+
super('Wallet is still refreshing');
|
|
37
|
+
this.name = 'WalletRefreshingError';
|
|
38
|
+
}
|
|
39
|
+
getDisplayMessage() {
|
|
40
|
+
return `Wallet session is valid, but still loading.
|
|
41
|
+
|
|
42
|
+
Try:
|
|
43
|
+
1. Wait a few seconds and retry the command
|
|
44
|
+
2. Open the wallet UI to check status:
|
|
45
|
+
npx awal show`;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
34
48
|
export class IpcTimeoutError extends Error {
|
|
35
49
|
channel;
|
|
36
50
|
constructor(channel, timeoutMs) {
|
|
@@ -81,6 +95,7 @@ This may indicate a configuration issue. Try restarting the wallet.`;
|
|
|
81
95
|
export function formatError(error) {
|
|
82
96
|
if (error instanceof WalletNotRunningError ||
|
|
83
97
|
error instanceof AuthRequiredError ||
|
|
98
|
+
error instanceof WalletRefreshingError ||
|
|
84
99
|
error instanceof IpcTimeoutError ||
|
|
85
100
|
error instanceof WalletError ||
|
|
86
101
|
error instanceof IpcBridgeError) {
|
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;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
|
+
{"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,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;IAED,iBAAiB;QACf,OAAO;;;;;mBAKQ,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,qBAAqB;QACtC,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"}
|
|
@@ -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.8.
|
|
9
|
+
const BUNDLE_VERSION = '2.8.2';
|
|
10
10
|
function getServerPaths() {
|
|
11
11
|
const dataDir = paths.data;
|
|
12
12
|
const bundleDir = path.join(dataDir, 'server');
|