fix error message if arbitrator fails to publish deposit txs

This commit is contained in:
woodser 2025-03-13 10:42:54 -04:00 committed by woodser
parent f4f53630d5
commit 07fa0b35e4
2 changed files with 4 additions and 4 deletions
core/src/main/java/haveno/core/trade/protocol

View file

@ -94,6 +94,7 @@ public class ProcessModel implements Model, PersistablePayload {
transient private ProcessModelServiceProvider provider;
transient private TradeManager tradeManager;
transient private Offer offer;
transient public Throwable error;
// Added in v1.4.0
// MessageState of the last message sent from the seller to the buyer in the take offer process.

View file

@ -44,7 +44,6 @@ import java.util.UUID;
@Slf4j
public class ArbitratorProcessDepositRequest extends TradeTask {
private Throwable error;
private boolean depositResponsesSent;
@SuppressWarnings({"unused"})
@ -68,7 +67,7 @@ public class ArbitratorProcessDepositRequest extends TradeTask {
processDepositRequest();
complete();
} catch (Throwable t) {
this.error = t;
trade.getProcessModel().error = t;
log.error("Error processing deposit request for trade {}: {}\n", trade.getId(), t.getMessage(), t);
trade.setStateIfValidTransitionTo(Trade.State.PUBLISH_DEPOSIT_TX_REQUEST_FAILED);
failed(t);
@ -188,7 +187,7 @@ public class ArbitratorProcessDepositRequest extends TradeTask {
trade.stateProperty().addListener((obs, oldState, newState) -> {
if (oldState == newState) return;
if (newState == Trade.State.PUBLISH_DEPOSIT_TX_REQUEST_FAILED) {
sendDepositResponsesOnce(error == null ? "Arbitrator failed to publish deposit txs within timeout for trade " + trade.getId() : error.getMessage());
sendDepositResponsesOnce(trade.getProcessModel().error == null ? "Arbitrator failed to publish deposit txs within timeout for trade " + trade.getId() : trade.getProcessModel().error.getMessage());
} else if (newState.ordinal() >= Trade.State.ARBITRATOR_PUBLISHED_DEPOSIT_TXS.ordinal()) {
sendDepositResponsesOnce(null);
}
@ -230,7 +229,7 @@ public class ArbitratorProcessDepositRequest extends TradeTask {
}
private void sendDepositResponse(NodeAddress nodeAddress, PubKeyRing pubKeyRing, DepositResponse response) {
log.info("Sending deposit response to trader={}; offerId={}, error={}", nodeAddress, trade.getId(), error);
log.info("Sending deposit response to trader={}; offerId={}, error={}", nodeAddress, trade.getId(), trade.getProcessModel().error);
processModel.getP2PService().sendEncryptedDirectMessage(nodeAddress, pubKeyRing, response, new SendDirectMessageListener() {
@Override
public void onArrived() {