diff --git a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/BtcOfferBookViewModel.java b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/BtcOfferBookViewModel.java index d8ee8542256..3433edaafc7 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/BtcOfferBookViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/BtcOfferBookViewModel.java @@ -134,7 +134,7 @@ Predicate getCurrencyAndMethodPredicate(OfferDirection direct TradeCurrency getDefaultTradeCurrency() { TradeCurrency defaultTradeCurrency = GlobalSettings.getDefaultTradeCurrency(); - if (CurrencyUtil.isFiatCurrency(defaultTradeCurrency.getCode())) { + if (CurrencyUtil.isFiatCurrency(defaultTradeCurrency.getCode()) && hasPaymentAccountForCurrency(defaultTradeCurrency)) { return defaultTradeCurrency; } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OtherOfferBookViewModel.java b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OtherOfferBookViewModel.java index 65f01694874..db88307e62b 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OtherOfferBookViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OtherOfferBookViewModel.java @@ -138,7 +138,8 @@ TradeCurrency getDefaultTradeCurrency() { if (!CurrencyUtil.isFiatCurrency(defaultTradeCurrency.getCode()) && !defaultTradeCurrency.equals(GUIUtil.BSQ) && - !defaultTradeCurrency.equals(GUIUtil.TOP_ALTCOIN)) { + !defaultTradeCurrency.equals(GUIUtil.TOP_ALTCOIN) && + hasPaymentAccountForCurrency(defaultTradeCurrency)) { return defaultTradeCurrency; } diff --git a/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java b/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java index 0a70c5acd11..fbdc276477b 100644 --- a/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java +++ b/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java @@ -42,6 +42,7 @@ import bisq.core.provider.price.MarketPrice; import bisq.core.provider.price.PriceFeedService; import bisq.core.trade.statistics.TradeStatisticsManager; +import bisq.core.user.User; import bisq.core.util.PriceUtil; import bisq.core.util.coin.BsqFormatter; import bisq.core.util.coin.CoinFormatter; @@ -78,6 +79,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -85,12 +87,15 @@ public class OfferBookViewModelTest { private final CoinFormatter coinFormatter = new ImmutableCoinFormatter(Config.baseCurrencyNetworkParameters().getMonetaryFormat()); private static final Logger log = LoggerFactory.getLogger(OfferBookViewModelTest.class); + private User user; @Before public void setUp() { GlobalSettings.setDefaultTradeCurrency(usd); Res.setBaseCurrencyCode(usd.getCode()); Res.setBaseCurrencyName(usd.getName()); + user = mock(User.class); + when(user.hasPaymentAccountForCurrency(any())).thenReturn(true); } private PriceUtil getPriceUtil() { @@ -252,7 +257,7 @@ public void testMaxCharactersForAmount() { when(offerBook.getOfferBookListItems()).thenReturn(offerBookListItems); - final OfferBookViewModel model = new BtcOfferBookViewModel(null, openOfferManager, offerBook, empty, null, null, null, + final OfferBookViewModel model = new BtcOfferBookViewModel(user, openOfferManager, offerBook, empty, null, null, null, null, null, null, null, getPriceUtil(), null, coinFormatter, new BsqFormatter(), null, null); model.activate(); @@ -270,7 +275,7 @@ public void testMaxCharactersForAmountRange() { when(offerBook.getOfferBookListItems()).thenReturn(offerBookListItems); - final OfferBookViewModel model = new BtcOfferBookViewModel(null, openOfferManager, offerBook, empty, null, null, null, + final OfferBookViewModel model = new BtcOfferBookViewModel(user, openOfferManager, offerBook, empty, null, null, null, null, null, null, null, getPriceUtil(), null, coinFormatter, new BsqFormatter(), null, null); model.activate(); @@ -303,7 +308,7 @@ public void testMaxCharactersForVolume() { when(offerBook.getOfferBookListItems()).thenReturn(offerBookListItems); - final OfferBookViewModel model = new BtcOfferBookViewModel(null, openOfferManager, offerBook, empty, null, null, null, + final OfferBookViewModel model = new BtcOfferBookViewModel(user, openOfferManager, offerBook, empty, null, null, null, null, null, null, null, getPriceUtil(), null, coinFormatter, new BsqFormatter(), null, null); model.activate(); @@ -321,7 +326,7 @@ public void testMaxCharactersForVolumeRange() { when(offerBook.getOfferBookListItems()).thenReturn(offerBookListItems); - final OfferBookViewModel model = new BtcOfferBookViewModel(null, openOfferManager, offerBook, empty, null, null, null, + final OfferBookViewModel model = new BtcOfferBookViewModel(user, openOfferManager, offerBook, empty, null, null, null, null, null, null, null, getPriceUtil(), null, coinFormatter, new BsqFormatter(), null, null); model.activate(); @@ -354,7 +359,7 @@ public void testMaxCharactersForPrice() { when(offerBook.getOfferBookListItems()).thenReturn(offerBookListItems); - final OfferBookViewModel model = new BtcOfferBookViewModel(null, openOfferManager, offerBook, empty, null, null, null, + final OfferBookViewModel model = new BtcOfferBookViewModel(user, openOfferManager, offerBook, empty, null, null, null, null, null, null, null, getPriceUtil(), null, coinFormatter, new BsqFormatter(), null, null); model.activate(); @@ -407,7 +412,7 @@ public void testMaxCharactersForPriceDistance() { item4.getOffer().setPriceFeedService(priceFeedService); offerBookListItems.addAll(item1, item2); - final OfferBookViewModel model = new BtcOfferBookViewModel(null, openOfferManager, offerBook, empty, null, null, priceFeedService, + final OfferBookViewModel model = new BtcOfferBookViewModel(user, openOfferManager, offerBook, empty, null, null, priceFeedService, null, null, null, null, getPriceUtil(), null, coinFormatter, new BsqFormatter(), null, null); model.activate(); @@ -428,7 +433,7 @@ public void testGetPrice() { when(offerBook.getOfferBookListItems()).thenReturn(offerBookListItems); when(priceFeedService.getMarketPrice(anyString())).thenReturn(new MarketPrice("USD", 12684.0450, Instant.now().getEpochSecond(), true)); - final OfferBookViewModel model = new BtcOfferBookViewModel(null, openOfferManager, offerBook, empty, null, null, null, + final OfferBookViewModel model = new BtcOfferBookViewModel(user, openOfferManager, offerBook, empty, null, null, null, null, null, null, null, getPriceUtil(), null, coinFormatter, new BsqFormatter(), null, null); final OfferBookListItem item = make(btcBuyItem.but(