From 3b477ef637e208702bce2b6e356c36e405e0ccb8 Mon Sep 17 00:00:00 2001 From: catbref Date: Thu, 24 Feb 2022 17:30:27 +0000 Subject: [PATCH] Fix JAXB marshalling error (duplicate tradeAddress) in TradePresenceWebSocket. No need to send signature. Make sure publicKey is sent in Base58, not Base64. --- .../org/qortal/data/network/TradePresenceData.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/org/qortal/data/network/TradePresenceData.java b/src/main/java/org/qortal/data/network/TradePresenceData.java index c1fafa84..9bd9ce29 100644 --- a/src/main/java/org/qortal/data/network/TradePresenceData.java +++ b/src/main/java/org/qortal/data/network/TradePresenceData.java @@ -5,6 +5,8 @@ import org.qortal.crypto.Crypto; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import java.util.Arrays; // All properties to be converted to JSON via JAXB @@ -12,9 +14,21 @@ import java.util.Arrays; public class TradePresenceData { protected long timestamp; + + @XmlJavaTypeAdapter( + type = byte[].class, + value = org.qortal.api.Base58TypeAdapter.class + ) protected byte[] publicKey; // Could be BOB's or ALICE's + + // No need to send this via websocket / API + @XmlTransient protected byte[] signature; // Not always present + protected String atAddress; // Not always present + + // Have JAXB use getter instead + @XmlTransient protected String tradeAddress; // Lazily instantiated // Constructors