diff --git a/core/src/main/java/bisq/core/btc/Balances.java b/core/src/main/java/bisq/core/btc/Balances.java index 3010f8d4b41..d92a6bf0b40 100644 --- a/core/src/main/java/bisq/core/btc/Balances.java +++ b/core/src/main/java/bisq/core/btc/Balances.java @@ -88,6 +88,7 @@ public void onBalanceChanged(Coin balance, Transaction tx) { updateBalance(); } }); + btcWalletService.addNewBestBlockListener(storedBlock -> updateBalance()); updateBalance(); } diff --git a/core/src/main/java/bisq/core/trade/ClosedTradableManager.java b/core/src/main/java/bisq/core/trade/ClosedTradableManager.java index 1fe2dc8701d..0eb00bf5f8f 100644 --- a/core/src/main/java/bisq/core/trade/ClosedTradableManager.java +++ b/core/src/main/java/bisq/core/trade/ClosedTradableManager.java @@ -215,8 +215,13 @@ public boolean isBsqTradeFee(Tradable tradable) { return !tradable.getOffer().isCurrencyForMakerFeeBtc(); } - String feeTxId = castToTrade(tradable).getTakerFeeTxId(); - return bsqWalletService.getTransaction(feeTxId) != null; + try { + String feeTxId = castToTrade(tradable).getTakerFeeTxId(); + return bsqWalletService.getTransaction(feeTxId) != null; + } catch (ClassCastException ex) { + // this can happen when we have canceled offers in history, made using an old onion address + return !tradable.getOffer().isCurrencyForMakerFeeBtc(); + } } public boolean isMaker(Tradable tradable) {