SendMailboxMessageTask works with non-trade messages

This commit is contained in:
woodser 2025-10-08 06:40:43 -04:00
parent a3f437e43c
commit 53aa781369
No known key found for this signature in database
GPG key ID: 55A10DD48ADEE5EF
7 changed files with 15 additions and 16 deletions

View file

@ -104,7 +104,7 @@ public abstract class BuyerSendPaymentSentMessage extends SendMailboxMessageTask
}
@Override
protected TradeMailboxMessage getTradeMailboxMessage(String tradeId) {
protected TradeMailboxMessage getMailboxMessage(String tradeId) {
if (getReceiver().getPaymentSentMessage() == null) {
// We do not use a real unique ID here as we want to be able to re-send the exact same message in case the

View file

@ -19,8 +19,8 @@ package haveno.core.trade.protocol.tasks;
import haveno.common.taskrunner.TaskRunner;
import haveno.core.trade.Trade;
import haveno.core.trade.messages.TradeMessage;
import haveno.core.trade.protocol.TradePeer;
import haveno.network.p2p.mailbox.MailboxMessage;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
@ -63,7 +63,7 @@ public class BuyerSendPaymentSentMessageToSeller extends BuyerSendPaymentSentMes
// continue execution on fault so payment sent message is sent to arbitrator
@Override
protected void onFault(String errorMessage, TradeMessage message) {
protected void onFault(String errorMessage, MailboxMessage message) {
setStateFault();
appendToErrorMessage("Sending message failed: message=" + message + "\nerrorMessage=" + errorMessage);
complete();

View file

@ -117,7 +117,7 @@ public abstract class SellerSendPaymentReceivedMessage extends SendMailboxMessag
}
@Override
protected TradeMailboxMessage getTradeMailboxMessage(String tradeId) {
protected TradeMailboxMessage getMailboxMessage(String tradeId) {
if (getReceiver().getPaymentReceivedMessage() == null) {
// sign account witness

View file

@ -19,8 +19,8 @@ package haveno.core.trade.protocol.tasks;
import haveno.common.taskrunner.TaskRunner;
import haveno.core.trade.Trade;
import haveno.core.trade.messages.TradeMessage;
import haveno.core.trade.protocol.TradePeer;
import haveno.network.p2p.mailbox.MailboxMessage;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
@ -63,7 +63,7 @@ public class SellerSendPaymentReceivedMessageToBuyer extends SellerSendPaymentRe
// continue execution on fault so payment received message is sent to arbitrator
@Override
protected void onFault(String errorMessage, TradeMessage message) {
protected void onFault(String errorMessage, MailboxMessage message) {
setStateFault();
appendToErrorMessage("Sending message failed: message=" + message + "\nerrorMessage=" + errorMessage);
complete();

View file

@ -78,7 +78,7 @@ public abstract class SendDepositsConfirmedMessage extends SendMailboxMessageTas
}
@Override
protected TradeMailboxMessage getTradeMailboxMessage(String tradeId) {
protected TradeMailboxMessage getMailboxMessage(String tradeId) {
if (message == null) {
// export multisig hex once

View file

@ -20,10 +20,9 @@ package haveno.core.trade.protocol.tasks;
import haveno.common.crypto.PubKeyRing;
import haveno.common.taskrunner.TaskRunner;
import haveno.core.trade.Trade;
import haveno.core.trade.messages.TradeMailboxMessage;
import haveno.core.trade.messages.TradeMessage;
import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.SendMailboxMessageListener;
import haveno.network.p2p.mailbox.MailboxMessage;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@ -40,7 +39,7 @@ public abstract class SendMailboxMessageTask extends TradeTask {
return trade.getTradePeer().getPubKeyRing();
}
protected abstract TradeMailboxMessage getTradeMailboxMessage(String tradeId);
protected abstract MailboxMessage getMailboxMessage(String tradeId);
protected abstract void setStateSent();
@ -55,7 +54,7 @@ public abstract class SendMailboxMessageTask extends TradeTask {
try {
runInterceptHook();
String id = processModel.getOfferId();
TradeMailboxMessage message = getTradeMailboxMessage(id);
MailboxMessage message = getMailboxMessage(id);
setStateSent();
NodeAddress peersNodeAddress = getReceiverNodeAddress();
log.info("Send {} to peer {} for {} {}, uid={}",
@ -69,21 +68,21 @@ public abstract class SendMailboxMessageTask extends TradeTask {
new SendMailboxMessageListener() {
@Override
public void onArrived() {
log.info("{} arrived at peer {}. tradeId={}, uid={}", message.getClass().getSimpleName(), peersNodeAddress, message.getOfferId(), message.getUid());
log.info("{} arrived at peer {}. tradeId={}, uid={}", message.getClass().getSimpleName(), peersNodeAddress, trade.getId(), message.getUid());
setStateArrived();
if (!task.isCompleted()) complete();
}
@Override
public void onStoredInMailbox() {
log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", message.getClass().getSimpleName(), peersNodeAddress, message.getOfferId(), message.getUid());
log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", message.getClass().getSimpleName(), peersNodeAddress, trade.getId(), message.getUid());
SendMailboxMessageTask.this.onStoredInMailbox();
}
@Override
public void onFault(String errorMessage) {
if (processModel.getP2PService().isShutDownStarted()) return;
log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", message.getClass().getSimpleName(), peersNodeAddress, message.getOfferId(), message.getUid(), errorMessage);
log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", message.getClass().getSimpleName(), peersNodeAddress, trade.getId(), message.getUid(), errorMessage);
SendMailboxMessageTask.this.onFault(errorMessage, message);
}
}
@ -98,7 +97,7 @@ public abstract class SendMailboxMessageTask extends TradeTask {
if (!isCompleted()) complete();
}
protected void onFault(String errorMessage, TradeMessage message) {
protected void onFault(String errorMessage, MailboxMessage message) {
setStateFault();
appendToErrorMessage("Sending message failed: message=" + message + "\nerrorMessage=" + errorMessage);
failed(errorMessage);

View file

@ -32,7 +32,7 @@ public class SendMediatedPayoutTxPublishedMessage extends SendMailboxMessageTask
}
@Override
protected TradeMailboxMessage getTradeMailboxMessage(String id) {
protected TradeMailboxMessage getMailboxMessage(String id) {
throw new RuntimeException("SendMediatedPayoutTxPublishedMessage.getMessage(id) not implemented for xmr");
// Transaction payoutTx = checkNotNull(trade.getPayoutTx(), "trade.getPayoutTx() must not be null");
// return new MediatedPayoutTxPublishedMessage(