progress notifications during take offer are more frequent and reliable

This commit is contained in:
woodser 2023-04-17 19:15:38 -04:00
parent cffbfa8aaa
commit 427c762620
12 changed files with 59 additions and 25 deletions

View file

@ -72,6 +72,7 @@ public class MaybeSendSignContractRequest extends TradeTask {
}
// create deposit tx and freeze inputs
trade.addInitProgressStep();
MoneroTxWallet depositTx = trade.getXmrWalletService().createDepositTx(trade);
// collect reserved key images
@ -142,6 +143,7 @@ public class MaybeSendSignContractRequest extends TradeTask {
private void completeAux() {
trade.setState(State.CONTRACT_SIGNATURE_REQUESTED);
trade.addInitProgressStep();
processModel.getTradeManager().requestPersistence();
complete();
}

View file

@ -44,6 +44,7 @@ public class ProcessDepositResponse extends TradeTask {
// set success state
trade.setStateIfValidTransitionTo(Trade.State.ARBITRATOR_PUBLISHED_DEPOSIT_TXS);
trade.addInitProgressStep();
processModel.getTradeManager().requestPersistence();
complete();
} catch (Throwable t) {

View file

@ -76,6 +76,7 @@ public class ProcessInitMultisigRequest extends TradeTask {
// prepare multisig if applicable
boolean updateParticipants = false;
if (trade.getSelf().getPreparedMultisigHex() == null) {
trade.addInitProgressStep();
log.info("Preparing multisig wallet for {} {}", trade.getClass().getSimpleName(), trade.getId());
multisigWallet = trade.createWallet();
trade.getSelf().setPreparedMultisigHex(multisigWallet.prepareMultisig());
@ -217,6 +218,7 @@ public class ProcessInitMultisigRequest extends TradeTask {
}
private void completeAux() {
trade.addInitProgressStep();
complete();
}
}

View file

@ -133,6 +133,7 @@ public class ProcessInitTradeRequest extends TradeTask {
checkArgument(request.getTradeAmount() == trade.getAmount().longValueExact(), "Trade amount does not match request's trade amount");
// persist trade
trade.addInitProgressStep();
processModel.getTradeManager().requestPersistence();
complete();
} catch (Throwable t) {

View file

@ -162,6 +162,7 @@ public class ProcessSignContractRequest extends TradeTask {
}
private void completeAux() {
trade.addInitProgressStep();
trade.setState(State.CONTRACT_SIGNED);
processModel.getTradeManager().requestPersistence();
complete();

View file

@ -104,6 +104,7 @@ public class ProcessSignContractResponse extends TradeTask {
// deposit is requested
trade.setState(Trade.State.SENT_PUBLISH_DEPOSIT_TX_REQUEST);
trade.addInitProgressStep();
processModel.getTradeManager().requestPersistence();
} else {
log.info("Waiting for another contract signatures to send deposit request");

View file

@ -54,6 +54,7 @@ public class TakerReserveTradeFunds extends TradeTask {
processModel.setReserveTx(reserveTx);
processModel.getTaker().setReserveTxKeyImages(reservedKeyImages);
processModel.getTradeManager().requestPersistence();
trade.addInitProgressStep();
complete();
} catch (Throwable t) {
trade.setErrorMessage("An error occurred.\n" +

View file

@ -47,6 +47,7 @@ public class TakerSendInitTradeRequestToArbitrator extends TradeTask {
// send request to signing arbitrator then least used arbitrators until success
sendInitTradeRequests(trade.getOffer().getOfferPayload().getArbitratorSigner(), new HashSet<NodeAddress>(), () -> {
trade.addInitProgressStep();
complete();
}, (errorMessage) -> {
log.warn("Cannot initialize trade with arbitrators: " + errorMessage);