@@ -27,7 +27,7 @@ import blake from 'blakejs'
27
27
import { keccak_256 } from '@noble/hashes/sha3'
28
28
29
29
// @ts -ignore
30
- let dashsight = DashSight . create ( {
30
+ export const dashsight = DashSight . create ( {
31
31
baseUrl : 'https://insight.dash.org' ,
32
32
// baseUrl: 'https://dashsight.dashincubator.dev',
33
33
} ) ;
@@ -559,16 +559,34 @@ export async function encryptKeystore(
559
559
}
560
560
561
561
export async function generateAddressIterator (
562
+ xkey ,
563
+ xkeyId ,
564
+ addressIndex ,
565
+ ) {
566
+ let key = await xkey . deriveAddress ( addressIndex ) ;
567
+ let address = await DashHd . toAddr ( key . publicKey ) ;
568
+
569
+ return {
570
+ address,
571
+ addressIndex,
572
+ usageIndex : xkey . index ,
573
+ xkeyId,
574
+ }
575
+ }
576
+
577
+ export async function generateAndStoreAddressIterator (
562
578
xkey ,
563
579
xkeyId ,
564
580
walletId ,
565
581
accountIndex ,
566
582
addressIndex ,
567
583
usageIndex = DashHd . RECEIVE ,
568
584
) {
569
- // let xkeyId = await DashHd.toId(xkey);
570
- let key = await xkey . deriveAddress ( addressIndex ) ;
571
- let address = await DashHd . toAddr ( key . publicKey ) ;
585
+ let { address } = await generateAddressIterator (
586
+ xkey ,
587
+ xkeyId ,
588
+ addressIndex ,
589
+ )
572
590
573
591
// console.log(
574
592
// 'generateAddressIterator',
@@ -606,6 +624,30 @@ export async function generateAddressIterator(
606
624
}
607
625
}
608
626
627
+ export async function batchXkeyAddressGenerate (
628
+ wallet ,
629
+ addressIndex = 0 ,
630
+ batchSize = 20 ,
631
+ ) {
632
+ let batchLimit = addressIndex + batchSize
633
+ let addresses = [ ]
634
+
635
+ for ( let addrIdx = addressIndex ; addrIdx < batchLimit ; addrIdx ++ ) {
636
+ addresses . push (
637
+ await generateAddressIterator (
638
+ wallet . xkey ,
639
+ wallet . xkeyId ,
640
+ addrIdx ,
641
+ )
642
+ )
643
+ }
644
+
645
+ return {
646
+ addresses,
647
+ finalAddressIndex : batchLimit ,
648
+ }
649
+ }
650
+
609
651
export async function batchAddressGenerate (
610
652
wallet ,
611
653
accountIndex = 0 ,
@@ -628,7 +670,7 @@ export async function batchAddressGenerate(
628
670
629
671
for ( let addrIdx = addressIndex ; addrIdx < batchLimit ; addrIdx ++ ) {
630
672
addresses . push (
631
- await generateAddressIterator (
673
+ await generateAndStoreAddressIterator (
632
674
xkey ,
633
675
xkeyId ,
634
676
wallet . id ,
@@ -667,7 +709,7 @@ export async function batchAddressUsageGenerate(
667
709
668
710
for ( let addrIdx = addressIndex ; addrIdx < batchLimit ; addrIdx ++ ) {
669
711
addresses . push (
670
- await generateAddressIterator (
712
+ await generateAndStoreAddressIterator (
671
713
xkeyReceive ,
672
714
xkeyId ,
673
715
wallet . id ,
@@ -677,7 +719,7 @@ export async function batchAddressUsageGenerate(
677
719
)
678
720
)
679
721
addresses . push (
680
- await generateAddressIterator (
722
+ await generateAndStoreAddressIterator (
681
723
xkeyChange ,
682
724
xkeyId ,
683
725
wallet . id ,
@@ -1305,9 +1347,9 @@ export async function deriveTxWallet(
1305
1347
coreUtxos = await dashsight . getMultiCoreUtxos (
1306
1348
Object . keys ( privateKeys )
1307
1349
)
1308
- transactions = await dashsight . getAllTxs (
1309
- Object . keys ( privateKeys )
1310
- )
1350
+ // transactions = await dashsight.getAllTxs(
1351
+ // Object.keys(privateKeys)
1352
+ // )
1311
1353
} else {
1312
1354
tmpWallet = await deriveWalletData (
1313
1355
fromWallet . recoveryPhrase ,
@@ -1327,9 +1369,9 @@ export async function deriveTxWallet(
1327
1369
coreUtxos = await dashsight . getCoreUtxos (
1328
1370
tmpWallet . address
1329
1371
)
1330
- transactions = await dashsight . getAllTxs (
1331
- [ tmpWallet . address ]
1332
- )
1372
+ // transactions = await dashsight.getAllTxs(
1373
+ // [tmpWallet.address]
1374
+ // )
1333
1375
}
1334
1376
1335
1377
console . log ( 'getAllTxs' , transactions )
0 commit comments