save payment received message immediately for reprocessing
This commit is contained in:
parent
84d8a17ab4
commit
38c0855728
2 changed files with 13 additions and 3 deletions
|
@ -536,6 +536,19 @@ public abstract class TradeProtocol implements DecryptedDirectMessageListener, D
|
||||||
|
|
||||||
private void handle(PaymentReceivedMessage message, NodeAddress peer, boolean reprocessOnError) {
|
private void handle(PaymentReceivedMessage message, NodeAddress peer, boolean reprocessOnError) {
|
||||||
System.out.println(getClass().getSimpleName() + ".handle(PaymentReceivedMessage) for " + trade.getClass().getSimpleName() + " " + trade.getShortId());
|
System.out.println(getClass().getSimpleName() + ".handle(PaymentReceivedMessage) for " + trade.getClass().getSimpleName() + " " + trade.getShortId());
|
||||||
|
|
||||||
|
// validate signature
|
||||||
|
try {
|
||||||
|
HavenoUtils.verifyPaymentReceivedMessage(trade, message);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
log.warn("Ignoring PaymentReceivedMessage with invalid signature for {} {}, error={}", trade.getClass().getSimpleName(), trade.getId(), t.getMessage());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// save message for reprocessing
|
||||||
|
trade.getSeller().setPaymentReceivedMessage(message);
|
||||||
|
trade.requestPersistence();
|
||||||
|
|
||||||
if (!trade.isInitialized() || trade.isShutDown()) return;
|
if (!trade.isInitialized() || trade.isShutDown()) return;
|
||||||
ThreadUtils.execute(() -> {
|
ThreadUtils.execute(() -> {
|
||||||
if (!(trade instanceof BuyerTrade || trade instanceof ArbitratorTrade)) {
|
if (!(trade instanceof BuyerTrade || trade instanceof ArbitratorTrade)) {
|
||||||
|
|
|
@ -80,9 +80,6 @@ public class ProcessPaymentReceivedMessage extends TradeTask {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// save message for reprocessing
|
|
||||||
trade.getSeller().setPaymentReceivedMessage(message);
|
|
||||||
|
|
||||||
// set state
|
// set state
|
||||||
trade.getSeller().setUpdatedMultisigHex(message.getUpdatedMultisigHex());
|
trade.getSeller().setUpdatedMultisigHex(message.getUpdatedMultisigHex());
|
||||||
trade.getBuyer().setAccountAgeWitness(message.getBuyerAccountAgeWitness());
|
trade.getBuyer().setAccountAgeWitness(message.getBuyerAccountAgeWitness());
|
||||||
|
|
Loading…
Reference in a new issue