From 71e40ce1b706be02da8cff66195c3ef76953f4df Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Sat, 20 Nov 2021 23:04:25 +0100 Subject: [PATCH] Add check for trade statistic for max amount and if currency exists in CurrencyUtil --- .../core/trade/statistics/TradeStatistics3.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/bisq/core/trade/statistics/TradeStatistics3.java b/core/src/main/java/bisq/core/trade/statistics/TradeStatistics3.java index 3181d90608e..5e57ec2545f 100644 --- a/core/src/main/java/bisq/core/trade/statistics/TradeStatistics3.java +++ b/core/src/main/java/bisq/core/trade/statistics/TradeStatistics3.java @@ -17,12 +17,14 @@ package bisq.core.trade.statistics; +import bisq.core.locale.CurrencyUtil; import bisq.core.monetary.Altcoin; import bisq.core.monetary.AltcoinExchangeRate; import bisq.core.monetary.Price; import bisq.core.monetary.Volume; import bisq.core.offer.Offer; import bisq.core.offer.bisq_v1.OfferPayload; +import bisq.core.payment.payload.PaymentMethod; import bisq.core.trade.model.bisq_v1.Trade; import bisq.core.trade.model.bsq_swap.BsqSwapTrade; import bisq.core.util.JsonUtil; @@ -430,13 +432,23 @@ public Volume getTradeVolume() { } public boolean isValid() { + if (currency == null) { + return false; + } + long maxTradeLimit = Coin.COIN.multiply(2).value; + try { + maxTradeLimit = PaymentMethod.getPaymentMethodById(getPaymentMethod()).getMaxTradeLimitAsCoin(currency).value; + } catch (Exception ignore) { + } return amount > 0 && + amount <= maxTradeLimit && price > 0 && date > 0 && paymentMethod != null && !paymentMethod.isEmpty() && - currency != null && - !currency.isEmpty(); + !currency.isEmpty() && + (CurrencyUtil.getCryptoCurrency(currency).isPresent() || + CurrencyUtil.getFiatCurrency(currency).isPresent()); } @Override