@sidhujag/sysweb3-keyring 1.0.523 → 1.0.524
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/cjs/hardware-wallet-manager.js +42 -0
- package/cjs/hardware-wallet-manager.js.map +1 -1
- package/cjs/keyring-manager.js +170 -85
- package/cjs/keyring-manager.js.map +1 -1
- package/cjs/ledger/bitcoin_client/lib/appClient.js +1 -0
- package/cjs/ledger/bitcoin_client/lib/appClient.js.map +1 -1
- package/cjs/ledger/index.js +162 -9
- package/cjs/ledger/index.js.map +1 -1
- package/cjs/transactions/ethereum.js +6 -3
- package/cjs/transactions/ethereum.js.map +1 -1
- package/cjs/transactions/syscoin.js +27 -8
- package/cjs/transactions/syscoin.js.map +1 -1
- package/cjs/types.js.map +1 -1
- package/cjs/utils/derivation-paths.js +20 -0
- package/cjs/utils/derivation-paths.js.map +1 -1
- package/package.json +2 -2
- package/types/hardware-wallet-manager.d.ts +4 -0
- package/types/keyring-manager.d.ts +7 -10
- package/types/ledger/index.d.ts +3 -0
- package/types/types.d.ts +4 -0
- package/types/utils/derivation-paths.d.ts +5 -0
|
@@ -443,6 +443,10 @@ class HardwareWalletManager extends events_1.EventEmitter {
|
|
|
443
443
|
}
|
|
444
444
|
catch (error) {
|
|
445
445
|
lastError = error;
|
|
446
|
+
// Do not retry on explicit user cancellations (Ledger/Trezor)
|
|
447
|
+
if (this.isUserCancellationError(lastError)) {
|
|
448
|
+
throw lastError;
|
|
449
|
+
}
|
|
446
450
|
if (attempt < config.maxRetries) {
|
|
447
451
|
const delay = this.calculateBackoffDelay(attempt);
|
|
448
452
|
this.emit('operationRetry', {
|
|
@@ -457,6 +461,44 @@ class HardwareWalletManager extends events_1.EventEmitter {
|
|
|
457
461
|
}
|
|
458
462
|
throw new Error(`${operationName} failed after ${config.maxRetries + 1} attempts: ${lastError?.message || 'Unknown error'}`);
|
|
459
463
|
}
|
|
464
|
+
/**
|
|
465
|
+
* Detects common user-cancellation errors to avoid pointless retries
|
|
466
|
+
*/
|
|
467
|
+
isUserCancellationError(err) {
|
|
468
|
+
const message = (err?.message || '').toLowerCase();
|
|
469
|
+
const name = err?.name || '';
|
|
470
|
+
const statusCode = err?.statusCode;
|
|
471
|
+
// Ledger: 0x6985 (Conditions of use not satisfied) on rejection
|
|
472
|
+
if (statusCode === 0x6985)
|
|
473
|
+
return true;
|
|
474
|
+
// Message-based heuristics across vendors
|
|
475
|
+
if (message.includes('0x6985') ||
|
|
476
|
+
(message.includes('condition') &&
|
|
477
|
+
message.includes('not') &&
|
|
478
|
+
message.includes('satisf')) ||
|
|
479
|
+
message.includes('not allowed') ||
|
|
480
|
+
message.includes('permission denied') ||
|
|
481
|
+
message.includes('user rejected') ||
|
|
482
|
+
message.includes('denied by the user') ||
|
|
483
|
+
message.includes('failure_actioncancelled') ||
|
|
484
|
+
message.includes('denied') ||
|
|
485
|
+
message.includes('rejected') ||
|
|
486
|
+
message.includes('refused') ||
|
|
487
|
+
message.includes('cancelled') ||
|
|
488
|
+
message.includes('canceled') ||
|
|
489
|
+
message.includes('popup closed')) {
|
|
490
|
+
return true;
|
|
491
|
+
}
|
|
492
|
+
// Name-based checks (align with frontend utilities)
|
|
493
|
+
if (name === 'NotAllowedError' ||
|
|
494
|
+
name === 'AbortError' ||
|
|
495
|
+
name === 'UserCancel' ||
|
|
496
|
+
name === 'TransportError' ||
|
|
497
|
+
name === 'DOMException') {
|
|
498
|
+
return true;
|
|
499
|
+
}
|
|
500
|
+
return false;
|
|
501
|
+
}
|
|
460
502
|
}
|
|
461
503
|
exports.HardwareWalletManager = HardwareWalletManager;
|
|
462
504
|
//# sourceMappingURL=hardware-wallet-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardware-wallet-manager.js","sourceRoot":"","sources":["../../src/hardware-wallet-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hardware-wallet-manager.js","sourceRoot":"","sources":["../../src/hardware-wallet-manager.ts"],"names":[],"mappings":"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"}
|
package/cjs/keyring-manager.js
CHANGED
|
@@ -224,7 +224,11 @@ class KeyringManager {
|
|
|
224
224
|
if (!account) {
|
|
225
225
|
throw new Error('Active account not found');
|
|
226
226
|
}
|
|
227
|
-
const { xpub } = account;
|
|
227
|
+
const { xpub, isImported, address } = account;
|
|
228
|
+
// For imported single-address accounts, always return the single address
|
|
229
|
+
const looksLikeSingleAddress = isImported && xpub === address;
|
|
230
|
+
if (looksLikeSingleAddress)
|
|
231
|
+
return address;
|
|
228
232
|
return await this.getAddress(xpub, true); // Don't skip increment - get next unused
|
|
229
233
|
};
|
|
230
234
|
this.getChangeAddress = async (id) => {
|
|
@@ -234,7 +238,9 @@ class KeyringManager {
|
|
|
234
238
|
if (!account) {
|
|
235
239
|
throw new Error(`Account with id ${id} not found`);
|
|
236
240
|
}
|
|
237
|
-
const { xpub } = account;
|
|
241
|
+
const { xpub, isImported, address } = account;
|
|
242
|
+
if (isImported && xpub === address)
|
|
243
|
+
return address;
|
|
238
244
|
return await this.getAddress(xpub, true);
|
|
239
245
|
};
|
|
240
246
|
this.getPubkey = async (id, isChangeAddress) => {
|
|
@@ -244,7 +250,10 @@ class KeyringManager {
|
|
|
244
250
|
if (!account) {
|
|
245
251
|
throw new Error(`Account with id ${id} not found`);
|
|
246
252
|
}
|
|
247
|
-
const { xpub } = account;
|
|
253
|
+
const { xpub, isImported, address } = account;
|
|
254
|
+
if (isImported && xpub === address) {
|
|
255
|
+
throw new Error('Public key not available for single-address imported accounts');
|
|
256
|
+
}
|
|
248
257
|
return await this.getCurrentAddressPubkey(xpub, isChangeAddress);
|
|
249
258
|
};
|
|
250
259
|
this.getBip32Path = async (id, isChangeAddress) => {
|
|
@@ -254,7 +263,10 @@ class KeyringManager {
|
|
|
254
263
|
if (!account) {
|
|
255
264
|
throw new Error(`Account with id ${id} not found`);
|
|
256
265
|
}
|
|
257
|
-
const { xpub } = account;
|
|
266
|
+
const { xpub, isImported, address } = account;
|
|
267
|
+
if (isImported && xpub === address) {
|
|
268
|
+
throw new Error('BIP32 path not available for single-address imported accounts');
|
|
269
|
+
}
|
|
258
270
|
return await this.getCurrentAddressBip32Path(xpub, isChangeAddress);
|
|
259
271
|
};
|
|
260
272
|
this.updateReceivingAddress = async () => {
|
|
@@ -264,11 +276,13 @@ class KeyringManager {
|
|
|
264
276
|
if (!account) {
|
|
265
277
|
throw new Error('Active account not found');
|
|
266
278
|
}
|
|
267
|
-
const { xpub } = account;
|
|
268
|
-
|
|
279
|
+
const { xpub, isImported, address } = account;
|
|
280
|
+
if (isImported && xpub === address)
|
|
281
|
+
return address;
|
|
282
|
+
const nextAddress = await this.getAddress(xpub, false);
|
|
269
283
|
// NOTE: Address updates should be dispatched to Redux store, not updated here
|
|
270
284
|
// The calling code should handle the Redux dispatch
|
|
271
|
-
return
|
|
285
|
+
return nextAddress;
|
|
272
286
|
};
|
|
273
287
|
this.getAccountById = (id, accountType) => {
|
|
274
288
|
const vault = this.getVault();
|
|
@@ -505,18 +519,13 @@ class KeyringManager {
|
|
|
505
519
|
const options = 'tokens=used&details=tokens';
|
|
506
520
|
const { tokens } = await syscoinjs.utils.fetchBackendAccount(main.blockbookURL, xpub, options, true, undefined);
|
|
507
521
|
const { receivingIndex, changeIndex } = this.setLatestIndexesFromXPubTokens(tokens);
|
|
508
|
-
// Get network configuration for BIP84
|
|
522
|
+
// Get network configuration for BIP84 using network-provided pub type macros
|
|
509
523
|
const networkConfig = (0, sysweb3_network_1.getNetworkConfig)(activeNetwork.slip44, activeNetwork.currency);
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
};
|
|
516
|
-
const networks = networkConfig?.networks || {
|
|
517
|
-
mainnet: {},
|
|
518
|
-
testnet: {},
|
|
519
|
-
};
|
|
524
|
+
const pubTypes = networkConfig?.types?.zPubType;
|
|
525
|
+
if (!pubTypes) {
|
|
526
|
+
throw new Error('Missing zPubType in network configuration');
|
|
527
|
+
}
|
|
528
|
+
const networks = networkConfig.networks;
|
|
520
529
|
const currentAccount = new bip84_1.default.fromZPub(xpub, pubTypes, networks);
|
|
521
530
|
const addressIndex = isChangeAddress ? changeIndex : receivingIndex;
|
|
522
531
|
return {
|
|
@@ -627,15 +636,51 @@ class KeyringManager {
|
|
|
627
636
|
if (this.getActiveChain() !== sysweb3_network_1.INetworkType.Syscoin) {
|
|
628
637
|
throw new Error('Switch to UTXO chain');
|
|
629
638
|
}
|
|
630
|
-
// Create fresh on-demand signer for active account (now synchronous!)
|
|
631
|
-
const freshHDSigner = this.createOnDemandSignerForActiveAccount();
|
|
632
|
-
// Create fresh syscoinjs instance with current network
|
|
633
639
|
const vault = this.getVault();
|
|
640
|
+
const { activeAccount } = vault;
|
|
641
|
+
const accountId = activeAccount.id;
|
|
642
|
+
const accountType = activeAccount.type;
|
|
643
|
+
// Determine signer type: HD or WIF single-address
|
|
644
|
+
let signerForUse;
|
|
645
|
+
if (accountType === types_1.KeyringAccountType.HDAccount) {
|
|
646
|
+
signerForUse = this.createOnDemandUTXOSigner(accountId);
|
|
647
|
+
}
|
|
648
|
+
else if (accountType === types_1.KeyringAccountType.Imported) {
|
|
649
|
+
// Decrypt stored key material
|
|
650
|
+
const decrypted = this.withSecureData((sessionPwd) => {
|
|
651
|
+
const account = vault.accounts[types_1.KeyringAccountType.Imported][accountId];
|
|
652
|
+
const res = crypto_js_1.default.AES.decrypt(account.xprv, sessionPwd).toString(crypto_js_1.default.enc.Utf8);
|
|
653
|
+
if (!res)
|
|
654
|
+
throw new Error('Failed to decrypt imported account key');
|
|
655
|
+
return res;
|
|
656
|
+
});
|
|
657
|
+
if (this.isZprv(decrypted)) {
|
|
658
|
+
signerForUse = this.createFreshUTXOSigner(decrypted, accountId);
|
|
659
|
+
}
|
|
660
|
+
else {
|
|
661
|
+
// Treat as WIF single-address signer wrapper exposing sign(psbt)
|
|
662
|
+
const network = vault.activeNetwork;
|
|
663
|
+
const { networks } = (0, sysweb3_network_1.getNetworkConfig)(network.slip44, network.currency);
|
|
664
|
+
const isTestnet = network.slip44 === 1;
|
|
665
|
+
const bitcoinjsNetwork = isTestnet
|
|
666
|
+
? networks.testnet
|
|
667
|
+
: networks.mainnet;
|
|
668
|
+
signerForUse = {
|
|
669
|
+
sign: async (psbt) => {
|
|
670
|
+
return await syscoinjs.utils.signWithWIF(psbt, decrypted, bitcoinjsNetwork);
|
|
671
|
+
},
|
|
672
|
+
};
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
throw new Error(`Unsupported account type for UTXO signing: ${accountType}`);
|
|
677
|
+
}
|
|
678
|
+
// Create syscoinjs instance with current network (no need to attach signer for signing flow)
|
|
634
679
|
const network = vault.activeNetwork;
|
|
635
680
|
const networkConfig = (0, sysweb3_network_1.getNetworkConfig)(network.slip44, network.currency);
|
|
636
|
-
const syscoinMainSigner = new syscoinjs.SyscoinJSLib(
|
|
681
|
+
const syscoinMainSigner = new syscoinjs.SyscoinJSLib(null, network.url, networkConfig?.networks?.mainnet || undefined);
|
|
637
682
|
return {
|
|
638
|
-
hd:
|
|
683
|
+
hd: signerForUse,
|
|
639
684
|
main: syscoinMainSigner,
|
|
640
685
|
};
|
|
641
686
|
};
|
|
@@ -1113,9 +1158,8 @@ class KeyringManager {
|
|
|
1113
1158
|
// For BIP84 (zprv/zpub), we need to use the correct magic bytes from zPubType
|
|
1114
1159
|
// Determine key type: zprv = mainnet key, vprv = testnet key
|
|
1115
1160
|
const keyIsTestnet = prefix === 'vprv';
|
|
1116
|
-
// Determine target network type: testnet networks typically have
|
|
1117
|
-
const targetIsTestnet = networkToValidateAgainst.
|
|
1118
|
-
networkToValidateAgainst.slip44 === 1;
|
|
1161
|
+
// Determine target network type: testnet networks typically have slip44 1
|
|
1162
|
+
const targetIsTestnet = networkToValidateAgainst.slip44 === 1;
|
|
1119
1163
|
// Cross-network validation: reject if key type doesn't match target network
|
|
1120
1164
|
if (keyIsTestnet && !targetIsTestnet) {
|
|
1121
1165
|
throw new Error(`Extended private key is not compatible with ${networkToValidateAgainst.label}. ` +
|
|
@@ -1167,6 +1211,49 @@ class KeyringManager {
|
|
|
1167
1211
|
return { isValid: false, message: error.message };
|
|
1168
1212
|
}
|
|
1169
1213
|
}
|
|
1214
|
+
validateWif(wif, targetNetwork) {
|
|
1215
|
+
// Use the active network if targetNetwork is not provided
|
|
1216
|
+
const networkToValidateAgainst = targetNetwork || this.getVault().activeNetwork;
|
|
1217
|
+
if (!networkToValidateAgainst) {
|
|
1218
|
+
throw new Error('No network available for validation');
|
|
1219
|
+
}
|
|
1220
|
+
try {
|
|
1221
|
+
// Get bitcoinjs network for the target network (Syscoin/BTC etc.)
|
|
1222
|
+
const { networks } = (0, sysweb3_network_1.getNetworkConfig)(networkToValidateAgainst.slip44, networkToValidateAgainst.currency || 'Bitcoin');
|
|
1223
|
+
const isTestnet = networkToValidateAgainst.slip44 === 1;
|
|
1224
|
+
const bitcoinNetwork = isTestnet ? networks.testnet : networks.mainnet;
|
|
1225
|
+
// Try to parse the WIF for the given network
|
|
1226
|
+
const keyPair = syscoinjs.utils.bitcoinjs.ECPair.fromWIF(wif, bitcoinNetwork);
|
|
1227
|
+
if (!keyPair || !keyPair.privateKey)
|
|
1228
|
+
throw new Error('Invalid WIF private key');
|
|
1229
|
+
// Derive an address based on network capability
|
|
1230
|
+
// Prefer native segwit if the network supports bech32, otherwise fall back to P2PKH
|
|
1231
|
+
let address;
|
|
1232
|
+
try {
|
|
1233
|
+
if (bitcoinNetwork.bech32) {
|
|
1234
|
+
address = bjs.payments.p2wpkh({
|
|
1235
|
+
pubkey: keyPair.publicKey,
|
|
1236
|
+
network: bitcoinNetwork,
|
|
1237
|
+
}).address;
|
|
1238
|
+
}
|
|
1239
|
+
if (!address) {
|
|
1240
|
+
address = bjs.payments.p2pkh({
|
|
1241
|
+
pubkey: keyPair.publicKey,
|
|
1242
|
+
network: bitcoinNetwork,
|
|
1243
|
+
}).address;
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
catch (e) {
|
|
1247
|
+
// ignore and handle below
|
|
1248
|
+
}
|
|
1249
|
+
if (!address)
|
|
1250
|
+
throw new Error('Failed to derive address from WIF');
|
|
1251
|
+
return { isValid: true };
|
|
1252
|
+
}
|
|
1253
|
+
catch (error) {
|
|
1254
|
+
return { isValid: false, message: error.message };
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1170
1257
|
validateAndHandleErrorByMessage(message) {
|
|
1171
1258
|
const utf8ErrorMessage = 'Malformed UTF-8 data';
|
|
1172
1259
|
if (message.includes(utf8ErrorMessage) ||
|
|
@@ -1422,17 +1509,17 @@ class KeyringManager {
|
|
|
1422
1509
|
async _getPrivateKeyAccountInfos(privKey, label) {
|
|
1423
1510
|
const vault = this.getVault();
|
|
1424
1511
|
const { accounts } = vault;
|
|
1425
|
-
let importedAccountValue;
|
|
1512
|
+
let importedAccountValue = null;
|
|
1426
1513
|
const balances = {
|
|
1427
1514
|
syscoin: 0,
|
|
1428
1515
|
ethereum: 0,
|
|
1429
1516
|
};
|
|
1430
|
-
|
|
1517
|
+
let isUtxoImported = false;
|
|
1518
|
+
// Try to validate as extended private key first
|
|
1431
1519
|
const networkToUse = vault.activeNetwork;
|
|
1432
1520
|
const zprvValidation = this.validateZprv(privKey, networkToUse);
|
|
1433
1521
|
// Check if we're on an EVM network (slip44 = 60) or UTXO network
|
|
1434
1522
|
const isEvmNetwork = networkToUse.slip44 === 60;
|
|
1435
|
-
const isUtxoNetwork = !isEvmNetwork;
|
|
1436
1523
|
if (zprvValidation.isValid) {
|
|
1437
1524
|
// This is a valid UTXO extended private key
|
|
1438
1525
|
if (isEvmNetwork) {
|
|
@@ -1460,8 +1547,46 @@ class KeyringManager {
|
|
|
1460
1547
|
privateKey: privKey,
|
|
1461
1548
|
};
|
|
1462
1549
|
balances.syscoin = 0;
|
|
1550
|
+
isUtxoImported = true;
|
|
1463
1551
|
}
|
|
1464
1552
|
else {
|
|
1553
|
+
// If not a valid zprv/vprv, on UTXO networks try WIF
|
|
1554
|
+
const isEvmNetwork = networkToUse.slip44 === 60;
|
|
1555
|
+
let handledAsUtxo = false;
|
|
1556
|
+
if (!isEvmNetwork) {
|
|
1557
|
+
const wifValidation = this.validateWif(privKey, networkToUse);
|
|
1558
|
+
if (wifValidation.isValid) {
|
|
1559
|
+
// Create address from WIF and treat as single-address imported account
|
|
1560
|
+
const { networks } = (0, sysweb3_network_1.getNetworkConfig)(networkToUse.slip44, networkToUse.currency || 'Bitcoin');
|
|
1561
|
+
const isTestnet = networkToUse.slip44 === 1;
|
|
1562
|
+
const bitcoinNetwork = isTestnet
|
|
1563
|
+
? networks.testnet
|
|
1564
|
+
: networks.mainnet;
|
|
1565
|
+
const keyPair = syscoinjs.utils.bitcoinjs.ECPair.fromWIF(privKey, bitcoinNetwork);
|
|
1566
|
+
const { address } = bjs.payments.p2wpkh({
|
|
1567
|
+
pubkey: keyPair.publicKey,
|
|
1568
|
+
network: bitcoinNetwork,
|
|
1569
|
+
});
|
|
1570
|
+
if (!address) {
|
|
1571
|
+
throw new Error('Failed to generate address from WIF');
|
|
1572
|
+
}
|
|
1573
|
+
importedAccountValue = {
|
|
1574
|
+
address,
|
|
1575
|
+
// For single-address WIF accounts, store xpub as the address marker
|
|
1576
|
+
publicKey: address,
|
|
1577
|
+
privateKey: privKey,
|
|
1578
|
+
};
|
|
1579
|
+
// Set UTXO balance bucket
|
|
1580
|
+
balances.syscoin = 0;
|
|
1581
|
+
isUtxoImported = true;
|
|
1582
|
+
handledAsUtxo = true;
|
|
1583
|
+
// Proceed to account creation below
|
|
1584
|
+
}
|
|
1585
|
+
else if (!isEvmNetwork && wifValidation.message) {
|
|
1586
|
+
// Provide useful feedback on UTXO network if WIF was attempted and failed
|
|
1587
|
+
// Continue to EVM handling only if actually EVM network
|
|
1588
|
+
}
|
|
1589
|
+
}
|
|
1465
1590
|
// Check if the validation failed due to network mismatch
|
|
1466
1591
|
if (zprvValidation.message &&
|
|
1467
1592
|
zprvValidation.message.includes('Network mismatch')) {
|
|
@@ -1503,20 +1628,25 @@ class KeyringManager {
|
|
|
1503
1628
|
// For UTXO networks, throw the original validation error
|
|
1504
1629
|
throw new Error(zprvValidation.message || 'Invalid extended private key');
|
|
1505
1630
|
}
|
|
1506
|
-
// If it's not an extended key, treat it as an Ethereum private key
|
|
1631
|
+
// If it's not an extended key and not a valid WIF, treat it as an Ethereum private key
|
|
1507
1632
|
// But first check if we're on an EVM network
|
|
1508
|
-
if (
|
|
1633
|
+
if (!isEvmNetwork && !handledAsUtxo) {
|
|
1509
1634
|
throw new Error('Cannot import EVM private key on UTXO network. Please switch to an EVM network first.');
|
|
1510
1635
|
}
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
!/^[0-9a-fA-F]{64}$/.test(
|
|
1515
|
-
|
|
1636
|
+
if (!handledAsUtxo) {
|
|
1637
|
+
const hexPrivateKey = privKey.slice(0, 2) === '0x' ? privKey : `0x${privKey}`;
|
|
1638
|
+
// Validate it's a valid hex string (32 bytes = 64 hex chars)
|
|
1639
|
+
if (!/^0x[0-9a-fA-F]{64}$/.test(hexPrivateKey) &&
|
|
1640
|
+
!/^[0-9a-fA-F]{64}$/.test(privKey)) {
|
|
1641
|
+
throw new Error('Invalid private key format. Expected 32-byte hex string or extended private key.');
|
|
1642
|
+
}
|
|
1643
|
+
importedAccountValue =
|
|
1644
|
+
this.ethereumTransaction.importAccount(hexPrivateKey);
|
|
1645
|
+
balances.ethereum = 0;
|
|
1516
1646
|
}
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1647
|
+
}
|
|
1648
|
+
if (!importedAccountValue) {
|
|
1649
|
+
throw new Error('Invalid private key format. Expected WIF, extended private key, or 32-byte hex.');
|
|
1520
1650
|
}
|
|
1521
1651
|
const { address, publicKey, privateKey } = importedAccountValue;
|
|
1522
1652
|
//Validate if account already exists
|
|
@@ -1529,7 +1659,7 @@ class KeyringManager {
|
|
|
1529
1659
|
// Generate appropriate label based on account type
|
|
1530
1660
|
const network = vault.activeNetwork;
|
|
1531
1661
|
let defaultLabel;
|
|
1532
|
-
if (zprvValidation.isValid) {
|
|
1662
|
+
if (zprvValidation.isValid || isUtxoImported) {
|
|
1533
1663
|
// UTXO imported account - use network-aware label
|
|
1534
1664
|
const networkPrefix = network.label;
|
|
1535
1665
|
defaultLabel = label || `${networkPrefix} Imported ${id + 1}`;
|
|
@@ -1618,51 +1748,6 @@ class KeyringManager {
|
|
|
1618
1748
|
const mnemonic = this.getDecryptedMnemonic();
|
|
1619
1749
|
return this.createFreshUTXOSigner(mnemonic, accountId);
|
|
1620
1750
|
}
|
|
1621
|
-
/**
|
|
1622
|
-
* Creates a fresh UTXO signer for imported accounts from stored zprv
|
|
1623
|
-
* OPTIMIZED: No RPC call needed - uses network config directly
|
|
1624
|
-
*/
|
|
1625
|
-
createOnDemandUTXOSignerFromImported(accountId) {
|
|
1626
|
-
if (!this.sessionPassword) {
|
|
1627
|
-
throw new Error('Session password not available');
|
|
1628
|
-
}
|
|
1629
|
-
const vault = this.getVault();
|
|
1630
|
-
const account = vault.accounts[types_1.KeyringAccountType.Imported][accountId];
|
|
1631
|
-
if (!account) {
|
|
1632
|
-
throw new Error(`Imported account ${accountId} not found`);
|
|
1633
|
-
}
|
|
1634
|
-
// Decrypt the stored zprv
|
|
1635
|
-
const zprv = this.withSecureData((sessionPwd) => {
|
|
1636
|
-
const decrypted = crypto_js_1.default.AES.decrypt(account.xprv, sessionPwd).toString(crypto_js_1.default.enc.Utf8);
|
|
1637
|
-
if (!decrypted) {
|
|
1638
|
-
throw new Error('Failed to decrypt imported account private key');
|
|
1639
|
-
}
|
|
1640
|
-
return decrypted;
|
|
1641
|
-
});
|
|
1642
|
-
if (!this.isZprv(zprv)) {
|
|
1643
|
-
throw new Error('Imported account does not contain a valid zprv');
|
|
1644
|
-
}
|
|
1645
|
-
return this.createFreshUTXOSigner(zprv, accountId);
|
|
1646
|
-
}
|
|
1647
|
-
/**
|
|
1648
|
-
* Common method to create on-demand signer for active account
|
|
1649
|
-
* Handles account type determination and delegates to appropriate method
|
|
1650
|
-
*/
|
|
1651
|
-
createOnDemandSignerForActiveAccount() {
|
|
1652
|
-
const vault = this.getVault();
|
|
1653
|
-
const { activeAccount } = vault;
|
|
1654
|
-
const accountId = activeAccount.id;
|
|
1655
|
-
const accountType = activeAccount.type;
|
|
1656
|
-
if (accountType === types_1.KeyringAccountType.HDAccount) {
|
|
1657
|
-
return this.createOnDemandUTXOSigner(accountId);
|
|
1658
|
-
}
|
|
1659
|
-
else if (accountType === types_1.KeyringAccountType.Imported) {
|
|
1660
|
-
return this.createOnDemandUTXOSignerFromImported(accountId);
|
|
1661
|
-
}
|
|
1662
|
-
else {
|
|
1663
|
-
throw new Error(`Unsupported account type for UTXO signing: ${accountType}`);
|
|
1664
|
-
}
|
|
1665
|
-
}
|
|
1666
1751
|
// NEW: Helper methods for HD signer management
|
|
1667
1752
|
isZprv(key) {
|
|
1668
1753
|
const zprvPrefixes = ['zprv', 'tprv', 'vprv', 'xprv'];
|