prevent setting separate passwords on child wallets

This commit is contained in:
Craig Raw 2021-09-27 13:24:29 +02:00
parent 56e3a54ae0
commit 429b733140

View file

@ -588,14 +588,15 @@ public class SettingsController extends WalletFormController implements Initiali
key = new Key(encryptionFullKey.getPrivKeyBytes(), walletForm.getStorage().getKeyDeriver().getSalt(), EncryptionType.Deriver.ARGON2);
Wallet masterWallet = walletForm.getWallet().isMasterWallet() ? walletForm.getWallet() : walletForm.getWallet().getMasterWallet();
if(dlg.isChangePassword()) {
if(dlg.isDeleteBackups()) {
walletForm.deleteBackups();
}
walletForm.getStorage().setEncryptionPubKey(null);
walletForm.getWallet().decrypt(key);
for(Wallet childWallet : walletForm.getWallet().getChildWallets()) {
masterWallet.decrypt(key);
for(Wallet childWallet : masterWallet.getChildWallets()) {
childWallet.decrypt(key);
}
saveWallet(true, false);
@ -606,8 +607,8 @@ public class SettingsController extends WalletFormController implements Initiali
walletForm.deleteBackups();
}
walletForm.getWallet().encrypt(key);
for(Wallet childWallet : walletForm.getWallet().getChildWallets()) {
masterWallet.encrypt(key);
for(Wallet childWallet : masterWallet.getChildWallets()) {
childWallet.encrypt(key);
}
walletForm.getStorage().setEncryptionPubKey(encryptionPubKey);