mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 15:10:44 +01:00
Merge pull request #5825 from chimp1984/improve-offer-validation
Improve offer validation
This commit is contained in:
commit
83c9355931
3 changed files with 10 additions and 3 deletions
|
@ -225,8 +225,15 @@ public class Offer implements NetworkPayload, PersistablePayload {
|
|||
return offerPayloadBase.getPrice();
|
||||
}
|
||||
|
||||
public void checkTradePriceTolerance(long takersTradePrice) throws TradePriceOutOfToleranceException,
|
||||
public void verifyTakersTradePrice(long takersTradePrice) throws TradePriceOutOfToleranceException,
|
||||
MarketPriceNotAvailableException, IllegalArgumentException {
|
||||
if (!isUseMarketBasedPrice()) {
|
||||
checkArgument(takersTradePrice == getFixedPrice(),
|
||||
"Takers price does not match offer price. " +
|
||||
"Takers price=" + takersTradePrice + "; offer price=" + getFixedPrice());
|
||||
return;
|
||||
}
|
||||
|
||||
Price tradePrice = Price.valueOf(getCurrencyCode(), takersTradePrice);
|
||||
Price offerPrice = getPrice();
|
||||
if (offerPrice == null)
|
||||
|
|
|
@ -685,7 +685,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
|
|||
// Check also tradePrice to avoid failures after taker fee is paid caused by a too big difference
|
||||
// in trade price between the peers. Also here poor connectivity might cause market price API connection
|
||||
// losses and therefore an outdated market price.
|
||||
offer.checkTradePriceTolerance(request.getTakersTradePrice());
|
||||
offer.verifyTakersTradePrice(request.getTakersTradePrice());
|
||||
availabilityResult = AvailabilityResult.AVAILABLE;
|
||||
} catch (TradePriceOutOfToleranceException e) {
|
||||
log.warn("Trade price check failed because takers price is outside out tolerance.");
|
||||
|
|
|
@ -104,7 +104,7 @@ public class MakerProcessesInputsForDepositTxRequest extends TradeTask {
|
|||
Offer offer = checkNotNull(trade.getOffer(), "Offer must not be null");
|
||||
try {
|
||||
long takersTradePrice = request.getTradePrice();
|
||||
offer.checkTradePriceTolerance(takersTradePrice);
|
||||
offer.verifyTakersTradePrice(takersTradePrice);
|
||||
trade.setPriceAsLong(takersTradePrice);
|
||||
} catch (TradePriceOutOfToleranceException e) {
|
||||
failed(e.getMessage());
|
||||
|
|
Loading…
Add table
Reference in a new issue