mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-04-19 23:36:00 -04:00
Resend confirmation at startup if peer has not continued trade process
This commit is contained in:
parent
ee4119b2e6
commit
df7f0e7917
@ -55,6 +55,15 @@ public abstract class BuyerTrade extends Trade {
|
||||
((BuyerProtocol) tradeProtocol).onFiatPaymentStarted(resultHandler, errorMessageHandler);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reSendConfirmation() {
|
||||
if (state == Trade.State.BUYER_SENT_FIAT_PAYMENT_INITIATED_MSG) {
|
||||
log.info("reSendConfirmation onFiatPaymentStarted");
|
||||
onFiatPaymentStarted(() -> log.debug("onFiatPaymentStarted succeeded"),
|
||||
log::warn);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Setter for Mutable objects
|
||||
|
@ -55,6 +55,14 @@ public abstract class SellerTrade extends Trade {
|
||||
((SellerProtocol) tradeProtocol).onFiatPaymentReceived(resultHandler, errorMessageHandler);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reSendConfirmation() {
|
||||
if (state == State.SELLER_SENT_FIAT_PAYMENT_RECEIPT_MSG) {
|
||||
log.info("reSendConfirmation onFiatPaymentReceived");
|
||||
onFiatPaymentReceived(() -> log.debug("onFiatPaymentReceived succeeded"),
|
||||
log::warn);
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Setter for Mutable objects
|
||||
|
@ -238,8 +238,12 @@ public abstract class Trade implements Tradable, Model {
|
||||
if (decryptedMsgWithPubKey != null) {
|
||||
tradeProtocol.applyMailboxMessage(decryptedMsgWithPubKey, this);
|
||||
}
|
||||
|
||||
reSendConfirmation();
|
||||
}
|
||||
|
||||
public abstract void reSendConfirmation();
|
||||
|
||||
protected void initStateProperties() {
|
||||
stateProperty = new SimpleObjectProperty<>(state);
|
||||
disputeStateProperty = new SimpleObjectProperty<>(disputeState);
|
||||
|
@ -144,22 +144,32 @@ public class BuyerAsOffererProtocol extends TradeProtocol implements BuyerProtoc
|
||||
// User clicked the "bank transfer started" button
|
||||
@Override
|
||||
public void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
|
||||
buyerAsOffererTrade.setState(Trade.State.BUYER_CONFIRMED_FIAT_PAYMENT_INITIATED);
|
||||
if (buyerAsOffererTrade.getState().ordinal() <= Trade.State.BUYER_SENT_FIAT_PAYMENT_INITIATED_MSG.ordinal()) {
|
||||
if (buyerAsOffererTrade.getState() == Trade.State.BUYER_SENT_FIAT_PAYMENT_INITIATED_MSG)
|
||||
log.warn("onFiatPaymentStarted called twice. " +
|
||||
"That is expected if the app starts up and the other peer has still not continued.");
|
||||
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(buyerAsOffererTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentStarted");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
taskRunner.addTasks(
|
||||
VerifyTakeOfferFeePayment.class,
|
||||
SendFiatTransferStartedMessage.class
|
||||
);
|
||||
taskRunner.run();
|
||||
buyerAsOffererTrade.setState(Trade.State.BUYER_CONFIRMED_FIAT_PAYMENT_INITIATED);
|
||||
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(buyerAsOffererTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentStarted");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
taskRunner.addTasks(
|
||||
VerifyTakeOfferFeePayment.class,
|
||||
SendFiatTransferStartedMessage.class
|
||||
);
|
||||
taskRunner.run();
|
||||
} else {
|
||||
log.warn("onFiatPaymentStarted called twice. " +
|
||||
"That should not happen.\n" +
|
||||
"state=" + buyerAsOffererTrade.getState());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -133,22 +133,32 @@ public class BuyerAsTakerProtocol extends TradeProtocol implements BuyerProtocol
|
||||
// User clicked the "bank transfer started" button
|
||||
@Override
|
||||
public void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
|
||||
buyerAsTakerTrade.setState(Trade.State.BUYER_CONFIRMED_FIAT_PAYMENT_INITIATED);
|
||||
if (buyerAsTakerTrade.getState().ordinal() <= Trade.State.BUYER_SENT_FIAT_PAYMENT_INITIATED_MSG.ordinal()) {
|
||||
if (buyerAsTakerTrade.getState() == Trade.State.BUYER_SENT_FIAT_PAYMENT_INITIATED_MSG)
|
||||
log.warn("onFiatPaymentStarted called twice. " +
|
||||
"That is expected if the app starts up and the other peer has still not continued.");
|
||||
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(buyerAsTakerTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentStarted");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
taskRunner.addTasks(
|
||||
VerifyOfferFeePayment.class,
|
||||
SendFiatTransferStartedMessage.class
|
||||
);
|
||||
taskRunner.run();
|
||||
buyerAsTakerTrade.setState(Trade.State.BUYER_CONFIRMED_FIAT_PAYMENT_INITIATED);
|
||||
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(buyerAsTakerTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentStarted");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
taskRunner.addTasks(
|
||||
VerifyOfferFeePayment.class,
|
||||
SendFiatTransferStartedMessage.class
|
||||
);
|
||||
taskRunner.run();
|
||||
} else {
|
||||
log.warn("onFiatPaymentStarted called twice. " +
|
||||
"That should not happen.\n" +
|
||||
"state=" + buyerAsTakerTrade.getState());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -162,24 +162,34 @@ public class SellerAsOffererProtocol extends TradeProtocol implements SellerProt
|
||||
// User clicked the "bank transfer received" button, so we release the funds for pay out
|
||||
@Override
|
||||
public void onFiatPaymentReceived(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
|
||||
sellerAsOffererTrade.setState(Trade.State.SELLER_CONFIRMED_FIAT_PAYMENT_RECEIPT);
|
||||
if (sellerAsOffererTrade.getState().ordinal() <= Trade.State.SELLER_SENT_FIAT_PAYMENT_RECEIPT_MSG.ordinal()) {
|
||||
if (sellerAsOffererTrade.getState() == Trade.State.SELLER_SENT_FIAT_PAYMENT_RECEIPT_MSG)
|
||||
log.warn("onFiatPaymentReceived called twice. " +
|
||||
"That is expected if the app starts up and the other peer has still not continued.");
|
||||
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(sellerAsOffererTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentReceived");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
sellerAsOffererTrade.setState(Trade.State.SELLER_CONFIRMED_FIAT_PAYMENT_RECEIPT);
|
||||
|
||||
taskRunner.addTasks(
|
||||
VerifyTakeOfferFeePayment.class,
|
||||
SignPayoutTx.class,
|
||||
SendFinalizePayoutTxRequest.class
|
||||
);
|
||||
taskRunner.run();
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(sellerAsOffererTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentReceived");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
|
||||
taskRunner.addTasks(
|
||||
VerifyTakeOfferFeePayment.class,
|
||||
SignPayoutTx.class,
|
||||
SendFinalizePayoutTxRequest.class
|
||||
);
|
||||
taskRunner.run();
|
||||
} else {
|
||||
log.warn("onFiatPaymentReceived called twice. " +
|
||||
"That should not happen.\n" +
|
||||
"state=" + sellerAsOffererTrade.getState());
|
||||
}
|
||||
}
|
||||
|
||||
private void handle(PayoutTxFinalizedMessage tradeMessage, NodeAddress sender) {
|
||||
|
@ -160,24 +160,34 @@ public class SellerAsTakerProtocol extends TradeProtocol implements SellerProtoc
|
||||
// User clicked the "bank transfer received" button, so we release the funds for pay out
|
||||
@Override
|
||||
public void onFiatPaymentReceived(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
|
||||
sellerAsTakerTrade.setState(Trade.State.SELLER_CONFIRMED_FIAT_PAYMENT_RECEIPT);
|
||||
if (sellerAsTakerTrade.getState().ordinal() <= Trade.State.SELLER_SENT_FIAT_PAYMENT_RECEIPT_MSG.ordinal()) {
|
||||
if (sellerAsTakerTrade.getState() == Trade.State.SELLER_SENT_FIAT_PAYMENT_RECEIPT_MSG)
|
||||
log.warn("onFiatPaymentReceived called twice. " +
|
||||
"That is expected if the app starts up and the other peer has still not continued.");
|
||||
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(sellerAsTakerTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentReceived");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
|
||||
taskRunner.addTasks(
|
||||
VerifyOfferFeePayment.class,
|
||||
SignPayoutTx.class,
|
||||
SendFinalizePayoutTxRequest.class
|
||||
);
|
||||
taskRunner.run();
|
||||
sellerAsTakerTrade.setState(Trade.State.SELLER_CONFIRMED_FIAT_PAYMENT_RECEIPT);
|
||||
|
||||
TradeTaskRunner taskRunner = new TradeTaskRunner(sellerAsTakerTrade,
|
||||
() -> {
|
||||
resultHandler.handleResult();
|
||||
handleTaskRunnerSuccess("onFiatPaymentReceived");
|
||||
},
|
||||
(errorMessage) -> {
|
||||
errorMessageHandler.handleErrorMessage(errorMessage);
|
||||
handleTaskRunnerFault(errorMessage);
|
||||
});
|
||||
|
||||
taskRunner.addTasks(
|
||||
VerifyOfferFeePayment.class,
|
||||
SignPayoutTx.class,
|
||||
SendFinalizePayoutTxRequest.class
|
||||
);
|
||||
taskRunner.run();
|
||||
} else {
|
||||
log.warn("onFiatPaymentReceived called twice. " +
|
||||
"That should not happen.\n" +
|
||||
"state=" + sellerAsTakerTrade.getState());
|
||||
}
|
||||
}
|
||||
|
||||
private void handle(PayoutTxFinalizedMessage tradeMessage, NodeAddress sender) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user