@palmyr/cli 1.5.6 → 1.7.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/README.md +39 -4
- package/dist/app.d.ts +3 -0
- package/dist/app.js +1 -0
- package/dist/app.js.map +1 -1
- package/dist/cli.js +760 -45
- package/dist/cli.js.map +1 -1
- package/dist/credential-store.d.ts +4 -0
- package/dist/credential-store.js +56 -1
- package/dist/credential-store.js.map +1 -1
- package/dist/pay.js +36 -6
- package/dist/pay.js.map +1 -1
- package/dist/sdk.d.ts +34 -1
- package/dist/sdk.js +60 -2
- package/dist/sdk.js.map +1 -1
- package/dist/vault.d.ts +49 -2
- package/dist/vault.js +241 -68
- package/dist/vault.js.map +1 -1
- package/package.json +1 -1
package/dist/vault.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export interface VaultWalletSummary {
|
|
|
6
6
|
solanaAddress: string | null;
|
|
7
7
|
evmAddress: string | null;
|
|
8
8
|
createdAt: string;
|
|
9
|
+
tag: string | null;
|
|
10
|
+
chains: string[];
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
11
13
|
* List all wallets in the local vault.
|
|
@@ -37,6 +39,9 @@ interface AccountInfo {
|
|
|
37
39
|
address: string;
|
|
38
40
|
derivationPath: string;
|
|
39
41
|
}
|
|
42
|
+
export declare function validateTag(tag: string): string;
|
|
43
|
+
export type ChainName = 'solana' | 'base';
|
|
44
|
+
export declare function normalizeChains(chains: string[] | undefined): ChainName[];
|
|
40
45
|
export interface LocalWalletResult {
|
|
41
46
|
id: string;
|
|
42
47
|
name: string;
|
|
@@ -46,16 +51,58 @@ export interface LocalWalletResult {
|
|
|
46
51
|
evmAddress: string | null;
|
|
47
52
|
accounts: AccountInfo[];
|
|
48
53
|
createdAt: string;
|
|
54
|
+
tag: string | null;
|
|
55
|
+
chains: ChainName[];
|
|
56
|
+
}
|
|
57
|
+
export interface CreateWalletOpts {
|
|
58
|
+
tag?: string;
|
|
59
|
+
chains?: ChainName[];
|
|
49
60
|
}
|
|
50
61
|
/**
|
|
51
62
|
* Create a wallet locally — no server needed.
|
|
52
63
|
* The session secret must be stored in the OS credential store by the caller.
|
|
53
64
|
*/
|
|
54
|
-
export declare function createLocalWallet(name: string, mode?: 'unmanaged' | 'managed'): LocalWalletResult;
|
|
65
|
+
export declare function createLocalWallet(name: string, mode?: 'unmanaged' | 'managed', opts?: CreateWalletOpts): LocalWalletResult;
|
|
55
66
|
/**
|
|
56
67
|
* Import a wallet from mnemonic locally — no server needed.
|
|
57
68
|
*/
|
|
58
|
-
export declare function importLocalWallet(name: string, mnemonic: string, mode?: 'unmanaged' | 'managed'): LocalWalletResult;
|
|
69
|
+
export declare function importLocalWallet(name: string, mnemonic: string, mode?: 'unmanaged' | 'managed', opts?: CreateWalletOpts): LocalWalletResult;
|
|
70
|
+
/**
|
|
71
|
+
* Bulk-create N wallets sharing one tag. Caller is responsible for storing
|
|
72
|
+
* `sessionSecret` for every returned wallet in the OS credential store —
|
|
73
|
+
* `storeSecretsBatch` exists precisely so this can be one DPAPI call on Windows.
|
|
74
|
+
*
|
|
75
|
+
* Names are `${prefix}-{padded-index}` starting at 1. Throws up front if any
|
|
76
|
+
* generated name would collide with an existing vault wallet so we never
|
|
77
|
+
* write a partial batch (the loop is otherwise transactional file-by-file
|
|
78
|
+
* but we'd rather fail before key material exists on disk than mid-flight).
|
|
79
|
+
*/
|
|
80
|
+
export declare function createLocalWalletsBatch(prefix: string, count: number, mode?: 'unmanaged' | 'managed', opts?: CreateWalletOpts): LocalWalletResult[];
|
|
81
|
+
/**
|
|
82
|
+
* Delete a wallet's JSON file from the vault. Returns the wallet id+name so
|
|
83
|
+
* the caller can also clear the OS credential store secret keyed by id.
|
|
84
|
+
*/
|
|
85
|
+
export declare function deleteLocalWallet(walletId: string): {
|
|
86
|
+
id: string;
|
|
87
|
+
name: string;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Assign, change, or clear a wallet's tag. Pass `null` to remove the tag.
|
|
91
|
+
*/
|
|
92
|
+
export declare function tagWallet(walletId: string, tag: string | null): {
|
|
93
|
+
id: string;
|
|
94
|
+
name: string;
|
|
95
|
+
tag: string | null;
|
|
96
|
+
};
|
|
97
|
+
export interface TagSummary {
|
|
98
|
+
name: string;
|
|
99
|
+
count: number;
|
|
100
|
+
chains: string[];
|
|
101
|
+
firstCreatedAt: string;
|
|
102
|
+
lastCreatedAt: string;
|
|
103
|
+
}
|
|
104
|
+
export declare function listTags(): TagSummary[];
|
|
105
|
+
export declare function walletsByTag(tag: string): VaultWalletSummary[];
|
|
59
106
|
/**
|
|
60
107
|
* Export the mnemonic for a wallet. Requires the session secret
|
|
61
108
|
* (from OS credential store). This is the single decryption path —
|
package/dist/vault.js
CHANGED
|
@@ -178,15 +178,29 @@ export function listVaultWallets() {
|
|
|
178
178
|
let evm = data.accounts.find(a => a.chainId?.startsWith('eip155:'))?.address || null;
|
|
179
179
|
// Legacy wallets predate EVM-account storage. Fall back to deriving
|
|
180
180
|
// from the same mnemonic, then persist the result so the next read
|
|
181
|
-
// finds it in `accounts` directly.
|
|
182
|
-
|
|
181
|
+
// finds it in `accounts` directly. Wallets with an explicit `chains`
|
|
182
|
+
// array that excludes base opt out of this backfill — they were
|
|
183
|
+
// intentionally created solana-only.
|
|
184
|
+
const chainsField = Array.isArray(data.chains) ? data.chains : null;
|
|
185
|
+
const baseOptedOut = chainsField !== null && !chainsField.includes('base');
|
|
186
|
+
if (!evm && !baseOptedOut) {
|
|
183
187
|
const derived = deriveEvmFromVaultFile(data);
|
|
184
188
|
if (derived) {
|
|
185
189
|
evm = derived;
|
|
186
190
|
persistEvmAccount(filePath, derived);
|
|
187
191
|
}
|
|
188
192
|
}
|
|
189
|
-
|
|
193
|
+
const chains = chainsField ?? [...(sol ? ['solana'] : []), ...(evm ? ['base'] : [])];
|
|
194
|
+
wallets.push({
|
|
195
|
+
id: data.id,
|
|
196
|
+
name: data.name,
|
|
197
|
+
mode: data.mode || 'legacy',
|
|
198
|
+
solanaAddress: sol,
|
|
199
|
+
evmAddress: evm,
|
|
200
|
+
createdAt: data.created_at,
|
|
201
|
+
tag: data.tag || null,
|
|
202
|
+
chains,
|
|
203
|
+
});
|
|
190
204
|
}
|
|
191
205
|
catch (e) {
|
|
192
206
|
console.warn(`[vault] skipping ${f}: ${e.message.split('\n')[0]}`);
|
|
@@ -257,6 +271,33 @@ function validateName(name) {
|
|
|
257
271
|
}
|
|
258
272
|
return trimmed;
|
|
259
273
|
}
|
|
274
|
+
const SAFE_TAG_RE = /^[a-zA-Z0-9][a-zA-Z0-9\-\._]{0,63}$/;
|
|
275
|
+
export function validateTag(tag) {
|
|
276
|
+
if (!tag || typeof tag !== 'string')
|
|
277
|
+
throw new Error('Tag is required');
|
|
278
|
+
const trimmed = tag.trim();
|
|
279
|
+
if (!SAFE_TAG_RE.test(trimmed)) {
|
|
280
|
+
throw new Error(`Invalid tag: must be 1-64 chars, alphanumeric/hyphens/dots/underscores, must start with alphanumeric. Got: "${trimmed.slice(0, 30)}"`);
|
|
281
|
+
}
|
|
282
|
+
return trimmed;
|
|
283
|
+
}
|
|
284
|
+
export function normalizeChains(chains) {
|
|
285
|
+
if (!chains || chains.length === 0)
|
|
286
|
+
return ['solana', 'base'];
|
|
287
|
+
const out = new Set();
|
|
288
|
+
for (const c of chains) {
|
|
289
|
+
const lc = c.toLowerCase();
|
|
290
|
+
if (lc === 'solana')
|
|
291
|
+
out.add('solana');
|
|
292
|
+
else if (lc === 'base' || lc === 'evm' || lc === 'ethereum')
|
|
293
|
+
out.add('base');
|
|
294
|
+
else
|
|
295
|
+
throw new Error(`Unsupported chain: ${c}. Try: solana, base`);
|
|
296
|
+
}
|
|
297
|
+
if (out.size === 0)
|
|
298
|
+
throw new Error('At least one chain is required');
|
|
299
|
+
return Array.from(out);
|
|
300
|
+
}
|
|
260
301
|
function atomicWriteFileSync(filePath, data) {
|
|
261
302
|
const tmpPath = filePath + `.tmp.${process.pid}`;
|
|
262
303
|
writeFileSync(tmpPath, data);
|
|
@@ -349,59 +390,59 @@ function loadEthers() {
|
|
|
349
390
|
return { __loadError: e instanceof Error ? e : new Error(String(e)) };
|
|
350
391
|
}
|
|
351
392
|
}
|
|
352
|
-
function deriveAllAccounts(mnemonic) {
|
|
393
|
+
function deriveAllAccounts(mnemonic, chains = ['solana', 'base']) {
|
|
353
394
|
const accounts = [];
|
|
354
395
|
const seed = bip39.mnemonicToSeedSync(mnemonic);
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
// throws, that's an environment problem — surface it loudly rather than
|
|
367
|
-
// silently producing a partial account list. A partial list cascades into
|
|
368
|
-
// verifyIntegrity()'s "Chain eip155:1 present in file but not derivable
|
|
369
|
-
// from mnemonic" error, which gets reported as `SECURITY: wallet file
|
|
370
|
-
// integrity check failed` and makes the user think their wallet was
|
|
371
|
-
// tampered with. (Issue: 2026-05-05 user feedback after upgrade from
|
|
372
|
-
// 0.7.17 → 0.7.20.)
|
|
373
|
-
const ethersMod = loadEthers();
|
|
374
|
-
if (ethersMod.__loadError) {
|
|
375
|
-
throw new Error(`Could not load 'ethers'. Reinstall the CLI: 'npm i -g @palmyr/cli@latest'. ` +
|
|
376
|
-
`Underlying error: ${ethersMod.__loadError.message}`);
|
|
377
|
-
}
|
|
378
|
-
try {
|
|
379
|
-
const hd = ethersMod.ethers.HDNodeWallet.fromPhrase(mnemonic, undefined, "m/44'/60'/0'/0/0");
|
|
380
|
-
accounts.push({
|
|
381
|
-
chainId: 'eip155:1',
|
|
382
|
-
address: hd.address,
|
|
383
|
-
derivationPath: "m/44'/60'/0'/0/0",
|
|
384
|
-
});
|
|
396
|
+
if (chains.includes('solana')) {
|
|
397
|
+
try {
|
|
398
|
+
const derived = derivePath("m/44'/501'/0'/0'", seed.toString('hex'));
|
|
399
|
+
const kp = Keypair.fromSeed(derived.key);
|
|
400
|
+
accounts.push({
|
|
401
|
+
chainId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
|
|
402
|
+
address: kp.publicKey.toBase58(),
|
|
403
|
+
derivationPath: "m/44'/501'/0'/0'",
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
catch { }
|
|
385
407
|
}
|
|
386
|
-
|
|
387
|
-
// ethers
|
|
388
|
-
//
|
|
389
|
-
//
|
|
390
|
-
|
|
408
|
+
if (chains.includes('base')) {
|
|
409
|
+
// ethers MUST be present (it's a declared dependency). If `require('ethers')`
|
|
410
|
+
// throws, that's an environment problem — surface it loudly rather than
|
|
411
|
+
// silently producing a partial account list. A partial list cascades into
|
|
412
|
+
// verifyIntegrity()'s "Chain eip155:1 present in file but not derivable
|
|
413
|
+
// from mnemonic" error, which gets reported as `SECURITY: wallet file
|
|
414
|
+
// integrity check failed` and makes the user think their wallet was
|
|
415
|
+
// tampered with. (Issue: 2026-05-05 user feedback after upgrade from
|
|
416
|
+
// 0.7.17 → 0.7.20.)
|
|
417
|
+
const ethersMod = loadEthers();
|
|
418
|
+
if (ethersMod.__loadError) {
|
|
419
|
+
throw new Error(`Could not load 'ethers'. Reinstall the CLI: 'npm i -g @palmyr/cli@latest'. ` +
|
|
420
|
+
`Underlying error: ${ethersMod.__loadError.message}`);
|
|
421
|
+
}
|
|
422
|
+
try {
|
|
423
|
+
const hd = ethersMod.ethers.HDNodeWallet.fromPhrase(mnemonic, undefined, "m/44'/60'/0'/0/0");
|
|
424
|
+
accounts.push({
|
|
425
|
+
chainId: 'eip155:1',
|
|
426
|
+
address: hd.address,
|
|
427
|
+
derivationPath: "m/44'/60'/0'/0/0",
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
catch (e) {
|
|
431
|
+
// ethers loaded but derivation threw. Truly anomalous — re-raise so the
|
|
432
|
+
// integrity check sees a hard failure rather than a missing-account
|
|
433
|
+
// false-positive.
|
|
434
|
+
throw new Error(`EVM (eip155:1) account derivation failed: ${e?.message || e}`);
|
|
435
|
+
}
|
|
391
436
|
}
|
|
392
437
|
return accounts;
|
|
393
438
|
}
|
|
394
|
-
|
|
395
|
-
* Create a wallet locally — no server needed.
|
|
396
|
-
* The session secret must be stored in the OS credential store by the caller.
|
|
397
|
-
*/
|
|
398
|
-
export function createLocalWallet(name, mode = 'unmanaged') {
|
|
439
|
+
function buildWallet(name, mode, mnemonic, opts) {
|
|
399
440
|
const safeName = validateName(name);
|
|
400
|
-
|
|
401
|
-
const
|
|
441
|
+
const safeTag = opts.tag === undefined ? undefined : validateTag(opts.tag);
|
|
442
|
+
const chains = normalizeChains(opts.chains);
|
|
402
443
|
const id = randomBytes(16).toString('hex');
|
|
403
444
|
const sessionSecret = randomBytes(32).toString('hex');
|
|
404
|
-
const accounts = deriveAllAccounts(mnemonic);
|
|
445
|
+
const accounts = deriveAllAccounts(mnemonic, chains);
|
|
405
446
|
const file = {
|
|
406
447
|
id,
|
|
407
448
|
name: safeName,
|
|
@@ -410,38 +451,170 @@ export function createLocalWallet(name, mode = 'unmanaged') {
|
|
|
410
451
|
session_crypto: encryptWithRawKey(mnemonic, sessionSecret),
|
|
411
452
|
key_type: 'mnemonic',
|
|
412
453
|
created_at: new Date().toISOString(),
|
|
454
|
+
chains,
|
|
455
|
+
...(safeTag ? { tag: safeTag } : {}),
|
|
413
456
|
};
|
|
414
|
-
const fpath = join(getVaultDir(), 'wallets', `${id}.json`);
|
|
415
|
-
withLock(fpath, () => atomicWriteFileSync(fpath, JSON.stringify(file, null, 2)));
|
|
416
457
|
const sol = accounts.find(a => a.chainId.startsWith('solana:'))?.address || null;
|
|
417
458
|
const evm = accounts.find(a => a.chainId.startsWith('eip155:'))?.address || null;
|
|
418
|
-
|
|
459
|
+
const result = {
|
|
460
|
+
id,
|
|
461
|
+
name: safeName,
|
|
462
|
+
mode,
|
|
463
|
+
sessionSecret,
|
|
464
|
+
solanaAddress: sol,
|
|
465
|
+
evmAddress: evm,
|
|
466
|
+
accounts,
|
|
467
|
+
createdAt: file.created_at,
|
|
468
|
+
tag: safeTag ?? null,
|
|
469
|
+
chains,
|
|
470
|
+
};
|
|
471
|
+
return { file, result };
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Create a wallet locally — no server needed.
|
|
475
|
+
* The session secret must be stored in the OS credential store by the caller.
|
|
476
|
+
*/
|
|
477
|
+
export function createLocalWallet(name, mode = 'unmanaged', opts = {}) {
|
|
478
|
+
ensureVaultDirs();
|
|
479
|
+
const mnemonic = bip39.generateMnemonic(128);
|
|
480
|
+
const { file, result } = buildWallet(name, mode, mnemonic, opts);
|
|
481
|
+
const fpath = join(getVaultDir(), 'wallets', `${file.id}.json`);
|
|
482
|
+
withLock(fpath, () => atomicWriteFileSync(fpath, JSON.stringify(file, null, 2)));
|
|
483
|
+
return result;
|
|
419
484
|
}
|
|
420
485
|
/**
|
|
421
486
|
* Import a wallet from mnemonic locally — no server needed.
|
|
422
487
|
*/
|
|
423
|
-
export function importLocalWallet(name, mnemonic, mode = 'unmanaged') {
|
|
424
|
-
const safeName = validateName(name);
|
|
488
|
+
export function importLocalWallet(name, mnemonic, mode = 'unmanaged', opts = {}) {
|
|
425
489
|
if (!bip39.validateMnemonic(mnemonic))
|
|
426
490
|
throw new Error('Invalid mnemonic');
|
|
427
491
|
ensureVaultDirs();
|
|
428
|
-
const
|
|
429
|
-
const
|
|
430
|
-
const accounts = deriveAllAccounts(mnemonic);
|
|
431
|
-
const file = {
|
|
432
|
-
id,
|
|
433
|
-
name: safeName,
|
|
434
|
-
mode,
|
|
435
|
-
accounts,
|
|
436
|
-
session_crypto: encryptWithRawKey(mnemonic, sessionSecret),
|
|
437
|
-
key_type: 'mnemonic',
|
|
438
|
-
created_at: new Date().toISOString(),
|
|
439
|
-
};
|
|
440
|
-
const fpath = join(getVaultDir(), 'wallets', `${id}.json`);
|
|
492
|
+
const { file, result } = buildWallet(name, mode, mnemonic, opts);
|
|
493
|
+
const fpath = join(getVaultDir(), 'wallets', `${file.id}.json`);
|
|
441
494
|
withLock(fpath, () => atomicWriteFileSync(fpath, JSON.stringify(file, null, 2)));
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
495
|
+
return result;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Bulk-create N wallets sharing one tag. Caller is responsible for storing
|
|
499
|
+
* `sessionSecret` for every returned wallet in the OS credential store —
|
|
500
|
+
* `storeSecretsBatch` exists precisely so this can be one DPAPI call on Windows.
|
|
501
|
+
*
|
|
502
|
+
* Names are `${prefix}-{padded-index}` starting at 1. Throws up front if any
|
|
503
|
+
* generated name would collide with an existing vault wallet so we never
|
|
504
|
+
* write a partial batch (the loop is otherwise transactional file-by-file
|
|
505
|
+
* but we'd rather fail before key material exists on disk than mid-flight).
|
|
506
|
+
*/
|
|
507
|
+
export function createLocalWalletsBatch(prefix, count, mode = 'unmanaged', opts = {}) {
|
|
508
|
+
if (!Number.isInteger(count) || count < 1)
|
|
509
|
+
throw new Error('count must be a positive integer');
|
|
510
|
+
if (count > 500)
|
|
511
|
+
throw new Error('count must be ≤ 500 per call');
|
|
512
|
+
const safePrefix = validateName(prefix);
|
|
513
|
+
ensureVaultDirs();
|
|
514
|
+
const width = String(count).length;
|
|
515
|
+
const names = [];
|
|
516
|
+
for (let i = 1; i <= count; i++)
|
|
517
|
+
names.push(`${safePrefix}-${String(i).padStart(width, '0')}`);
|
|
518
|
+
// Collision check against existing vault wallets — fail before writing anything.
|
|
519
|
+
const existing = new Set(listVaultWallets().map(w => w.name));
|
|
520
|
+
const collisions = names.filter(n => existing.has(n));
|
|
521
|
+
if (collisions.length > 0) {
|
|
522
|
+
const shown = collisions.slice(0, 5).join(', ');
|
|
523
|
+
const more = collisions.length > 5 ? `, +${collisions.length - 5} more` : '';
|
|
524
|
+
throw new Error(`Name collisions in vault: ${shown}${more}. Pick a different --name-prefix.`);
|
|
525
|
+
}
|
|
526
|
+
const dir = join(getVaultDir(), 'wallets');
|
|
527
|
+
const results = [];
|
|
528
|
+
for (let i = 0; i < count; i++) {
|
|
529
|
+
const mnemonic = bip39.generateMnemonic(128);
|
|
530
|
+
const { file, result } = buildWallet(names[i], mode, mnemonic, opts);
|
|
531
|
+
const fpath = join(dir, `${file.id}.json`);
|
|
532
|
+
withLock(fpath, () => atomicWriteFileSync(fpath, JSON.stringify(file, null, 2)));
|
|
533
|
+
results.push(result);
|
|
534
|
+
}
|
|
535
|
+
return results;
|
|
536
|
+
}
|
|
537
|
+
function findWalletFile(walletId) {
|
|
538
|
+
const dir = join(getVaultDir(), 'wallets');
|
|
539
|
+
if (!existsSync(dir))
|
|
540
|
+
return null;
|
|
541
|
+
for (const f of readdirSync(dir).filter(x => x.endsWith('.json'))) {
|
|
542
|
+
const fpath = join(dir, f);
|
|
543
|
+
try {
|
|
544
|
+
const data = JSON.parse(readFileSync(fpath, 'utf8'));
|
|
545
|
+
if (data.id === walletId || data.name === walletId)
|
|
546
|
+
return { path: fpath, data };
|
|
547
|
+
}
|
|
548
|
+
catch { }
|
|
549
|
+
}
|
|
550
|
+
return null;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Delete a wallet's JSON file from the vault. Returns the wallet id+name so
|
|
554
|
+
* the caller can also clear the OS credential store secret keyed by id.
|
|
555
|
+
*/
|
|
556
|
+
export function deleteLocalWallet(walletId) {
|
|
557
|
+
const hit = findWalletFile(walletId);
|
|
558
|
+
if (!hit)
|
|
559
|
+
throw new Error(`Wallet "${walletId}" not found`);
|
|
560
|
+
withLock(hit.path, () => { try {
|
|
561
|
+
unlinkSync(hit.path);
|
|
562
|
+
}
|
|
563
|
+
catch { } });
|
|
564
|
+
return { id: hit.data.id, name: hit.data.name };
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Assign, change, or clear a wallet's tag. Pass `null` to remove the tag.
|
|
568
|
+
*/
|
|
569
|
+
export function tagWallet(walletId, tag) {
|
|
570
|
+
const hit = findWalletFile(walletId);
|
|
571
|
+
if (!hit)
|
|
572
|
+
throw new Error(`Wallet "${walletId}" not found`);
|
|
573
|
+
withLock(hit.path, () => {
|
|
574
|
+
// Re-read inside the lock to merge with any concurrent backfill (e.g. EVM
|
|
575
|
+
// backfill from listVaultWallets).
|
|
576
|
+
const fresh = JSON.parse(readFileSync(hit.path, 'utf8'));
|
|
577
|
+
if (tag === null) {
|
|
578
|
+
delete fresh.tag;
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
fresh.tag = validateTag(tag);
|
|
582
|
+
}
|
|
583
|
+
atomicWriteFileSync(hit.path, JSON.stringify(fresh, null, 2));
|
|
584
|
+
});
|
|
585
|
+
return { id: hit.data.id, name: hit.data.name, tag: tag === null ? null : validateTag(tag) };
|
|
586
|
+
}
|
|
587
|
+
export function listTags() {
|
|
588
|
+
const wallets = listVaultWallets();
|
|
589
|
+
const byTag = new Map();
|
|
590
|
+
for (const w of wallets) {
|
|
591
|
+
if (!w.tag)
|
|
592
|
+
continue;
|
|
593
|
+
if (!byTag.has(w.tag))
|
|
594
|
+
byTag.set(w.tag, []);
|
|
595
|
+
byTag.get(w.tag).push(w);
|
|
596
|
+
}
|
|
597
|
+
const tags = [];
|
|
598
|
+
for (const [name, ws] of byTag) {
|
|
599
|
+
const chainsSet = new Set();
|
|
600
|
+
for (const w of ws)
|
|
601
|
+
for (const c of w.chains)
|
|
602
|
+
chainsSet.add(c);
|
|
603
|
+
const sortedDates = ws.map(w => w.createdAt).sort();
|
|
604
|
+
tags.push({
|
|
605
|
+
name,
|
|
606
|
+
count: ws.length,
|
|
607
|
+
chains: Array.from(chainsSet).sort(),
|
|
608
|
+
firstCreatedAt: sortedDates[0],
|
|
609
|
+
lastCreatedAt: sortedDates[sortedDates.length - 1],
|
|
610
|
+
});
|
|
611
|
+
}
|
|
612
|
+
tags.sort((a, b) => a.name.localeCompare(b.name));
|
|
613
|
+
return tags;
|
|
614
|
+
}
|
|
615
|
+
export function walletsByTag(tag) {
|
|
616
|
+
const validated = validateTag(tag);
|
|
617
|
+
return listVaultWallets().filter(w => w.tag === validated);
|
|
445
618
|
}
|
|
446
619
|
/**
|
|
447
620
|
* Export the mnemonic for a wallet. Requires the session secret
|
package/dist/vault.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../vault.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../vault.ts"],"names":[],"mappings":"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"}
|