From 495b99c03bf6e82368c09b664830913f33fef2f4 Mon Sep 17 00:00:00 2001 From: woodser Date: Thu, 30 Oct 2025 19:28:32 -0400 Subject: [PATCH] remove warning when invalid open offer signature is expected (#2033) --- .../haveno/core/offer/OpenOfferManager.java | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/core/src/main/java/haveno/core/offer/OpenOfferManager.java b/core/src/main/java/haveno/core/offer/OpenOfferManager.java index 506fa21a1c..906f8a8070 100644 --- a/core/src/main/java/haveno/core/offer/OpenOfferManager.java +++ b/core/src/main/java/haveno/core/offer/OpenOfferManager.java @@ -766,6 +766,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe // reset arbitrator signature editedOpenOffer.getOffer().getOfferPayload().setArbitratorSignature(null); editedOpenOffer.getOffer().getOfferPayload().setArbitratorSigner(null); + if (editedOpenOffer.isAvailable()) editedOpenOffer.setState(OpenOffer.State.PENDING); // process offer to sign and publish synchronized (processOffersLock) { @@ -1128,21 +1129,18 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe } } else { - // validate non-pending state - boolean skipValidation = openOffer.isDeactivated() && hasConflictingClone(openOffer) && openOffer.getOffer().getOfferPayload().getArbitratorSignature() == null; // clone with conflicting offer is deactivated and unsigned at first - if (!skipValidation) { - try { - validateSignedState(openOffer); - resultHandler.handleResult(null); // done processing if non-pending state is valid - return; - } catch (Exception e) { - log.warn(e.getMessage()); + // validate or reset non-pending state + try { + validateSignedState(openOffer); + resultHandler.handleResult(null); // done processing if non-pending state is valid + return; + } catch (Exception e) { + log.info("Open offer {} has invalid signature, which can happen after editing or cloning offer, validationMsg={}", openOffer.getId(), e.getMessage()); - // reset arbitrator signature - openOffer.getOffer().getOfferPayload().setArbitratorSignature(null); - openOffer.getOffer().getOfferPayload().setArbitratorSigner(null); - if (openOffer.isAvailable()) openOffer.setState(OpenOffer.State.PENDING); - } + // reset arbitrator signature + openOffer.getOffer().getOfferPayload().setArbitratorSignature(null); + openOffer.getOffer().getOfferPayload().setArbitratorSigner(null); + if (openOffer.isAvailable()) openOffer.setState(OpenOffer.State.PENDING); } }