From fa5b59ed263981c783b20f52431bc3b003886218 Mon Sep 17 00:00:00 2001 From: a123b <6329481+a123b@users.noreply.github.com> Date: Fri, 28 Jun 2019 13:05:53 +0200 Subject: [PATCH] Use tempTradingPeerNodeAddress if the trade doesn't have a trading peer set yet Fixes #2910 and #2924 --- .../src/main/java/bisq/core/trade/protocol/TradeProtocol.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java b/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java index 90164b9740e..4b9834ca6d6 100644 --- a/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java +++ b/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java @@ -198,7 +198,9 @@ private void sendAckMessage(@Nullable TradeMessage tradeMessage, boolean result, tradeId, result, errorMessage); - final NodeAddress peersNodeAddress = trade.getTradingPeerNodeAddress(); + // If there was an error during offer verification, the tradingPeerNodeAddress of the trade might not be set yet. + // We can find the peer's node address in the processModel's tempTradingPeerNodeAddress in that case. + final NodeAddress peersNodeAddress = trade.hasTradingPeerNodeAddress() ? trade.getTradingPeerNodeAddress() : processModel.getTempTradingPeerNodeAddress(); log.info("Send AckMessage for {} to peer {}. tradeId={}, sourceUid={}", ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, sourceUid); String finalSourceUid = sourceUid;