From 93985137a09912bd0714b279127d602b38743819 Mon Sep 17 00:00:00 2001 From: Alva Swanson Date: Wed, 5 Feb 2025 19:55:12 +0000 Subject: [PATCH] AltCoinAccountsDataModel: Handle XMR detection NullPointerException The PaymentAccount.getSingleTradeCurrency(...) method can return null in certain cases. --- .../content/altcoinaccounts/AltCoinAccountsDataModel.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/desktop/src/main/java/bisq/desktop/main/account/content/altcoinaccounts/AltCoinAccountsDataModel.java b/desktop/src/main/java/bisq/desktop/main/account/content/altcoinaccounts/AltCoinAccountsDataModel.java index 4792521100..28ebf79c64 100644 --- a/desktop/src/main/java/bisq/desktop/main/account/content/altcoinaccounts/AltCoinAccountsDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/account/content/altcoinaccounts/AltCoinAccountsDataModel.java @@ -81,7 +81,7 @@ class AltCoinAccountsDataModel extends ActivatableDataModel { fillAndSortPaymentAccounts(); paymentAccounts.stream() - .filter(e -> e.getSingleTradeCurrency().getCode().equals("XMR")) + .filter(this::isXmrPaymentAccount) .forEach(e -> { if (!xmrAccountUsesSubAddresses(e)) { XmrForm.showXmrSubAddressPopup(); @@ -98,6 +98,11 @@ class AltCoinAccountsDataModel extends ActivatableDataModel { } } + private boolean isXmrPaymentAccount(PaymentAccount paymentAccount) { + TradeCurrency tradeCurrency = paymentAccount.getSingleTradeCurrency(); + return tradeCurrency != null && tradeCurrency.getCode().equals("XMR"); + } + private boolean xmrAccountUsesSubAddresses(PaymentAccount paymentAccount) { if (paymentAccount instanceof CryptoCurrencyAccount) { CryptoCurrencyAccount account = (CryptoCurrencyAccount) paymentAccount;