hodl-wallet 2.0.4 → 2.0.6
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 +79 -2
- package/dist/agent-cli.js +75 -0
- package/dist/agent-cli.js.map +1 -1
- package/dist/agent-errors.d.ts +1 -1
- package/dist/agent-errors.js.map +1 -1
- package/dist/index.js +148 -82
- package/dist/index.js.map +1 -1
- package/dist/network/arb.d.ts +1 -0
- package/dist/network/arb.js +2 -1
- package/dist/network/arb.js.map +1 -1
- package/dist/network/avax.d.ts +1 -0
- package/dist/network/avax.js +2 -1
- package/dist/network/avax.js.map +1 -1
- package/dist/network/bsc.d.ts +1 -0
- package/dist/network/bsc.js +2 -1
- package/dist/network/bsc.js.map +1 -1
- package/dist/network/eth.d.ts +1 -0
- package/dist/network/eth.js +2 -1
- package/dist/network/eth.js.map +1 -1
- package/dist/network/ftm.d.ts +1 -0
- package/dist/network/ftm.js +2 -1
- package/dist/network/ftm.js.map +1 -1
- package/dist/network/hyperliquid.d.ts +1 -0
- package/dist/network/hyperliquid.js +2 -1
- package/dist/network/hyperliquid.js.map +1 -1
- package/dist/network/lib/BitcoinNetwork.d.ts +2 -0
- package/dist/network/lib/BitcoinNetwork.js +23 -15
- package/dist/network/lib/BitcoinNetwork.js.map +1 -1
- package/dist/network/lib/Web3Network.js +14 -2
- package/dist/network/lib/Web3Network.js.map +1 -1
- package/dist/network/op.d.ts +1 -0
- package/dist/network/op.js +2 -1
- package/dist/network/op.js.map +1 -1
- package/dist/network/pol.d.ts +1 -0
- package/dist/network/pol.js +2 -1
- package/dist/network/pol.js.map +1 -1
- package/dist/network/types.d.ts +1 -0
- package/dist/network-registry.d.ts +1 -0
- package/dist/network-registry.js +3 -0
- package/dist/network-registry.js.map +1 -1
- package/dist/persist.d.ts +2 -0
- package/dist/persist.js +21 -0
- package/dist/persist.js.map +1 -1
- package/dist/profile-lock.d.ts +4 -0
- package/dist/profile-lock.js +9 -1
- package/dist/profile-lock.js.map +1 -1
- package/dist/swap/bitcoin.d.ts +34 -0
- package/dist/swap/bitcoin.js +179 -0
- package/dist/swap/bitcoin.js.map +1 -0
- package/dist/swap/chain.d.ts +49 -0
- package/dist/swap/chain.js +255 -0
- package/dist/swap/chain.js.map +1 -0
- package/dist/swap/config.d.ts +68 -0
- package/dist/swap/config.js +46 -0
- package/dist/swap/config.js.map +1 -0
- package/dist/swap/http.d.ts +14 -0
- package/dist/swap/http.js +70 -0
- package/dist/swap/http.js.map +1 -0
- package/dist/swap/providers.d.ts +24 -0
- package/dist/swap/providers.js +424 -0
- package/dist/swap/providers.js.map +1 -0
- package/dist/swap/routes.d.ts +145 -0
- package/dist/swap/routes.js +48 -0
- package/dist/swap/routes.js.map +1 -0
- package/dist/swap/service.d.ts +104 -0
- package/dist/swap/service.js +512 -0
- package/dist/swap/service.js.map +1 -0
- package/dist/swap/storage.d.ts +3 -0
- package/dist/swap/storage.js +28 -0
- package/dist/swap/storage.js.map +1 -0
- package/dist/swap/types.d.ts +140 -0
- package/dist/swap/types.js +2 -0
- package/dist/swap/types.js.map +1 -0
- package/dist/swap/ui.d.ts +3 -0
- package/dist/swap/ui.js +257 -0
- package/dist/swap/ui.js.map +1 -0
- package/dist/transfer-service.d.ts +38 -0
- package/dist/transfer-service.js +181 -0
- package/dist/transfer-service.js.map +1 -0
- package/dist/wallet-service.d.ts +22 -6
- package/dist/wallet-service.js +36 -171
- package/dist/wallet-service.js.map +1 -1
- package/package.json +99 -92
package/dist/index.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import fs from 'fs';
|
|
3
|
+
import crypto from 'node:crypto';
|
|
4
|
+
import { AgentError } from './agent-errors.js';
|
|
5
|
+
import { TransferService } from './transfer-service.js';
|
|
3
6
|
import path from 'path';
|
|
4
7
|
import inquirer from 'inquirer';
|
|
5
8
|
import Persist from './persist.js';
|
|
6
9
|
import { normalizeDecimal } from './amounts.js';
|
|
7
|
-
import { NetworkRegistry } from './network-registry.js';
|
|
8
|
-
import { ProfileLock } from './profile-lock.js';
|
|
10
|
+
import { NetworkRegistry, networkStorageName } from './network-registry.js';
|
|
11
|
+
import { ProfileLock, ProfileLockedError } from './profile-lock.js';
|
|
12
|
+
import { SwapService } from './swap/service.js';
|
|
13
|
+
import { routeForNetwork } from './swap/routes.js';
|
|
14
|
+
import { startSwapMenu } from './swap/ui.js';
|
|
9
15
|
import { fileURLToPath } from 'url';
|
|
10
16
|
import Table from 'cli-table3';
|
|
11
17
|
import os from 'os';
|
|
@@ -42,7 +48,7 @@ class Wallet {
|
|
|
42
48
|
databaseExisted;
|
|
43
49
|
profileLock;
|
|
44
50
|
hodlDir;
|
|
45
|
-
constructor(encryptionKey) {
|
|
51
|
+
constructor(encryptionKey, profileLock) {
|
|
46
52
|
const hodlDir = path.join(os.homedir(), '.HODL');
|
|
47
53
|
this.hodlDir = hodlDir;
|
|
48
54
|
if (!fs.existsSync(hodlDir)) {
|
|
@@ -50,8 +56,7 @@ class Wallet {
|
|
|
50
56
|
}
|
|
51
57
|
fs.chmodSync(hodlDir, 0o700);
|
|
52
58
|
this.databaseExisted = fs.existsSync(path.join(hodlDir, 'persist.json'));
|
|
53
|
-
this.profileLock =
|
|
54
|
-
this.profileLock.acquire();
|
|
59
|
+
this.profileLock = profileLock;
|
|
55
60
|
try {
|
|
56
61
|
this.db = new Persist({ path: hodlDir, encryptionKey });
|
|
57
62
|
}
|
|
@@ -176,8 +181,8 @@ class Wallet {
|
|
|
176
181
|
async selectNetwork(networkPlugins, { autoSelect = false } = {}) {
|
|
177
182
|
// Sort networks by last used timestamp (most recent first)
|
|
178
183
|
const sortedNetworks = networkPlugins.sort((a, b) => {
|
|
179
|
-
const aUsage = this.networkUsage[a
|
|
180
|
-
const bUsage = this.networkUsage[b
|
|
184
|
+
const aUsage = this.networkUsage[networkStorageName(a)];
|
|
185
|
+
const bUsage = this.networkUsage[networkStorageName(b)];
|
|
181
186
|
// Handle old format (number) vs new format (object)
|
|
182
187
|
const aLastUsed = typeof aUsage === 'object' ? aUsage.lastUsed || 0 : 0;
|
|
183
188
|
const bLastUsed = typeof bUsage === 'object' ? bUsage.lastUsed || 0 : 0;
|
|
@@ -209,10 +214,10 @@ class Wallet {
|
|
|
209
214
|
}
|
|
210
215
|
// Update usage info for the selected network
|
|
211
216
|
// Handle migration from old format (number) to new format (object)
|
|
212
|
-
const currentUsage = this.networkUsage[selectedNetwork
|
|
217
|
+
const currentUsage = this.networkUsage[networkStorageName(selectedNetwork)];
|
|
213
218
|
if (!currentUsage || typeof currentUsage === 'number' || typeof currentUsage !== 'object' || currentUsage === null || Array.isArray(currentUsage)) {
|
|
214
219
|
// Old format (number), doesn't exist, or corrupted data - create new object
|
|
215
|
-
this.networkUsage[selectedNetwork
|
|
220
|
+
this.networkUsage[networkStorageName(selectedNetwork)] = {
|
|
216
221
|
count: typeof currentUsage === 'number' ? currentUsage + 1 : 1,
|
|
217
222
|
lastUsed: Date.now()
|
|
218
223
|
};
|
|
@@ -223,7 +228,7 @@ class Wallet {
|
|
|
223
228
|
currentUsage.lastUsed = Date.now();
|
|
224
229
|
}
|
|
225
230
|
else {
|
|
226
|
-
this.networkUsage[selectedNetwork
|
|
231
|
+
this.networkUsage[networkStorageName(selectedNetwork)] = {
|
|
227
232
|
count: 1,
|
|
228
233
|
lastUsed: Date.now()
|
|
229
234
|
};
|
|
@@ -400,12 +405,34 @@ class Wallet {
|
|
|
400
405
|
colWidths: [21, 22]
|
|
401
406
|
});
|
|
402
407
|
balances.forEach(([token, balance]) => {
|
|
403
|
-
table.push([token, this.formatAmount(balance)]);
|
|
408
|
+
table.push([token, token === 'USDT' ? Number(balance).toFixed(2) : this.formatAmount(balance)]);
|
|
404
409
|
});
|
|
405
410
|
console.log(table.toString());
|
|
406
411
|
}
|
|
407
412
|
async transferFunds() {
|
|
408
|
-
const
|
|
413
|
+
const service = new TransferService(this.db, this.selectedNetwork, this.network);
|
|
414
|
+
const pending = (await service.list()).filter(transfer => !['confirmed', 'failed'].includes(transfer.status));
|
|
415
|
+
if (pending.length) {
|
|
416
|
+
const { requestId } = await inquirer.prompt({
|
|
417
|
+
type: 'list', name: 'requestId', message: 'A previous transfer is still pending:',
|
|
418
|
+
choices: [
|
|
419
|
+
...pending.map(transfer => ({
|
|
420
|
+
name: `Check / resume ${transfer.amount} ${transfer.asset} to ${transfer.to} (${transfer.status})`,
|
|
421
|
+
value: transfer.requestId
|
|
422
|
+
})),
|
|
423
|
+
{ name: 'New transfer', value: 'new' },
|
|
424
|
+
{ name: 'Go back', value: 'back' }
|
|
425
|
+
]
|
|
426
|
+
});
|
|
427
|
+
if (requestId === 'back')
|
|
428
|
+
return;
|
|
429
|
+
if (requestId !== 'new') {
|
|
430
|
+
const transfer = pending.find(item => item.requestId === requestId);
|
|
431
|
+
await this.submitTransfer(service, transfer.to, transfer.asset, transfer.amount, requestId);
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
const contacts = await this.db.entries('contact', this.storageNetworkName) || [];
|
|
409
436
|
const addressBook = contacts.map(([address, data]) => ({
|
|
410
437
|
address,
|
|
411
438
|
name: data.name
|
|
@@ -444,90 +471,80 @@ class Wallet {
|
|
|
444
471
|
const { amount } = await inquirer.prompt({
|
|
445
472
|
type: 'input',
|
|
446
473
|
name: 'amount',
|
|
447
|
-
message: `Amount to transfer:`,
|
|
474
|
+
message: `Amount to transfer (or max):`,
|
|
448
475
|
validate: (value) => {
|
|
449
|
-
if (value.trim() === '')
|
|
476
|
+
if (value.trim() === '' || value.trim().toLowerCase() === 'max')
|
|
450
477
|
return true;
|
|
451
478
|
try {
|
|
452
479
|
normalizeDecimal(value.trim());
|
|
453
480
|
return true;
|
|
454
481
|
}
|
|
455
482
|
catch {
|
|
456
|
-
return 'Please enter a valid decimal amount or leave empty to cancel.';
|
|
483
|
+
return 'Please enter a valid decimal amount, max, or leave empty to cancel.';
|
|
457
484
|
}
|
|
458
485
|
},
|
|
459
486
|
});
|
|
460
487
|
if (amount.trim() === '') {
|
|
461
488
|
return;
|
|
462
489
|
}
|
|
463
|
-
|
|
490
|
+
let transferAmount = amount.trim();
|
|
491
|
+
if (transferAmount.toLowerCase() === 'max') {
|
|
492
|
+
try {
|
|
493
|
+
const preview = await service.send({ wallet: 'default', to: address, asset: token, amount: 'max', dryRun: true });
|
|
494
|
+
transferAmount = preview.amount;
|
|
495
|
+
console.log(`Maximum: ${preview.amount} ${token} | Estimated fee: ${preview.fee.amount} ${preview.fee.asset}`);
|
|
496
|
+
}
|
|
497
|
+
catch (error) {
|
|
498
|
+
this.displayTransactionError(error);
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
}
|
|
464
502
|
// Add confirmation step
|
|
465
503
|
const { confirmTransaction } = await inquirer.prompt({
|
|
466
504
|
type: 'confirm',
|
|
467
505
|
name: 'confirmTransaction',
|
|
468
|
-
message:
|
|
506
|
+
message: amount.trim().toLowerCase() === 'max'
|
|
507
|
+
? `Confirm transfer of maximum available ${token} (estimated ${transferAmount})?`
|
|
508
|
+
: `Confirm transfer of ${transferAmount} ${token}?`,
|
|
469
509
|
default: true
|
|
470
510
|
});
|
|
471
511
|
if (!confirmTransaction) {
|
|
472
512
|
return;
|
|
473
513
|
}
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
}).start();
|
|
514
|
+
await this.submitTransfer(service, address, token, amount.trim().toLowerCase() === 'max' ? 'max' : transferAmount, crypto.randomUUID());
|
|
515
|
+
}
|
|
516
|
+
async submitTransfer(service, address, token, amount, requestId) {
|
|
517
|
+
const spinner = ora({ text: 'Checking / sending transaction...', spinner: 'dots' }).start();
|
|
518
|
+
let result;
|
|
478
519
|
try {
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
throw new Error('Selected network does not support native transfers.');
|
|
488
|
-
}
|
|
489
|
-
signedTx = await this.network.handleNativeTransfer(account, address, transferAmount);
|
|
490
|
-
}
|
|
491
|
-
else {
|
|
492
|
-
if (!this.network.handleERC20Transfer) {
|
|
493
|
-
throw new Error('Selected network does not support token transfers.');
|
|
494
|
-
}
|
|
495
|
-
signedTx = await this.network.handleERC20Transfer(account, token, address, transferAmount);
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
finally {
|
|
499
|
-
Persist.clearSensitiveData(account);
|
|
500
|
-
}
|
|
501
|
-
const receipt = await this.network.sendSignedTransaction(signedTx);
|
|
502
|
-
spinner.succeed('Transaction confirmed!');
|
|
503
|
-
const transactionHash = receipt?.transactionHash || receipt?.hash || 'UNKNOWN_HASH';
|
|
504
|
-
// Calculate the post-transaction balance
|
|
505
|
-
let currentBalance = '0';
|
|
506
|
-
try {
|
|
507
|
-
const walletAddress = await this.getAddress();
|
|
508
|
-
// Get the balance AFTER transaction (not before)
|
|
509
|
-
if (token === this.selectedNetwork.nativeToken) {
|
|
510
|
-
currentBalance = await this.network.getBalance(walletAddress);
|
|
511
|
-
}
|
|
512
|
-
else {
|
|
513
|
-
currentBalance = await this.network.getTokenBalance(walletAddress, token);
|
|
514
|
-
}
|
|
520
|
+
result = await service.send({ wallet: 'default', to: address, asset: token, amount, requestId, dryRun: false });
|
|
521
|
+
}
|
|
522
|
+
catch (error) {
|
|
523
|
+
spinner.fail('Could not complete the transfer request.');
|
|
524
|
+
this.displayTransactionError(error);
|
|
525
|
+
if (error instanceof AgentError && error.details?.transactionHash) {
|
|
526
|
+
console.log(`Saved transfer: ${error.details.requestId}`);
|
|
527
|
+
console.log(this.selectedNetwork.explorer + error.details.transactionHash);
|
|
515
528
|
}
|
|
516
|
-
|
|
517
|
-
console.
|
|
529
|
+
else {
|
|
530
|
+
console.log(`Request ID: ${requestId}`);
|
|
518
531
|
}
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
532
|
+
console.log('Open Transfer Funds to check or resume any saved request before creating another payment.');
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
spinner.succeed(result.status === 'confirmed' ? 'Transaction confirmed!' : 'Transaction submitted; awaiting confirmation.');
|
|
536
|
+
console.log(`Request ID: ${requestId}`);
|
|
537
|
+
console.log(this.selectedNetwork.explorer + result.transactionHash);
|
|
538
|
+
try {
|
|
539
|
+
const currentBalance = (await this.network.getAssetBalance(result.from, token)).amount;
|
|
540
|
+
await this.addToTransactions(address, token, result.amount, result.transactionHash, currentBalance);
|
|
541
|
+
await this.displayTransactionResult(address, token, result.amount, result.transactionHash, currentBalance);
|
|
542
|
+
const existingContact = await this.db.get('contact', this.storageNetworkName, address);
|
|
543
|
+
if (!existingContact)
|
|
525
544
|
await this.addToAddressBook(address);
|
|
526
|
-
}
|
|
527
545
|
}
|
|
528
546
|
catch (error) {
|
|
529
|
-
|
|
530
|
-
this.displayTransactionError(error);
|
|
547
|
+
Wallet.displayError('Transfer recorded; could not update balance, history or contact.', errorMessage(error));
|
|
531
548
|
}
|
|
532
549
|
}
|
|
533
550
|
/**
|
|
@@ -590,7 +607,10 @@ class Wallet {
|
|
|
590
607
|
balance
|
|
591
608
|
};
|
|
592
609
|
const address = await this.getAddress();
|
|
593
|
-
await this.db.
|
|
610
|
+
const history = await this.db.values('transactions', address, this.selectedNetwork.nativeToken) || [];
|
|
611
|
+
if (!history.some(entry => entry.hash === hash)) {
|
|
612
|
+
await this.db.add('transactions', address, this.selectedNetwork.nativeToken, transaction);
|
|
613
|
+
}
|
|
594
614
|
}
|
|
595
615
|
async showTransactions() {
|
|
596
616
|
const address = await this.getAddress();
|
|
@@ -605,21 +625,33 @@ class Wallet {
|
|
|
605
625
|
history.push(...legacyHistory);
|
|
606
626
|
history.sort((a, b) => a.timestamp.localeCompare(b.timestamp));
|
|
607
627
|
}
|
|
628
|
+
const transfers = await new TransferService(this.db, this.selectedNetwork, this.network).list();
|
|
629
|
+
for (const transfer of transfers.filter(item => item.from === address)) {
|
|
630
|
+
const existing = history.find(item => item.hash === transfer.transactionHash);
|
|
631
|
+
if (existing)
|
|
632
|
+
existing.status = transfer.status;
|
|
633
|
+
else
|
|
634
|
+
history.push({
|
|
635
|
+
timestamp: transfer.createdAt, recipient: transfer.to, token: transfer.asset,
|
|
636
|
+
amount: transfer.amount, hash: transfer.transactionHash, status: transfer.status
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
history.sort((a, b) => a.timestamp.localeCompare(b.timestamp));
|
|
608
640
|
const table = new AnyTable({
|
|
609
|
-
head: ['Date', 'Recipient', 'Contact', 'Token', 'Amount', 'Balance'],
|
|
641
|
+
head: ['Date', 'Recipient', 'Contact', 'Token', 'Amount', 'Balance', 'Status'],
|
|
610
642
|
style: { head: ['blue'] },
|
|
611
643
|
});
|
|
612
644
|
if (history.length === 0) {
|
|
613
|
-
table.push([{ colSpan:
|
|
645
|
+
table.push([{ colSpan: 7, content: 'No transaction history available.' }]);
|
|
614
646
|
}
|
|
615
647
|
for (const tx of history) {
|
|
616
648
|
const date = this.formatDate(tx.timestamp);
|
|
617
|
-
const contact = await this.db.get('contact', this.
|
|
649
|
+
const contact = await this.db.get('contact', this.storageNetworkName, tx.recipient);
|
|
618
650
|
const contactName = contact ? contact.name : '-';
|
|
619
651
|
const amount = this.formatAmount(tx.amount);
|
|
620
652
|
const balance = tx.balance !== undefined ? this.formatAmount(tx.balance) : '-';
|
|
621
|
-
table.push([date, tx.recipient, contactName, tx.token, amount, balance]);
|
|
622
|
-
table.push([{ colSpan:
|
|
653
|
+
table.push([date, tx.recipient, contactName, tx.token, amount, balance, tx.status || '-']);
|
|
654
|
+
table.push([{ colSpan: 7, content: this.selectedNetwork.explorer + tx.hash }]);
|
|
623
655
|
}
|
|
624
656
|
console.log(table.toString());
|
|
625
657
|
}
|
|
@@ -634,7 +666,7 @@ class Wallet {
|
|
|
634
666
|
message: 'Name for the address book (leave empty to skip):',
|
|
635
667
|
});
|
|
636
668
|
if (name.trim() !== '') {
|
|
637
|
-
await this.db.set('contact', this.
|
|
669
|
+
await this.db.set('contact', this.storageNetworkName, address, 'name', name);
|
|
638
670
|
const table = new AnyTable({
|
|
639
671
|
head: [{ colSpan: 2, content: "Recipient saved to the address book." }],
|
|
640
672
|
style: { head: ['green'] },
|
|
@@ -644,7 +676,7 @@ class Wallet {
|
|
|
644
676
|
}
|
|
645
677
|
}
|
|
646
678
|
async deleteFromAddressBook() {
|
|
647
|
-
const contacts = await this.db.get('contact', this.
|
|
679
|
+
const contacts = await this.db.get('contact', this.storageNetworkName) || {};
|
|
648
680
|
const addressBook = Object.entries(contacts).map(([address, data]) => ({
|
|
649
681
|
address,
|
|
650
682
|
name: data.name
|
|
@@ -677,7 +709,7 @@ class Wallet {
|
|
|
677
709
|
default: false
|
|
678
710
|
});
|
|
679
711
|
if (confirmDelete) {
|
|
680
|
-
await this.db.del('contact', this.
|
|
712
|
+
await this.db.del('contact', this.storageNetworkName, addressToDelete);
|
|
681
713
|
const table = new AnyTable({
|
|
682
714
|
head: ['Address Book'],
|
|
683
715
|
style: { head: ['green'] },
|
|
@@ -700,7 +732,7 @@ class Wallet {
|
|
|
700
732
|
style: { head: ['green'] },
|
|
701
733
|
});
|
|
702
734
|
const date = this.formatDate(new Date());
|
|
703
|
-
const contact = await this.db.get('contact', this.
|
|
735
|
+
const contact = await this.db.get('contact', this.storageNetworkName, address);
|
|
704
736
|
const contactName = contact ? contact.name : '-';
|
|
705
737
|
table.push([date, address, contactName, token, this.formatAmount(amount), this.formatAmount(balance)]);
|
|
706
738
|
table.push([{ colSpan: 6, content: this.selectedNetwork.explorer + hash }]);
|
|
@@ -715,6 +747,14 @@ class Wallet {
|
|
|
715
747
|
this.profileLock.release();
|
|
716
748
|
}
|
|
717
749
|
}
|
|
750
|
+
get storageNetworkName() { return networkStorageName(this.selectedNetwork); }
|
|
751
|
+
getSwapRoute() { return routeForNetwork(this.selectedNetwork.id); }
|
|
752
|
+
async swapFunds() {
|
|
753
|
+
const route = this.getSwapRoute();
|
|
754
|
+
if (!route)
|
|
755
|
+
throw new Error('No swap route for the selected network.');
|
|
756
|
+
await startSwapMenu(new SwapService(this.db, { routeId: route.id }));
|
|
757
|
+
}
|
|
718
758
|
securePersistFile() {
|
|
719
759
|
const persistPath = path.join(this.hodlDir, 'persist.json');
|
|
720
760
|
if (fs.existsSync(persistPath)) {
|
|
@@ -911,7 +951,7 @@ class Wallet {
|
|
|
911
951
|
}
|
|
912
952
|
}
|
|
913
953
|
// Check if there are addresses in the address book
|
|
914
|
-
const addressBook = await this.db.entries('contact', this.
|
|
954
|
+
const addressBook = await this.db.entries('contact', this.storageNetworkName) || [];
|
|
915
955
|
if (addressBook.length > 0) {
|
|
916
956
|
const { deleteAddresses } = await inquirer.prompt({
|
|
917
957
|
type: 'confirm',
|
|
@@ -1013,6 +1053,7 @@ class UIManager {
|
|
|
1013
1053
|
}
|
|
1014
1054
|
}
|
|
1015
1055
|
async function mainMenu(wallet) {
|
|
1056
|
+
const route = wallet.getSwapRoute();
|
|
1016
1057
|
const { action } = await inquirer.prompt({
|
|
1017
1058
|
type: 'list',
|
|
1018
1059
|
name: 'action',
|
|
@@ -1022,10 +1063,14 @@ async function mainMenu(wallet) {
|
|
|
1022
1063
|
{ name: 'Show Balance', value: 'balance' },
|
|
1023
1064
|
{ name: 'Show Sent Transfers', value: 'showTransactions' },
|
|
1024
1065
|
{ name: 'Account Settings', value: 'account' },
|
|
1066
|
+
...(route ? [{ name: 'Swap', value: 'swapFunds' }] : []),
|
|
1025
1067
|
{ name: 'Exit', value: 'exit' }
|
|
1026
1068
|
],
|
|
1027
1069
|
});
|
|
1028
1070
|
switch (action) {
|
|
1071
|
+
case 'swapFunds':
|
|
1072
|
+
await wallet.swapFunds();
|
|
1073
|
+
return mainMenu(wallet);
|
|
1029
1074
|
case 'transferFunds':
|
|
1030
1075
|
await wallet.transferFunds();
|
|
1031
1076
|
return mainMenu(wallet);
|
|
@@ -1058,9 +1103,25 @@ async function shutdown() {
|
|
|
1058
1103
|
}
|
|
1059
1104
|
async function run() {
|
|
1060
1105
|
UIManager.displayWelcome();
|
|
1061
|
-
|
|
1106
|
+
const hodlDir = path.join(os.homedir(), '.HODL');
|
|
1107
|
+
fs.mkdirSync(hodlDir, { recursive: true, mode: 0o700 });
|
|
1108
|
+
const profileLock = new ProfileLock(path.join(hodlDir, '.default.lock'));
|
|
1062
1109
|
try {
|
|
1063
|
-
|
|
1110
|
+
profileLock.acquire();
|
|
1111
|
+
}
|
|
1112
|
+
catch (error) {
|
|
1113
|
+
if (!(error instanceof ProfileLockedError)) {
|
|
1114
|
+
throw error;
|
|
1115
|
+
}
|
|
1116
|
+
Wallet.displayError(error.owner === null
|
|
1117
|
+
? 'The HODL profile is locked. Close the other instance and try again.'
|
|
1118
|
+
: `HODL is already open in another terminal (PID ${error.owner}). Close that instance and try again.`);
|
|
1119
|
+
return;
|
|
1120
|
+
}
|
|
1121
|
+
let encryptionKey = null;
|
|
1122
|
+
try {
|
|
1123
|
+
encryptionKey = await UIManager.getEncryptionKey();
|
|
1124
|
+
const wallet = new Wallet(encryptionKey, profileLock);
|
|
1064
1125
|
activeWallet = wallet;
|
|
1065
1126
|
const databaseExisted = wallet.hasStoredDatabase();
|
|
1066
1127
|
try {
|
|
@@ -1093,7 +1154,12 @@ async function run() {
|
|
|
1093
1154
|
}
|
|
1094
1155
|
finally {
|
|
1095
1156
|
encryptionKey = null;
|
|
1096
|
-
|
|
1157
|
+
try {
|
|
1158
|
+
await shutdown();
|
|
1159
|
+
}
|
|
1160
|
+
finally {
|
|
1161
|
+
profileLock.release();
|
|
1162
|
+
}
|
|
1097
1163
|
}
|
|
1098
1164
|
}
|
|
1099
1165
|
export function selectCliMode(argv) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/network/arb.d.ts
CHANGED
package/dist/network/arb.js
CHANGED
|
@@ -3,7 +3,8 @@ const arbitrum = {
|
|
|
3
3
|
id: 'arb',
|
|
4
4
|
family: 'evm',
|
|
5
5
|
chainId: 42161,
|
|
6
|
-
name: '[
|
|
6
|
+
name: '[ARB] Arbitrum One',
|
|
7
|
+
storageName: '[ERC-20] Arbitrum One',
|
|
7
8
|
NetworkClass: Web3Network,
|
|
8
9
|
explorer: 'https://arbiscan.io/tx/',
|
|
9
10
|
url: 'https://arb1.arbitrum.io/rpc',
|
package/dist/network/arb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arb.js","sourceRoot":"","sources":["../../network/arb.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,QAAQ,GAAG;IACb,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,uBAAuB;
|
|
1
|
+
{"version":3,"file":"arb.js","sourceRoot":"","sources":["../../network/arb.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,QAAQ,GAAG;IACb,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uBAAuB;IACpC,YAAY,EAAE,WAAW;IACzB,QAAQ,EAAE,yBAAyB;IACnC,GAAG,EAAE,8BAA8B;IACnC,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,OAAO,EAAE,4CAA4C;SACxD;KACJ;CACoB,CAAC;AAE1B,eAAe,QAAQ,CAAC"}
|