diff --git a/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/MutableOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/MutableOfferDataModel.java index f5fdba99dc4..4f522c67b97 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/MutableOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/MutableOfferDataModel.java @@ -627,19 +627,11 @@ void swapTradeToSavings() { } private void fillPaymentAccounts() { - paymentAccounts.setAll(new HashSet<>(getUserPaymentAccounts())); + paymentAccounts.setAll(getUserPaymentAccounts()); paymentAccounts.sort(comparing(PaymentAccount::getAccountName)); } - private Set getUserPaymentAccounts() { - return Objects.requireNonNull(user.getPaymentAccounts()).stream() - .filter(this::isNotBsqSwapOrDaoActivated) - .collect(Collectors.toSet()); - } - - private boolean isNotBsqSwapOrDaoActivated(PaymentAccount paymentAccount) { - return !paymentAccount.getPaymentMethod().isBsqSwap() || DevEnv.isDaoActivated(); - } + protected abstract Set getUserPaymentAccounts(); protected void setAmount(Coin amount) { this.amount.set(amount); diff --git a/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/createoffer/CreateOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/createoffer/CreateOfferDataModel.java index 0b7e4423c81..1138f0772a0 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/createoffer/CreateOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/bisq_v1/createoffer/CreateOfferDataModel.java @@ -30,6 +30,7 @@ import bisq.core.offer.OfferUtil; import bisq.core.offer.OpenOfferManager; import bisq.core.offer.bisq_v1.CreateOfferService; +import bisq.core.payment.PaymentAccount; import bisq.core.provider.fee.FeeService; import bisq.core.provider.price.PriceFeedService; import bisq.core.trade.statistics.TradeStatisticsManager; @@ -40,10 +41,16 @@ import bisq.network.p2p.P2PService; +import bisq.common.app.DevEnv; + import com.google.inject.Inject; import javax.inject.Named; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + /** * Domain for that UI element. * Note that the create offer domain has a deeper scope in the application domain (TradeManager). @@ -81,4 +88,11 @@ public CreateOfferDataModel(CreateOfferService createOfferService, tradeStatisticsManager, navigation); } + + @Override + protected Set getUserPaymentAccounts() { + return Objects.requireNonNull(user.getPaymentAccounts()).stream() + .filter(account -> !account.getPaymentMethod().isBsqSwap() || DevEnv.isDaoActivated()) + .collect(Collectors.toSet()); + } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/duplicateoffer/DuplicateOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/portfolio/duplicateoffer/DuplicateOfferDataModel.java index 5c71a5faeda..5fc37726bab 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/duplicateoffer/DuplicateOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/duplicateoffer/DuplicateOfferDataModel.java @@ -50,7 +50,10 @@ import javax.inject.Named; +import java.util.Objects; import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; class DuplicateOfferDataModel extends MutableOfferDataModel { @@ -111,6 +114,13 @@ private double getBuyerSecurityAsPercent(Offer offer) { Restrictions.getMaxBuyerSecurityDepositAsPercent()); } + @Override + protected Set getUserPaymentAccounts() { + return Objects.requireNonNull(user.getPaymentAccounts()).stream() + .filter(account -> !account.getPaymentMethod().isBsqSwap()) + .collect(Collectors.toSet()); + } + @Override protected PaymentAccount getPreselectedPaymentAccount() { // If trade currency is BSQ don't use the BSQ swap payment account as it will automatically diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java index 34dc0dfa0b3..96223fe0659 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java @@ -55,7 +55,10 @@ import javax.inject.Named; +import java.util.Objects; import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; class EditOfferDataModel extends MutableOfferDataModel { @@ -159,6 +162,13 @@ public boolean initWithData(OfferDirection direction, TradeCurrency tradeCurrenc } } + @Override + protected Set getUserPaymentAccounts() { + return Objects.requireNonNull(user.getPaymentAccounts()).stream() + .filter(account -> !account.getPaymentMethod().isBsqSwap()) + .collect(Collectors.toSet()); + } + @Override protected PaymentAccount getPreselectedPaymentAccount() { return paymentAccount;