@@ -2035,6 +2035,9 @@ export const createDefaultWallet = async ({
20352035 selectedNetwork,
20362036} : ICreateWallet ) : Promise < Result < IWallets > > => {
20372037 try {
2038+ if ( ! selectedNetwork ) {
2039+ selectedNetwork = getSelectedNetwork ( ) ;
2040+ }
20382041 if ( ! addressTypes ) {
20392042 // if nothing else specified use only Native Segwit by default
20402043 addressTypes = { p2wpkh : getAddressTypes ( ) . p2wpkh } ;
@@ -2069,47 +2072,45 @@ export const createDefaultWallet = async ({
20692072 const lastUsedAddressIndex = defaultWalletShape . lastUsedAddressIndex ;
20702073 const lastUsedChangeAddressIndex =
20712074 defaultWalletShape . lastUsedChangeAddressIndex ;
2072- await Promise . all ( [
2073- setKeychainSlashtagsPrimaryKey ( seed ) ,
2074- Object . values ( addressTypes ) . map ( async ( { type, path } ) => {
2075- if ( ! selectedNetwork ) {
2076- selectedNetwork = getSelectedNetwork ( ) ;
2077- }
2078- const pathObject = getKeyDerivationPathObject ( {
2079- path,
2080- selectedNetwork,
2081- } ) ;
2082- if ( pathObject . isErr ( ) ) {
2083- return err ( pathObject . error . message ) ;
2084- }
2085- const generatedAddresses = await generateAddresses ( {
2086- selectedWallet : walletName ,
2087- selectedNetwork,
2088- addressAmount,
2089- changeAddressAmount,
2090- keyDerivationPath : pathObject . value ,
2091- addressType : type ,
2092- } ) ;
2093- if ( generatedAddresses . isErr ( ) ) {
2094- return err ( generatedAddresses . error ) ;
2095- }
2096- const { addresses, changeAddresses } = generatedAddresses . value ;
2097- const addressIndexFilter = Object . values ( addresses ) . find (
2098- ( a ) => a . index === 0 ,
2099- ) ;
2100- if ( addressIndexFilter ) {
2101- addressIndex [ selectedNetwork ] [ type ] = addressIndexFilter ;
2102- }
2103- const changeAddressIndexFilter = Object . values ( changeAddresses ) . find (
2104- ( a ) => a . index === 0 ,
2105- ) ;
2106- if ( changeAddressIndexFilter ) {
2107- changeAddressIndex [ selectedNetwork ] [ type ] = changeAddressIndexFilter ;
2108- }
2109- addressesObj [ selectedNetwork ] [ type ] = addresses ;
2110- changeAddressesObj [ selectedNetwork ] [ type ] = changeAddresses ;
2111- } ) ,
2112- ] ) ;
2075+
2076+ await setKeychainSlashtagsPrimaryKey ( seed ) ;
2077+
2078+ for ( const { type, path } of Object . values ( addressTypes ) ) {
2079+ const pathObject = getKeyDerivationPathObject ( {
2080+ path,
2081+ selectedNetwork,
2082+ } ) ;
2083+ if ( pathObject . isErr ( ) ) {
2084+ return err ( pathObject . error . message ) ;
2085+ }
2086+ const generatedAddresses = await generateAddresses ( {
2087+ selectedWallet : walletName ,
2088+ selectedNetwork,
2089+ addressAmount,
2090+ changeAddressAmount,
2091+ keyDerivationPath : pathObject . value ,
2092+ addressType : type ,
2093+ } ) ;
2094+ if ( generatedAddresses . isErr ( ) ) {
2095+ return err ( generatedAddresses . error ) ;
2096+ }
2097+ const { addresses, changeAddresses } = generatedAddresses . value ;
2098+ const addressZeroIndex = Object . values ( addresses ) . find (
2099+ ( a ) => a . index === 0 ,
2100+ ) ;
2101+ const changeAddressZeroIndex = Object . values ( changeAddresses ) . find (
2102+ ( a ) => a . index === 0 ,
2103+ ) ;
2104+ if ( addressZeroIndex ) {
2105+ addressIndex [ selectedNetwork ] [ type ] = addressZeroIndex ;
2106+ }
2107+ if ( changeAddressZeroIndex ) {
2108+ changeAddressIndex [ selectedNetwork ] [ type ] = changeAddressZeroIndex ;
2109+ }
2110+ addressesObj [ selectedNetwork ] [ type ] = addresses ;
2111+ changeAddressesObj [ selectedNetwork ] [ type ] = changeAddresses ;
2112+ }
2113+
21132114 const payload : IWallets = {
21142115 [ walletName ] : {
21152116 ...defaultWalletShape ,
0 commit comments