share dispute opener's updated multisig info on dispute opened

This commit is contained in:
woodser 2025-03-15 06:45:40 -04:00 committed by woodser
parent b19724e33d
commit 1b31dc24b8
3 changed files with 10 additions and 9 deletions

View file

@ -578,8 +578,9 @@ public abstract class DisputeManager<T extends DisputeList<Dispute>> extends Sup
trade.advanceState(Trade.State.BUYER_SENT_PAYMENT_SENT_MSG); trade.advanceState(Trade.State.BUYER_SENT_PAYMENT_SENT_MSG);
} }
// update multisig hex // update opener's multisig hex
if (message.getUpdatedMultisigHex() != null) sender.setUpdatedMultisigHex(message.getUpdatedMultisigHex()); TradePeer opener = sender == trade.getArbitrator() ? trade.getTradePeer() : sender;
if (message.getOpenerUpdatedMultisigHex() != null) opener.setUpdatedMultisigHex(message.getOpenerUpdatedMultisigHex());
// add chat message with price info // add chat message with price info
if (trade instanceof ArbitratorTrade) addPriceInfoMessage(dispute, 0); if (trade instanceof ArbitratorTrade) addPriceInfoMessage(dispute, 0);
@ -605,7 +606,7 @@ public abstract class DisputeManager<T extends DisputeList<Dispute>> extends Sup
if (trade.isArbitrator()) { if (trade.isArbitrator()) {
TradePeer senderPeer = sender == trade.getMaker() ? trade.getTaker() : trade.getMaker(); TradePeer senderPeer = sender == trade.getMaker() ? trade.getTaker() : trade.getMaker();
if (senderPeer != trade.getMaker() && senderPeer != trade.getTaker()) throw new RuntimeException("Sender peer is not maker or taker, address=" + senderPeer.getNodeAddress()); if (senderPeer != trade.getMaker() && senderPeer != trade.getTaker()) throw new RuntimeException("Sender peer is not maker or taker, address=" + senderPeer.getNodeAddress());
sendDisputeOpenedMessageToPeer(dispute, contract, senderPeer.getPubKeyRing(), trade.getSelf().getUpdatedMultisigHex()); sendDisputeOpenedMessageToPeer(dispute, contract, senderPeer.getPubKeyRing(), opener.getUpdatedMultisigHex());
} }
tradeManager.requestPersistence(); tradeManager.requestPersistence();
errorMessage = null; errorMessage = null;

View file

@ -34,7 +34,7 @@ import java.util.Optional;
public final class DisputeOpenedMessage extends DisputeMessage { public final class DisputeOpenedMessage extends DisputeMessage {
private final Dispute dispute; private final Dispute dispute;
private final NodeAddress senderNodeAddress; private final NodeAddress senderNodeAddress;
private final String updatedMultisigHex; private final String openerUpdatedMultisigHex;
private final PaymentSentMessage paymentSentMessage; private final PaymentSentMessage paymentSentMessage;
public DisputeOpenedMessage(Dispute dispute, public DisputeOpenedMessage(Dispute dispute,
@ -67,7 +67,7 @@ public final class DisputeOpenedMessage extends DisputeMessage {
super(messageVersion, uid, supportType); super(messageVersion, uid, supportType);
this.dispute = dispute; this.dispute = dispute;
this.senderNodeAddress = senderNodeAddress; this.senderNodeAddress = senderNodeAddress;
this.updatedMultisigHex = updatedMultisigHex; this.openerUpdatedMultisigHex = updatedMultisigHex;
this.paymentSentMessage = paymentSentMessage; this.paymentSentMessage = paymentSentMessage;
} }
@ -78,7 +78,7 @@ public final class DisputeOpenedMessage extends DisputeMessage {
.setDispute(dispute.toProtoMessage()) .setDispute(dispute.toProtoMessage())
.setSenderNodeAddress(senderNodeAddress.toProtoMessage()) .setSenderNodeAddress(senderNodeAddress.toProtoMessage())
.setType(SupportType.toProtoMessage(supportType)) .setType(SupportType.toProtoMessage(supportType))
.setUpdatedMultisigHex(updatedMultisigHex); .setOpenerUpdatedMultisigHex(openerUpdatedMultisigHex);
Optional.ofNullable(paymentSentMessage).ifPresent(e -> builder.setPaymentSentMessage(paymentSentMessage.toProtoNetworkEnvelope().getPaymentSentMessage())); Optional.ofNullable(paymentSentMessage).ifPresent(e -> builder.setPaymentSentMessage(paymentSentMessage.toProtoNetworkEnvelope().getPaymentSentMessage()));
return getNetworkEnvelopeBuilder().setDisputeOpenedMessage(builder).build(); return getNetworkEnvelopeBuilder().setDisputeOpenedMessage(builder).build();
} }
@ -91,7 +91,7 @@ public final class DisputeOpenedMessage extends DisputeMessage {
proto.getUid(), proto.getUid(),
messageVersion, messageVersion,
SupportType.fromProto(proto.getType()), SupportType.fromProto(proto.getType()),
ProtoUtil.stringOrNullFromProto(proto.getUpdatedMultisigHex()), ProtoUtil.stringOrNullFromProto(proto.getOpenerUpdatedMultisigHex()),
proto.hasPaymentSentMessage() ? PaymentSentMessage.fromProto(proto.getPaymentSentMessage(), messageVersion) : null); proto.hasPaymentSentMessage() ? PaymentSentMessage.fromProto(proto.getPaymentSentMessage(), messageVersion) : null);
} }
@ -108,7 +108,7 @@ public final class DisputeOpenedMessage extends DisputeMessage {
",\n DisputeOpenedMessage.uid='" + uid + '\'' + ",\n DisputeOpenedMessage.uid='" + uid + '\'' +
",\n messageVersion=" + messageVersion + ",\n messageVersion=" + messageVersion +
",\n supportType=" + supportType + ",\n supportType=" + supportType +
",\n updatedMultisigHex=" + updatedMultisigHex + ",\n openerUpdatedMultisigHex=" + openerUpdatedMultisigHex +
",\n paymentSentMessage=" + paymentSentMessage + ",\n paymentSentMessage=" + paymentSentMessage +
"\n} " + super.toString(); "\n} " + super.toString();
} }

View file

@ -385,7 +385,7 @@ message DisputeOpenedMessage {
NodeAddress sender_node_address = 2; NodeAddress sender_node_address = 2;
string uid = 3; string uid = 3;
SupportType type = 4; SupportType type = 4;
string updated_multisig_hex = 5; string opener_updated_multisig_hex = 5;
PaymentSentMessage payment_sent_message = 6; PaymentSentMessage payment_sent_message = 6;
} }