remove warning when invalid open offer signature is expected (#2033)

This commit is contained in:
woodser 2025-10-30 19:28:32 -04:00 committed by GitHub
parent 7e332136ab
commit 495b99c03b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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);
}
}