@@ -154,24 +154,25 @@ async function loadOrScanAddressBatch(bip32, callback, callbackSetRawAddresses,
154154 }
155155
156156 for ( let addressIndex = 0 ; addressIndex <= lastReceiveIndex ; addressIndex ++ ) {
157- const addressType = 0 ; // Receive
158- const derivationPath = `44'/111111'/0'/${ addressType } /${ addressIndex } ` ;
159- const address = bip32 . getAddress ( addressType , addressIndex ) ;
160- const receiveAddress = {
161- key : address ,
162- address,
163- derivationPath,
164- balance : 0 ,
165- loading : true ,
166- addressIndex,
167- addressType,
168- utxos : [ ] ,
169- } ;
170-
171- rawAddresses . push ( receiveAddress ) ;
172-
173- callbackSetRawAddresses ( rawAddresses ) ;
174- callback ( rawAddresses . filter ( addressFilter ( lastReceiveIndex ) ) ) ;
157+ for ( let addressType = 0 ; addressType <= 1 ; addressType ++ ) {
158+ const derivationPath = `44'/111111'/0'/${ addressType } /${ addressIndex } ` ;
159+ const address = bip32 . getAddress ( addressType , addressIndex ) ;
160+ const receiveAddress = {
161+ key : address ,
162+ address,
163+ derivationPath,
164+ balance : 0 ,
165+ loading : true ,
166+ addressIndex,
167+ addressType,
168+ utxos : [ ] ,
169+ } ;
170+
171+ rawAddresses . push ( receiveAddress ) ;
172+
173+ callbackSetRawAddresses ( rawAddresses ) ;
174+ callback ( rawAddresses . filter ( addressFilter ( lastReceiveIndex ) ) ) ;
175+ }
175176 }
176177
177178 let promises = [ ] ;
@@ -271,7 +272,7 @@ function getDemoXPub() {
271272
272273export default function Dashboard ( ) {
273274 const [ addresses , setAddresses ] = useState < IAddressData [ ] > ( [ ] ) ;
274- const [ rawAddresses , setRawAddresses ] = useState < IAddressData [ ] > ( [ ] ) ;
275+ const [ _ , setRawAddresses ] = useState < IAddressData [ ] > ( [ ] ) ;
275276 const [ selectedAddress , setSelectedAddress ] = useState < ISelectedAddress | null > ( null ) ;
276277 const [ activeTab , setActiveTab ] = useState ( 'addresses' ) ;
277278 const [ isTransportInitialized , setTransportInitialized ] = useState ( false ) ;
@@ -288,47 +289,46 @@ export default function Dashboard() {
288289 setEnableGenerate ( false ) ;
289290 try {
290291 const newReceiveAddressIndex = userSettings . getSetting ( 'lastReceiveIndex' ) + 1 ;
292+ for ( let addressType = 0 ; addressType <= 1 ; addressType ++ ) {
293+ const derivationPath = `44'/111111'/0'/${ addressType } /${ newReceiveAddressIndex } ` ;
294+ const { address } =
295+ deviceType === 'demo'
296+ ? { address : bip32base . getAddress ( addressType , newReceiveAddressIndex ) }
297+ : await getAddress ( derivationPath ) ;
298+ const rawAddress : IAddressData = {
299+ key : address ,
300+ derivationPath,
301+ address,
302+ addressType : addressType ,
303+ addressIndex : newReceiveAddressIndex ,
304+ balance : 0 ,
305+ loading : true ,
306+ utxos : [ ] ,
307+ } ;
308+
309+ userSettings . setSetting ( 'lastReceiveIndex' , newReceiveAddressIndex ) ;
291310
292- const derivationPath = `44'/111111'/0'/0/${ newReceiveAddressIndex } ` ;
293- const { address } =
294- deviceType === 'demo'
295- ? { address : bip32base . getAddress ( 0 , newReceiveAddressIndex ) }
296- : await getAddress ( derivationPath ) ;
297- const rawAddress : IAddressData = {
298- key : address ,
299- derivationPath,
300- address,
301- addressType : 0 ,
302- addressIndex : newReceiveAddressIndex ,
303- balance : 0 ,
304- loading : true ,
305- utxos : [ ] ,
306- } ;
307-
308- setRawAddresses ( [ ...rawAddresses , rawAddress ] ) ;
309- setAddresses ( [ ...rawAddresses , rawAddress ] ) ;
310- userSettings . setSetting ( 'lastReceiveIndex' , newReceiveAddressIndex ) ;
311-
312- try {
313- if ( deviceType === 'demo' ) {
314- rawAddress . balance = Math . round ( Math . random ( ) * 10000 ) ;
315- await delay ( Math . round ( Math . random ( ) * 3000 ) ) . then ( ( ) => {
316- rawAddress . loading = false ;
311+ try {
312+ if ( deviceType === 'demo' ) {
313+ rawAddress . balance = Math . round ( Math . random ( ) * 10000 ) ;
314+ await delay ( Math . round ( Math . random ( ) * 3000 ) ) . then ( ( ) => {
315+ rawAddress . loading = false ;
316+ } ) ;
317+ } else {
318+ await loadAddressDetails ( rawAddress ) ;
319+ }
320+
321+ setRawAddresses ( ( rawAddresses ) => [ ...rawAddresses , rawAddress ] ) ;
322+ setAddresses ( ( rawAddresses ) => [ ...rawAddresses , rawAddress ] ) ;
323+ } catch ( e ) {
324+ console . error ( e ) ;
325+ notifications . show ( {
326+ title : 'Error' ,
327+ message : 'Unable to load address details. Refresh the page to retry.' ,
328+ autoClose : false ,
329+ color : 'red' ,
317330 } ) ;
318- } else {
319- await loadAddressDetails ( rawAddress ) ;
320331 }
321-
322- setRawAddresses ( [ ...rawAddresses , rawAddress ] ) ;
323- setAddresses ( [ ...rawAddresses , rawAddress ] ) ;
324- } catch ( e ) {
325- console . error ( e ) ;
326- notifications . show ( {
327- title : 'Error' ,
328- message : 'Unable to load address details. Refresh the page to retry.' ,
329- autoClose : false ,
330- color : 'red' ,
331- } ) ;
332332 }
333333 } catch ( e ) {
334334 console . info ( e ) ;
0 commit comments