handle core bug where listwalletdir returns empty results

This commit is contained in:
Craig Raw 2023-08-14 10:02:35 +02:00
parent e01f6b42b1
commit bebd7eebe5

View file

@ -141,11 +141,13 @@ public class BitcoindClient {
boolean exists = listWalletDirResult.wallets().stream().anyMatch(walletDirResult -> walletDirResult.name().equals(CORE_WALLET_NAME)); boolean exists = listWalletDirResult.wallets().stream().anyMatch(walletDirResult -> walletDirResult.name().equals(CORE_WALLET_NAME));
legacyWalletExists = listWalletDirResult.wallets().stream().anyMatch(walletDirResult -> walletDirResult.name().equals(Bwt.DEFAULT_CORE_WALLET)); legacyWalletExists = listWalletDirResult.wallets().stream().anyMatch(walletDirResult -> walletDirResult.name().equals(Bwt.DEFAULT_CORE_WALLET));
if(!exists) { List<String> loadedWallets = getBitcoindService().listWallets();
boolean loaded = loadedWallets.contains(CORE_WALLET_NAME);
if(!exists && !loaded) {
getBitcoindService().createWallet(CORE_WALLET_NAME, true, true, "", true, true, true, false); getBitcoindService().createWallet(CORE_WALLET_NAME, true, true, "", true, true, true, false);
} else { } else {
List<String> wallets = getBitcoindService().listWallets(); if(!loaded) {
if(!wallets.contains(CORE_WALLET_NAME)) {
getBitcoindService().loadWallet(CORE_WALLET_NAME, true); getBitcoindService().loadWallet(CORE_WALLET_NAME, true);
} }
} }