reprocess offer on republish if arbitrator signature is missing

This commit is contained in:
woodser 2025-10-09 11:13:00 -04:00
parent 0feb559884
commit db0cc16e4e
No known key found for this signature in database
GPG key ID: 55A10DD48ADEE5EF

View file

@ -2158,7 +2158,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
ThreadUtils.execute(() -> { ThreadUtils.execute(() -> {
// skip if prevented from publishing // skip if prevented from publishing
if (preventedFromPublishing(openOffer)) { if (preventedFromPublishing(openOffer, false)) {
if (completeHandler != null) completeHandler.run(); if (completeHandler != null) completeHandler.run();
return; return;
} }
@ -2171,7 +2171,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
latch.countDown(); latch.countDown();
// skip if prevented from publishing // skip if prevented from publishing
if (preventedFromPublishing(openOffer)) { if (preventedFromPublishing(openOffer, true)) {
if (completeHandler != null) completeHandler.run(); if (completeHandler != null) completeHandler.run();
return; return;
} }
@ -2209,11 +2209,11 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
}, THREAD_ID); }, THREAD_ID);
} }
private boolean preventedFromPublishing(OpenOffer openOffer) { private boolean preventedFromPublishing(OpenOffer openOffer, boolean checkSignature) {
if (!Boolean.TRUE.equals(xmrConnectionService.isConnected())) return true; if (!Boolean.TRUE.equals(xmrConnectionService.isConnected())) return true;
return openOffer.isDeactivated() || return openOffer.isDeactivated() ||
openOffer.isCanceled() || openOffer.isCanceled() ||
openOffer.getOffer().getOfferPayload().getArbitratorSigner() == null || (checkSignature && openOffer.getOffer().getOfferPayload().getArbitratorSigner() == null) ||
hasConflictingClone(openOffer); hasConflictingClone(openOffer);
} }
@ -2270,7 +2270,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
} }
private void maybeRefreshOffer(OpenOffer openOffer, int numAttempts, int maxAttempts) { private void maybeRefreshOffer(OpenOffer openOffer, int numAttempts, int maxAttempts) {
if (preventedFromPublishing(openOffer)) return; if (preventedFromPublishing(openOffer, true)) return;
offerBookService.refreshTTL(openOffer.getOffer().getOfferPayload(), offerBookService.refreshTTL(openOffer.getOffer().getOfferPayload(),
() -> log.debug("Successful refreshed TTL for offer"), () -> log.debug("Successful refreshed TTL for offer"),
(errorMessage) -> { (errorMessage) -> {