From bfd545f89388f2b7672ed974f9111df7352e1e73 Mon Sep 17 00:00:00 2001 From: Oscar Guindzberg Date: Fri, 22 May 2020 11:51:17 -0300 Subject: [PATCH] [WIP] Add native segwit keychain to wallets that don't have one --- .../main/java/bisq/core/btc/setup/WalletConfig.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/src/main/java/bisq/core/btc/setup/WalletConfig.java b/core/src/main/java/bisq/core/btc/setup/WalletConfig.java index 17ec42af493..5ea75ad16df 100644 --- a/core/src/main/java/bisq/core/btc/setup/WalletConfig.java +++ b/core/src/main/java/bisq/core/btc/setup/WalletConfig.java @@ -466,6 +466,16 @@ private Wallet loadWallet(boolean shouldReplayWallet, File walletFile, boolean i wallet = serializer.readWallet(params, extArray, proto); if (shouldReplayWallet) wallet.reset(); + if (!isBsqWallet && BisqKeyChainGroupStructure.BIP44_BTC_NON_SEGWIT_ACCOUNT_PATH.equals(wallet.getActiveKeyChain().getAccountPath())) { + // Btc wallet does not have a native segwit keychain, we should add one. + DeterministicSeed seed = wallet.getKeyChainSeed(); + DeterministicKeyChain nativeSegwitKeyChain = DeterministicKeyChain.builder().seed(seed) + .outputScriptType(Script.ScriptType.P2WPKH) + .accountPath(new BisqKeyChainGroupStructure(isBsqWallet).accountPathFor(Script.ScriptType.P2WPKH)).build(); + wallet.addAndActivateHDChain(nativeSegwitKeyChain); + } + + } finally { walletStream.close(); }