|
|
|
|
@ -414,10 +414,11 @@ class NewWalletWizard(AbstractWizard):
|
|
|
|
|
|
|
|
|
|
def keystore_from_data(self, wallet_type: str, data: dict): |
|
|
|
|
if data['keystore_type'] in ['createseed', 'haveseed'] and 'seed' in data: |
|
|
|
|
seed_extension = data['seed_extra_words'] if data['seed_extend'] else '' |
|
|
|
|
if data['seed_variant'] == 'electrum': |
|
|
|
|
return keystore.from_seed(data['seed'], passphrase=data['seed_extra_words'], for_multisig=True) |
|
|
|
|
return keystore.from_seed(data['seed'], passphrase=seed_extension, for_multisig=True) |
|
|
|
|
elif data['seed_variant'] == 'bip39': |
|
|
|
|
root_seed = keystore.bip39_to_seed(data['seed'], passphrase=data['seed_extra_words']) |
|
|
|
|
root_seed = keystore.bip39_to_seed(data['seed'], passphrase=seed_extension) |
|
|
|
|
derivation = normalize_bip32_derivation(data['derivation_path']) |
|
|
|
|
if wallet_type == 'multisig': |
|
|
|
|
script = data['script_type'] if data['script_type'] != 'p2sh' else 'standard' |
|
|
|
|
@ -425,7 +426,7 @@ class NewWalletWizard(AbstractWizard):
|
|
|
|
|
script = data['script_type'] if data['script_type'] != 'p2pkh' else 'standard' |
|
|
|
|
return keystore.from_bip43_rootseed(root_seed, derivation=derivation, xtype=script) |
|
|
|
|
elif data['seed_variant'] == 'slip39': |
|
|
|
|
root_seed = data['seed'].decrypt(data['seed_extra_words']) |
|
|
|
|
root_seed = data['seed'].decrypt(seed_extension) |
|
|
|
|
derivation = normalize_bip32_derivation(data['derivation_path']) |
|
|
|
|
if wallet_type == 'multisig': |
|
|
|
|
script = data['script_type'] if data['script_type'] != 'p2sh' else 'standard' |
|
|
|
|
@ -548,15 +549,16 @@ class NewWalletWizard(AbstractWizard):
|
|
|
|
|
for addr in data['address_list'].split(): |
|
|
|
|
addresses[addr] = {} |
|
|
|
|
elif data['keystore_type'] in ['createseed', 'haveseed']: |
|
|
|
|
seed_extension = data['seed_extra_words'] if data['seed_extend'] else '' |
|
|
|
|
if data['seed_type'] in ['old', 'standard', 'segwit']: |
|
|
|
|
self._logger.debug('creating keystore from electrum seed') |
|
|
|
|
k = keystore.from_seed(data['seed'], passphrase=data['seed_extra_words'], for_multisig=data['wallet_type'] == 'multisig') |
|
|
|
|
k = keystore.from_seed(data['seed'], passphrase=seed_extension, for_multisig=data['wallet_type'] == 'multisig') |
|
|
|
|
elif data['seed_type'] in ['bip39', 'slip39']: |
|
|
|
|
self._logger.debug('creating keystore from %s seed' % data['seed_type']) |
|
|
|
|
if data['seed_type'] == 'bip39': |
|
|
|
|
root_seed = keystore.bip39_to_seed(data['seed'], passphrase=data['seed_extra_words']) |
|
|
|
|
root_seed = keystore.bip39_to_seed(data['seed'], passphrase=seed_extension) |
|
|
|
|
else: |
|
|
|
|
root_seed = data['seed'].decrypt(data['seed_extra_words']) |
|
|
|
|
root_seed = data['seed'].decrypt(seed_extension) |
|
|
|
|
derivation = normalize_bip32_derivation(data['derivation_path']) |
|
|
|
|
if data['wallet_type'] == 'multisig': |
|
|
|
|
script = data['script_type'] if data['script_type'] != 'p2sh' else 'standard' |
|
|
|
|
|