Skip to content

Commit

Permalink
Merge pull request #4178 from jmacxx/fix_issue_3871
Browse files Browse the repository at this point in the history
When accepting an offer do not round the BTC amount outside range
  • Loading branch information
sqrrm authored May 11, 2020
2 parents c07988f + 223a1d3 commit d51c4c8
Showing 1 changed file with 6 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ void onFocusOutAmountTextField(boolean oldValue, boolean newValue, String userIn
dataModel.applyAmount(adjustedAmountForHalCash);
amount.set(btcFormatter.formatCoin(dataModel.getAmount().get()));
} else if (CurrencyUtil.isFiatCurrency(dataModel.getCurrencyCode())) {
if (!isAmountEqualMinAmount(dataModel.getAmount().get())) {
if (!isAmountEqualMinAmount(dataModel.getAmount().get()) && (!isAmountEqualMaxAmount(dataModel.getAmount().get()))) {
// We only apply the rounding if the amount is variable (minAmount is lower as amount).
// Otherwise we could get an amount lower then the minAmount set by rounding
Coin roundedAmount = OfferUtil.getRoundedFiatAmount(dataModel.getAmount().get(), tradePrice,
Expand Down Expand Up @@ -644,7 +644,8 @@ private void setAmountToModel() {
if (price != null) {
if (dataModel.isHalCashAccount()) {
amount = OfferUtil.getAdjustedAmountForHalCash(amount, price, maxTradeLimit);
} else if (CurrencyUtil.isFiatCurrency(dataModel.getCurrencyCode()) && !isAmountEqualMinAmount(amount)) {
} else if (CurrencyUtil.isFiatCurrency(dataModel.getCurrencyCode())
&& !isAmountEqualMinAmount(amount) && !isAmountEqualMaxAmount(amount)) {
// We only apply the rounding if the amount is variable (minAmount is lower as amount).
// Otherwise we could get an amount lower then the minAmount set by rounding
amount = OfferUtil.getRoundedFiatAmount(amount, price, maxTradeLimit);
Expand All @@ -658,6 +659,9 @@ private boolean isAmountEqualMinAmount(Coin amount) {
return amount.value == offer.getMinAmount().value;
}

private boolean isAmountEqualMaxAmount(Coin amount) {
return amount.value == offer.getAmount().value;
}

///////////////////////////////////////////////////////////////////////////////////////////
// Getters
Expand Down

0 comments on commit d51c4c8

Please sign in to comment.