diff --git a/core/src/main/java/haveno/core/offer/Offer.java b/core/src/main/java/haveno/core/offer/Offer.java index 3b301869c1..a7cc1845d6 100644 --- a/core/src/main/java/haveno/core/offer/Offer.java +++ b/core/src/main/java/haveno/core/offer/Offer.java @@ -81,7 +81,8 @@ public class Offer implements NetworkPayload, PersistablePayload { AVAILABLE, NOT_AVAILABLE, REMOVED, - MAKER_OFFLINE + MAKER_OFFLINE, + INVALID } /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/haveno/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java b/core/src/main/java/haveno/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java index e49235e807..9ffd6ea316 100644 --- a/core/src/main/java/haveno/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java +++ b/core/src/main/java/haveno/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java @@ -54,7 +54,7 @@ public class ProcessOfferAvailabilityResponse extends Task { log.warn(errorMessage); - if (offer.getState() != Offer.State.NOT_AVAILABLE) new Popup().warning(errorMessage).show(); // expected and handled elsewhere in UI + if (offer.getState() != Offer.State.NOT_AVAILABLE && offer.getState() != Offer.State.INVALID) { // handled elsewhere in UI + new Popup().warning(errorMessage).show(); + } }); } } diff --git a/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferViewModel.java b/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferViewModel.java index 559ad75f74..c6baf04b16 100644 --- a/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferViewModel.java +++ b/desktop/src/main/java/haveno/desktop/main/offer/takeoffer/TakeOfferViewModel.java @@ -373,6 +373,10 @@ class TakeOfferViewModel extends ActivatableWithDataModel im offerWarning.set(Res.get("takeOffer.failed.offerTaken")); takeOfferRequested = false; break; + case INVALID: + offerWarning.set(Res.get("takeOffer.failed.offerInvalid")); + takeOfferRequested = false; + break; case REMOVED: // if (takeOfferRequested) // TODO: show any warning or removed is expected? // offerWarning.set(Res.get("takeOffer.failed.offerRemoved")); diff --git a/proto/src/main/proto/pb.proto b/proto/src/main/proto/pb.proto index e42ae85658..1eb6b3bd80 100644 --- a/proto/src/main/proto/pb.proto +++ b/proto/src/main/proto/pb.proto @@ -1358,6 +1358,7 @@ message Offer { NOT_AVAILABLE = 4; REMOVED = 5; MAKER_OFFLINE = 6; + INVALID = 7; } OfferPayload offer_payload = 1;