acceptedBanks) {
- return new Offer(null,
+ return new Offer( new OfferPayload(null,
null,
null,
null,
@@ -285,8 +286,6 @@ public class OfferBookViewModelTest {
acceptedCountryCodes,
bankId,
acceptedBanks,
- null,
-
null,
0,
0,
@@ -300,6 +299,6 @@ public class OfferBookViewModelTest {
0,
false,
null,
- null);
+ null));
}
}
diff --git a/headless/src/main/java/io/bisq/headless/Headless.java b/headless/src/main/java/io/bisq/headless/Headless.java
index 5253930efa..0acce67589 100644
--- a/headless/src/main/java/io/bisq/headless/Headless.java
+++ b/headless/src/main/java/io/bisq/headless/Headless.java
@@ -16,7 +16,7 @@ import io.bisq.common.UserThread;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.LimitedKeyStrengthException;
import io.bisq.common.util.Utilities;
-import io.bisq.p2p.P2PService;
+import io.bisq.p2p.storage.P2PService;
import io.bisq.p2p.P2PServiceListener;
import io.bisq.trade.offer.OfferBookService;
import io.bisq.trade.offer.OpenOfferManager;
diff --git a/headless/src/main/java/io/bisq/headless/HeadlessModule.java b/headless/src/main/java/io/bisq/headless/HeadlessModule.java
index 0d503c6ec6..c1c4e87d44 100644
--- a/headless/src/main/java/io/bisq/headless/HeadlessModule.java
+++ b/headless/src/main/java/io/bisq/headless/HeadlessModule.java
@@ -24,12 +24,12 @@ import io.bisq.app.BisqEnvironment;
import io.bisq.arbitration.ArbitratorModule;
import io.bisq.btc.BitcoinModule;
import io.bisq.common.Clock;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.KeyStorage;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
import io.bisq.crypto.EncryptionServiceModule;
import io.bisq.dao.DaoModule;
import io.bisq.filter.FilterModule;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import io.bisq.p2p.P2PModule;
import io.bisq.storage.Storage;
import io.bisq.trade.TradeModule;
diff --git a/jsocks/src/main/java/com/runjva/sourceforge/jsocks/protocol/ProxyMessage.java b/jsocks/src/main/java/com/runjva/sourceforge/jsocks/protocol/ProxyMessage.java
index f7796b055e..5e7ab862c3 100644
--- a/jsocks/src/main/java/com/runjva/sourceforge/jsocks/protocol/ProxyMessage.java
+++ b/jsocks/src/main/java/com/runjva/sourceforge/jsocks/protocol/ProxyMessage.java
@@ -37,7 +37,7 @@ public abstract class ProxyMessage {
public String host = null;
/**
- * User field for SOCKS4 request messages
+ * User field for SOCKS4 request network_messages
*/
public String user = null;
diff --git a/jsocks/src/main/java/com/runjva/sourceforge/jsocks/server/UserPasswordAuthenticator.java b/jsocks/src/main/java/com/runjva/sourceforge/jsocks/server/UserPasswordAuthenticator.java
index 2a69d32e5a..65b65fe204 100644
--- a/jsocks/src/main/java/com/runjva/sourceforge/jsocks/server/UserPasswordAuthenticator.java
+++ b/jsocks/src/main/java/com/runjva/sourceforge/jsocks/server/UserPasswordAuthenticator.java
@@ -30,7 +30,7 @@ public class UserPasswordAuthenticator extends ServerAuthenticatorBase {
final OutputStream out = s.getOutputStream();
if (in.read() != 5) {
- return null; // Drop non version 5 messages.
+ return null; // Drop non version 5 network_messages.
}
if (!selectSocks5Authentication(in, out, METHOD_ID)) {
diff --git a/jtorctl/src/main/java/net/freehaven/tor/control/TorControlConnection.java b/jtorctl/src/main/java/net/freehaven/tor/control/TorControlConnection.java
index cba22e0d9f..af9098a7b1 100644
--- a/jtorctl/src/main/java/net/freehaven/tor/control/TorControlConnection.java
+++ b/jtorctl/src/main/java/net/freehaven/tor/control/TorControlConnection.java
@@ -236,8 +236,8 @@ public class TorControlConnection implements TorControlCommands {
/**
* Sets w as the PrintWriter for debugging output,
- * which writes out all messages passed between Tor and the controller.
- * Outgoing messages are preceded by "\>\>" and incoming messages are preceded
+ * which writes out all network_messages passed between Tor and the controller.
+ * Outgoing network_messages are preceded by "\>\>" and incoming network_messages are preceded
* by "\<\<"
*/
public void setDebugging(PrintWriter w) {
@@ -246,8 +246,8 @@ public class TorControlConnection implements TorControlCommands {
/**
* Sets s as the PrintStream for debugging output,
- * which writes out all messages passed between Tor and the controller.
- * Outgoing messages are preceded by "\>\>" and incoming messages are preceded
+ * which writes out all network_messages passed between Tor and the controller.
+ * Outgoing network_messages are preceded by "\>\>" and incoming network_messages are preceded
* by "\<\<"
*/
public void setDebugging(PrintStream s) {
diff --git a/jtorproxy/src/main/java/io/nucleo/net/Node.java b/jtorproxy/src/main/java/io/nucleo/net/Node.java
index ace3557da3..07fec0a10a 100644
--- a/jtorproxy/src/main/java/io/nucleo/net/Node.java
+++ b/jtorproxy/src/main/java/io/nucleo/net/Node.java
@@ -304,7 +304,7 @@ public class Node {
// Here we go
log.debug("Incoming Connection ready!");
try {
- // TODO: listeners are only added afterwards, so messages can be lost!
+ // TODO: listeners are only added afterwards, so network_messages can be lost!
IncomingConnection incomingConnection = new IncomingConnection(peer, socket, out, objectInputStream);
serverConnectListener.onConnect(incomingConnection);
} catch (IOException e) {
diff --git a/monitor/src/main/java/io/bisq/monitor/Gateway.java b/monitor/src/main/java/io/bisq/monitor/Gateway.java
index f38cd7c0c9..4ac818f4b1 100644
--- a/monitor/src/main/java/io/bisq/monitor/Gateway.java
+++ b/monitor/src/main/java/io/bisq/monitor/Gateway.java
@@ -1,6 +1,6 @@
package io.bisq.monitor;
-import io.bisq.messages.trade.offer.payload.Offer;
+import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.trade.offer.OfferBookService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/monitor/src/main/java/io/bisq/monitor/Monitor.java b/monitor/src/main/java/io/bisq/monitor/Monitor.java
index d143c0ef68..2c2d38a88a 100644
--- a/monitor/src/main/java/io/bisq/monitor/Monitor.java
+++ b/monitor/src/main/java/io/bisq/monitor/Monitor.java
@@ -16,7 +16,7 @@ import io.bisq.common.UserThread;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.LimitedKeyStrengthException;
import io.bisq.common.util.Utilities;
-import io.bisq.p2p.P2PService;
+import io.bisq.p2p.storage.P2PService;
import io.bisq.p2p.P2PServiceListener;
import io.bisq.trade.offer.OfferBookService;
import io.bisq.trade.offer.OpenOfferManager;
diff --git a/monitor/src/main/java/io/bisq/monitor/MonitorModule.java b/monitor/src/main/java/io/bisq/monitor/MonitorModule.java
index 4127bc9770..89bd680abd 100644
--- a/monitor/src/main/java/io/bisq/monitor/MonitorModule.java
+++ b/monitor/src/main/java/io/bisq/monitor/MonitorModule.java
@@ -24,12 +24,12 @@ import io.bisq.app.BisqEnvironment;
import io.bisq.arbitration.ArbitratorModule;
import io.bisq.btc.BitcoinModule;
import io.bisq.common.Clock;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.KeyStorage;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
import io.bisq.crypto.EncryptionServiceModule;
import io.bisq.dao.DaoModule;
import io.bisq.filter.FilterModule;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import io.bisq.p2p.P2PModule;
import io.bisq.storage.Storage;
import io.bisq.trade.TradeModule;
diff --git a/network-messages/pom.xml b/network-messages/pom.xml
new file mode 100644
index 0000000000..e49f8960c8
--- /dev/null
+++ b/network-messages/pom.xml
@@ -0,0 +1,61 @@
+
+
+
+ parent
+ io.bisq
+ 0.5.0.0
+
+ 4.0.0
+
+ network-messages
+
+
+
+ io.bisq
+ common
+ ${project.parent.version}
+
+
+ com.google.protobuf
+ protobuf-java
+ 3.2.0
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+
+
+
+
+
+
+ org.xolstice.maven.plugins
+ protobuf-maven-plugin
+ 0.5.0
+
+ /usr/local/bin/protoc
+
+
+
+
+ compile
+ test-compile
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/network-messages/src/main/java/io/bisq/network_messages/AnonymousMessage.java b/network-messages/src/main/java/io/bisq/network_messages/AnonymousMessage.java
new file mode 100644
index 0000000000..5d5d108e84
--- /dev/null
+++ b/network-messages/src/main/java/io/bisq/network_messages/AnonymousMessage.java
@@ -0,0 +1,4 @@
+package io.bisq.network_messages;
+
+public interface AnonymousMessage extends Message {
+}
diff --git a/network/src/main/java/io/bisq/p2p/network/messages/CloseConnectionMessage.java b/network-messages/src/main/java/io/bisq/network_messages/CloseConnectionMessage.java
similarity index 95%
rename from network/src/main/java/io/bisq/p2p/network/messages/CloseConnectionMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/CloseConnectionMessage.java
index 7aeb0690bd..15f558a421 100644
--- a/network/src/main/java/io/bisq/p2p/network/messages/CloseConnectionMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/CloseConnectionMessage.java
@@ -1,8 +1,7 @@
-package io.bisq.p2p.network.messages;
+package io.bisq.network_messages;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.Message;
public final class CloseConnectionMessage implements Message {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/p2p/messaging/DecryptedDirectMessageListener.java b/network-messages/src/main/java/io/bisq/network_messages/DecryptedDirectMessageListener.java
similarity index 58%
rename from network/src/main/java/io/bisq/p2p/messaging/DecryptedDirectMessageListener.java
rename to network-messages/src/main/java/io/bisq/network_messages/DecryptedDirectMessageListener.java
index dc77a42cc0..ccdd6648d8 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/DecryptedDirectMessageListener.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/DecryptedDirectMessageListener.java
@@ -1,7 +1,4 @@
-package io.bisq.p2p.messaging;
-
-import io.bisq.crypto.DecryptedMsgWithPubKey;
-import io.bisq.p2p.NodeAddress;
+package io.bisq.network_messages;
public interface DecryptedDirectMessageListener {
diff --git a/network/src/main/java/io/bisq/crypto/DecryptedMsgWithPubKey.java b/network-messages/src/main/java/io/bisq/network_messages/DecryptedMsgWithPubKey.java
similarity index 97%
rename from network/src/main/java/io/bisq/crypto/DecryptedMsgWithPubKey.java
rename to network-messages/src/main/java/io/bisq/network_messages/DecryptedMsgWithPubKey.java
index d90d53d19d..3e6034274d 100644
--- a/network/src/main/java/io/bisq/crypto/DecryptedMsgWithPubKey.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/DecryptedMsgWithPubKey.java
@@ -15,11 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.crypto;
+package io.bisq.network_messages;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
-import io.bisq.messages.Message;
import java.security.PublicKey;
diff --git a/common/src/main/java/io/bisq/messages/Message.java b/network-messages/src/main/java/io/bisq/network_messages/Message.java
similarity index 85%
rename from common/src/main/java/io/bisq/messages/Message.java
rename to network-messages/src/main/java/io/bisq/network_messages/Message.java
index aec31721cd..08ffb92018 100644
--- a/common/src/main/java/io/bisq/messages/Message.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/Message.java
@@ -1,4 +1,4 @@
-package io.bisq.messages;
+package io.bisq.network_messages;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/p2p/NodeAddress.java b/network-messages/src/main/java/io/bisq/network_messages/NodeAddress.java
similarity index 92%
rename from network/src/main/java/io/bisq/p2p/NodeAddress.java
rename to network-messages/src/main/java/io/bisq/network_messages/NodeAddress.java
index c3c9a1a1e7..c63f605628 100644
--- a/network/src/main/java/io/bisq/p2p/NodeAddress.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/NodeAddress.java
@@ -1,9 +1,9 @@
-package io.bisq.p2p;
+package io.bisq.network_messages;
import io.bisq.app.Version;
-import io.bisq.common.crypto.Hash;
+import io.bisq.network_messages.crypto.Hash;
import io.bisq.common.persistance.Persistable;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
import lombok.Getter;
@@ -34,7 +34,7 @@ public final class NodeAddress implements Persistable, Payload {
return hostName + ":" + port;
}
- // We use just a few chars from the full address to blur the potential receiver for sent messages
+ // We use just a few chars from the full address to blur the potential receiver for sent network_messages
public byte[] getAddressPrefixHash() {
if (addressPrefixHash == null)
addressPrefixHash = Hash.getHash(getFullAddress().substring(0, Math.min(2, getFullAddress().length())));
diff --git a/network/src/main/java/io/bisq/p2p/network/messages/SendersNodeAddressMessage.java b/network-messages/src/main/java/io/bisq/network_messages/SendersNodeAddressMessage.java
similarity index 50%
rename from network/src/main/java/io/bisq/p2p/network/messages/SendersNodeAddressMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/SendersNodeAddressMessage.java
index dc69d0f69e..07c7494afb 100644
--- a/network/src/main/java/io/bisq/p2p/network/messages/SendersNodeAddressMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/SendersNodeAddressMessage.java
@@ -1,7 +1,5 @@
-package io.bisq.p2p.network.messages;
+package io.bisq.network_messages;
-import io.bisq.messages.Message;
-import io.bisq.p2p.NodeAddress;
public interface SendersNodeAddressMessage extends Message {
NodeAddress getSenderNodeAddress();
diff --git a/common/src/main/java/io/bisq/messages/ToProtoBuffer.java b/network-messages/src/main/java/io/bisq/network_messages/ToProtoBuffer.java
similarity index 80%
rename from common/src/main/java/io/bisq/messages/ToProtoBuffer.java
rename to network-messages/src/main/java/io/bisq/network_messages/ToProtoBuffer.java
index ddbd58de62..9e27544c30 100644
--- a/common/src/main/java/io/bisq/messages/ToProtoBuffer.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/ToProtoBuffer.java
@@ -1,4 +1,4 @@
-package io.bisq.messages;
+package io.bisq.network_messages;
import com.google.protobuf.Message;
diff --git a/network/src/main/java/io/bisq/messages/alert/Alert.java b/network-messages/src/main/java/io/bisq/network_messages/alert/Alert.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/alert/Alert.java
rename to network-messages/src/main/java/io/bisq/network_messages/alert/Alert.java
index b4084be7db..34a8a2ee6f 100644
--- a/network/src/main/java/io/bisq/messages/alert/Alert.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/alert/Alert.java
@@ -15,14 +15,14 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.alert;
+package io.bisq.network_messages.alert;
import com.google.common.annotations.VisibleForTesting;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
import io.bisq.common.crypto.Sig;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.payload.StoragePayload;
+import io.bisq.network_messages.payload.StoragePayload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/alert/PrivateNotification.java b/network-messages/src/main/java/io/bisq/network_messages/alert/PrivateNotification.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/alert/PrivateNotification.java
rename to network-messages/src/main/java/io/bisq/network_messages/alert/PrivateNotification.java
index 964d9da090..2bf837c47c 100644
--- a/network/src/main/java/io/bisq/messages/alert/PrivateNotification.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/alert/PrivateNotification.java
@@ -15,12 +15,12 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.alert;
+package io.bisq.network_messages.alert;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
import io.bisq.common.crypto.Sig;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/alert/PrivateNotificationMessage.java b/network-messages/src/main/java/io/bisq/network_messages/alert/PrivateNotificationMessage.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/alert/PrivateNotificationMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/alert/PrivateNotificationMessage.java
index 1b86b17133..9ff6f4f0c1 100644
--- a/network/src/main/java/io/bisq/messages/alert/PrivateNotificationMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/alert/PrivateNotificationMessage.java
@@ -1,10 +1,10 @@
-package io.bisq.messages.alert;
+package io.bisq.network_messages.alert;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/Arbitrator.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/Arbitrator.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/arbitration/Arbitrator.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/Arbitrator.java
index fc4c8ee3af..2e5a97ee08 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/Arbitrator.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/Arbitrator.java
@@ -15,14 +15,14 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.storage.payload.StoragePayload;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.payload.StoragePayload;
import java.security.PublicKey;
import java.util.Arrays;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/Dispute.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/Dispute.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/arbitration/Dispute.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/Dispute.java
index 1a4b53ec88..b34a6dddf8 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/Dispute.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/Dispute.java
@@ -15,15 +15,15 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.crypto.PubKeyRing;
+import io.bisq.network_messages.crypto.PubKeyRing;
import io.bisq.common.util.Utilities;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.trade.payload.Contract;
+import io.bisq.network_messages.trade.payload.Contract;
import io.bisq.storage.Storage;
import javafx.beans.property.*;
import javafx.collections.FXCollections;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/DisputeCommunicationMessage.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeCommunicationMessage.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/arbitration/DisputeCommunicationMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeCommunicationMessage.java
index ca886e9198..5793dc708b 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/DisputeCommunicationMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeCommunicationMessage.java
@@ -15,13 +15,13 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.arbitration.payload.Attachment;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.arbitration.payload.Attachment;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import org.slf4j.Logger;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/DisputeList.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeList.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/arbitration/DisputeList.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeList.java
index 6f6abae90f..890f1d4e67 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/DisputeList.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeList.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/DisputeMessage.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeMessage.java
similarity index 92%
rename from network/src/main/java/io/bisq/messages/arbitration/DisputeMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeMessage.java
index 977fdef706..8322c92dfe 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/DisputeMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeMessage.java
@@ -15,10 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import io.bisq.app.Version;
-import io.bisq.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
import java.util.UUID;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/DisputeResult.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeResult.java
similarity index 99%
rename from network/src/main/java/io/bisq/messages/arbitration/DisputeResult.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeResult.java
index 041ba79010..ef6e39de90 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/DisputeResult.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeResult.java
@@ -15,11 +15,11 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
import javafx.beans.property.*;
import lombok.EqualsAndHashCode;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/DisputeResultMessage.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeResultMessage.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/arbitration/DisputeResultMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeResultMessage.java
index a73b786d2d..818cd20ecf 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/DisputeResultMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/DisputeResultMessage.java
@@ -15,12 +15,12 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.util.ProtoBufferUtils;
public final class DisputeResultMessage extends DisputeMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/messages/arbitration/OpenNewDisputeMessage.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/OpenNewDisputeMessage.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/arbitration/OpenNewDisputeMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/OpenNewDisputeMessage.java
index b4afdbfe05..80203e11fd 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/OpenNewDisputeMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/OpenNewDisputeMessage.java
@@ -15,12 +15,12 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.util.ProtoBufferUtils;
public final class OpenNewDisputeMessage extends DisputeMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/messages/arbitration/PeerOpenedDisputeMessage.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/PeerOpenedDisputeMessage.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/arbitration/PeerOpenedDisputeMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/PeerOpenedDisputeMessage.java
index ebc2da73fd..382d7e22cd 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/PeerOpenedDisputeMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/PeerOpenedDisputeMessage.java
@@ -15,12 +15,12 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.util.ProtoBufferUtils;
public final class PeerOpenedDisputeMessage extends DisputeMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/messages/arbitration/PeerPublishedPayoutTxMessage.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/PeerPublishedPayoutTxMessage.java
similarity index 95%
rename from network/src/main/java/io/bisq/messages/arbitration/PeerPublishedPayoutTxMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/PeerPublishedPayoutTxMessage.java
index fdd3cad059..da131e0643 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/PeerPublishedPayoutTxMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/PeerPublishedPayoutTxMessage.java
@@ -15,13 +15,13 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.arbitration;
+package io.bisq.network_messages.arbitration;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import java.util.Arrays;
diff --git a/network/src/main/java/io/bisq/messages/arbitration/payload/Attachment.java b/network-messages/src/main/java/io/bisq/network_messages/arbitration/payload/Attachment.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/arbitration/payload/Attachment.java
rename to network-messages/src/main/java/io/bisq/network_messages/arbitration/payload/Attachment.java
index 1afd55c203..b949ec5783 100644
--- a/network/src/main/java/io/bisq/messages/arbitration/payload/Attachment.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/arbitration/payload/Attachment.java
@@ -1,8 +1,8 @@
-package io.bisq.messages.arbitration.payload;
+package io.bisq.network_messages.arbitration.payload;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/availability/AvailabilityResult.java b/network-messages/src/main/java/io/bisq/network_messages/availability/AvailabilityResult.java
similarity index 79%
rename from network/src/main/java/io/bisq/messages/availability/AvailabilityResult.java
rename to network-messages/src/main/java/io/bisq/network_messages/availability/AvailabilityResult.java
index aabde16a78..f5cebbedfa 100644
--- a/network/src/main/java/io/bisq/messages/availability/AvailabilityResult.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/availability/AvailabilityResult.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.availability;
+package io.bisq.network_messages.availability;
public enum AvailabilityResult {
UNKNOWN_FAILURE,
diff --git a/network/src/main/java/io/bisq/messages/availability/OfferAvailabilityRequest.java b/network-messages/src/main/java/io/bisq/network_messages/availability/OfferAvailabilityRequest.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/availability/OfferAvailabilityRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/availability/OfferAvailabilityRequest.java
index 2681d6da69..b325839f95 100644
--- a/network/src/main/java/io/bisq/messages/availability/OfferAvailabilityRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/availability/OfferAvailabilityRequest.java
@@ -15,13 +15,13 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.availability;
+package io.bisq.network_messages.availability;
import io.bisq.app.Capabilities;
import io.bisq.app.Version;
-import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.messaging.SupportedCapabilitiesMessage;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.p2p.messaging.SupportedCapabilitiesMessage;
import javax.annotation.Nullable;
import java.util.ArrayList;
diff --git a/network/src/main/java/io/bisq/messages/availability/OfferAvailabilityResponse.java b/network-messages/src/main/java/io/bisq/network_messages/availability/OfferAvailabilityResponse.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/availability/OfferAvailabilityResponse.java
rename to network-messages/src/main/java/io/bisq/network_messages/availability/OfferAvailabilityResponse.java
index 6e25a51a52..43466409fa 100644
--- a/network/src/main/java/io/bisq/messages/availability/OfferAvailabilityResponse.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/availability/OfferAvailabilityResponse.java
@@ -15,14 +15,14 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.availability;
+package io.bisq.network_messages.availability;
import io.bisq.app.Capabilities;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.messaging.SupportedCapabilitiesMessage;
+import io.bisq.network_messages.p2p.messaging.SupportedCapabilitiesMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import javax.annotation.Nullable;
import java.util.ArrayList;
diff --git a/network/src/main/java/io/bisq/messages/availability/OfferMessage.java b/network-messages/src/main/java/io/bisq/network_messages/availability/OfferMessage.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/availability/OfferMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/availability/OfferMessage.java
index ef2990fa98..f9cacd5bda 100644
--- a/network/src/main/java/io/bisq/messages/availability/OfferMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/availability/OfferMessage.java
@@ -15,10 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.availability;
+package io.bisq.network_messages.availability;
import io.bisq.app.Version;
-import io.bisq.p2p.messaging.DirectMessage;
+import io.bisq.network_messages.p2p.messaging.DirectMessage;
import javax.annotation.concurrent.Immutable;
diff --git a/network/src/main/java/io/bisq/messages/btc/BitcoinNetwork.java b/network-messages/src/main/java/io/bisq/network_messages/btc/BitcoinNetwork.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/btc/BitcoinNetwork.java
rename to network-messages/src/main/java/io/bisq/network_messages/btc/BitcoinNetwork.java
index af700217c8..644b3c9a83 100644
--- a/network/src/main/java/io/bisq/messages/btc/BitcoinNetwork.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/btc/BitcoinNetwork.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.btc;
+package io.bisq.network_messages.btc;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.params.MainNetParams;
diff --git a/network/src/main/java/io/bisq/messages/btc/BtcOptionKeys.java b/network-messages/src/main/java/io/bisq/network_messages/btc/BtcOptionKeys.java
similarity index 89%
rename from network/src/main/java/io/bisq/messages/btc/BtcOptionKeys.java
rename to network-messages/src/main/java/io/bisq/network_messages/btc/BtcOptionKeys.java
index 1a539917e2..d7ee0c44be 100644
--- a/network/src/main/java/io/bisq/messages/btc/BtcOptionKeys.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/btc/BtcOptionKeys.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc;
+package io.bisq.network_messages.btc;
public class BtcOptionKeys {
public static final String BTC_NETWORK = "bitcoinNetwork";
diff --git a/network/src/main/java/io/bisq/messages/btc/Restrictions.java b/network-messages/src/main/java/io/bisq/network_messages/btc/Restrictions.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/btc/Restrictions.java
rename to network-messages/src/main/java/io/bisq/network_messages/btc/Restrictions.java
index 1096dbf1b0..186eedbeb3 100644
--- a/network/src/main/java/io/bisq/messages/btc/Restrictions.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/btc/Restrictions.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.btc;
+package io.bisq.network_messages.btc;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Transaction;
diff --git a/network/src/main/java/io/bisq/messages/btc/UserAgent.java b/network-messages/src/main/java/io/bisq/network_messages/btc/UserAgent.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/btc/UserAgent.java
rename to network-messages/src/main/java/io/bisq/network_messages/btc/UserAgent.java
index 3912c31f98..76af4a8ca7 100644
--- a/network/src/main/java/io/bisq/messages/btc/UserAgent.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/btc/UserAgent.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.btc;
+package io.bisq.network_messages.btc;
import javax.inject.Inject;
import javax.inject.Named;
diff --git a/network/src/main/java/io/bisq/messages/btc/data/RawTransactionInput.java b/network-messages/src/main/java/io/bisq/network_messages/btc/data/RawTransactionInput.java
similarity index 96%
rename from network/src/main/java/io/bisq/messages/btc/data/RawTransactionInput.java
rename to network-messages/src/main/java/io/bisq/network_messages/btc/data/RawTransactionInput.java
index b557327a8b..d0f2d19f53 100644
--- a/network/src/main/java/io/bisq/messages/btc/data/RawTransactionInput.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/btc/data/RawTransactionInput.java
@@ -15,11 +15,11 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.btc.data;
+package io.bisq.network_messages.btc.data;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
import java.util.Arrays;
diff --git a/common/src/main/java/io/bisq/common/crypto/DecryptedDataTuple.java b/network-messages/src/main/java/io/bisq/network_messages/crypto/DecryptedDataTuple.java
similarity index 95%
rename from common/src/main/java/io/bisq/common/crypto/DecryptedDataTuple.java
rename to network-messages/src/main/java/io/bisq/network_messages/crypto/DecryptedDataTuple.java
index fa587ecca0..4018cd0529 100644
--- a/common/src/main/java/io/bisq/common/crypto/DecryptedDataTuple.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/crypto/DecryptedDataTuple.java
@@ -15,9 +15,9 @@
* along with bisq. If not, see .
*/
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
import java.security.PublicKey;
diff --git a/common/src/main/java/io/bisq/common/crypto/Encryption.java b/network-messages/src/main/java/io/bisq/network_messages/crypto/Encryption.java
similarity index 97%
rename from common/src/main/java/io/bisq/common/crypto/Encryption.java
rename to network-messages/src/main/java/io/bisq/network_messages/crypto/Encryption.java
index 157cc06b67..cc397a00ca 100644
--- a/common/src/main/java/io/bisq/common/crypto/Encryption.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/crypto/Encryption.java
@@ -15,12 +15,14 @@
* along with bisq. If not, see .
*/
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
-import io.bisq.messages.Message;
+import io.bisq.common.crypto.Sig;
+import io.bisq.network_messages.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.spongycastle.util.encoders.Hex;
+import io.bisq.common.crypto.CryptoException;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
@@ -186,7 +188,7 @@ public class Encryption {
cipher.init(Cipher.UNWRAP_MODE, privateKey);
return (SecretKey) cipher.unwrap(encryptedSecretKey, "AES", Cipher.SECRET_KEY);
} catch (Throwable e) {
- // errors when trying to decrypt foreign messages are normal
+ // errors when trying to decrypt foreign network_messages are normal
throw new CryptoException(e);
}
}
diff --git a/common/src/main/java/io/bisq/common/crypto/Hash.java b/network-messages/src/main/java/io/bisq/network_messages/crypto/Hash.java
similarity index 96%
rename from common/src/main/java/io/bisq/common/crypto/Hash.java
rename to network-messages/src/main/java/io/bisq/network_messages/crypto/Hash.java
index 64ef6b42ba..d67d8970d6 100644
--- a/common/src/main/java/io/bisq/common/crypto/Hash.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/crypto/Hash.java
@@ -15,10 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
import com.google.common.base.Charsets;
-import io.bisq.messages.ToProtoBuffer;
+import io.bisq.network_messages.ToProtoBuffer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.spongycastle.util.encoders.Hex;
diff --git a/common/src/main/java/io/bisq/common/crypto/KeyRing.java b/network-messages/src/main/java/io/bisq/network_messages/crypto/KeyRing.java
similarity index 97%
rename from common/src/main/java/io/bisq/common/crypto/KeyRing.java
rename to network-messages/src/main/java/io/bisq/network_messages/crypto/KeyRing.java
index 614a66f50e..ae0544702a 100644
--- a/common/src/main/java/io/bisq/common/crypto/KeyRing.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/crypto/KeyRing.java
@@ -15,7 +15,9 @@
* along with bisq. If not, see .
*/
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
+
+import io.bisq.common.crypto.Sig;
import javax.inject.Inject;
import java.security.KeyPair;
diff --git a/common/src/main/java/io/bisq/common/crypto/KeyStorage.java b/network-messages/src/main/java/io/bisq/network_messages/crypto/KeyStorage.java
similarity index 98%
rename from common/src/main/java/io/bisq/common/crypto/KeyStorage.java
rename to network-messages/src/main/java/io/bisq/network_messages/crypto/KeyStorage.java
index 311f522f92..a4df27a6ed 100644
--- a/common/src/main/java/io/bisq/common/crypto/KeyStorage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/crypto/KeyStorage.java
@@ -15,9 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
import com.google.inject.Inject;
+import io.bisq.common.crypto.Sig;
import io.bisq.storage.FileUtil;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
diff --git a/common/src/main/java/io/bisq/common/crypto/PubKeyRing.java b/network-messages/src/main/java/io/bisq/network_messages/crypto/PubKeyRing.java
similarity index 97%
rename from common/src/main/java/io/bisq/common/crypto/PubKeyRing.java
rename to network-messages/src/main/java/io/bisq/network_messages/crypto/PubKeyRing.java
index 9e3c38316e..09169bb1f6 100644
--- a/common/src/main/java/io/bisq/common/crypto/PubKeyRing.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/crypto/PubKeyRing.java
@@ -15,12 +15,13 @@
* along with bisq. If not, see .
*/
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.wire.Payload;
+import io.bisq.common.crypto.Sig;
import io.bisq.common.wire.proto.Messages;
+import io.bisq.network_messages.wire.Payload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/common/src/main/java/io/bisq/common/crypto/SealedAndSigned.java b/network-messages/src/main/java/io/bisq/network_messages/crypto/SealedAndSigned.java
similarity index 97%
rename from common/src/main/java/io/bisq/common/crypto/SealedAndSigned.java
rename to network-messages/src/main/java/io/bisq/network_messages/crypto/SealedAndSigned.java
index 4777a727e3..b7a8cb5911 100644
--- a/common/src/main/java/io/bisq/common/crypto/SealedAndSigned.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/crypto/SealedAndSigned.java
@@ -15,11 +15,12 @@
* along with bisq. If not, see .
*/
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.wire.Payload;
+import io.bisq.common.crypto.Sig;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/dao/blockchain/RpcOptionKeys.java b/network-messages/src/main/java/io/bisq/network_messages/dao/blockchain/RpcOptionKeys.java
similarity index 87%
rename from network/src/main/java/io/bisq/messages/dao/blockchain/RpcOptionKeys.java
rename to network-messages/src/main/java/io/bisq/network_messages/dao/blockchain/RpcOptionKeys.java
index 8fd90a26e2..0248bffc11 100644
--- a/network/src/main/java/io/bisq/messages/dao/blockchain/RpcOptionKeys.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/dao/blockchain/RpcOptionKeys.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.dao.blockchain;
+package io.bisq.network_messages.dao.blockchain;
public class RpcOptionKeys {
public static final String RPC_USER = "rpcUser";
diff --git a/network/src/main/java/io/bisq/messages/dao/compensation/payload/CompensationRequestPayload.java b/network-messages/src/main/java/io/bisq/network_messages/dao/compensation/payload/CompensationRequestPayload.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/dao/compensation/payload/CompensationRequestPayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/dao/compensation/payload/CompensationRequestPayload.java
index 5dec8af55d..c23b7f169f 100644
--- a/network/src/main/java/io/bisq/messages/dao/compensation/payload/CompensationRequestPayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/dao/compensation/payload/CompensationRequestPayload.java
@@ -15,15 +15,15 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.dao.compensation.payload;
+package io.bisq.network_messages.dao.compensation.payload;
import io.bisq.app.Version;
import io.bisq.common.crypto.Sig;
import io.bisq.common.util.JsonExclude;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.storage.payload.LazyProcessedStoragePayload;
-import io.bisq.p2p.storage.payload.PersistedStoragePayload;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.payload.LazyProcessedStoragePayload;
+import io.bisq.network_messages.payload.PersistedStoragePayload;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Utils;
import org.slf4j.Logger;
diff --git a/network/src/main/java/io/bisq/messages/filter/payload/Filter.java b/network-messages/src/main/java/io/bisq/network_messages/filter/payload/Filter.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/filter/payload/Filter.java
rename to network-messages/src/main/java/io/bisq/network_messages/filter/payload/Filter.java
index 1ec2147483..ea3f1ac6df 100644
--- a/network/src/main/java/io/bisq/messages/filter/payload/Filter.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/filter/payload/Filter.java
@@ -15,13 +15,13 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.filter.payload;
+package io.bisq.network_messages.filter.payload;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
import io.bisq.common.crypto.Sig;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.payload.StoragePayload;
+import io.bisq.network_messages.payload.StoragePayload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/filter/payload/PaymentAccountFilter.java b/network-messages/src/main/java/io/bisq/network_messages/filter/payload/PaymentAccountFilter.java
similarity index 96%
rename from network/src/main/java/io/bisq/messages/filter/payload/PaymentAccountFilter.java
rename to network-messages/src/main/java/io/bisq/network_messages/filter/payload/PaymentAccountFilter.java
index 300b16187e..b02a5878f1 100644
--- a/network/src/main/java/io/bisq/messages/filter/payload/PaymentAccountFilter.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/filter/payload/PaymentAccountFilter.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.filter.payload;
+package io.bisq.network_messages.filter.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/p2p/messaging/DecryptedMailboxListener.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/DecryptedMailboxListener.java
similarity index 51%
rename from network/src/main/java/io/bisq/p2p/messaging/DecryptedMailboxListener.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/DecryptedMailboxListener.java
index cc31754cf8..a936618f12 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/DecryptedMailboxListener.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/DecryptedMailboxListener.java
@@ -1,7 +1,8 @@
-package io.bisq.p2p.messaging;
+package io.bisq.network_messages.p2p.messaging;
-import io.bisq.crypto.DecryptedMsgWithPubKey;
-import io.bisq.p2p.NodeAddress;
+
+import io.bisq.network_messages.DecryptedMsgWithPubKey;
+import io.bisq.network_messages.NodeAddress;
public interface DecryptedMailboxListener {
diff --git a/network/src/main/java/io/bisq/p2p/messaging/DirectMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/DirectMessage.java
similarity index 89%
rename from network/src/main/java/io/bisq/p2p/messaging/DirectMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/DirectMessage.java
index 7644b6e8ca..72612d8d29 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/DirectMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/DirectMessage.java
@@ -15,9 +15,9 @@
* along with bisq. If not, see .
*/
-package io.bisq.p2p.messaging;
+package io.bisq.network_messages.p2p.messaging;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
public interface DirectMessage extends Message {
}
diff --git a/network/src/main/java/io/bisq/p2p/messaging/MailboxMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/MailboxMessage.java
similarity index 89%
rename from network/src/main/java/io/bisq/p2p/messaging/MailboxMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/MailboxMessage.java
index 0542b2259e..eeaf4ada7b 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/MailboxMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/MailboxMessage.java
@@ -15,10 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.p2p.messaging;
+package io.bisq.network_messages.p2p.messaging;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
public interface MailboxMessage extends DirectMessage {
NodeAddress getSenderNodeAddress();
diff --git a/network/src/main/java/io/bisq/p2p/messaging/PrefixedSealedAndSignedMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/PrefixedSealedAndSignedMessage.java
similarity index 92%
rename from network/src/main/java/io/bisq/p2p/messaging/PrefixedSealedAndSignedMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/PrefixedSealedAndSignedMessage.java
index 6a8372448f..602debe64c 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/PrefixedSealedAndSignedMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/PrefixedSealedAndSignedMessage.java
@@ -1,11 +1,11 @@
-package io.bisq.p2p.messaging;
+package io.bisq.network_messages.p2p.messaging;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.crypto.SealedAndSigned;
+import io.bisq.network_messages.crypto.SealedAndSigned;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.network.messages.SendersNodeAddressMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.SendersNodeAddressMessage;
import java.util.Arrays;
import java.util.UUID;
diff --git a/network/src/main/java/io/bisq/p2p/messaging/SendDirectMessageListener.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SendDirectMessageListener.java
similarity index 65%
rename from network/src/main/java/io/bisq/p2p/messaging/SendDirectMessageListener.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SendDirectMessageListener.java
index 5835b7848b..9103be42f8 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/SendDirectMessageListener.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SendDirectMessageListener.java
@@ -1,4 +1,4 @@
-package io.bisq.p2p.messaging;
+package io.bisq.network_messages.p2p.messaging;
public interface SendDirectMessageListener {
void onArrived();
diff --git a/network/src/main/java/io/bisq/p2p/messaging/SendMailboxMessageListener.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SendMailboxMessageListener.java
similarity index 74%
rename from network/src/main/java/io/bisq/p2p/messaging/SendMailboxMessageListener.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SendMailboxMessageListener.java
index 3d6966c079..3223648282 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/SendMailboxMessageListener.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SendMailboxMessageListener.java
@@ -1,4 +1,4 @@
-package io.bisq.p2p.messaging;
+package io.bisq.network_messages.p2p.messaging;
public interface SendMailboxMessageListener {
void onArrived();
diff --git a/network/src/main/java/io/bisq/p2p/messaging/SupportedCapabilitiesMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SupportedCapabilitiesMessage.java
similarity index 68%
rename from network/src/main/java/io/bisq/p2p/messaging/SupportedCapabilitiesMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SupportedCapabilitiesMessage.java
index 3b04c8e6fe..23d804e97a 100644
--- a/network/src/main/java/io/bisq/p2p/messaging/SupportedCapabilitiesMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/messaging/SupportedCapabilitiesMessage.java
@@ -1,6 +1,6 @@
-package io.bisq.p2p.messaging;
+package io.bisq.network_messages.p2p.messaging;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
import javax.annotation.Nullable;
import java.util.ArrayList;
diff --git a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetDataRequest.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetDataRequest.java
similarity index 56%
rename from network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetDataRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetDataRequest.java
index 58ff47a90c..a272112eb2 100644
--- a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetDataRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetDataRequest.java
@@ -1,6 +1,6 @@
-package io.bisq.p2p.peers.getdata.messages;
+package io.bisq.network_messages.p2p.peers.getdata.messages;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
import java.util.Set;
diff --git a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetDataResponse.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetDataResponse.java
similarity index 90%
rename from network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetDataResponse.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetDataResponse.java
index 528510e6c2..7dc6bca4da 100644
--- a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetDataResponse.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetDataResponse.java
@@ -1,11 +1,11 @@
-package io.bisq.p2p.peers.getdata.messages;
+package io.bisq.network_messages.p2p.peers.getdata.messages;
import io.bisq.app.Capabilities;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.messaging.SupportedCapabilitiesMessage;
-import io.bisq.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.p2p.messaging.SupportedCapabilitiesMessage;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import javax.annotation.Nullable;
import java.util.ArrayList;
diff --git a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetUpdatedDataRequest.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetUpdatedDataRequest.java
similarity index 93%
rename from network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetUpdatedDataRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetUpdatedDataRequest.java
index 29aa01c9b9..30c249516c 100644
--- a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/GetUpdatedDataRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/GetUpdatedDataRequest.java
@@ -1,10 +1,10 @@
-package io.bisq.p2p.peers.getdata.messages;
+package io.bisq.network_messages.p2p.peers.getdata.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.network.messages.SendersNodeAddressMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.SendersNodeAddressMessage;
import java.util.Set;
import java.util.stream.Collectors;
diff --git a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/PreliminaryGetDataRequest.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/PreliminaryGetDataRequest.java
similarity index 90%
rename from network/src/main/java/io/bisq/p2p/peers/getdata/messages/PreliminaryGetDataRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/PreliminaryGetDataRequest.java
index 30336837e0..6791fdded7 100644
--- a/network/src/main/java/io/bisq/p2p/peers/getdata/messages/PreliminaryGetDataRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/getdata/messages/PreliminaryGetDataRequest.java
@@ -1,12 +1,12 @@
-package io.bisq.p2p.peers.getdata.messages;
+package io.bisq.network_messages.p2p.peers.getdata.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Capabilities;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.ToProtoBuffer;
-import io.bisq.p2p.messaging.SupportedCapabilitiesMessage;
-import io.bisq.p2p.network.messages.AnonymousMessage;
+import io.bisq.network_messages.AnonymousMessage;
+import io.bisq.network_messages.ToProtoBuffer;
+import io.bisq.network_messages.p2p.messaging.SupportedCapabilitiesMessage;
import javax.annotation.Nullable;
import java.util.ArrayList;
diff --git a/network/src/main/java/io/bisq/p2p/peers/keepalive/messages/KeepAliveMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/KeepAliveMessage.java
similarity index 81%
rename from network/src/main/java/io/bisq/p2p/peers/keepalive/messages/KeepAliveMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/KeepAliveMessage.java
index b83597e569..12f1bcc8f2 100644
--- a/network/src/main/java/io/bisq/p2p/peers/keepalive/messages/KeepAliveMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/KeepAliveMessage.java
@@ -1,7 +1,7 @@
-package io.bisq.p2p.peers.keepalive.messages;
+package io.bisq.network_messages.p2p.peers.keepalive.messages;
import io.bisq.app.Version;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
public abstract class KeepAliveMessage implements Message {
//TODO add serialVersionUID also in superclasses as changes would break compatibility
diff --git a/network/src/main/java/io/bisq/p2p/peers/keepalive/messages/Ping.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/Ping.java
similarity index 89%
rename from network/src/main/java/io/bisq/p2p/peers/keepalive/messages/Ping.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/Ping.java
index 5d788a9041..c7d203cadb 100644
--- a/network/src/main/java/io/bisq/p2p/peers/keepalive/messages/Ping.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/Ping.java
@@ -1,8 +1,8 @@
-package io.bisq.p2p.peers.keepalive.messages;
+package io.bisq.network_messages.p2p.peers.keepalive.messages;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
+import io.bisq.network_messages.util.ProtoBufferUtils;
public final class Ping extends KeepAliveMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/p2p/peers/keepalive/messages/Pong.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/Pong.java
similarity index 87%
rename from network/src/main/java/io/bisq/p2p/peers/keepalive/messages/Pong.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/Pong.java
index cf14a6a8b2..3712c84b06 100644
--- a/network/src/main/java/io/bisq/p2p/peers/keepalive/messages/Pong.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/keepalive/messages/Pong.java
@@ -1,8 +1,8 @@
-package io.bisq.p2p.peers.keepalive.messages;
+package io.bisq.network_messages.p2p.peers.keepalive.messages;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
+import io.bisq.network_messages.util.ProtoBufferUtils;
public final class Pong extends KeepAliveMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/p2p/peers/peerexchange/Peer.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/Peer.java
similarity index 92%
rename from network/src/main/java/io/bisq/p2p/peers/peerexchange/Peer.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/Peer.java
index f51fae942f..0e431eee3a 100644
--- a/network/src/main/java/io/bisq/p2p/peers/peerexchange/Peer.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/Peer.java
@@ -1,10 +1,10 @@
-package io.bisq.p2p.peers.peerexchange;
+package io.bisq.network_messages.p2p.peers.peerexchange;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
-import io.bisq.common.wire.Payload;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.wire.Payload;
import java.util.Date;
diff --git a/network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/GetPeersRequest.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/GetPeersRequest.java
similarity index 89%
rename from network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/GetPeersRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/GetPeersRequest.java
index ba89e308b2..91ed7927fe 100644
--- a/network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/GetPeersRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/GetPeersRequest.java
@@ -1,13 +1,13 @@
-package io.bisq.p2p.peers.peerexchange.messages;
+package io.bisq.network_messages.p2p.peers.peerexchange.messages;
import io.bisq.app.Capabilities;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.ToProtoBuffer;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.SupportedCapabilitiesMessage;
-import io.bisq.p2p.network.messages.SendersNodeAddressMessage;
-import io.bisq.p2p.peers.peerexchange.Peer;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.SendersNodeAddressMessage;
+import io.bisq.network_messages.ToProtoBuffer;
+import io.bisq.network_messages.p2p.messaging.SupportedCapabilitiesMessage;
+import io.bisq.network_messages.p2p.peers.peerexchange.Peer;
import javax.annotation.Nullable;
import java.util.ArrayList;
diff --git a/network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/GetPeersResponse.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/GetPeersResponse.java
similarity index 91%
rename from network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/GetPeersResponse.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/GetPeersResponse.java
index a8904a2588..36cdd64040 100644
--- a/network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/GetPeersResponse.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/GetPeersResponse.java
@@ -1,10 +1,10 @@
-package io.bisq.p2p.peers.peerexchange.messages;
+package io.bisq.network_messages.p2p.peers.peerexchange.messages;
import io.bisq.app.Capabilities;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.messaging.SupportedCapabilitiesMessage;
-import io.bisq.p2p.peers.peerexchange.Peer;
+import io.bisq.network_messages.p2p.messaging.SupportedCapabilitiesMessage;
+import io.bisq.network_messages.p2p.peers.peerexchange.Peer;
import javax.annotation.Nullable;
import java.util.ArrayList;
diff --git a/network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/PeerExchangeMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/PeerExchangeMessage.java
similarity index 82%
rename from network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/PeerExchangeMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/PeerExchangeMessage.java
index 84ab6cba9a..922cfb700b 100644
--- a/network/src/main/java/io/bisq/p2p/peers/peerexchange/messages/PeerExchangeMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/peers/peerexchange/messages/PeerExchangeMessage.java
@@ -1,7 +1,7 @@
-package io.bisq.p2p.peers.peerexchange.messages;
+package io.bisq.network_messages.p2p.peers.peerexchange.messages;
import io.bisq.app.Version;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
abstract class PeerExchangeMessage implements Message {
//TODO add serialVersionUID also in superclasses as changes would break compatibility
diff --git a/network/src/main/java/io/bisq/p2p/storage/messages/AddDataMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/AddDataMessage.java
similarity index 88%
rename from network/src/main/java/io/bisq/p2p/storage/messages/AddDataMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/AddDataMessage.java
index 50a605d064..4a09f1062d 100644
--- a/network/src/main/java/io/bisq/p2p/storage/messages/AddDataMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/AddDataMessage.java
@@ -1,10 +1,10 @@
-package io.bisq.p2p.storage.messages;
+package io.bisq.network_messages.p2p.storage.messages;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.util.ProtoBufferUtils;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
public final class AddDataMessage extends BroadcastMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/p2p/storage/messages/BroadcastMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/BroadcastMessage.java
similarity index 84%
rename from network/src/main/java/io/bisq/p2p/storage/messages/BroadcastMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/BroadcastMessage.java
index 53900b938b..05d96b86cd 100644
--- a/network/src/main/java/io/bisq/p2p/storage/messages/BroadcastMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/BroadcastMessage.java
@@ -1,7 +1,7 @@
-package io.bisq.p2p.storage.messages;
+package io.bisq.network_messages.p2p.storage.messages;
import io.bisq.app.Version;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
public abstract class BroadcastMessage implements Message {
//TODO add serialVersionUID also in superclasses as changes would break compatibility
diff --git a/network/src/main/java/io/bisq/p2p/storage/messages/RefreshTTLMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RefreshTTLMessage.java
similarity index 95%
rename from network/src/main/java/io/bisq/p2p/storage/messages/RefreshTTLMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RefreshTTLMessage.java
index f941203191..544a57a8cc 100644
--- a/network/src/main/java/io/bisq/p2p/storage/messages/RefreshTTLMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RefreshTTLMessage.java
@@ -1,9 +1,9 @@
-package io.bisq.p2p.storage.messages;
+package io.bisq.network_messages.p2p.storage.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.ToProtoBuffer;
+import io.bisq.network_messages.ToProtoBuffer;
import java.util.Arrays;
diff --git a/network/src/main/java/io/bisq/p2p/storage/messages/RemoveDataMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RemoveDataMessage.java
similarity index 89%
rename from network/src/main/java/io/bisq/p2p/storage/messages/RemoveDataMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RemoveDataMessage.java
index ee6a1f9e04..7685793102 100644
--- a/network/src/main/java/io/bisq/p2p/storage/messages/RemoveDataMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RemoveDataMessage.java
@@ -1,9 +1,9 @@
-package io.bisq.p2p.storage.messages;
+package io.bisq.network_messages.p2p.storage.messages;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.util.ProtoBufferUtils;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
public final class RemoveDataMessage extends BroadcastMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/p2p/storage/messages/RemoveMailboxDataMessage.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RemoveMailboxDataMessage.java
similarity index 89%
rename from network/src/main/java/io/bisq/p2p/storage/messages/RemoveMailboxDataMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RemoveMailboxDataMessage.java
index 67ae118920..2842ed65ee 100644
--- a/network/src/main/java/io/bisq/p2p/storage/messages/RemoveMailboxDataMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/messages/RemoveMailboxDataMessage.java
@@ -1,9 +1,9 @@
-package io.bisq.p2p.storage.messages;
+package io.bisq.network_messages.p2p.storage.messages;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
+import io.bisq.network_messages.util.ProtoBufferUtils;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
public final class RemoveMailboxDataMessage extends BroadcastMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/p2p/storage/storageentry/ProtectedMailboxStorageEntry.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/storageentry/ProtectedMailboxStorageEntry.java
similarity index 91%
rename from network/src/main/java/io/bisq/p2p/storage/storageentry/ProtectedMailboxStorageEntry.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/storage/storageentry/ProtectedMailboxStorageEntry.java
index bfd5f627f6..599be30458 100644
--- a/network/src/main/java/io/bisq/p2p/storage/storageentry/ProtectedMailboxStorageEntry.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/storageentry/ProtectedMailboxStorageEntry.java
@@ -1,13 +1,11 @@
-package io.bisq.p2p.storage.storageentry;
+package io.bisq.network_messages.p2p.storage.storageentry;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
import io.bisq.common.crypto.Sig;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.P2PDataStorage;
-import io.bisq.p2p.storage.payload.MailboxStoragePayload;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import io.bisq.network_messages.payload.MailboxStoragePayload;
+import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.security.KeyFactory;
@@ -17,12 +15,11 @@ import java.security.PublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
+@Slf4j
public class ProtectedMailboxStorageEntry extends ProtectedStorageEntry {
// That object is sent over the wire, so we need to take care of version compatibility.
private static final long serialVersionUID = Version.P2P_NETWORK_VERSION;
- private static final Logger log = LoggerFactory.getLogger(P2PDataStorage.class);
-
public transient PublicKey receiversPubKey;
private final byte[] receiversPubKeyBytes;
diff --git a/network/src/main/java/io/bisq/p2p/storage/storageentry/ProtectedStorageEntry.java b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/storageentry/ProtectedStorageEntry.java
similarity index 96%
rename from network/src/main/java/io/bisq/p2p/storage/storageentry/ProtectedStorageEntry.java
rename to network-messages/src/main/java/io/bisq/network_messages/p2p/storage/storageentry/ProtectedStorageEntry.java
index 1935924c16..343f0665ed 100644
--- a/network/src/main/java/io/bisq/p2p/storage/storageentry/ProtectedStorageEntry.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/p2p/storage/storageentry/ProtectedStorageEntry.java
@@ -1,13 +1,13 @@
-package io.bisq.p2p.storage.storageentry;
+package io.bisq.network_messages.p2p.storage.storageentry;
import com.google.common.annotations.VisibleForTesting;
import com.google.protobuf.ByteString;
import com.google.protobuf.Message;
import io.bisq.app.Version;
import io.bisq.common.crypto.Sig;
-import io.bisq.common.wire.Payload;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.payload.StoragePayload;
+import io.bisq.network_messages.wire.Payload;
+import io.bisq.network_messages.payload.StoragePayload;
import lombok.EqualsAndHashCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/storage/payload/CapabilityRequiringPayload.java b/network-messages/src/main/java/io/bisq/network_messages/payload/CapabilityRequiringPayload.java
similarity index 85%
rename from network/src/main/java/io/bisq/p2p/storage/payload/CapabilityRequiringPayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/payload/CapabilityRequiringPayload.java
index ca0fe17891..a07cd43445 100644
--- a/network/src/main/java/io/bisq/p2p/storage/payload/CapabilityRequiringPayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payload/CapabilityRequiringPayload.java
@@ -1,6 +1,7 @@
-package io.bisq.p2p.storage.payload;
+package io.bisq.network_messages.payload;
-import io.bisq.common.wire.Payload;
+
+import io.bisq.network_messages.wire.Payload;
import java.util.List;
diff --git a/network/src/main/java/io/bisq/p2p/storage/payload/ExpirablePayload.java b/network-messages/src/main/java/io/bisq/network_messages/payload/ExpirablePayload.java
similarity index 75%
rename from network/src/main/java/io/bisq/p2p/storage/payload/ExpirablePayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/payload/ExpirablePayload.java
index 76971f75b0..9c38d70124 100644
--- a/network/src/main/java/io/bisq/p2p/storage/payload/ExpirablePayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payload/ExpirablePayload.java
@@ -1,6 +1,7 @@
-package io.bisq.p2p.storage.payload;
+package io.bisq.network_messages.payload;
-import io.bisq.common.wire.Payload;
+
+import io.bisq.network_messages.wire.Payload;
/**
* Messages which support a time to live
diff --git a/network/src/main/java/io/bisq/p2p/storage/payload/LazyProcessedStoragePayload.java b/network-messages/src/main/java/io/bisq/network_messages/payload/LazyProcessedStoragePayload.java
similarity index 83%
rename from network/src/main/java/io/bisq/p2p/storage/payload/LazyProcessedStoragePayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/payload/LazyProcessedStoragePayload.java
index efb67e6b3d..fab81c2288 100644
--- a/network/src/main/java/io/bisq/p2p/storage/payload/LazyProcessedStoragePayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payload/LazyProcessedStoragePayload.java
@@ -1,4 +1,4 @@
-package io.bisq.p2p.storage.payload;
+package io.bisq.network_messages.payload;
/**
* Marker interface for payload which gets delayed processed at startup so we don't hit performance too much.
diff --git a/network/src/main/java/io/bisq/p2p/storage/payload/MailboxStoragePayload.java b/network-messages/src/main/java/io/bisq/network_messages/payload/MailboxStoragePayload.java
similarity index 94%
rename from network/src/main/java/io/bisq/p2p/storage/payload/MailboxStoragePayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/payload/MailboxStoragePayload.java
index f3c7090f15..b4458f81f5 100644
--- a/network/src/main/java/io/bisq/p2p/storage/payload/MailboxStoragePayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payload/MailboxStoragePayload.java
@@ -1,14 +1,10 @@
-package io.bisq.p2p.storage.payload;
+package io.bisq.network_messages.payload;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
import io.bisq.common.crypto.Sig;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.PrefixedSealedAndSignedMessage;
-import io.bisq.p2p.peers.BroadcastHandler;
-import io.bisq.p2p.storage.P2PDataStorage;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.p2p.messaging.PrefixedSealedAndSignedMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,7 +23,7 @@ import java.util.concurrent.TimeUnit;
* but only the receiver is permitted to remove the data.
* That is the typical requirement for a mailbox like system.
*
- * Typical payloads are trade or dispute messages to be stored when the peer is offline.
+ * Typical payloads are trade or dispute network_messages to be stored when the peer is offline.
*/
public final class MailboxStoragePayload implements StoragePayload {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/p2p/storage/payload/PersistedStoragePayload.java b/network-messages/src/main/java/io/bisq/network_messages/payload/PersistedStoragePayload.java
similarity index 79%
rename from network/src/main/java/io/bisq/p2p/storage/payload/PersistedStoragePayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/payload/PersistedStoragePayload.java
index f761e08dc3..b65004ca9d 100644
--- a/network/src/main/java/io/bisq/p2p/storage/payload/PersistedStoragePayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payload/PersistedStoragePayload.java
@@ -1,4 +1,4 @@
-package io.bisq.p2p.storage.payload;
+package io.bisq.network_messages.payload;
/**
* Marker interface for payload which gets persisted.
diff --git a/network/src/main/java/io/bisq/p2p/storage/payload/RequiresOwnerIsOnlinePayload.java b/network-messages/src/main/java/io/bisq/network_messages/payload/RequiresOwnerIsOnlinePayload.java
similarity index 65%
rename from network/src/main/java/io/bisq/p2p/storage/payload/RequiresOwnerIsOnlinePayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/payload/RequiresOwnerIsOnlinePayload.java
index c4809403cb..23eb52d8ba 100644
--- a/network/src/main/java/io/bisq/p2p/storage/payload/RequiresOwnerIsOnlinePayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payload/RequiresOwnerIsOnlinePayload.java
@@ -1,10 +1,10 @@
-package io.bisq.p2p.storage.payload;
+package io.bisq.network_messages.payload;
-import io.bisq.common.wire.Payload;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.wire.Payload;
/**
- * Used for messages which require that the data owner is online.
+ * Used for network_messages which require that the data owner is online.
*
* This is used for the offers to avoid dead offers in case the offerer is in standby mode or the app has
* terminated without sending the remove message (e.g. network connection lost or in case of a crash).
diff --git a/network/src/main/java/io/bisq/p2p/storage/payload/StoragePayload.java b/network-messages/src/main/java/io/bisq/network_messages/payload/StoragePayload.java
similarity index 78%
rename from network/src/main/java/io/bisq/p2p/storage/payload/StoragePayload.java
rename to network-messages/src/main/java/io/bisq/network_messages/payload/StoragePayload.java
index 59a5d822b2..6380bade51 100644
--- a/network/src/main/java/io/bisq/p2p/storage/payload/StoragePayload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payload/StoragePayload.java
@@ -1,8 +1,4 @@
-package io.bisq.p2p.storage.payload;
-
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.storage.P2PDataStorage;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+package io.bisq.network_messages.payload;
import java.security.PublicKey;
@@ -12,7 +8,7 @@ import java.security.PublicKey;
* Implementations:
* io.bisq.alert.Alert
* io.bisq.arbitration.Arbitrator
- * io.bisq.trade.offer.Offer
+ * io.bisq.trade.offer.OfferPayload
*/
public interface StoragePayload extends ExpirablePayload {
/**
diff --git a/network/src/main/java/io/bisq/messages/payment/PaymentMethod.java b/network-messages/src/main/java/io/bisq/network_messages/payment/PaymentMethod.java
similarity index 99%
rename from network/src/main/java/io/bisq/messages/payment/PaymentMethod.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/PaymentMethod.java
index f3d5080142..e278c53301 100644
--- a/network/src/main/java/io/bisq/messages/payment/PaymentMethod.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/PaymentMethod.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment;
+package io.bisq.network_messages.payment;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/AliPayAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/AliPayAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/AliPayAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/AliPayAccountContractData.java
index c799f61044..789732911b 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/AliPayAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/AliPayAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/BankAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/BankAccountContractData.java
similarity index 91%
rename from network/src/main/java/io/bisq/messages/payment/payload/BankAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/BankAccountContractData.java
index db32df2a90..416ce9addc 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/BankAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/BankAccountContractData.java
@@ -15,15 +15,15 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
-import io.bisq.messages.locale.BankUtil;
-import io.bisq.messages.locale.CountryUtil;
+import io.bisq.locale.BankUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
+import java.util.Locale;
public abstract class BankAccountContractData extends CountryBasedPaymentAccountContractData {
// That object is sent over the wire, so we need to take care of version compatibility.
@@ -46,12 +46,12 @@ public abstract class BankAccountContractData extends CountryBasedPaymentAccount
}
@Override
- public String getPaymentDetails() {
- return "Bank account transfer - " + getPaymentDetailsForTradePopup().replace("\n", ", ");
+ public String getPaymentDetails(Locale locale) {
+ return "Bank account transfer - " + getPaymentDetailsForTradePopup(locale).replace("\n", ", ");
}
@Override
- public String getPaymentDetailsForTradePopup() {
+ public String getPaymentDetailsForTradePopup(Locale locale) {
String bankName = BankUtil.isBankNameRequired(countryCode) ? BankUtil.getBankNameLabel(countryCode) + " " + this.bankName + "\n" : "";
String bankId = BankUtil.isBankIdRequired(countryCode) ? BankUtil.getBankIdLabel(countryCode) + " " + this.bankId + "\n" : "";
String branchId = BankUtil.isBranchIdRequired(countryCode) ? BankUtil.getBranchIdLabel(countryCode) + " " + this.branchId + "\n" : "";
@@ -66,7 +66,7 @@ public abstract class BankAccountContractData extends CountryBasedPaymentAccount
accountNr +
accountType +
holderIdString +
- "Country of bank: " + CountryUtil.getNameAndCode(getCountryCode());
+ "Country of bank: " + new Locale(locale.getLanguage(), countryCode).getDisplayCountry();
}
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/CashDepositAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/CashDepositAccountContractData.java
similarity index 95%
rename from network/src/main/java/io/bisq/messages/payment/payload/CashDepositAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/CashDepositAccountContractData.java
index 5d12133032..0c8552a13e 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/CashDepositAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/CashDepositAccountContractData.java
@@ -15,16 +15,16 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.locale.BankUtil;
-import io.bisq.messages.locale.CountryUtil;
+import io.bisq.locale.BankUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
+import java.util.Locale;
public class CashDepositAccountContractData extends CountryBasedPaymentAccountContractData {
// That object is sent over the wire, so we need to take care of version compatibility.
@@ -49,12 +49,12 @@ public class CashDepositAccountContractData extends CountryBasedPaymentAccountCo
}
@Override
- public String getPaymentDetails() {
+ public String getPaymentDetails(Locale locale) {
return "Cash deposit - " + getPaymentDetailsForTradePopup().replace("\n", ", ");
}
@Override
- public String getPaymentDetailsForTradePopup() {
+ public String getPaymentDetailsForTradePopup(Locale locale) {
String bankName = BankUtil.isBankNameRequired(countryCode) ? BankUtil.getBankNameLabel(countryCode) + " " + this.bankName + "\n" : "";
String bankId = BankUtil.isBankIdRequired(countryCode) ? BankUtil.getBankIdLabel(countryCode) + " " + this.bankId + "\n" : "";
String branchId = BankUtil.isBranchIdRequired(countryCode) ? BankUtil.getBranchIdLabel(countryCode) + " " + this.branchId + "\n" : "";
@@ -72,7 +72,7 @@ public class CashDepositAccountContractData extends CountryBasedPaymentAccountCo
accountType +
holderIdString +
requirementsString +
- "Country of bank: " + CountryUtil.getNameAndCode(getCountryCode());
+ "Country of bank: " + new Locale(locale.getLanguage(), countryCode).getDisplayCountry();
}
@Override
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/ChaseQuickPayAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/ChaseQuickPayAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/ChaseQuickPayAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/ChaseQuickPayAccountContractData.java
index 1d1db60a58..331764a328 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/ChaseQuickPayAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/ChaseQuickPayAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/ClearXchangeAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/ClearXchangeAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/ClearXchangeAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/ClearXchangeAccountContractData.java
index 167c671ba3..8e599a9437 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/ClearXchangeAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/ClearXchangeAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/CountryBasedPaymentAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/CountryBasedPaymentAccountContractData.java
similarity index 84%
rename from network/src/main/java/io/bisq/messages/payment/payload/CountryBasedPaymentAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/CountryBasedPaymentAccountContractData.java
index ac9574a39a..1949d9753e 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/CountryBasedPaymentAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/CountryBasedPaymentAccountContractData.java
@@ -15,9 +15,12 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
+import sun.reflect.generics.reflectiveObjects.NotImplementedException;
+
+import java.util.Locale;
public abstract class CountryBasedPaymentAccountContractData extends PaymentAccountContractData {
// That object is sent over the wire, so we need to take care of version compatibility.
@@ -50,10 +53,12 @@ public abstract class CountryBasedPaymentAccountContractData extends PaymentAcco
///////////////////////////////////////////////////////////////////////////////////////////
// Getter
///////////////////////////////////////////////////////////////////////////////////////////
+ public String getPaymentDetails() { throw new NotImplementedException();}
+ abstract public String getPaymentDetails(Locale locale);
- abstract public String getPaymentDetails();
-
- abstract public String getPaymentDetailsForTradePopup();
+ /** needs Locale for country based */
+ public String getPaymentDetailsForTradePopup() { throw new NotImplementedException();}
+ abstract public String getPaymentDetailsForTradePopup(Locale locale);
@Override
public boolean equals(Object o) {
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/CryptoCurrencyAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/CryptoCurrencyAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/CryptoCurrencyAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/CryptoCurrencyAccountContractData.java
index f8862022a3..17dbf7f97c 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/CryptoCurrencyAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/CryptoCurrencyAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/FasterPaymentsAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/FasterPaymentsAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/FasterPaymentsAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/FasterPaymentsAccountContractData.java
index 9d4a5ca21c..628ead0e01 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/FasterPaymentsAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/FasterPaymentsAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/InteracETransferAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/InteracETransferAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/InteracETransferAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/InteracETransferAccountContractData.java
index 5683caa0e6..7aa85a27b7 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/InteracETransferAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/InteracETransferAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/NationalBankAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/NationalBankAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/NationalBankAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/NationalBankAccountContractData.java
index 267401542e..ef548743d9 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/NationalBankAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/NationalBankAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/OKPayAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/OKPayAccountContractData.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/payment/payload/OKPayAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/OKPayAccountContractData.java
index 9d743b32e8..85cc00f684 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/OKPayAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/OKPayAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/PaymentAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/PaymentAccountContractData.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/payment/payload/PaymentAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/PaymentAccountContractData.java
index 962f414a1b..1f04e9ec87 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/PaymentAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/PaymentAccountContractData.java
@@ -15,10 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.wire.Payload;
public abstract class PaymentAccountContractData implements Payload {
// That object is sent over the wire, so we need to take care of version compatibility.
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/PerfectMoneyAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/PerfectMoneyAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/PerfectMoneyAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/PerfectMoneyAccountContractData.java
index b2805900c9..0d6a5042b9 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/PerfectMoneyAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/PerfectMoneyAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/SameBankAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SameBankAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/SameBankAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/SameBankAccountContractData.java
index 5b868da730..83d8b01d7f 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/SameBankAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SameBankAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/SepaAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SepaAccountContractData.java
similarity index 87%
rename from network/src/main/java/io/bisq/messages/payment/payload/SepaAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/SepaAccountContractData.java
index a7198676fa..ac9f212af8 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/SepaAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SepaAccountContractData.java
@@ -15,16 +15,17 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.locale.CountryUtil;
+import io.bisq.locale.Country;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import java.util.Set;
import java.util.stream.Collectors;
@@ -39,11 +40,12 @@ public final class SepaAccountContractData extends CountryBasedPaymentAccountCon
private String iban;
private String bic;
// Dont use a set here as we need a deterministic ordering, otherwise the contract hash does not match
- private final ArrayList acceptedCountryCodes;
+ private final List acceptedCountryCodes;
- public SepaAccountContractData(String paymentMethod, String id, long maxTradePeriod) {
+ public SepaAccountContractData(String paymentMethod, String id, long maxTradePeriod, List acceptedCountries) {
super(paymentMethod, id, maxTradePeriod);
- Set acceptedCountryCodesAsSet = CountryUtil.getAllSepaCountries().stream().map(e -> e.code).collect(Collectors.toSet());
+ Set acceptedCountryCodesAsSet = acceptedCountries.stream()
+ .map(e -> e.code).collect(Collectors.toSet());
acceptedCountryCodes = new ArrayList<>(acceptedCountryCodesAsSet);
acceptedCountryCodes.sort(String::compareTo);
}
@@ -87,16 +89,21 @@ public final class SepaAccountContractData extends CountryBasedPaymentAccountCon
}
@Override
- public String getPaymentDetails() {
+ public String getPaymentDetails(Locale locale) {
return "SEPA - Holder name: " + holderName + ", IBAN: " + iban + ", BIC: " + bic + ", country code: " + getCountryCode();
}
@Override
public String getPaymentDetailsForTradePopup() {
+ return null;
+ }
+
+ @Override
+ public String getPaymentDetailsForTradePopup(Locale locale) {
return "Holder name: " + holderName + "\n" +
"IBAN: " + iban + "\n" +
"BIC: " + bic + "\n" +
- "Country of bank: " + CountryUtil.getNameAndCode(getCountryCode());
+ "Country of bank: " + new Locale(locale.getLanguage(), countryCode).getDisplayCountry();
}
@Override
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/SpecificBanksAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SpecificBanksAccountContractData.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/payment/payload/SpecificBanksAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/SpecificBanksAccountContractData.java
index f6260fd69f..c4d9d32ebf 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/SpecificBanksAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SpecificBanksAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import com.google.common.base.Joiner;
import io.bisq.app.Version;
@@ -24,6 +24,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
+import java.util.Locale;
public final class SpecificBanksAccountContractData extends BankAccountContractData {
// That object is sent over the wire, so we need to take care of version compatibility.
@@ -61,7 +62,12 @@ public final class SpecificBanksAccountContractData extends BankAccountContractD
@Override
public String getPaymentDetailsForTradePopup() {
- return super.getPaymentDetailsForTradePopup() + "\n" +
+ return null;
+ }
+
+ @Override
+ public String getPaymentDetailsForTradePopup(Locale locale) {
+ return super.getPaymentDetailsForTradePopup(locale) + "\n" +
"Accepted banks: " + Joiner.on(", ").join(acceptedBanks);
}
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/SwishAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SwishAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/SwishAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/SwishAccountContractData.java
index cc377ca574..9b6092944b 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/SwishAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/SwishAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/payment/payload/USPostalMoneyOrderAccountContractData.java b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/USPostalMoneyOrderAccountContractData.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/payment/payload/USPostalMoneyOrderAccountContractData.java
rename to network-messages/src/main/java/io/bisq/network_messages/payment/payload/USPostalMoneyOrderAccountContractData.java
index 2e2d0c30b2..dc6b7eb59b 100644
--- a/network/src/main/java/io/bisq/messages/payment/payload/USPostalMoneyOrderAccountContractData.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/payment/payload/USPostalMoneyOrderAccountContractData.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
diff --git a/network/src/main/java/io/bisq/messages/protocol/trade/TradeMessage.java b/network-messages/src/main/java/io/bisq/network_messages/protocol/trade/TradeMessage.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/protocol/trade/TradeMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/protocol/trade/TradeMessage.java
index a42c8d3470..a2e9dffd4f 100644
--- a/network/src/main/java/io/bisq/messages/protocol/trade/TradeMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/protocol/trade/TradeMessage.java
@@ -15,10 +15,10 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.protocol.trade;
+package io.bisq.network_messages.protocol.trade;
import io.bisq.app.Version;
-import io.bisq.p2p.messaging.DirectMessage;
+import io.bisq.network_messages.p2p.messaging.DirectMessage;
import javax.annotation.concurrent.Immutable;
diff --git a/network/src/main/java/io/bisq/messages/trade/exceptions/MarketPriceNotAvailableException.java b/network-messages/src/main/java/io/bisq/network_messages/trade/exceptions/MarketPriceNotAvailableException.java
similarity index 75%
rename from network/src/main/java/io/bisq/messages/trade/exceptions/MarketPriceNotAvailableException.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/exceptions/MarketPriceNotAvailableException.java
index f4f9674865..8bb5dc9c14 100644
--- a/network/src/main/java/io/bisq/messages/trade/exceptions/MarketPriceNotAvailableException.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/exceptions/MarketPriceNotAvailableException.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.trade.exceptions;
+package io.bisq.network_messages.trade.exceptions;
public class MarketPriceNotAvailableException extends Exception {
public MarketPriceNotAvailableException(String message) {
diff --git a/network/src/main/java/io/bisq/messages/trade/exceptions/TradePriceOutOfToleranceException.java b/network-messages/src/main/java/io/bisq/network_messages/trade/exceptions/TradePriceOutOfToleranceException.java
similarity index 76%
rename from network/src/main/java/io/bisq/messages/trade/exceptions/TradePriceOutOfToleranceException.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/exceptions/TradePriceOutOfToleranceException.java
index 388773c5d2..de65c693cc 100644
--- a/network/src/main/java/io/bisq/messages/trade/exceptions/TradePriceOutOfToleranceException.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/exceptions/TradePriceOutOfToleranceException.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.trade.exceptions;
+package io.bisq.network_messages.trade.exceptions;
public class TradePriceOutOfToleranceException extends Exception {
public TradePriceOutOfToleranceException(String message) {
diff --git a/network/src/main/java/io/bisq/messages/trade/offer/payload/Offer.java b/network-messages/src/main/java/io/bisq/network_messages/trade/offer/payload/OfferPayload.java
similarity index 51%
rename from network/src/main/java/io/bisq/messages/trade/offer/payload/Offer.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/offer/payload/OfferPayload.java
index 554e07ed3a..038f97b397 100644
--- a/network/src/main/java/io/bisq/messages/trade/offer/payload/Offer.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/offer/payload/OfferPayload.java
@@ -15,47 +15,32 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.offer.payload;
+package io.bisq.network_messages.trade.offer.payload;
-import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import io.bisq.app.DevEnv;
import io.bisq.app.Version;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.PubKeyRing;
-import io.bisq.common.handlers.ErrorMessageHandler;
-import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.JsonExclude;
-import io.bisq.common.util.MathUtils;
import io.bisq.common.util.Utilities;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.locale.Res;
-import io.bisq.messages.btc.Restrictions;
-import io.bisq.messages.locale.CurrencyUtil;
-import io.bisq.messages.payment.PaymentMethod;
-import io.bisq.messages.protocol.availability.OfferAvailabilityModel;
-import io.bisq.messages.protocol.availability.OfferAvailabilityProtocol;
-import io.bisq.messages.provider.price.MarketPrice;
-import io.bisq.messages.provider.price.PriceFeedService;
-import io.bisq.messages.trade.exceptions.MarketPriceNotAvailableException;
-import io.bisq.messages.trade.exceptions.TradePriceOutOfToleranceException;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.storage.payload.RequiresOwnerIsOnlinePayload;
-import io.bisq.p2p.storage.payload.StoragePayload;
-import javafx.beans.property.*;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.btc.Restrictions;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.payment.PaymentMethod;
+import io.bisq.network_messages.payload.RequiresOwnerIsOnlinePayload;
+import io.bisq.network_messages.payload.StoragePayload;
import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
import lombok.ToString;
import org.bitcoinj.core.Coin;
-import org.bitcoinj.utils.ExchangeRate;
-import org.bitcoinj.utils.Fiat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import java.io.IOException;
import java.security.PublicKey;
-import java.text.DecimalFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -65,8 +50,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
@ToString
@EqualsAndHashCode
-// TODO refactor to remove logic, should be value a object only
-public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload {
+public final class OfferPayload implements StoragePayload, RequiresOwnerIsOnlinePayload {
///////////////////////////////////////////////////////////////////////////////////////////
// Static
@@ -76,11 +60,8 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
@JsonExclude
private static final long serialVersionUID = Version.P2P_NETWORK_VERSION;
@JsonExclude
- private static final Logger log = LoggerFactory.getLogger(Offer.class);
+ private static final Logger log = LoggerFactory.getLogger(OfferPayload.class);
public static final long TTL = TimeUnit.MINUTES.toMillis(DevEnv.STRESS_TEST_MODE ? 6 : 6);
- public final static String TAC_OFFERER = Res.get("createOffer.tac");
- public static final String TAC_TAKER = Res.get("takeOffer.tac");
-
///////////////////////////////////////////////////////////////////////////////////////////
// Enums
@@ -103,31 +84,43 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
///////////////////////////////////////////////////////////////////////////////////////////
// Fields for filtering offers
+ @Getter
private final Direction direction;
+ @Getter
private final String currencyCode;
// payment method
private final String paymentMethodName;
@Nullable
+ @Getter
private final String countryCode;
@Nullable
+ @Getter
private final List acceptedCountryCodes;
@Nullable
+ @Getter
private final String bankId;
@Nullable
+ @Getter
private final List acceptedBankIds;
+ @Getter
private final List arbitratorNodeAddresses;
+ @Getter
private final String id;
+ @Getter
private final long date;
+ @Getter
private final long protocolVersion;
// We use 2 type of prices: fixed price or price based on distance from market price
+ @Getter
private final boolean useMarketBasedPrice;
// fiatPrice if fixed price is used (usePercentageBasedPrice = false), otherwise 0
//TODO add support for altcoin price or fix precision issue
+ @Getter
private final long fiatPrice;
// Distance form market price if percentage based price is used (usePercentageBasedPrice = true), otherwise 0.
@@ -135,25 +128,32 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
// Positive values is always the usual case where you want a better price as the market.
// E.g. Buy offer with market price 400.- leads to a 360.- price.
// Sell offer with market price 400.- leads to a 440.- price.
+ @Getter
private final double marketPriceMargin;
-
private final long amount;
private final long minAmount;
+ @Getter
private final NodeAddress offererNodeAddress;
@JsonExclude
+ @Getter
private final PubKeyRing pubKeyRing;
+ @Getter
private final String offererPaymentAccountId;
// Mutable property. Has to be set before offer is save in P2P network as it changes the objects hash!
+ @Getter
+ @Setter
private String offerFeePaymentTxID;
// New properties from v. 0.5.0.0
+ @Getter
private final String versionNr;
private final long blockHeightAtOfferCreation;
private final long txFee;
private final long createOfferFee;
private final long securityDeposit;
private final long maxTradeLimit;
+ @Getter
private final long maxTradePeriod;
// reserved for future use cases
@@ -175,23 +175,6 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
@Nullable
private Map extraDataMap;
- // TODO refactor those out of Offer, offer should be pure value object
- @JsonExclude
- transient private State state = State.UNDEFINED;
- // Those state properties are transient and only used at runtime!
- // don't access directly as it might be null; use getStateProperty() which creates an object if not instantiated
- @JsonExclude
- transient private ObjectProperty stateProperty = new SimpleObjectProperty<>(state);
- @JsonExclude
- @Nullable
- transient private OfferAvailabilityProtocol availabilityProtocol;
- @JsonExclude
- transient private StringProperty errorMessageProperty = new SimpleStringProperty();
- @JsonExclude
- transient private PriceFeedService priceFeedService;
- @JsonExclude
- transient private DecimalFormat decimalFormat;
-
///////////////////////////////////////////////////////////////////////////////////////////
// Constructor
@@ -202,7 +185,7 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
* meaning it's null here and "" there => not good
*
* @param id
- * @param creationDate date of Offer creation, can be null in which case the current date/time will be used.
+ * @param creationDate date of OfferPayload creation, can be null in which case the current date/time will be used.
* @param offererNodeAddress
* @param pubKeyRing
* @param direction
@@ -220,7 +203,6 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
* @param acceptedCountryCodes
* @param bankId
* @param acceptedBankIds
- * @param priceFeedService
* @param versionNr
* @param blockHeightAtOfferCreation
* @param txFee
@@ -236,40 +218,39 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
* @param hashOfChallenge
* @param extraDataMap
*/
- public Offer(String id,
- Long creationDate,
- NodeAddress offererNodeAddress,
- PubKeyRing pubKeyRing,
- Direction direction,
- long fiatPrice,
- double marketPriceMargin,
- boolean useMarketBasedPrice,
- long amount,
- long minAmount,
- String currencyCode,
- List arbitratorNodeAddresses,
- String paymentMethodName,
- String offererPaymentAccountId,
- @Nullable String offerFeePaymentTxID,
- @Nullable String countryCode,
- @Nullable List acceptedCountryCodes,
- @Nullable String bankId,
- @Nullable List acceptedBankIds,
- PriceFeedService priceFeedService,
- String versionNr,
- long blockHeightAtOfferCreation,
- long txFee,
- long createOfferFee,
- long securityDeposit,
- long maxTradeLimit,
- long maxTradePeriod,
- boolean useAutoClose,
- boolean useReOpenAfterAutoClose,
- long lowerClosePrice,
- long upperClosePrice,
- boolean isPrivateOffer,
- @Nullable String hashOfChallenge,
- @Nullable Map extraDataMap) {
+ public OfferPayload(String id,
+ Long creationDate,
+ NodeAddress offererNodeAddress,
+ PubKeyRing pubKeyRing,
+ Direction direction,
+ long fiatPrice,
+ double marketPriceMargin,
+ boolean useMarketBasedPrice,
+ long amount,
+ long minAmount,
+ String currencyCode,
+ List arbitratorNodeAddresses,
+ String paymentMethodName,
+ String offererPaymentAccountId,
+ @Nullable String offerFeePaymentTxID,
+ @Nullable String countryCode,
+ @Nullable List acceptedCountryCodes,
+ @Nullable String bankId,
+ @Nullable List acceptedBankIds,
+ String versionNr,
+ long blockHeightAtOfferCreation,
+ long txFee,
+ long createOfferFee,
+ long securityDeposit,
+ long maxTradeLimit,
+ long maxTradePeriod,
+ boolean useAutoClose,
+ boolean useReOpenAfterAutoClose,
+ long lowerClosePrice,
+ long upperClosePrice,
+ boolean isPrivateOffer,
+ @Nullable String hashOfChallenge,
+ @Nullable Map extraDataMap) {
this.id = id;
this.offererNodeAddress = offererNodeAddress;
@@ -289,7 +270,6 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
this.acceptedCountryCodes = Optional.ofNullable(acceptedCountryCodes).orElse(Lists.newArrayList());
this.bankId = Optional.ofNullable(bankId).orElse("");
this.acceptedBankIds = Optional.ofNullable(acceptedBankIds).orElse(Lists.newArrayList());
- this.priceFeedService = priceFeedService;
this.versionNr = versionNr;
this.blockHeightAtOfferCreation = blockHeightAtOfferCreation;
this.txFee = txFee;
@@ -306,28 +286,16 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
this.extraDataMap = Optional.ofNullable(extraDataMap).orElse(Maps.newHashMap());
this.date = Optional.ofNullable(creationDate).orElse(new Date().getTime());
this.protocolVersion = Version.TRADE_PROTOCOL_VERSION;
-
- setState(State.UNDEFINED);
- init();
}
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
try {
in.defaultReadObject();
- init();
} catch (Throwable t) {
log.warn("Cannot be deserialized." + t.getMessage());
}
}
- private void init() {
- stateProperty = new SimpleObjectProperty<>(State.UNDEFINED);
-
- // we don't need to fill it as the error message is only relevant locally, so we don't store it in the transmitted object
- errorMessageProperty = new SimpleStringProperty();
- decimalFormat = new DecimalFormat("#.#");
- decimalFormat.setMaximumFractionDigits(Fiat.SMALLEST_UNIT_EXPONENT);
- }
@Override
public NodeAddress getOwnerNodeAddress() {
@@ -344,7 +312,6 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
checkNotNull(getId(), "Id is null");
checkNotNull(getPubKeyRing(), "pubKeyRing is null");
checkNotNull(getMinAmount(), "MinAmount is null");
- checkNotNull(getPrice(), "Price is null");
checkNotNull(getTxFee(), "txFee is null");
checkNotNull(getCreateOfferFee(), "CreateOfferFee is null");
checkNotNull(getVersionNr(), "VersionNr is null");
@@ -352,107 +319,22 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
checkNotNull(getMaxTradeLimit(), "MaxTradeLimit is null");
checkArgument(getMaxTradePeriod() > 0, "maxTradePeriod is 0 or negative. maxTradePeriod=" + getMaxTradePeriod());
- Preconditions.checkArgument(getMinAmount().compareTo(Restrictions.MIN_TRADE_AMOUNT) >= 0, "MinAmount is less then "
+ checkArgument(getMinAmount().compareTo(Restrictions.MIN_TRADE_AMOUNT) >= 0, "MinAmount is less then "
+ Restrictions.MIN_TRADE_AMOUNT.toFriendlyString());
- Preconditions.checkArgument(getAmount().compareTo(getPaymentMethod().getMaxTradeLimit()) <= 0, "Amount is larger then "
+ checkArgument(getAmount().compareTo(getPaymentMethod().getMaxTradeLimit()) <= 0, "Amount is larger then "
+ getPaymentMethod().getMaxTradeLimit().toFriendlyString());
checkArgument(getAmount().compareTo(getMinAmount()) >= 0, "MinAmount is larger then Amount");
-
- checkArgument(getPrice().isPositive(), "Price is not a positive value");
// TODO check upper and lower bounds for fiat
}
- public void resetState() {
- setState(State.UNDEFINED);
- }
-
- public boolean isMyOffer(KeyRing keyRing) {
- return getPubKeyRing().equals(keyRing.getPubKeyRing());
- }
-
- @Nullable
- public Fiat getVolumeByAmount(Coin amount) {
- Fiat price = getPrice();
- if (price != null && amount != null) {
- try {
- return new ExchangeRate(price).coinToFiat(amount);
- } catch (Throwable t) {
- log.error("getVolumeByAmount failed. Error=" + t.getMessage());
- return null;
- }
- } else {
- return null;
- }
- }
-
- @Nullable
- public Fiat getOfferVolume() {
- return getVolumeByAmount(getAmount());
- }
-
- @Nullable
- public Fiat getMinOfferVolume() {
- return getVolumeByAmount(getMinAmount());
- }
-
-
- ///////////////////////////////////////////////////////////////////////////////////////////
- // Availability
- ///////////////////////////////////////////////////////////////////////////////////////////
-
- // TODO refactor those out of Offer, offer should be pure value object
- public void checkOfferAvailability(OfferAvailabilityModel model, ResultHandler resultHandler,
- ErrorMessageHandler errorMessageHandler) {
- availabilityProtocol = new OfferAvailabilityProtocol(model,
- () -> {
- cancelAvailabilityRequest();
- resultHandler.handleResult();
- },
- (errorMessage) -> {
- if (availabilityProtocol != null)
- availabilityProtocol.cancel();
- log.error(errorMessage);
- errorMessageHandler.handleErrorMessage(errorMessage);
- });
- availabilityProtocol.sendOfferAvailabilityRequest();
- }
-
- // TODO refactor those out of Offer, offer should be pure value object
- public void cancelAvailabilityRequest() {
- if (availabilityProtocol != null)
- availabilityProtocol.cancel();
- }
-
- ///////////////////////////////////////////////////////////////////////////////////////////
- // Setters
- ///////////////////////////////////////////////////////////////////////////////////////////
-
-
- public void setPriceFeedService(PriceFeedService priceFeedService) {
- this.priceFeedService = priceFeedService;
- }
-
- public void setState(State state) {
- this.state = state;
- stateProperty().set(state);
- }
-
- public void setOfferFeePaymentTxID(String offerFeePaymentTxID) {
- this.offerFeePaymentTxID = offerFeePaymentTxID;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessageProperty.set(errorMessage);
- }
-
///////////////////////////////////////////////////////////////////////////////////////////
// Getters
///////////////////////////////////////////////////////////////////////////////////////////
- @Override
- public long getTTL() {
- return TTL;
+
+ public Direction getMirroredDirection() {
+ return direction == Direction.BUY ? Direction.SELL : Direction.BUY;
}
@Override
@@ -460,171 +342,14 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
return pubKeyRing != null ? pubKeyRing.getSignaturePubKey() : null;
}
- public long getProtocolVersion() {
- return protocolVersion;
- }
-
- public String getId() {
- return id;
- }
-
public String getShortId() {
return Utilities.getShortId(id);
}
- public NodeAddress getOffererNodeAddress() {
- return offererNodeAddress;
- }
-
- public PubKeyRing getPubKeyRing() {
- return pubKeyRing;
- }
-
- // TODO refactor those out of Offer, offer should be pure value object
- @Nullable
- public Fiat getPrice() {
- if (useMarketBasedPrice) {
- checkNotNull(priceFeedService, "priceFeed must not be null");
- MarketPrice marketPrice = priceFeedService.getMarketPrice(currencyCode);
- if (marketPrice != null) {
- PriceFeedService.Type priceFeedType;
- double factor;
- if (CurrencyUtil.isCryptoCurrency(currencyCode)) {
- priceFeedType = direction == Direction.BUY ? PriceFeedService.Type.ASK : PriceFeedService.Type.BID;
- factor = direction == Offer.Direction.SELL ? 1 - marketPriceMargin : 1 + marketPriceMargin;
- } else {
- priceFeedType = direction == Direction.SELL ? PriceFeedService.Type.ASK : PriceFeedService.Type.BID;
- factor = direction == Offer.Direction.BUY ? 1 - marketPriceMargin : 1 + marketPriceMargin;
- }
- double marketPriceAsDouble = marketPrice.getPrice(priceFeedType);
- double targetPrice = marketPriceAsDouble * factor;
- if (CurrencyUtil.isCryptoCurrency(currencyCode))
- targetPrice = targetPrice != 0 ? 1d / targetPrice : 0;
- try {
- final double rounded = MathUtils.roundDouble(targetPrice, Fiat.SMALLEST_UNIT_EXPONENT);
- return Fiat.parseFiat(currencyCode, decimalFormat.format(rounded).replace(",", "."));
- } catch (Exception e) {
- log.error("Exception at getPrice / parseToFiat: " + e.toString() + "\n" +
- "That case should never happen.");
- return null;
- }
- } else {
- log.debug("We don't have a market price.\n" +
- "That case could only happen if you don't have a price feed.");
- return null;
- }
- } else {
- return Fiat.valueOf(currencyCode, fiatPrice);
- }
- }
-
- // TODO refactor those out of Offer, offer should be pure value object
- public void checkTradePriceTolerance(long takersTradePrice) throws TradePriceOutOfToleranceException, MarketPriceNotAvailableException, IllegalArgumentException {
- checkArgument(takersTradePrice > 0, "takersTradePrice must be positive");
- Fiat tradePriceAsFiat = Fiat.valueOf(getCurrencyCode(), takersTradePrice);
- Fiat offerPriceAsFiat = getPrice();
-
- if (offerPriceAsFiat == null)
- throw new MarketPriceNotAvailableException("Market price required for calculating trade price is not available.");
-
- double factor = (double) takersTradePrice / (double) offerPriceAsFiat.value;
- // We allow max. 2 % difference between own offer price calculation and takers calculation.
- // Market price might be different at offerer's and takers side so we need a bit of tolerance.
- // The tolerance will get smaller once we have multiple price feeds avoiding fast price fluctuations
- // from one provider.
- if (Math.abs(1 - factor) > 0.02) {
- String msg = "Taker's trade price is too far away from our calculated price based on the market price.\n" +
- "tradePriceAsFiat=" + tradePriceAsFiat.toFriendlyString() + "\n" +
- "offerPriceAsFiat=" + offerPriceAsFiat.toFriendlyString();
- log.warn(msg);
- throw new TradePriceOutOfToleranceException(msg);
- }
- }
-
- public double getMarketPriceMargin() {
- return marketPriceMargin;
- }
-
- public boolean getUseMarketBasedPrice() {
- return useMarketBasedPrice;
- }
-
- public Coin getAmount() {
- return Coin.valueOf(amount);
- }
-
- public Coin getMinAmount() {
- return Coin.valueOf(minAmount);
- }
-
- public Direction getDirection() {
- return direction;
- }
-
- public Direction getMirroredDirection() {
- return direction == Direction.BUY ? Direction.SELL : Direction.BUY;
- }
-
public PaymentMethod getPaymentMethod() {
return PaymentMethod.getPaymentMethodById(paymentMethodName);
}
- public String getCurrencyCode() {
- return currencyCode;
- }
-
- @Nullable
- public String getCountryCode() {
- return countryCode;
- }
-
- @Nullable
- public List getAcceptedCountryCodes() {
- return acceptedCountryCodes;
- }
-
- @Nullable
- public List getAcceptedBankIds() {
- return acceptedBankIds;
- }
-
- @Nullable
- public String getBankId() {
- return bankId;
- }
-
- public String getOfferFeePaymentTxID() {
- return offerFeePaymentTxID;
- }
-
- public List getArbitratorNodeAddresses() {
- return arbitratorNodeAddresses;
- }
-
- public Date getDate() {
- return new Date(date);
- }
-
- public State getState() {
- return state;
- }
-
- public ObjectProperty stateProperty() {
- return stateProperty;
- }
-
- public String getOffererPaymentAccountId() {
- return offererPaymentAccountId;
- }
-
- public ReadOnlyStringProperty errorMessageProperty() {
- return errorMessageProperty;
- }
-
- public String getVersionNr() {
- return versionNr;
- }
-
public Coin getTxFee() {
return Coin.valueOf(txFee);
}
@@ -641,43 +366,23 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
return Coin.valueOf(maxTradeLimit);
}
- public long getMaxTradePeriod() {
- return maxTradePeriod;
+ public Coin getAmount() {
+ return Coin.valueOf(amount);
}
- public long getBlockHeightAtOfferCreation() {
- return blockHeightAtOfferCreation;
+ public Coin getMinAmount() {
+ return Coin.valueOf(minAmount);
}
- public boolean isUseAutoClose() {
- return useAutoClose;
+ public Date getDate() {
+ return new Date(date);
}
- public boolean isUseReOpenAfterAutoClose() {
- return useReOpenAfterAutoClose;
+ @Override
+ public long getTTL() {
+ return TTL;
}
- public long getLowerClosePrice() {
- return lowerClosePrice;
- }
-
- public long getUpperClosePrice() {
- return upperClosePrice;
- }
-
- public boolean isPrivateOffer() {
- return isPrivateOffer;
- }
-
- @Nullable
- public String getHashOfChallenge() {
- return hashOfChallenge;
- }
-
- @Nullable
- public Map getExtraDataMap() {
- return extraDataMap;
- }
@Override
public Messages.StoragePayload toProtoBuf() {
@@ -716,7 +421,7 @@ public final class Offer implements StoragePayload, RequiresOwnerIsOnlinePayload
if (Objects.nonNull(offerFeePaymentTxID)) {
offerBuilder.setOfferFeePaymentTxID(offerFeePaymentTxID);
} else {
- throw new RuntimeException("Offer is in invalid state: offerFeePaymentTxID is not set when adding to P2P network.");
+ throw new RuntimeException("OfferPayload is in invalid state: offerFeePaymentTxID is not set when adding to P2P network.");
}
Optional.ofNullable(countryCode).ifPresent(offerBuilder::setCountryCode);
Optional.ofNullable(bankId).ifPresent(offerBuilder::setBankId);
diff --git a/network/src/main/java/io/bisq/messages/trade/payload/Contract.java b/network-messages/src/main/java/io/bisq/network_messages/trade/payload/Contract.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/trade/payload/Contract.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/payload/Contract.java
index f77a585598..58a5e12878 100644
--- a/network/src/main/java/io/bisq/messages/trade/payload/Contract.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/payload/Contract.java
@@ -15,18 +15,18 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.payload;
+package io.bisq.network_messages.trade.payload;
import com.google.common.base.Preconditions;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.util.JsonExclude;
-import io.bisq.common.wire.Payload;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
+import io.bisq.network_messages.wire.Payload;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.payment.payload.PaymentAccountContractData;
-import io.bisq.messages.trade.offer.payload.Offer;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Utils;
import org.bitcoinj.utils.Fiat;
@@ -41,7 +41,7 @@ public final class Contract implements Payload {
@JsonExclude
public static final long serialVersionUID = Version.P2P_NETWORK_VERSION;
- public final Offer offer;
+ public final OfferPayload offer;
private final long tradeAmount;
private final long tradePrice;
public final String takeOfferFeeTxID;
@@ -66,7 +66,7 @@ public final class Contract implements Payload {
@JsonExclude
private final byte[] takerMultiSigPubKey;
- public Contract(Offer offer,
+ public Contract(OfferPayload offer,
Coin tradeAmount,
Fiat tradePrice,
String takeOfferFeeTxID,
diff --git a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/DepositTxPublishedMessage.java b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/DepositTxPublishedMessage.java
similarity index 92%
rename from network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/DepositTxPublishedMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/DepositTxPublishedMessage.java
index 5bcef040cd..fb0c6e9c49 100644
--- a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/DepositTxPublishedMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/DepositTxPublishedMessage.java
@@ -15,15 +15,15 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.protocol.trade.messages;
+package io.bisq.network_messages.trade.protocol.trade.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.protocol.trade.TradeMessage;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import javax.annotation.concurrent.Immutable;
import java.util.Arrays;
diff --git a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/FiatTransferStartedMessage.java b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/FiatTransferStartedMessage.java
similarity index 92%
rename from network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/FiatTransferStartedMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/FiatTransferStartedMessage.java
index 0b60020749..dca4718b22 100644
--- a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/FiatTransferStartedMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/FiatTransferStartedMessage.java
@@ -15,14 +15,14 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.protocol.trade.messages;
+package io.bisq.network_messages.trade.protocol.trade.messages;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.protocol.trade.TradeMessage;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import javax.annotation.concurrent.Immutable;
import java.util.UUID;
diff --git a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/FinalizePayoutTxRequest.java b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/FinalizePayoutTxRequest.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/FinalizePayoutTxRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/FinalizePayoutTxRequest.java
index 68c15ed39a..853c1d1887 100644
--- a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/FinalizePayoutTxRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/FinalizePayoutTxRequest.java
@@ -15,15 +15,15 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.protocol.trade.messages;
+package io.bisq.network_messages.trade.protocol.trade.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.protocol.trade.TradeMessage;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import javax.annotation.concurrent.Immutable;
import java.util.Arrays;
diff --git a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PayDepositRequest.java b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PayDepositRequest.java
similarity index 95%
rename from network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PayDepositRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PayDepositRequest.java
index feff03eacd..89f8289306 100644
--- a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PayDepositRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PayDepositRequest.java
@@ -15,18 +15,18 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.protocol.trade.messages;
+package io.bisq.network_messages.trade.protocol.trade.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.crypto.PubKeyRing;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.btc.data.RawTransactionInput;
-import io.bisq.messages.payment.payload.PaymentAccountContractData;
-import io.bisq.messages.protocol.trade.TradeMessage;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.btc.data.RawTransactionInput;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
+import io.bisq.network_messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import org.bitcoinj.core.Coin;
import javax.annotation.Nullable;
diff --git a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PayoutTxFinalizedMessage.java b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PayoutTxFinalizedMessage.java
similarity index 92%
rename from network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PayoutTxFinalizedMessage.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PayoutTxFinalizedMessage.java
index e79e644b40..2efb1749e9 100644
--- a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PayoutTxFinalizedMessage.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PayoutTxFinalizedMessage.java
@@ -15,15 +15,15 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.protocol.trade.messages;
+package io.bisq.network_messages.trade.protocol.trade.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.protocol.trade.TradeMessage;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import javax.annotation.concurrent.Immutable;
import java.util.Arrays;
diff --git a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PublishDepositTxRequest.java b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PublishDepositTxRequest.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PublishDepositTxRequest.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PublishDepositTxRequest.java
index df2d47409b..172fa4e854 100644
--- a/network/src/main/java/io/bisq/messages/trade/protocol/trade/messages/PublishDepositTxRequest.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/protocol/trade/messages/PublishDepositTxRequest.java
@@ -15,16 +15,16 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.trade.protocol.trade.messages;
+package io.bisq.network_messages.trade.protocol.trade.messages;
import com.google.protobuf.ByteString;
import io.bisq.app.Version;
-import io.bisq.common.util.ProtoBufferUtils;
import io.bisq.common.util.Utilities;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.btc.data.RawTransactionInput;
-import io.bisq.messages.payment.payload.PaymentAccountContractData;
-import io.bisq.messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.btc.data.RawTransactionInput;
+import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
+import io.bisq.network_messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.util.ProtoBufferUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/trade/statistics/payload/TradeStatistics.java b/network-messages/src/main/java/io/bisq/network_messages/trade/statistics/payload/TradeStatistics.java
similarity index 91%
rename from network/src/main/java/io/bisq/messages/trade/statistics/payload/TradeStatistics.java
rename to network-messages/src/main/java/io/bisq/network_messages/trade/statistics/payload/TradeStatistics.java
index 9ebec8b10d..4725c4b6c5 100644
--- a/network/src/main/java/io/bisq/messages/trade/statistics/payload/TradeStatistics.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/trade/statistics/payload/TradeStatistics.java
@@ -1,14 +1,14 @@
-package io.bisq.messages.trade.statistics.payload;
+package io.bisq.network_messages.trade.statistics.payload;
import io.bisq.app.Capabilities;
import io.bisq.app.Version;
-import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.util.JsonExclude;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.trade.offer.payload.Offer;
-import io.bisq.p2p.storage.payload.CapabilityRequiringPayload;
-import io.bisq.p2p.storage.payload.LazyProcessedStoragePayload;
-import io.bisq.p2p.storage.payload.PersistedStoragePayload;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
+import io.bisq.network_messages.payload.CapabilityRequiringPayload;
+import io.bisq.network_messages.payload.LazyProcessedStoragePayload;
+import io.bisq.network_messages.payload.PersistedStoragePayload;
import org.bitcoinj.core.Coin;
import org.bitcoinj.utils.ExchangeRate;
import org.bitcoinj.utils.Fiat;
@@ -32,7 +32,7 @@ public final class TradeStatistics implements LazyProcessedStoragePayload, Capab
public static final long TTL = TimeUnit.DAYS.toMillis(30);
public final String currency;
- public final Offer.Direction direction;
+ public final OfferPayload.Direction direction;
public final long tradePrice;
public final long tradeAmount;
public final long tradeDate;
@@ -47,14 +47,14 @@ public final class TradeStatistics implements LazyProcessedStoragePayload, Capab
@JsonExclude
public final PubKeyRing pubKeyRing;
- public TradeStatistics(Offer offer, Fiat tradePrice, Coin tradeAmount, Date tradeDate, String depositTxId, PubKeyRing pubKeyRing) {
+ public TradeStatistics(OfferPayload offer, Fiat tradePrice, Coin tradeAmount, Date tradeDate, String depositTxId, PubKeyRing pubKeyRing) {
this(offer.getDirection(), offer.getCurrencyCode(), offer.getPaymentMethod().getId(), offer.getDate().getTime()
- , offer.getUseMarketBasedPrice(), offer.getMarketPriceMargin(), offer.getAmount().value,
+ , offer.isUseMarketBasedPrice(), offer.getMarketPriceMargin(), offer.getAmount().value,
offer.getMinAmount().value, offer.getId(), tradePrice.longValue(), tradeAmount.value,
tradeDate.getTime(), depositTxId, pubKeyRing);
}
- public TradeStatistics(Offer.Direction direction, String offerCurrency, String offerPaymentMethod,
+ public TradeStatistics(OfferPayload.Direction direction, String offerCurrency, String offerPaymentMethod,
long offerDate, boolean offerUseMarketBasedPrice, double offerMarketPriceMargin,
long offerAmount, long offerMinAmount, String offerId, long tradePrice, long tradeAmount,
long tradeDate,
diff --git a/common/src/main/java/io/bisq/common/util/ProtoBufferUtils.java b/network-messages/src/main/java/io/bisq/network_messages/util/ProtoBufferUtils.java
similarity index 79%
rename from common/src/main/java/io/bisq/common/util/ProtoBufferUtils.java
rename to network-messages/src/main/java/io/bisq/network_messages/util/ProtoBufferUtils.java
index 81f4703d7d..214814ad10 100644
--- a/common/src/main/java/io/bisq/common/util/ProtoBufferUtils.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/util/ProtoBufferUtils.java
@@ -1,10 +1,10 @@
-package io.bisq.common.util;
+package io.bisq.network_messages.util;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
/**
- * Created by mike on 07/02/2017.
+ * Created by mike on 14/03/2017.
*/
public class ProtoBufferUtils {
public static Messages.Envelope.Builder getBaseEnvelope() {
diff --git a/network/src/main/java/io/bisq/messages/util/Validator.java b/network-messages/src/main/java/io/bisq/network_messages/util/Validator.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/util/Validator.java
rename to network-messages/src/main/java/io/bisq/network_messages/util/Validator.java
index 30dd8acc28..c18e251ba1 100644
--- a/network/src/main/java/io/bisq/messages/util/Validator.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/util/Validator.java
@@ -15,9 +15,9 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.util;
+package io.bisq.network_messages.util;
-import io.bisq.messages.protocol.trade.TradeMessage;
+import io.bisq.network_messages.protocol.trade.TradeMessage;
import org.bitcoinj.core.Coin;
import static com.google.common.base.Preconditions.checkArgument;
diff --git a/common/src/main/java/io/bisq/common/wire/Payload.java b/network-messages/src/main/java/io/bisq/network_messages/wire/Payload.java
similarity index 72%
rename from common/src/main/java/io/bisq/common/wire/Payload.java
rename to network-messages/src/main/java/io/bisq/network_messages/wire/Payload.java
index 7b18966b67..2055de5cfb 100644
--- a/common/src/main/java/io/bisq/common/wire/Payload.java
+++ b/network-messages/src/main/java/io/bisq/network_messages/wire/Payload.java
@@ -1,7 +1,7 @@
-package io.bisq.common.wire;
+package io.bisq.network_messages.wire;
import com.google.protobuf.Message;
-import io.bisq.messages.ToProtoBuffer;
+import io.bisq.network_messages.ToProtoBuffer;
import java.io.Serializable;
diff --git a/common/src/main/proto/bsmessage.proto b/network-messages/src/main/proto/bsmessage.proto
similarity index 100%
rename from common/src/main/proto/bsmessage.proto
rename to network-messages/src/main/proto/bsmessage.proto
diff --git a/network/src/test/java/io/bisq/messages/alert/AlertTest.java b/network-messages/src/test/java/io/bisq/network_messages/alert/AlertTest.java
similarity index 97%
rename from network/src/test/java/io/bisq/messages/alert/AlertTest.java
rename to network-messages/src/test/java/io/bisq/network_messages/alert/AlertTest.java
index b4435718bd..7b26bd1b34 100644
--- a/network/src/test/java/io/bisq/messages/alert/AlertTest.java
+++ b/network-messages/src/test/java/io/bisq/network_messages/alert/AlertTest.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.alert;
+package io.bisq.network_messages.alert;
import org.junit.Test;
import org.slf4j.Logger;
diff --git a/common/src/test/java/io/bisq/common/crypto/EncryptionTest.java b/network-messages/src/test/java/io/bisq/network_messages/crypto/EncryptionTest.java
similarity index 92%
rename from common/src/test/java/io/bisq/common/crypto/EncryptionTest.java
rename to network-messages/src/test/java/io/bisq/network_messages/crypto/EncryptionTest.java
index 2b8b3dc5d0..416279b1ca 100644
--- a/common/src/test/java/io/bisq/common/crypto/EncryptionTest.java
+++ b/network-messages/src/test/java/io/bisq/network_messages/crypto/EncryptionTest.java
@@ -1,5 +1,6 @@
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
+import io.bisq.common.crypto.CryptoException;
import io.bisq.storage.FileUtil;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.After;
diff --git a/common/src/test/java/io/bisq/common/crypto/SigTest.java b/network-messages/src/test/java/io/bisq/network_messages/crypto/SigTest.java
similarity index 94%
rename from common/src/test/java/io/bisq/common/crypto/SigTest.java
rename to network-messages/src/test/java/io/bisq/network_messages/crypto/SigTest.java
index 629a8ff7dc..4a13634481 100644
--- a/common/src/test/java/io/bisq/common/crypto/SigTest.java
+++ b/network-messages/src/test/java/io/bisq/network_messages/crypto/SigTest.java
@@ -1,5 +1,7 @@
-package io.bisq.common.crypto;
+package io.bisq.network_messages.crypto;
+import io.bisq.common.crypto.CryptoException;
+import io.bisq.common.crypto.Sig;
import io.bisq.storage.FileUtil;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.After;
diff --git a/network/src/test/java/io/bisq/messages/payment/payload/OKPayAccountContractDataTest.java b/network-messages/src/test/java/io/bisq/network_messages/payment/payload/OKPayAccountContractDataTest.java
similarity index 89%
rename from network/src/test/java/io/bisq/messages/payment/payload/OKPayAccountContractDataTest.java
rename to network-messages/src/test/java/io/bisq/network_messages/payment/payload/OKPayAccountContractDataTest.java
index 773064a38c..a2f315b57d 100644
--- a/network/src/test/java/io/bisq/messages/payment/payload/OKPayAccountContractDataTest.java
+++ b/network-messages/src/test/java/io/bisq/network_messages/payment/payload/OKPayAccountContractDataTest.java
@@ -1,7 +1,8 @@
-package io.bisq.messages.payment.payload;
+package io.bisq.network_messages.payment.payload;
import com.google.protobuf.util.JsonFormat;
import io.bisq.common.wire.proto.Messages;
+import io.bisq.network_messages.payment.payload.OKPayAccountContractData;
import org.junit.Test;
import java.io.IOException;
diff --git a/common/src/test/java/io/bisq/common/wire/proto/ProtoBufferTest.java b/network-messages/src/test/java/io/bisq/proto/ProtoBufferTest.java
similarity index 96%
rename from common/src/test/java/io/bisq/common/wire/proto/ProtoBufferTest.java
rename to network-messages/src/test/java/io/bisq/proto/ProtoBufferTest.java
index 7c85ebdbdc..376737d3e1 100644
--- a/common/src/test/java/io/bisq/common/wire/proto/ProtoBufferTest.java
+++ b/network-messages/src/test/java/io/bisq/proto/ProtoBufferTest.java
@@ -1,5 +1,6 @@
-package io.bisq.common.wire.proto;
+package io.bisq.proto;
+import io.bisq.common.wire.proto.Messages;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
diff --git a/network/pom.xml b/network/pom.xml
index ab14b27491..bb1c2285fd 100644
--- a/network/pom.xml
+++ b/network/pom.xml
@@ -17,6 +17,11 @@
common
${project.parent.version}
+
+ io.bisq
+ network-messages
+ ${project.parent.version}
+
io.bisq
diff --git a/network/src/main/java/io/bisq/app/BisqEnvironment.java b/network/src/main/java/io/bisq/app/BisqEnvironment.java
index fabd5ca73b..aefa36d83c 100644
--- a/network/src/main/java/io/bisq/app/BisqEnvironment.java
+++ b/network/src/main/java/io/bisq/app/BisqEnvironment.java
@@ -20,12 +20,12 @@ package io.bisq.app;
import ch.qos.logback.classic.Level;
import io.bisq.BisqException;
import io.bisq.common.CommonOptionKeys;
-import io.bisq.common.crypto.KeyStorage;
import io.bisq.common.util.Utilities;
-import io.bisq.messages.btc.BitcoinNetwork;
-import io.bisq.messages.btc.BtcOptionKeys;
-import io.bisq.messages.btc.UserAgent;
-import io.bisq.messages.dao.blockchain.RpcOptionKeys;
+import io.bisq.network_messages.btc.BitcoinNetwork;
+import io.bisq.network_messages.btc.BtcOptionKeys;
+import io.bisq.network_messages.btc.UserAgent;
+import io.bisq.network_messages.crypto.KeyStorage;
+import io.bisq.network_messages.dao.blockchain.RpcOptionKeys;
import io.bisq.network.NetworkOptionKeys;
import io.bisq.storage.Storage;
import joptsimple.OptionSet;
diff --git a/network/src/main/java/io/bisq/crypto/EncryptionService.java b/network/src/main/java/io/bisq/crypto/EncryptionService.java
index ba1a93fd64..16c193b4bf 100644
--- a/network/src/main/java/io/bisq/crypto/EncryptionService.java
+++ b/network/src/main/java/io/bisq/crypto/EncryptionService.java
@@ -18,17 +18,19 @@
package io.bisq.crypto;
import com.google.protobuf.InvalidProtocolBufferException;
-import io.bisq.common.crypto.*;
+import io.bisq.common.crypto.CryptoException;
+import io.bisq.common.crypto.Sig;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.DecryptedMsgWithPubKey;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.crypto.*;
import io.bisq.p2p.network.ProtoBufferUtilities;
import javax.crypto.SecretKey;
import javax.inject.Inject;
import java.security.PrivateKey;
-import static io.bisq.common.crypto.Encryption.decryptPayloadWithHmac;
-import static io.bisq.common.crypto.Encryption.decryptSecretKey;
+import static io.bisq.network_messages.crypto.Encryption.decryptSecretKey;
public class EncryptionService {
private final KeyRing keyRing;
@@ -59,7 +61,7 @@ public class EncryptionService {
Message decryptedPayload = null;
try {
decryptedPayload = ProtoBufferUtilities
- .fromProtoBuf(Messages.Envelope.parseFrom(decryptPayloadWithHmac(sealedAndSigned.encryptedPayloadWithHmac, secretKey))).get();
+ .fromProtoBuf(Messages.Envelope.parseFrom(Encryption.decryptPayloadWithHmac(sealedAndSigned.encryptedPayloadWithHmac, secretKey))).get();
} catch (InvalidProtocolBufferException e) {
throw new CryptoException("Unable to parse protobuffer message.", e);
}
diff --git a/network/src/main/java/io/bisq/messages/locale/CountryUtil.java b/network/src/main/java/io/bisq/locale/CountryUtil.java
similarity index 83%
rename from network/src/main/java/io/bisq/messages/locale/CountryUtil.java
rename to network/src/main/java/io/bisq/locale/CountryUtil.java
index 1a911eeff0..e4398ccd91 100644
--- a/network/src/main/java/io/bisq/messages/locale/CountryUtil.java
+++ b/network/src/main/java/io/bisq/locale/CountryUtil.java
@@ -15,11 +15,11 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.locale;
+package io.bisq.locale;
import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,19 +29,23 @@ import java.util.stream.Collectors;
public class CountryUtil {
private static final Logger log = LoggerFactory.getLogger(CountryUtil.class);
- public static List getAllSepaEuroCountries() {
+ public static List getAllSepaEuroCountries(Locale locale) {
List list = new ArrayList<>();
String[] codes = {"AT", "BE", "CY", "DE", "EE", "FI", "FR", "GR", "IE",
"IT", "LV", "LT", "LU", "MC", "MT", "NL", "PT", "SK", "SI", "ES"};
- populateCountryListByCodes(list, codes);
+ populateCountryListByCodes(list, codes, locale);
list.sort((a, b) -> a.name.compareTo(b.name));
return list;
}
private static void populateCountryListByCodes(List list, String[] codes) {
+
+ }
+
+ private static void populateCountryListByCodes(List list, String[] codes, Locale defaultLocale) {
for (String code : codes) {
- Locale locale = new Locale(LanguageUtil.getDefaultLanguage(), code, "");
+ Locale locale = new Locale(LanguageUtil.getDefaultLanguage(defaultLocale), code, "");
String regionCode = getRegionCode(locale.getCountry());
final Region region = new Region(regionCode, getRegionName(regionCode));
final Country country = new Country(locale.getCountry(), locale.getDisplayCountry(), region);
@@ -49,49 +53,56 @@ public class CountryUtil {
}
}
- public static boolean containsAllSepaEuroCountries(List countryCodesToCompare) {
+ public static boolean containsAllSepaEuroCountries(List countryCodesToCompare, Locale locale) {
countryCodesToCompare.sort(String::compareTo);
- List countryCodesBase = getAllSepaEuroCountries().stream().map(c -> c.code).collect(Collectors.toList());
+ List countryCodesBase = getAllSepaEuroCountries(locale).stream().map(c -> c.code).collect(Collectors.toList());
return countryCodesToCompare.toString().equals(countryCodesBase.toString());
}
- public static List getAllSepaNonEuroCountries() {
+ public static List getAllSepaNonEuroCountries(Locale locale) {
List list = new ArrayList<>();
String[] codes = {"BG", "HR", "CZ", "DK", "GB", "HU", "PL", "RO",
"SE", "IS", "NO", "LI", "CH"};
- populateCountryListByCodes(list, codes);
+ populateCountryListByCodes(list, codes, locale);
list.sort((a, b) -> a.name.compareTo(b.name));
return list;
}
- public static List getAllSepaCountries() {
+ public static List getAllSepaCountries(Locale locale) {
List list = new ArrayList<>();
- list.addAll(getAllSepaEuroCountries());
- list.addAll(getAllSepaNonEuroCountries());
+ list.addAll(getAllSepaEuroCountries(locale));
+ list.addAll(getAllSepaNonEuroCountries(locale));
return list;
}
- public static Country getDefaultCountry() {
- final Locale locale = Preferences.getDefaultLocale();
+ public static Country getDefaultCountry(final Locale locale) {
String regionCode = getRegionCode(locale.getCountry());
final Region region = new Region(regionCode, getRegionName(regionCode));
return new Country(locale.getCountry(), locale.getDisplayCountry(), region);
}
public static String getNameByCode(String countryCode) {
- return new Locale(LanguageUtil.getDefaultLanguage(), countryCode).getDisplayCountry();
+ return getNameByCode(countryCode, Preferences.getDefaultLocale());
+ }
+
+ public static String getNameByCode(String countryCode, Locale locale) {
+ return new Locale(LanguageUtil.getDefaultLanguage(locale), countryCode).getDisplayCountry();
}
public static String getNameAndCode(String countryCode) {
- return getNameByCode(countryCode) + " (" + countryCode + ")";
+ return getNameByCode(countryCode, Preferences.getDefaultLocale());
+ }
+
+ public static String getNameAndCode(String countryCode, Locale locale) {
+ return getNameByCode(countryCode, locale) + " (" + countryCode + ")";
}
public static String getCodesString(List countryCodes) {
return countryCodes.stream().collect(Collectors.joining(", "));
}
- public static String getNamesByCodesString(List countryCodes) {
- return getNamesByCodes(countryCodes).stream().collect(Collectors.joining(",\n"));
+ public static String getNamesByCodesString(List countryCodes, Locale locale) {
+ return getNamesByCodes(countryCodes, locale).stream().collect(Collectors.joining(",\n"));
}
public static List getAllRegions() {
@@ -159,8 +170,8 @@ public class CountryUtil {
return allCountryLocales;
}
- private static List getNamesByCodes(List countryCodes) {
- return countryCodes.stream().map(CountryUtil::getNameByCode).collect(Collectors.toList());
+ private static List getNamesByCodes(List countryCodes, Locale locale) {
+ return countryCodes.stream().map(s -> CountryUtil.getNameByCode(s, locale)).collect(Collectors.toList());
}
// other source of countries: https://developers.braintreepayments.com/reference/general/countries/java
@@ -202,8 +213,8 @@ public class CountryUtil {
}
}
- public static String getDefaultCountryCode() {
+ public static String getDefaultCountryCode(Locale locale) {
// might be set later in pref or config, so not use Preferences.getDefaultLocale() anywhere in the code
- return Preferences.getDefaultLocale().getCountry();
+ return locale.getCountry();
}
}
diff --git a/network/src/main/java/io/bisq/messages/locale/CryptoCurrency.java b/network/src/main/java/io/bisq/locale/CryptoCurrency.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/locale/CryptoCurrency.java
rename to network/src/main/java/io/bisq/locale/CryptoCurrency.java
index 0105150648..329b91778d 100644
--- a/network/src/main/java/io/bisq/messages/locale/CryptoCurrency.java
+++ b/network/src/main/java/io/bisq/locale/CryptoCurrency.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.locale;
+package io.bisq.locale;
import io.bisq.app.Version;
diff --git a/common/src/main/java/io/bisq/locale/CurrencyTuple.java b/network/src/main/java/io/bisq/locale/CurrencyTuple.java
similarity index 100%
rename from common/src/main/java/io/bisq/locale/CurrencyTuple.java
rename to network/src/main/java/io/bisq/locale/CurrencyTuple.java
diff --git a/network/src/main/java/io/bisq/messages/locale/CurrencyUtil.java b/network/src/main/java/io/bisq/locale/CurrencyUtil.java
similarity index 81%
rename from network/src/main/java/io/bisq/messages/locale/CurrencyUtil.java
rename to network/src/main/java/io/bisq/locale/CurrencyUtil.java
index fa4bb1d8d6..91744dd6b1 100644
--- a/network/src/main/java/io/bisq/messages/locale/CurrencyUtil.java
+++ b/network/src/main/java/io/bisq/locale/CurrencyUtil.java
@@ -15,9 +15,9 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.locale;
+package io.bisq.locale;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,11 +27,15 @@ import java.util.stream.Collectors;
public class CurrencyUtil {
private static final Logger log = LoggerFactory.getLogger(CurrencyUtil.class);
- private static final List allSortedFiatCurrencies = createAllSortedFiatCurrenciesList();
+ private static List allSortedFiatCurrencies;
private static List createAllSortedFiatCurrenciesList() {
+ return createAllSortedFiatCurrenciesList(Preferences.getDefaultLocale());
+ }
+
+ private static List createAllSortedFiatCurrenciesList(Locale locale) {
Set set = CountryUtil.getAllCountries().stream()
- .map(country -> getCurrencyByCountryCode(country.code))
+ .map(country -> getCurrencyByCountryCode(country.code, locale))
.collect(Collectors.toSet());
List list = new ArrayList<>(set);
list.sort(TradeCurrency::compareTo);
@@ -39,23 +43,33 @@ public class CurrencyUtil {
}
public static List getAllSortedFiatCurrencies() {
+ return getAllSortedFiatCurrencies(Preferences.getDefaultLocale());
+ }
+
+ public static List getAllSortedFiatCurrencies(Locale locale) {
+ if(Objects.isNull(allSortedFiatCurrencies)) {
+ allSortedFiatCurrencies = createAllSortedFiatCurrenciesList(locale);
+ }
return allSortedFiatCurrencies;
}
public static List getAllMainFiatCurrencies() {
+ return getAllMainFiatCurrencies(Preferences.getDefaultLocale(), Preferences.getDefaultTradeCurrency());
+ }
+
+ public static List getAllMainFiatCurrencies(Locale locale, TradeCurrency defaultTradeCurrency) {
List list = new ArrayList<>();
// Top traded currencies
- list.add(new FiatCurrency("USD"));
- list.add(new FiatCurrency("EUR"));
- list.add(new FiatCurrency("GBP"));
- list.add(new FiatCurrency("CAD"));
- list.add(new FiatCurrency("AUD"));
- list.add(new FiatCurrency("RUB"));
- list.add(new FiatCurrency("INR"));
+ list.add(new FiatCurrency("USD", locale));
+ list.add(new FiatCurrency("EUR", locale));
+ list.add(new FiatCurrency("GBP", locale));
+ list.add(new FiatCurrency("CAD", locale));
+ list.add(new FiatCurrency("AUD", locale));
+ list.add(new FiatCurrency("RUB", locale));
+ list.add(new FiatCurrency("INR", locale));
list.sort(TradeCurrency::compareTo);
- TradeCurrency defaultTradeCurrency = getDefaultTradeCurrency();
FiatCurrency defaultFiatCurrency = defaultTradeCurrency instanceof FiatCurrency ? (FiatCurrency) defaultTradeCurrency : null;
if (defaultFiatCurrency != null && list.contains(defaultFiatCurrency)) {
list.remove(defaultTradeCurrency);
@@ -241,36 +255,36 @@ public class CurrencyUtil {
/**
* @return Sorted list of SEPA currencies with EUR as first item
*/
- private static Set getSortedSEPACurrencyCodes() {
- return CountryUtil.getAllSepaCountries().stream()
- .map(country -> getCurrencyByCountryCode(country.code))
+ private static Set getSortedSEPACurrencyCodes(Locale locale) {
+ return CountryUtil.getAllSepaCountries(locale).stream()
+ .map(country -> getCurrencyByCountryCode(country.code, locale))
.collect(Collectors.toSet());
}
// At OKPay you can exchange internally those currencies
- public static List getAllOKPayCurrencies() {
+ public static List getAllOKPayCurrencies(Locale locale) {
ArrayList currencies = new ArrayList<>(Arrays.asList(
- new FiatCurrency("EUR"),
- new FiatCurrency("USD"),
- new FiatCurrency("GBP"),
- new FiatCurrency("CHF"),
- new FiatCurrency("RUB"),
- new FiatCurrency("PLN"),
- new FiatCurrency("JPY"),
- new FiatCurrency("CAD"),
- new FiatCurrency("AUD"),
- new FiatCurrency("CZK"),
- new FiatCurrency("NOK"),
- new FiatCurrency("SEK"),
- new FiatCurrency("DKK"),
- new FiatCurrency("HRK"),
- new FiatCurrency("HUF"),
- new FiatCurrency("NZD"),
- new FiatCurrency("RON"),
- new FiatCurrency("TRY"),
- new FiatCurrency("ZAR"),
- new FiatCurrency("HKD"),
- new FiatCurrency("CNY")
+ new FiatCurrency("EUR", locale),
+ new FiatCurrency("USD", locale),
+ new FiatCurrency("GBP", locale),
+ new FiatCurrency("CHF", locale),
+ new FiatCurrency("RUB", locale),
+ new FiatCurrency("PLN", locale),
+ new FiatCurrency("JPY", locale),
+ new FiatCurrency("CAD", locale),
+ new FiatCurrency("AUD", locale),
+ new FiatCurrency("CZK", locale),
+ new FiatCurrency("NOK", locale),
+ new FiatCurrency("SEK", locale),
+ new FiatCurrency("DKK", locale),
+ new FiatCurrency("HRK", locale),
+ new FiatCurrency("HUF", locale),
+ new FiatCurrency("NZD", locale),
+ new FiatCurrency("RON", locale),
+ new FiatCurrency("TRY", locale),
+ new FiatCurrency("ZAR", locale),
+ new FiatCurrency("HKD", locale),
+ new FiatCurrency("CNY", locale)
));
currencies.sort(TradeCurrency::compareTo);
return currencies;
@@ -285,7 +299,7 @@ public class CurrencyUtil {
}
public static Optional getFiatCurrency(String currencyCode) {
- return allSortedFiatCurrencies.stream().filter(e -> e.getCode().equals(currencyCode)).findAny();
+ return getAllSortedFiatCurrencies().stream().filter(e -> e.getCode().equals(currencyCode)).findAny();
}
@SuppressWarnings("WeakerAccess")
@@ -312,16 +326,24 @@ public class CurrencyUtil {
}
public static FiatCurrency getCurrencyByCountryCode(String countryCode) {
- return new FiatCurrency(Currency.getInstance(new Locale(LanguageUtil.getDefaultLanguage(), countryCode)).getCurrencyCode());
+ return getCurrencyByCountryCode(countryCode, Preferences.getDefaultLocale());
+ }
+
+ public static FiatCurrency getCurrencyByCountryCode(String countryCode, Locale locale) {
+ return new FiatCurrency(Currency.getInstance(new Locale(LanguageUtil.getDefaultLanguage(locale), countryCode)).getCurrencyCode(), locale);
}
public static String getNameByCode(String currencyCode) {
+ return getNameAndCode(currencyCode, Preferences.getDefaultLocale());
+ }
+
+ public static String getNameByCode(String currencyCode, Locale locale) {
if (isCryptoCurrency(currencyCode))
return getCryptoCurrency(currencyCode).get().getName();
else
try {
- return Currency.getInstance(currencyCode).getDisplayName(Preferences.getDefaultLocale());
+ return Currency.getInstance(currencyCode).getDisplayName(locale);
} catch (Throwable t) {
log.debug("No currency name available " + t.getMessage());
return currencyCode;
@@ -329,11 +351,10 @@ public class CurrencyUtil {
}
public static String getNameAndCode(String currencyCode) {
- return getNameByCode(currencyCode) + " (" + currencyCode + ")";
+ return getNameAndCode(currencyCode, Preferences.getDefaultLocale());
}
- public static TradeCurrency getDefaultTradeCurrency() {
- return Preferences.getDefaultTradeCurrency();
+ public static String getNameAndCode(String currencyCode, Locale locale) {
+ return getNameByCode(currencyCode, locale) + " (" + currencyCode + ")";
}
-
}
diff --git a/network/src/main/java/io/bisq/messages/locale/FiatCurrency.java b/network/src/main/java/io/bisq/locale/FiatCurrency.java
similarity index 79%
rename from network/src/main/java/io/bisq/messages/locale/FiatCurrency.java
rename to network/src/main/java/io/bisq/locale/FiatCurrency.java
index 0fe9fdcef4..bb47c7d912 100644
--- a/network/src/main/java/io/bisq/messages/locale/FiatCurrency.java
+++ b/network/src/main/java/io/bisq/locale/FiatCurrency.java
@@ -15,12 +15,13 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.locale;
+package io.bisq.locale;
import io.bisq.app.Version;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import java.util.Currency;
+import java.util.Locale;
public final class FiatCurrency extends TradeCurrency {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@@ -32,12 +33,21 @@ public final class FiatCurrency extends TradeCurrency {
private final Currency currency;
public FiatCurrency(String currencyCode) {
- this(Currency.getInstance(currencyCode));
+ this(currencyCode, Preferences.getDefaultLocale());
+ }
+
+ public FiatCurrency(String currencyCode, Locale locale) {
+ this(Currency.getInstance(currencyCode), locale);
}
@SuppressWarnings("WeakerAccess")
public FiatCurrency(Currency currency) {
- super(currency.getCurrencyCode(), currency.getDisplayName(Preferences.getDefaultLocale()), currency.getSymbol());
+ this(currency, Preferences.getDefaultLocale());
+ }
+
+ @SuppressWarnings("WeakerAccess")
+ public FiatCurrency(Currency currency, Locale locale) {
+ super(currency.getCurrencyCode(), currency.getDisplayName(locale), currency.getSymbol());
this.currency = currency;
}
diff --git a/network/src/main/java/io/bisq/messages/locale/LanguageUtil.java b/network/src/main/java/io/bisq/locale/LanguageUtil.java
similarity index 87%
rename from network/src/main/java/io/bisq/messages/locale/LanguageUtil.java
rename to network/src/main/java/io/bisq/locale/LanguageUtil.java
index e8f59809d4..c10b0ad35f 100644
--- a/network/src/main/java/io/bisq/messages/locale/LanguageUtil.java
+++ b/network/src/main/java/io/bisq/locale/LanguageUtil.java
@@ -15,9 +15,9 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.locale;
+package io.bisq.locale;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -96,13 +96,17 @@ public class LanguageUtil {
return allLanguageCodes;
}
- public static String getDefaultLanguage() {
+ public static String getDefaultLanguage(Locale locale) {
// might be set later in pref or config, so not use Preferences.getDefaultLocale() anywhere in the code
- return Preferences.getDefaultLocale().getLanguage();
+ return locale.getLanguage();
}
public static String getDefaultLanguageLocaleAsCode() {
- return new Locale(LanguageUtil.getDefaultLanguage(), "").getLanguage();
+ return getDefaultLanguageLocaleAsCode(Preferences.getDefaultLocale());
+ }
+
+ public static String getDefaultLanguageLocaleAsCode(Locale locale) {
+ return new Locale(LanguageUtil.getDefaultLanguage(locale), "").getLanguage();
}
public static String getEnglishLanguageLocaleCode() {
@@ -110,7 +114,8 @@ public class LanguageUtil {
}
public static String getDisplayName(String code) {
- return new Locale(code.toUpperCase()).getDisplayName(Preferences.getDefaultLocale());
+ Locale locale = new Locale(code.toUpperCase());
+ return locale.getDisplayName(locale);
}
public static List getUserLanguageCodes() {
diff --git a/network/src/main/java/io/bisq/messages/locale/LocaleUtil.java b/network/src/main/java/io/bisq/locale/LocaleUtil.java
similarity index 99%
rename from network/src/main/java/io/bisq/messages/locale/LocaleUtil.java
rename to network/src/main/java/io/bisq/locale/LocaleUtil.java
index 02983fb635..ad9dca8280 100644
--- a/network/src/main/java/io/bisq/messages/locale/LocaleUtil.java
+++ b/network/src/main/java/io/bisq/locale/LocaleUtil.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.locale;
+package io.bisq.locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/locale/TradeCurrency.java b/network/src/main/java/io/bisq/locale/TradeCurrency.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/locale/TradeCurrency.java
rename to network/src/main/java/io/bisq/locale/TradeCurrency.java
index f5353ca345..0b180469cd 100644
--- a/network/src/main/java/io/bisq/messages/locale/TradeCurrency.java
+++ b/network/src/main/java/io/bisq/locale/TradeCurrency.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.locale;
+package io.bisq.locale;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
@@ -29,12 +29,6 @@ public abstract class TradeCurrency implements Persistable, Comparable= MSG_THROTTLE_PER_SEC) {
// check if we got more than 70 (MSG_THROTTLE_PER_SEC) msg per sec.
long compareValue = messageTimeStamps.get(messageTimeStamps.size() - MSG_THROTTLE_PER_SEC).first;
- // if duration < 1 sec we received too much messages
+ // if duration < 1 sec we received too much network_messages
violated = now - compareValue < TimeUnit.SECONDS.toMillis(1);
if (violated) {
log.error("violatesThrottleLimit MSG_THROTTLE_PER_SEC ");
@@ -339,7 +339,7 @@ public class Connection implements MessageListener {
if (!violated) {
// check if we got more than 50 msg per 10 sec.
long compareValue = messageTimeStamps.get(messageTimeStamps.size() - MSG_THROTTLE_PER_10_SEC).first;
- // if duration < 10 sec we received too much messages
+ // if duration < 10 sec we received too much network_messages
violated = now - compareValue < TimeUnit.SECONDS.toMillis(10);
if (violated) {
@@ -362,7 +362,7 @@ public class Connection implements MessageListener {
// MessageListener implementation
///////////////////////////////////////////////////////////////////////////////////////////
- // Only receive non - CloseConnectionMessage messages
+ // Only receive non - CloseConnectionMessage network_messages
@Override
public void onMessage(Message message, Connection connection) {
checkArgument(connection.equals(this));
@@ -737,13 +737,13 @@ public class Connection implements MessageListener {
}
Connection connection = sharedModel.connection;
- log.trace("InputHandler waiting for incoming messages.\n\tConnection=" + connection);
+ log.trace("InputHandler waiting for incoming network_messages.\n\tConnection=" + connection);
- // Throttle inbound messages
+ // Throttle inbound network_messages
long now = System.currentTimeMillis();
long elapsed = now - lastReadTimeStamp;
if (elapsed < 10) {
- log.debug("We got 2 messages received in less than 10 ms. We set the thread to sleep " +
+ log.debug("We got 2 network_messages received in less than 10 ms. We set the thread to sleep " +
"for 20 ms to avoid getting flooded by our peer. lastReadTimeStamp={}, now={}, elapsed={}",
lastReadTimeStamp, now, elapsed);
Thread.sleep(20);
@@ -802,7 +802,7 @@ public class Connection implements MessageListener {
Utilities.toTruncatedString(envelope.toString()),
size);
} else if (message instanceof Message) {
- // We want to log all incoming messages (except Pong and RefreshTTLMessage)
+ // We want to log all incoming network_messages (except Pong and RefreshTTLMessage)
// so we log before the data type checks
//log.info("size={}; object={}", size, Utilities.toTruncatedString(rawInputObject.toString(), 100));
log.debug("\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n" +
@@ -824,7 +824,7 @@ public class Connection implements MessageListener {
// We want to track the size of each object even if it is invalid data
connection.statistic.addReceivedBytes(size);
- // We want to track the messages also before the checks, so do it early...
+ // We want to track the network_messages also before the checks, so do it early...
if (message instanceof Message) {
connection.statistic.addReceivedMessage(message);
}
@@ -890,12 +890,12 @@ public class Connection implements MessageListener {
// First a seed node gets a message from a peer (PreliminaryDataRequest using
// AnonymousMessage interface) which does not have its hidden service
// published, so it does not know its address. As the IncomingConnection does not have the
- // peersNodeAddress set that connection cannot be used for outgoing messages until we
+ // peersNodeAddress set that connection cannot be used for outgoing network_messages until we
// get the address set.
// At the data update message (DataRequest using SendersNodeAddressMessage interface)
// after the HS is published we get the peer's address set.
- // There are only those messages used for new connections to a peer:
+ // There are only those network_messages used for new connections to a peer:
// 1. PreliminaryDataRequest
// 2. DataRequest (implements SendersNodeAddressMessage)
// 3. GetPeersRequest (implements SendersNodeAddressMessage)
diff --git a/network/src/main/java/io/bisq/p2p/network/LocalhostNetworkNode.java b/network/src/main/java/io/bisq/p2p/network/LocalhostNetworkNode.java
index c4b327a1a9..ec787031a2 100644
--- a/network/src/main/java/io/bisq/p2p/network/LocalhostNetworkNode.java
+++ b/network/src/main/java/io/bisq/p2p/network/LocalhostNetworkNode.java
@@ -9,7 +9,7 @@ import com.msopentech.thali.java.toronionproxy.JavaOnionProxyManager;
import io.bisq.app.Log;
import io.bisq.common.UserThread;
import io.bisq.common.util.Utilities;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import io.nucleo.net.HiddenServiceDescriptor;
import io.nucleo.net.TorNode;
import org.jetbrains.annotations.NotNull;
diff --git a/network/src/main/java/io/bisq/p2p/network/MessageListener.java b/network/src/main/java/io/bisq/p2p/network/MessageListener.java
index fe5ce55e87..92cc8e2a02 100644
--- a/network/src/main/java/io/bisq/p2p/network/MessageListener.java
+++ b/network/src/main/java/io/bisq/p2p/network/MessageListener.java
@@ -1,6 +1,6 @@
package io.bisq.p2p.network;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
public interface MessageListener {
void onMessage(Message message, Connection connection);
diff --git a/network/src/main/java/io/bisq/p2p/network/NetworkNode.java b/network/src/main/java/io/bisq/p2p/network/NetworkNode.java
index 8f9f65c335..5c466e276f 100644
--- a/network/src/main/java/io/bisq/p2p/network/NetworkNode.java
+++ b/network/src/main/java/io/bisq/p2p/network/NetworkNode.java
@@ -5,8 +5,8 @@ import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import io.bisq.app.Log;
import io.bisq.common.UserThread;
import io.bisq.common.util.Utilities;
-import io.bisq.messages.Message;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
diff --git a/network/src/main/java/io/bisq/p2p/network/OutboundConnection.java b/network/src/main/java/io/bisq/p2p/network/OutboundConnection.java
index 214f996e0c..ea500eca68 100644
--- a/network/src/main/java/io/bisq/p2p/network/OutboundConnection.java
+++ b/network/src/main/java/io/bisq/p2p/network/OutboundConnection.java
@@ -1,6 +1,6 @@
package io.bisq.p2p.network;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import java.net.Socket;
diff --git a/network/src/main/java/io/bisq/p2p/network/ProtoBufferUtilities.java b/network/src/main/java/io/bisq/p2p/network/ProtoBufferUtilities.java
index bb47dd3b69..3f2ab42b9a 100644
--- a/network/src/main/java/io/bisq/p2p/network/ProtoBufferUtilities.java
+++ b/network/src/main/java/io/bisq/p2p/network/ProtoBufferUtilities.java
@@ -1,47 +1,48 @@
package io.bisq.p2p.network;
import com.google.protobuf.ByteString;
-import io.bisq.common.crypto.PubKeyRing;
-import io.bisq.common.crypto.SealedAndSigned;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.Message;
-import io.bisq.messages.alert.Alert;
-import io.bisq.messages.alert.PrivateNotification;
-import io.bisq.messages.alert.PrivateNotificationMessage;
-import io.bisq.messages.arbitration.*;
-import io.bisq.messages.arbitration.payload.Attachment;
-import io.bisq.messages.availability.AvailabilityResult;
-import io.bisq.messages.availability.OfferAvailabilityRequest;
-import io.bisq.messages.availability.OfferAvailabilityResponse;
-import io.bisq.messages.btc.data.RawTransactionInput;
-import io.bisq.messages.dao.compensation.payload.CompensationRequestPayload;
-import io.bisq.messages.filter.payload.Filter;
-import io.bisq.messages.filter.payload.PaymentAccountFilter;
-import io.bisq.messages.payment.payload.*;
-import io.bisq.messages.provider.price.PriceFeedService;
-import io.bisq.messages.trade.offer.payload.Offer;
-import io.bisq.messages.trade.payload.Contract;
-import io.bisq.messages.trade.protocol.trade.messages.*;
-import io.bisq.messages.trade.statistics.payload.TradeStatistics;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.PrefixedSealedAndSignedMessage;
-import io.bisq.p2p.network.messages.CloseConnectionMessage;
-import io.bisq.p2p.peers.getdata.messages.GetDataResponse;
-import io.bisq.p2p.peers.getdata.messages.GetUpdatedDataRequest;
-import io.bisq.p2p.peers.getdata.messages.PreliminaryGetDataRequest;
-import io.bisq.p2p.peers.keepalive.messages.Ping;
-import io.bisq.p2p.peers.keepalive.messages.Pong;
-import io.bisq.p2p.peers.peerexchange.Peer;
-import io.bisq.p2p.peers.peerexchange.messages.GetPeersRequest;
-import io.bisq.p2p.peers.peerexchange.messages.GetPeersResponse;
-import io.bisq.p2p.storage.messages.AddDataMessage;
-import io.bisq.p2p.storage.messages.RefreshTTLMessage;
-import io.bisq.p2p.storage.messages.RemoveDataMessage;
-import io.bisq.p2p.storage.messages.RemoveMailboxDataMessage;
-import io.bisq.p2p.storage.payload.MailboxStoragePayload;
-import io.bisq.p2p.storage.payload.StoragePayload;
-import io.bisq.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.locale.CountryUtil;
+import io.bisq.network_messages.CloseConnectionMessage;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.alert.Alert;
+import io.bisq.network_messages.alert.PrivateNotification;
+import io.bisq.network_messages.alert.PrivateNotificationMessage;
+import io.bisq.network_messages.arbitration.*;
+import io.bisq.network_messages.arbitration.payload.Attachment;
+import io.bisq.network_messages.availability.AvailabilityResult;
+import io.bisq.network_messages.availability.OfferAvailabilityRequest;
+import io.bisq.network_messages.availability.OfferAvailabilityResponse;
+import io.bisq.network_messages.btc.data.RawTransactionInput;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.crypto.SealedAndSigned;
+import io.bisq.network_messages.dao.compensation.payload.CompensationRequestPayload;
+import io.bisq.network_messages.filter.payload.Filter;
+import io.bisq.network_messages.filter.payload.PaymentAccountFilter;
+import io.bisq.network_messages.p2p.messaging.PrefixedSealedAndSignedMessage;
+import io.bisq.network_messages.payment.payload.*;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
+import io.bisq.network_messages.trade.payload.Contract;
+import io.bisq.network_messages.trade.protocol.trade.messages.*;
+import io.bisq.network_messages.trade.statistics.payload.TradeStatistics;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetDataResponse;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetUpdatedDataRequest;
+import io.bisq.network_messages.p2p.peers.getdata.messages.PreliminaryGetDataRequest;
+import io.bisq.network_messages.p2p.peers.keepalive.messages.Ping;
+import io.bisq.network_messages.p2p.peers.keepalive.messages.Pong;
+import io.bisq.network_messages.p2p.peers.peerexchange.Peer;
+import io.bisq.network_messages.p2p.peers.peerexchange.messages.GetPeersRequest;
+import io.bisq.network_messages.p2p.peers.peerexchange.messages.GetPeersResponse;
+import io.bisq.network_messages.p2p.storage.messages.AddDataMessage;
+import io.bisq.network_messages.p2p.storage.messages.RefreshTTLMessage;
+import io.bisq.network_messages.p2p.storage.messages.RemoveDataMessage;
+import io.bisq.network_messages.p2p.storage.messages.RemoveMailboxDataMessage;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.payload.MailboxStoragePayload;
+import io.bisq.network_messages.payload.StoragePayload;
+import io.bisq.user.Preferences;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.output.WriterOutputStream;
import org.bitcoinj.core.Coin;
@@ -346,7 +347,7 @@ public class ProtoBufferUtilities {
break;
case SEPA_ACCOUNT_CONTRACT_DATA:
SepaAccountContractData sepaAccountContractData = new SepaAccountContractData(protoEntry.getPaymentMethodName(), protoEntry.getId(),
- protoEntry.getMaxTradePeriod());
+ protoEntry.getMaxTradePeriod(), CountryUtil.getAllSepaCountries(Preferences.getDefaultLocale()));
fillInCountryBasedPaymentAccountContractData(protoEntry, sepaAccountContractData);
result = sepaAccountContractData;
break;
@@ -418,9 +419,8 @@ public class ProtoBufferUtilities {
return Fiat.valueOf(currencyCode, tradePrice);
}
- public static Offer getOffer(Messages.Offer offer) {
+ public static OfferPayload getOffer(Messages.Offer offer) {
List arbitratorNodeAddresses = offer.getArbitratorNodeAddressesList().stream().map(nodeAddress -> getNodeAddress(nodeAddress)).collect(Collectors.toList());
- PriceFeedService priceFeedService = null; // TODO refactor Offer, this should not be passed in the constructor, or we need to inject it in ProtoBufferUtilities
// convert these lists because otherwise when they're empty they are lazyStringArrayList objects and NOT serializable,
// which is needed for the P2PStorage getHash() operation
List acceptedCountryCodes = offer.getAcceptedCountryCodesList().stream().collect(Collectors.toList());
@@ -432,9 +432,9 @@ public class ProtoBufferUtilities {
} else {
extraDataMapMap = offer.getExtraDataMapMap();
}
- return new Offer(offer.getId(), offer.getDate(), getNodeAddress(offer.getOffererNodeAddress()), getPubKeyRing(offer.getPubKeyRing()), getDirection(offer.getDirection()),
+ return new OfferPayload(offer.getId(), offer.getDate(), getNodeAddress(offer.getOffererNodeAddress()), getPubKeyRing(offer.getPubKeyRing()), getDirection(offer.getDirection()),
offer.getFiatPrice(), offer.getMarketPriceMargin(), offer.getUseMarketBasedPrice(), offer.getAmount(), offer.getMinAmount(), offer.getCurrencyCode(), arbitratorNodeAddresses,
- offer.getPaymentMethodName(), offer.getOffererPaymentAccountId(), offer.getOfferFeePaymentTxID(), offer.getCountryCode(), acceptedCountryCodes, offer.getBankId(), acceptedBankIds, priceFeedService,
+ offer.getPaymentMethodName(), offer.getOffererPaymentAccountId(), offer.getOfferFeePaymentTxID(), offer.getCountryCode(), acceptedCountryCodes, offer.getBankId(), acceptedBankIds,
offer.getVersionNr(), offer.getBlockHeightAtOfferCreation(), offer.getTxFee(), offer.getCreateOfferFee(), offer.getSecurityDeposit(), offer.getMaxTradeLimit(), offer.getMaxTradePeriod(), offer.getUseAutoClose(),
offer.getUseReOpenAfterAutoClose(), offer.getLowerClosePrice(), offer.getUpperClosePrice(), offer.getIsPrivateOffer(), offer.getHashOfChallenge(), extraDataMapMap);
}
@@ -571,8 +571,8 @@ public class ProtoBufferUtilities {
}
@NotNull
- public static Offer.Direction getDirection(Messages.Offer.Direction direction) {
- return Offer.Direction.valueOf(direction.name());
+ public static OfferPayload.Direction getDirection(Messages.Offer.Direction direction) {
+ return OfferPayload.Direction.valueOf(direction.name());
}
@NotNull
@@ -708,4 +708,5 @@ public class ProtoBufferUtilities {
.stream()
.map(ByteString::toByteArray).collect(Collectors.toList()));
}
+
}
diff --git a/network/src/main/java/io/bisq/p2p/network/Statistic.java b/network/src/main/java/io/bisq/p2p/network/Statistic.java
index 7e5542c07b..c4d3fcb4e4 100644
--- a/network/src/main/java/io/bisq/p2p/network/Statistic.java
+++ b/network/src/main/java/io/bisq/p2p/network/Statistic.java
@@ -1,7 +1,7 @@
package io.bisq.p2p.network;
import io.bisq.common.UserThread;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.LongProperty;
import javafx.beans.property.SimpleIntegerProperty;
diff --git a/network/src/main/java/io/bisq/p2p/network/TorNetworkNode.java b/network/src/main/java/io/bisq/p2p/network/TorNetworkNode.java
index c12a1a710a..4b9cd191b4 100644
--- a/network/src/main/java/io/bisq/p2p/network/TorNetworkNode.java
+++ b/network/src/main/java/io/bisq/p2p/network/TorNetworkNode.java
@@ -11,7 +11,7 @@ import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.util.Utilities;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.Utils;
import io.nucleo.net.HiddenServiceDescriptor;
import io.nucleo.net.JavaTorNode;
diff --git a/network/src/main/java/io/bisq/p2p/network/messages/AnonymousMessage.java b/network/src/main/java/io/bisq/p2p/network/messages/AnonymousMessage.java
deleted file mode 100644
index f7618823f5..0000000000
--- a/network/src/main/java/io/bisq/p2p/network/messages/AnonymousMessage.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package io.bisq.p2p.network.messages;
-
-import io.bisq.messages.Message;
-
-public interface AnonymousMessage extends Message {
-}
diff --git a/network/src/main/java/io/bisq/p2p/peers/BanList.java b/network/src/main/java/io/bisq/p2p/peers/BanList.java
index 2d8cbf1efc..f22b66466d 100644
--- a/network/src/main/java/io/bisq/p2p/peers/BanList.java
+++ b/network/src/main/java/io/bisq/p2p/peers/BanList.java
@@ -1,6 +1,6 @@
package io.bisq.p2p.peers;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/BroadcastHandler.java b/network/src/main/java/io/bisq/p2p/peers/BroadcastHandler.java
index 1e5b20cc8f..32142aec0f 100644
--- a/network/src/main/java/io/bisq/p2p/peers/BroadcastHandler.java
+++ b/network/src/main/java/io/bisq/p2p/peers/BroadcastHandler.java
@@ -7,10 +7,10 @@ import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.util.Utilities;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.network.Connection;
import io.bisq.p2p.network.NetworkNode;
-import io.bisq.p2p.storage.messages.BroadcastMessage;
+import io.bisq.network_messages.p2p.storage.messages.BroadcastMessage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
diff --git a/network/src/main/java/io/bisq/p2p/peers/Broadcaster.java b/network/src/main/java/io/bisq/p2p/peers/Broadcaster.java
index 8ba2fc220d..8c650f99d2 100644
--- a/network/src/main/java/io/bisq/p2p/peers/Broadcaster.java
+++ b/network/src/main/java/io/bisq/p2p/peers/Broadcaster.java
@@ -2,9 +2,9 @@ package io.bisq.p2p.peers;
import io.bisq.app.Log;
import io.bisq.common.util.Utilities;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.network.NetworkNode;
-import io.bisq.p2p.storage.messages.BroadcastMessage;
+import io.bisq.network_messages.p2p.storage.messages.BroadcastMessage;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/PeerManager.java b/network/src/main/java/io/bisq/p2p/peers/PeerManager.java
index 6b1319393a..da7cbea6ee 100644
--- a/network/src/main/java/io/bisq/p2p/peers/PeerManager.java
+++ b/network/src/main/java/io/bisq/p2p/peers/PeerManager.java
@@ -4,9 +4,9 @@ import io.bisq.app.Log;
import io.bisq.common.Clock;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.network.*;
-import io.bisq.p2p.peers.peerexchange.Peer;
+import io.bisq.network_messages.p2p.peers.peerexchange.Peer;
import io.bisq.storage.Storage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/getdata/GetDataRequestHandler.java b/network/src/main/java/io/bisq/p2p/peers/getdata/GetDataRequestHandler.java
index baa0e394fe..57d56d78ac 100644
--- a/network/src/main/java/io/bisq/p2p/peers/getdata/GetDataRequestHandler.java
+++ b/network/src/main/java/io/bisq/p2p/peers/getdata/GetDataRequestHandler.java
@@ -10,13 +10,13 @@ import io.bisq.common.util.Utilities;
import io.bisq.p2p.network.CloseConnectionReason;
import io.bisq.p2p.network.Connection;
import io.bisq.p2p.network.NetworkNode;
-import io.bisq.p2p.peers.getdata.messages.GetDataRequest;
-import io.bisq.p2p.peers.getdata.messages.GetDataResponse;
-import io.bisq.p2p.peers.getdata.messages.GetUpdatedDataRequest;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetDataRequest;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetDataResponse;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetUpdatedDataRequest;
import io.bisq.p2p.storage.P2PDataStorage;
-import io.bisq.p2p.storage.payload.CapabilityRequiringPayload;
-import io.bisq.p2p.storage.payload.StoragePayload;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.payload.CapabilityRequiringPayload;
+import io.bisq.network_messages.payload.StoragePayload;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataHandler.java b/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataHandler.java
index 9ca9e12693..2f454dc28c 100644
--- a/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataHandler.java
+++ b/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataHandler.java
@@ -6,22 +6,22 @@ import com.google.common.util.concurrent.SettableFuture;
import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
-import io.bisq.messages.Message;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.network.CloseConnectionReason;
import io.bisq.p2p.network.Connection;
import io.bisq.p2p.network.MessageListener;
import io.bisq.p2p.network.NetworkNode;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.peers.getdata.messages.GetDataRequest;
-import io.bisq.p2p.peers.getdata.messages.GetDataResponse;
-import io.bisq.p2p.peers.getdata.messages.GetUpdatedDataRequest;
-import io.bisq.p2p.peers.getdata.messages.PreliminaryGetDataRequest;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetDataRequest;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetDataResponse;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetUpdatedDataRequest;
+import io.bisq.network_messages.p2p.peers.getdata.messages.PreliminaryGetDataRequest;
import io.bisq.p2p.storage.P2PDataStorage;
-import io.bisq.p2p.storage.payload.LazyProcessedStoragePayload;
-import io.bisq.p2p.storage.payload.PersistedStoragePayload;
-import io.bisq.p2p.storage.payload.StoragePayload;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.payload.LazyProcessedStoragePayload;
+import io.bisq.network_messages.payload.PersistedStoragePayload;
+import io.bisq.network_messages.payload.StoragePayload;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
diff --git a/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataManager.java b/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataManager.java
index f87e75bc67..a4eda65f60 100644
--- a/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataManager.java
+++ b/network/src/main/java/io/bisq/p2p/peers/getdata/RequestDataManager.java
@@ -3,12 +3,12 @@ package io.bisq.p2p.peers.getdata;
import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
-import io.bisq.messages.Message;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.network.*;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.peers.getdata.messages.GetDataRequest;
-import io.bisq.p2p.peers.peerexchange.Peer;
+import io.bisq.network_messages.p2p.peers.getdata.messages.GetDataRequest;
+import io.bisq.network_messages.p2p.peers.peerexchange.Peer;
import io.bisq.p2p.storage.P2PDataStorage;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
diff --git a/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveHandler.java b/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveHandler.java
index c605ca58e4..d483ea4a3d 100644
--- a/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveHandler.java
+++ b/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveHandler.java
@@ -6,13 +6,13 @@ import com.google.common.util.concurrent.SettableFuture;
import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
import io.bisq.p2p.network.Connection;
import io.bisq.p2p.network.MessageListener;
import io.bisq.p2p.network.NetworkNode;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.peers.keepalive.messages.Ping;
-import io.bisq.p2p.peers.keepalive.messages.Pong;
+import io.bisq.network_messages.p2p.peers.keepalive.messages.Ping;
+import io.bisq.network_messages.p2p.peers.keepalive.messages.Pong;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveManager.java b/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveManager.java
index b2734c944c..0e202707ab 100644
--- a/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveManager.java
+++ b/network/src/main/java/io/bisq/p2p/peers/keepalive/KeepAliveManager.java
@@ -6,11 +6,11 @@ import com.google.common.util.concurrent.SettableFuture;
import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
import io.bisq.p2p.network.*;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.peers.keepalive.messages.Ping;
-import io.bisq.p2p.peers.keepalive.messages.Pong;
+import io.bisq.network_messages.p2p.peers.keepalive.messages.Ping;
+import io.bisq.network_messages.p2p.peers.keepalive.messages.Pong;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/peerexchange/GetPeersRequestHandler.java b/network/src/main/java/io/bisq/p2p/peers/peerexchange/GetPeersRequestHandler.java
index 422f2e0bee..ab913372a8 100644
--- a/network/src/main/java/io/bisq/p2p/peers/peerexchange/GetPeersRequestHandler.java
+++ b/network/src/main/java/io/bisq/p2p/peers/peerexchange/GetPeersRequestHandler.java
@@ -10,8 +10,8 @@ import io.bisq.p2p.network.CloseConnectionReason;
import io.bisq.p2p.network.Connection;
import io.bisq.p2p.network.NetworkNode;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.peers.peerexchange.messages.GetPeersRequest;
-import io.bisq.p2p.peers.peerexchange.messages.GetPeersResponse;
+import io.bisq.network_messages.p2p.peers.peerexchange.messages.GetPeersRequest;
+import io.bisq.network_messages.p2p.peers.peerexchange.messages.GetPeersResponse;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeHandler.java b/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeHandler.java
index 7c894e11e2..ec7cde51ae 100644
--- a/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeHandler.java
+++ b/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeHandler.java
@@ -6,15 +6,15 @@ import com.google.common.util.concurrent.SettableFuture;
import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
-import io.bisq.messages.Message;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.network.CloseConnectionReason;
import io.bisq.p2p.network.Connection;
import io.bisq.p2p.network.MessageListener;
import io.bisq.p2p.network.NetworkNode;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.peers.peerexchange.messages.GetPeersRequest;
-import io.bisq.p2p.peers.peerexchange.messages.GetPeersResponse;
+import io.bisq.network_messages.p2p.peers.peerexchange.messages.GetPeersRequest;
+import io.bisq.network_messages.p2p.peers.peerexchange.messages.GetPeersResponse;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeManager.java b/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeManager.java
index 464d303ebc..450fd8d321 100644
--- a/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeManager.java
+++ b/network/src/main/java/io/bisq/p2p/peers/peerexchange/PeerExchangeManager.java
@@ -4,11 +4,12 @@ import com.google.common.base.Preconditions;
import io.bisq.app.Log;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
-import io.bisq.messages.Message;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.p2p.peers.peerexchange.Peer;
import io.bisq.p2p.network.*;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.peers.peerexchange.messages.GetPeersRequest;
+import io.bisq.network_messages.p2p.peers.peerexchange.messages.GetPeersRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/protocol/availability/Offer.java b/network/src/main/java/io/bisq/p2p/protocol/availability/Offer.java
new file mode 100644
index 0000000000..4b1161f9d0
--- /dev/null
+++ b/network/src/main/java/io/bisq/p2p/protocol/availability/Offer.java
@@ -0,0 +1,330 @@
+package io.bisq.p2p.protocol.availability;
+
+import io.bisq.common.handlers.ErrorMessageHandler;
+import io.bisq.common.handlers.ResultHandler;
+import io.bisq.common.util.JsonExclude;
+import io.bisq.common.util.MathUtils;
+import io.bisq.locale.CurrencyUtil;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.payment.PaymentMethod;
+import io.bisq.network_messages.trade.exceptions.MarketPriceNotAvailableException;
+import io.bisq.network_messages.trade.exceptions.TradePriceOutOfToleranceException;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
+import io.bisq.provider.price.MarketPrice;
+import io.bisq.provider.price.PriceFeedService;
+import javafx.beans.property.*;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
+import org.bitcoinj.core.Coin;
+import org.bitcoinj.utils.ExchangeRate;
+import org.bitcoinj.utils.Fiat;
+
+import javax.annotation.Nullable;
+import java.io.Serializable;
+import java.text.DecimalFormat;
+import java.util.Date;
+import java.util.List;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+@Slf4j
+public class Offer implements Serializable {
+
+ @Getter
+ private OfferPayload offerPayload;
+ @JsonExclude
+ transient private OfferPayload.State state = OfferPayload.State.UNDEFINED;
+ // Those state properties are transient and only used at runtime!
+ // don't access directly as it might be null; use getStateProperty() which creates an object if not instantiated
+ @JsonExclude
+ @Getter
+ transient private ObjectProperty stateProperty = new SimpleObjectProperty<>(state);
+ @JsonExclude
+ @Nullable
+ transient private OfferAvailabilityProtocol availabilityProtocol;
+ @JsonExclude
+ @Getter
+ transient private StringProperty errorMessageProperty = new SimpleStringProperty();
+ @JsonExclude
+ @Getter
+ @Setter
+ transient private PriceFeedService priceFeedService;
+ @JsonExclude
+ transient private DecimalFormat decimalFormat;
+
+ public Offer(OfferPayload offerPayload) {
+ this.offerPayload = offerPayload;
+ setState(OfferPayload.State.UNDEFINED);
+ init();
+ }
+
+ private void init() {
+ stateProperty = new SimpleObjectProperty<>(OfferPayload.State.UNDEFINED);
+
+ // we don't need to fill it as the error message is only relevant locally, so we don't store it in the transmitted object
+ errorMessageProperty = new SimpleStringProperty();
+ decimalFormat = new DecimalFormat("#.#");
+ decimalFormat.setMaximumFractionDigits(Fiat.SMALLEST_UNIT_EXPONENT);
+ }
+
+ public OfferPayload.State getState() {
+ return state;
+ }
+
+ public void setState(OfferPayload.State state) {
+ this.state = state;
+ stateProperty().set(state);
+ }
+
+ public ObjectProperty stateProperty() {
+ return stateProperty;
+ }
+
+ //TODO update with new properties
+ public void validate() {
+ offerPayload.validate();
+ checkNotNull(getPrice(), "Price is null");
+ checkArgument(getPrice().isPositive(), "Price is not a positive value");
+ }
+
+ public void resetState() {
+ setState(OfferPayload.State.UNDEFINED);
+ }
+
+ public ReadOnlyStringProperty errorMessageProperty() {
+ return errorMessageProperty;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessageProperty.set(errorMessage);
+ }
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////
+ // Availability
+ ///////////////////////////////////////////////////////////////////////////////////////////
+
+ // TODO refactor those out of OfferPayload, offerPayload should be pure value object
+ public void checkOfferAvailability(OfferAvailabilityModel model, ResultHandler resultHandler,
+ ErrorMessageHandler errorMessageHandler) {
+ availabilityProtocol = new OfferAvailabilityProtocol(model,
+ () -> {
+ cancelAvailabilityRequest();
+ resultHandler.handleResult();
+ },
+ (errorMessage) -> {
+ if (availabilityProtocol != null)
+ availabilityProtocol.cancel();
+ log.error(errorMessage);
+ errorMessageHandler.handleErrorMessage(errorMessage);
+ });
+ availabilityProtocol.sendOfferAvailabilityRequest();
+ }
+
+ // TODO refactor those out of OfferPayload, offerPayload should be pure value object
+ public void cancelAvailabilityRequest() {
+ if (availabilityProtocol != null)
+ availabilityProtocol.cancel();
+ }
+
+ // TODO refactor those out of OfferPayload, offerPayload should be pure value object
+ @Nullable
+ public Fiat getPrice() {
+ if (offerPayload.isUseMarketBasedPrice()) {
+ checkNotNull(priceFeedService, "priceFeed must not be null");
+ MarketPrice marketPrice = priceFeedService.getMarketPrice(offerPayload.getCurrencyCode());
+ if (marketPrice != null) {
+ PriceFeedService.Type priceFeedType;
+ double factor;
+ if (CurrencyUtil.isCryptoCurrency(offerPayload.getCurrencyCode())) {
+ priceFeedType = offerPayload.getDirection() == OfferPayload.Direction.BUY ? PriceFeedService.Type.ASK : PriceFeedService.Type.BID;
+ factor = offerPayload.getDirection() == OfferPayload.Direction.SELL ? 1 - offerPayload.getMarketPriceMargin() : 1 + offerPayload.getMarketPriceMargin();
+ } else {
+ priceFeedType = offerPayload.getDirection() == OfferPayload.Direction.SELL ? PriceFeedService.Type.ASK : PriceFeedService.Type.BID;
+ factor = offerPayload.getDirection() == OfferPayload.Direction.BUY ? 1 - offerPayload.getMarketPriceMargin() : 1 + offerPayload.getMarketPriceMargin();
+ }
+ double marketPriceAsDouble = marketPrice.getPrice(priceFeedType);
+ double targetPrice = marketPriceAsDouble * factor;
+ if (CurrencyUtil.isCryptoCurrency(offerPayload.getCurrencyCode()))
+ targetPrice = targetPrice != 0 ? 1d / targetPrice : 0;
+ try {
+ final double rounded = MathUtils.roundDouble(targetPrice, Fiat.SMALLEST_UNIT_EXPONENT);
+ return Fiat.parseFiat(offerPayload.getCurrencyCode(), decimalFormat.format(rounded).replace(",", "."));
+ } catch (Exception e) {
+ log.error("Exception at getPrice / parseToFiat: " + e.toString() + "\n" +
+ "That case should never happen.");
+ return null;
+ }
+ } else {
+ log.debug("We don't have a market price.\n" +
+ "That case could only happen if you don't have a price feed.");
+ return null;
+ }
+ } else {
+ return Fiat.valueOf(offerPayload.getCurrencyCode(), offerPayload.getFiatPrice());
+ }
+ }
+
+ // TODO refactor those out of OfferPayload, offerPayload should be pure value object
+ public void checkTradePriceTolerance(long takersTradePrice) throws TradePriceOutOfToleranceException, MarketPriceNotAvailableException, IllegalArgumentException {
+ checkArgument(takersTradePrice > 0, "takersTradePrice must be positive");
+ Fiat tradePriceAsFiat = Fiat.valueOf(offerPayload.getCurrencyCode(), takersTradePrice);
+ Fiat offerPriceAsFiat = getPrice();
+
+ if (offerPriceAsFiat == null)
+ throw new MarketPriceNotAvailableException("Market price required for calculating trade price is not available.");
+
+ double factor = (double) takersTradePrice / (double) offerPriceAsFiat.value;
+ // We allow max. 2 % difference between own offerPayload price calculation and takers calculation.
+ // Market price might be different at offerer's and takers side so we need a bit of tolerance.
+ // The tolerance will get smaller once we have multiple price feeds avoiding fast price fluctuations
+ // from one provider.
+ if (Math.abs(1 - factor) > 0.02) {
+ String msg = "Taker's trade price is too far away from our calculated price based on the market price.\n" +
+ "tradePriceAsFiat=" + tradePriceAsFiat.toFriendlyString() + "\n" +
+ "offerPriceAsFiat=" + offerPriceAsFiat.toFriendlyString();
+ log.warn(msg);
+ throw new TradePriceOutOfToleranceException(msg);
+ }
+ }
+
+ // TODO
+ @Nullable
+ public Fiat getVolumeByAmount(Coin amount) {
+ Fiat price = getPrice();
+ if (price != null && amount != null) {
+ try {
+ return new ExchangeRate(price).coinToFiat(amount);
+ } catch (Throwable t) {
+ log.error("getVolumeByAmount failed. Error=" + t.getMessage());
+ return null;
+ }
+ } else {
+ return null;
+ }
+ }
+
+ @Nullable
+ public Fiat getOfferVolume() {
+ return getVolumeByAmount(offerPayload.getAmount());
+ }
+
+ @Nullable
+ public Fiat getMinOfferVolume() {
+ return getVolumeByAmount(offerPayload.getMinAmount());
+ }
+
+ public boolean isMyOffer(KeyRing keyRing) {
+ return getPubKeyRing().equals(keyRing.getPubKeyRing());
+ }
+
+ /////////////////////////////////// Decorator methods ///////////////////////////////////////////
+
+ public String getShortId() {
+ return offerPayload.getShortId();
+ }
+
+ public String getId() {
+ return offerPayload.getId();
+ }
+
+ public OfferPayload.Direction getDirection() {
+ return offerPayload.getDirection();
+ }
+
+ public String getCurrencyCode() {
+ return offerPayload.getCurrencyCode();
+ }
+
+ public Coin getMinAmount() {
+ return offerPayload.getMinAmount();
+ }
+
+ public Coin getAmount() {
+ return offerPayload.getAmount();
+ }
+
+ public boolean isUseMarketBasedPrice() {
+ return offerPayload.isUseMarketBasedPrice();
+ }
+
+ public Date getDate() {
+ return offerPayload.getDate();
+ }
+
+ public double getMarketPriceMargin() {
+ return offerPayload.getMarketPriceMargin();
+ }
+
+ public PaymentMethod getPaymentMethod() {
+ return offerPayload.getPaymentMethod();
+ }
+
+ public String getOfferFeePaymentTxID() {
+ return offerPayload.getOfferFeePaymentTxID();
+ }
+
+ public PubKeyRing getPubKeyRing() {
+ return offerPayload.getPubKeyRing();
+ }
+
+ public NodeAddress getOffererNodeAddress() {
+ return offerPayload.getOffererNodeAddress();
+ }
+
+ public String getOffererPaymentAccountId() {
+ return offerPayload.getOffererPaymentAccountId();
+ }
+
+ public Coin getCreateOfferFee() {
+ return offerPayload.getCreateOfferFee();
+ }
+
+ public Coin getTxFee() {
+ return offerPayload.getTxFee();
+ }
+
+ public void setOfferFeePaymentTxID(String offerFeePaymentTxID) {
+ offerPayload.setOfferFeePaymentTxID(offerFeePaymentTxID);
+ }
+
+ public Coin getSecurityDeposit() {
+ return offerPayload.getSecurityDeposit();
+ }
+
+ public NodeAddress getOwnerNodeAddress() {
+ return offerPayload.getOwnerNodeAddress();
+ }
+
+ public String getCountryCode() {
+ return offerPayload.getCountryCode();
+ }
+
+ public String getBankId() {
+ return offerPayload.getBankId();
+ }
+
+ public List getAcceptedCountryCodes() {
+ return offerPayload.getAcceptedCountryCodes();
+ }
+
+ public List getAcceptedBankIds() {
+ return offerPayload.getAcceptedBankIds();
+ }
+
+ public List getArbitratorNodeAddresses() {
+ return offerPayload.getArbitratorNodeAddresses();
+ }
+
+ public OfferPayload.Direction getMirroredDirection() {
+ return offerPayload.getMirroredDirection();
+ }
+
+ public long getProtocolVersion() {
+ return offerPayload.getProtocolVersion();
+ }
+}
diff --git a/network/src/main/java/io/bisq/messages/protocol/availability/OfferAvailabilityModel.java b/network/src/main/java/io/bisq/p2p/protocol/availability/OfferAvailabilityModel.java
similarity index 88%
rename from network/src/main/java/io/bisq/messages/protocol/availability/OfferAvailabilityModel.java
rename to network/src/main/java/io/bisq/p2p/protocol/availability/OfferAvailabilityModel.java
index 187b0f8976..6152b763c0 100644
--- a/network/src/main/java/io/bisq/messages/protocol/availability/OfferAvailabilityModel.java
+++ b/network/src/main/java/io/bisq/p2p/protocol/availability/OfferAvailabilityModel.java
@@ -15,14 +15,13 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.protocol.availability;
+package io.bisq.p2p.protocol.availability;
-import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.taskrunner.Model;
-import io.bisq.messages.availability.OfferAvailabilityResponse;
-import io.bisq.messages.trade.offer.payload.Offer;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.P2PService;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.availability.OfferAvailabilityResponse;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.p2p.storage.P2PService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/protocol/availability/OfferAvailabilityProtocol.java b/network/src/main/java/io/bisq/p2p/protocol/availability/OfferAvailabilityProtocol.java
similarity index 88%
rename from network/src/main/java/io/bisq/messages/protocol/availability/OfferAvailabilityProtocol.java
rename to network/src/main/java/io/bisq/p2p/protocol/availability/OfferAvailabilityProtocol.java
index 4d946bcef9..37406b247f 100644
--- a/network/src/main/java/io/bisq/messages/protocol/availability/OfferAvailabilityProtocol.java
+++ b/network/src/main/java/io/bisq/p2p/protocol/availability/OfferAvailabilityProtocol.java
@@ -15,21 +15,21 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.protocol.availability;
+package io.bisq.p2p.protocol.availability;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.taskrunner.TaskRunner;
-import io.bisq.messages.Message;
-import io.bisq.messages.availability.OfferAvailabilityResponse;
-import io.bisq.messages.availability.OfferMessage;
-import io.bisq.messages.protocol.availability.tasks.ProcessOfferAvailabilityResponse;
-import io.bisq.messages.protocol.availability.tasks.SendOfferAvailabilityRequest;
-import io.bisq.messages.trade.offer.payload.Offer;
-import io.bisq.messages.util.Validator;
-import io.bisq.p2p.messaging.DecryptedDirectMessageListener;
+import io.bisq.network_messages.DecryptedDirectMessageListener;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.availability.OfferAvailabilityResponse;
+import io.bisq.network_messages.availability.OfferMessage;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
+import io.bisq.network_messages.util.Validator;
+import io.bisq.protocol.availability.tasks.ProcessOfferAvailabilityResponse;
+import io.bisq.protocol.availability.tasks.SendOfferAvailabilityRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -82,7 +82,7 @@ public class OfferAvailabilityProtocol {
public void sendOfferAvailabilityRequest() {
// reset
- model.offer.setState(Offer.State.UNDEFINED);
+ model.offer.setState(OfferPayload.State.UNDEFINED);
model.p2PService.addDecryptedDirectMessageListener(decryptedDirectMessageListener);
model.setPeerNodeAddress(model.offer.getOffererNodeAddress());
@@ -135,7 +135,7 @@ public class OfferAvailabilityProtocol {
if (timeoutTimer == null) {
timeoutTimer = UserThread.runAfter(() -> {
log.debug("Timeout reached at " + this);
- model.offer.setState(Offer.State.OFFERER_OFFLINE);
+ model.offer.setState(OfferPayload.State.OFFERER_OFFLINE);
errorMessageHandler.handleErrorMessage("Timeout reached: Peer has not responded.");
}, TIMEOUT_SEC);
} else {
diff --git a/network/src/main/java/io/bisq/p2p/seed/SeedNodesRepository.java b/network/src/main/java/io/bisq/p2p/seed/SeedNodesRepository.java
index c9daab0398..632e4ad719 100644
--- a/network/src/main/java/io/bisq/p2p/seed/SeedNodesRepository.java
+++ b/network/src/main/java/io/bisq/p2p/seed/SeedNodesRepository.java
@@ -2,7 +2,7 @@ package io.bisq.p2p.seed;
import com.google.common.collect.Sets;
import io.bisq.app.DevEnv;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/p2p/storage/HashMapChangedListener.java b/network/src/main/java/io/bisq/p2p/storage/HashMapChangedListener.java
index 4b5905131c..e4f3945ac9 100644
--- a/network/src/main/java/io/bisq/p2p/storage/HashMapChangedListener.java
+++ b/network/src/main/java/io/bisq/p2p/storage/HashMapChangedListener.java
@@ -1,6 +1,6 @@
package io.bisq.p2p.storage;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
public interface HashMapChangedListener {
void onAdded(ProtectedStorageEntry data);
diff --git a/network/src/main/java/io/bisq/p2p/storage/P2PDataStorage.java b/network/src/main/java/io/bisq/p2p/storage/P2PDataStorage.java
index 64573966dc..36be21a24e 100644
--- a/network/src/main/java/io/bisq/p2p/storage/P2PDataStorage.java
+++ b/network/src/main/java/io/bisq/p2p/storage/P2PDataStorage.java
@@ -6,22 +6,22 @@ import io.bisq.app.Version;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.crypto.CryptoException;
-import io.bisq.common.crypto.Hash;
import io.bisq.common.crypto.Sig;
import io.bisq.common.persistance.Persistable;
import io.bisq.common.util.Tuple2;
import io.bisq.common.util.Utilities;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.Message;
-import io.bisq.messages.ToProtoBuffer;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.ToProtoBuffer;
+import io.bisq.network_messages.crypto.Hash;
+import io.bisq.network_messages.payload.*;
import io.bisq.p2p.network.*;
import io.bisq.p2p.peers.BroadcastHandler;
import io.bisq.p2p.peers.Broadcaster;
-import io.bisq.p2p.storage.messages.*;
-import io.bisq.p2p.storage.payload.*;
-import io.bisq.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.p2p.storage.messages.*;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.storage.FileUtil;
import io.bisq.storage.ResourceNotFoundException;
import io.bisq.storage.Storage;
@@ -125,7 +125,7 @@ public class P2PDataStorage implements MessageListener, ConnectionListener {
removeExpiredEntriesTimer = UserThread.runPeriodically(() -> {
log.trace("removeExpiredEntries");
// The moment when an object becomes expired will not be synchronous in the network and we could
- // get add messages after the object has expired. To avoid repeated additions of already expired
+ // get add network_messages after the object has expired. To avoid repeated additions of already expired
// object when we get it sent from new peers, we don’t remove the sequence number from the map.
// That way an ADD message for an already expired data will fail because the sequence number
// is equal and not larger as expected.
@@ -197,7 +197,7 @@ public class P2PDataStorage implements MessageListener, ConnectionListener {
// We have a RequiresLiveOwnerData data object with the node address of the
// disconnected peer. We remove that data from our map.
- // Check if we have the data (e.g. Offer)
+ // Check if we have the data (e.g. OfferPayload)
ByteArray hashOfPayload = getHashAsByteArray(expirablePayload);
boolean containsKey = map.containsKey(hashOfPayload);
if (containsKey) {
@@ -497,7 +497,7 @@ public class P2PDataStorage implements MessageListener, ConnectionListener {
String msg;
if (newSequenceNumber == 0) {
msg = "Sequence number is equal to the stored one and both are 0." +
- "That is expected for messages which never got updated (mailbox msg).";
+ "That is expected for network_messages which never got updated (mailbox msg).";
} else {
msg = "Sequence number is equal to the stored one. sequenceNumber = "
+ newSequenceNumber + " / storedSequenceNumber=" + storedSequenceNumber;
@@ -536,7 +536,7 @@ public class P2PDataStorage implements MessageListener, ConnectionListener {
}
// Check that the pubkey of the storage entry matches the allowed pubkey for the addition or removal operation
- // in the contained mailbox message, or the pubkey of other kinds of messages.
+ // in the contained mailbox message, or the pubkey of other kinds of network_messages.
boolean checkPublicKeys(ProtectedStorageEntry protectedStorageEntry, boolean isAddOperation) {
boolean result;
if (protectedStorageEntry.getStoragePayload() instanceof MailboxStoragePayload) {
@@ -549,7 +549,7 @@ public class P2PDataStorage implements MessageListener, ConnectionListener {
payload.receiverPubKeyForRemoveOperation.equals(protectedStorageEntry.ownerPubKey);
} else {
// TODO We got sometimes a nullpointer at protectedStorageEntry.ownerPubKey
- // Probably caused by an exception at deserialization: Offer: Cannot be deserialized.null
+ // Probably caused by an exception at deserialization: OfferPayload: Cannot be deserialized.null
result = protectedStorageEntry != null && protectedStorageEntry.ownerPubKey != null &&
protectedStorageEntry.getStoragePayload() != null &&
protectedStorageEntry.ownerPubKey.equals(protectedStorageEntry.getStoragePayload().getOwnerPubKey());
diff --git a/network/src/main/java/io/bisq/p2p/P2PService.java b/network/src/main/java/io/bisq/p2p/storage/P2PService.java
similarity index 97%
rename from network/src/main/java/io/bisq/p2p/P2PService.java
rename to network/src/main/java/io/bisq/p2p/storage/P2PService.java
index caabd0248d..6b84d2bc93 100644
--- a/network/src/main/java/io/bisq/p2p/P2PService.java
+++ b/network/src/main/java/io/bisq/p2p/storage/P2PService.java
@@ -1,5 +1,6 @@
-package io.bisq.p2p;
+package io.bisq.p2p.storage;
+import io.bisq.p2p.NetworkNotReadyException;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
@@ -10,15 +11,18 @@ import io.bisq.app.Log;
import io.bisq.common.Clock;
import io.bisq.common.UserThread;
import io.bisq.common.crypto.CryptoException;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.util.Utilities;
-import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.crypto.EncryptionService;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.DecryptedDirectMessageListener;
+import io.bisq.network_messages.DecryptedMsgWithPubKey;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.p2p.messaging.*;
import io.bisq.network.NetworkOptionKeys;
import io.bisq.network.Socks5ProxyProvider;
-import io.bisq.p2p.messaging.*;
+import io.bisq.p2p.P2PServiceListener;
import io.bisq.p2p.network.*;
import io.bisq.p2p.peers.BanList;
import io.bisq.p2p.peers.BroadcastHandler;
@@ -28,15 +32,13 @@ import io.bisq.p2p.peers.getdata.RequestDataManager;
import io.bisq.p2p.peers.keepalive.KeepAliveManager;
import io.bisq.p2p.peers.peerexchange.PeerExchangeManager;
import io.bisq.p2p.seed.SeedNodesRepository;
-import io.bisq.p2p.storage.HashMapChangedListener;
-import io.bisq.p2p.storage.P2PDataStorage;
-import io.bisq.p2p.storage.messages.AddDataMessage;
-import io.bisq.p2p.storage.messages.BroadcastMessage;
-import io.bisq.p2p.storage.messages.RefreshTTLMessage;
-import io.bisq.p2p.storage.payload.MailboxStoragePayload;
-import io.bisq.p2p.storage.payload.StoragePayload;
-import io.bisq.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.p2p.storage.messages.AddDataMessage;
+import io.bisq.network_messages.p2p.storage.messages.BroadcastMessage;
+import io.bisq.network_messages.p2p.storage.messages.RefreshTTLMessage;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.payload.MailboxStoragePayload;
+import io.bisq.network_messages.payload.StoragePayload;
import io.bisq.storage.FileUtil;
import io.bisq.storage.Storage;
import javafx.beans.property.*;
@@ -55,6 +57,7 @@ import java.util.*;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.stream.Collectors;
+
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -529,7 +532,7 @@ public class P2PService implements SetupListener, MessageListener, ConnectionLis
private void processProtectedMailboxStorageEntry(ProtectedMailboxStorageEntry protectedMailboxStorageEntry) {
Log.traceCall();
final NodeAddress nodeAddress = networkNode.getNodeAddress();
- // Seed nodes don't receive mailbox messages
+ // Seed nodes don't receive mailbox network_messages
if (optionalEncryptionService.isPresent() && nodeAddress != null && !seedNodesRepository.isSeedNode(nodeAddress)) {
Log.traceCall();
MailboxStoragePayload mailboxStoragePayload = protectedMailboxStorageEntry.getMailboxStoragePayload();
@@ -541,7 +544,7 @@ public class P2PService implements SetupListener, MessageListener, ConnectionLis
if (decryptedMsgWithPubKey.message instanceof MailboxMessage) {
MailboxMessage mailboxMessage = (MailboxMessage) decryptedMsgWithPubKey.message;
NodeAddress senderNodeAddress = mailboxMessage.getSenderNodeAddress();
- checkNotNull(senderNodeAddress, "senderAddress must not be null for mailbox messages");
+ checkNotNull(senderNodeAddress, "senderAddress must not be null for mailbox network_messages");
mailboxMap.put(mailboxMessage.getUID(), protectedMailboxStorageEntry);
log.trace("Decryption of SealedAndSignedMessage succeeded. senderAddress="
@@ -656,7 +659,7 @@ public class P2PService implements SetupListener, MessageListener, ConnectionLis
// does not arrive.
// We could use onBroadcastCompleted instead but it might take too long if one peer
// is very badly connected.
- // TODO We could check for a certain threshold of no. of incoming messages of the same msg
+ // TODO We could check for a certain threshold of no. of incoming network_messages of the same msg
// to see how well it is propagated. BitcoinJ uses such an approach for tx propagation.
UserThread.runAfter(() -> {
log.info("Broadcasted to first peer (with 3 sec. delayed): Message = {}", Utilities.toTruncatedString(message));
@@ -702,7 +705,7 @@ public class P2PService implements SetupListener, MessageListener, ConnectionLis
public void removeEntryFromMailbox(DecryptedMsgWithPubKey decryptedMsgWithPubKey) {
// We need to delay a bit to avoid that we remove our msg then get it from other peers again and reapply it again.
- // If we delay the removal we have better chances that repeated messages we got from other peers are already filtered
+ // If we delay the removal we have better chances that repeated network_messages we got from other peers are already filtered
// at the P2PService layer.
// Though we have to check in the client classes to not apply the same message again as there is no guarantee
// when we would get a message again from the network.
diff --git a/network/src/main/java/io/bisq/messages/protocol/availability/tasks/ProcessOfferAvailabilityResponse.java b/network/src/main/java/io/bisq/protocol/availability/tasks/ProcessOfferAvailabilityResponse.java
similarity index 79%
rename from network/src/main/java/io/bisq/messages/protocol/availability/tasks/ProcessOfferAvailabilityResponse.java
rename to network/src/main/java/io/bisq/protocol/availability/tasks/ProcessOfferAvailabilityResponse.java
index c904a3f287..41c069c271 100644
--- a/network/src/main/java/io/bisq/messages/protocol/availability/tasks/ProcessOfferAvailabilityResponse.java
+++ b/network/src/main/java/io/bisq/protocol/availability/tasks/ProcessOfferAvailabilityResponse.java
@@ -15,14 +15,14 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.protocol.availability.tasks;
+package io.bisq.protocol.availability.tasks;
import io.bisq.common.taskrunner.Task;
import io.bisq.common.taskrunner.TaskRunner;
-import io.bisq.messages.availability.AvailabilityResult;
-import io.bisq.messages.availability.OfferAvailabilityResponse;
-import io.bisq.messages.protocol.availability.OfferAvailabilityModel;
-import io.bisq.messages.trade.offer.payload.Offer;
+import io.bisq.network_messages.availability.AvailabilityResult;
+import io.bisq.network_messages.availability.OfferAvailabilityResponse;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
+import io.bisq.p2p.protocol.availability.OfferAvailabilityModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,12 +39,12 @@ public class ProcessOfferAvailabilityResponse extends Task.
*/
-package io.bisq.messages.protocol.availability.tasks;
+package io.bisq.protocol.availability.tasks;
import io.bisq.common.taskrunner.Task;
import io.bisq.common.taskrunner.TaskRunner;
-import io.bisq.messages.availability.OfferAvailabilityRequest;
-import io.bisq.messages.protocol.availability.OfferAvailabilityModel;
-import io.bisq.messages.trade.offer.payload.Offer;
-import io.bisq.p2p.messaging.SendDirectMessageListener;
+import io.bisq.network_messages.availability.OfferAvailabilityRequest;
+import io.bisq.network_messages.p2p.messaging.SendDirectMessageListener;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
+import io.bisq.p2p.protocol.availability.OfferAvailabilityModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,7 +49,7 @@ public class SendOfferAvailabilityRequest extends Task {
@Override
public void onFault() {
- model.offer.setState(Offer.State.OFFERER_OFFLINE);
+ model.offer.setState(OfferPayload.State.OFFERER_OFFLINE);
}
}
);
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/HttpClientProvider.java b/network/src/main/java/io/bisq/provider/HttpClientProvider.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/btc/provider/HttpClientProvider.java
rename to network/src/main/java/io/bisq/provider/HttpClientProvider.java
index cfe7767c30..5f233b6a7e 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/HttpClientProvider.java
+++ b/network/src/main/java/io/bisq/provider/HttpClientProvider.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc.provider;
+package io.bisq.provider;
import io.bisq.http.HttpClient;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/ProvidersRepository.java b/network/src/main/java/io/bisq/provider/ProvidersRepository.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/btc/provider/ProvidersRepository.java
rename to network/src/main/java/io/bisq/provider/ProvidersRepository.java
index 414efdb4f5..289908aa38 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/ProvidersRepository.java
+++ b/network/src/main/java/io/bisq/provider/ProvidersRepository.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc.provider;
+package io.bisq.provider;
import com.google.inject.Inject;
import io.bisq.app.AppOptionKeys;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeData.java b/network/src/main/java/io/bisq/provider/fee/FeeData.java
similarity index 87%
rename from network/src/main/java/io/bisq/messages/btc/provider/fee/FeeData.java
rename to network/src/main/java/io/bisq/provider/fee/FeeData.java
index e10461cd7d..c77c33cd13 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeData.java
+++ b/network/src/main/java/io/bisq/provider/fee/FeeData.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc.provider.fee;
+package io.bisq.provider.fee;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeProvider.java b/network/src/main/java/io/bisq/provider/fee/FeeProvider.java
similarity index 93%
rename from network/src/main/java/io/bisq/messages/btc/provider/fee/FeeProvider.java
rename to network/src/main/java/io/bisq/provider/fee/FeeProvider.java
index 2b6ad25c8e..99799cd667 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeProvider.java
+++ b/network/src/main/java/io/bisq/provider/fee/FeeProvider.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc.provider.fee;
+package io.bisq.provider.fee;
import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
@@ -6,7 +6,7 @@ import io.bisq.app.Version;
import io.bisq.common.util.Tuple2;
import io.bisq.http.HttpClient;
import io.bisq.http.HttpException;
-import io.bisq.messages.btc.provider.HttpClientProvider;
+import io.bisq.provider.HttpClientProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeRequest.java b/network/src/main/java/io/bisq/provider/fee/FeeRequest.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/btc/provider/fee/FeeRequest.java
rename to network/src/main/java/io/bisq/provider/fee/FeeRequest.java
index 4d482728ca..86b25a427f 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeRequest.java
+++ b/network/src/main/java/io/bisq/provider/fee/FeeRequest.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc.provider.fee;
+package io.bisq.provider.fee;
import com.google.common.util.concurrent.*;
import io.bisq.common.util.Tuple2;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeService.java b/network/src/main/java/io/bisq/provider/fee/FeeService.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/btc/provider/fee/FeeService.java
rename to network/src/main/java/io/bisq/provider/fee/FeeService.java
index 24e973955f..55332d5fbf 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/fee/FeeService.java
+++ b/network/src/main/java/io/bisq/provider/fee/FeeService.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.btc.provider.fee;
+package io.bisq.provider.fee;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
@@ -25,7 +25,7 @@ import io.bisq.common.UserThread;
import io.bisq.common.handlers.FaultHandler;
import io.bisq.common.util.Tuple2;
import io.bisq.http.HttpClient;
-import io.bisq.messages.btc.provider.ProvidersRepository;
+import io.bisq.provider.ProvidersRepository;
import org.bitcoinj.core.Coin;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
diff --git a/network/src/main/java/io/bisq/messages/provider/price/MarketPrice.java b/network/src/main/java/io/bisq/provider/price/MarketPrice.java
similarity index 98%
rename from network/src/main/java/io/bisq/messages/provider/price/MarketPrice.java
rename to network/src/main/java/io/bisq/provider/price/MarketPrice.java
index ea43387048..2fffc53232 100644
--- a/network/src/main/java/io/bisq/messages/provider/price/MarketPrice.java
+++ b/network/src/main/java/io/bisq/provider/price/MarketPrice.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.provider.price;
+package io.bisq.provider.price;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/provider/price/PriceFeedService.java b/network/src/main/java/io/bisq/provider/price/PriceFeedService.java
similarity index 96%
rename from network/src/main/java/io/bisq/messages/provider/price/PriceFeedService.java
rename to network/src/main/java/io/bisq/provider/price/PriceFeedService.java
index 54756e9ce1..d05c7264a7 100644
--- a/network/src/main/java/io/bisq/messages/provider/price/PriceFeedService.java
+++ b/network/src/main/java/io/bisq/provider/price/PriceFeedService.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.provider.price;
+package io.bisq.provider.price;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
@@ -10,10 +10,7 @@ import io.bisq.common.handlers.FaultHandler;
import io.bisq.common.util.Tuple2;
import io.bisq.http.HttpClient;
import io.bisq.locale.Res;
-import io.bisq.messages.btc.provider.ProvidersRepository;
-import io.bisq.messages.btc.provider.price.PriceProvider;
-import io.bisq.messages.btc.provider.price.PriceRequest;
-import io.bisq.messages.btc.provider.price.PriceRequestException;
+import io.bisq.provider.ProvidersRepository;
import javafx.beans.property.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/price/PriceProvider.java b/network/src/main/java/io/bisq/provider/price/PriceProvider.java
similarity index 92%
rename from network/src/main/java/io/bisq/messages/btc/provider/price/PriceProvider.java
rename to network/src/main/java/io/bisq/provider/price/PriceProvider.java
index 94a5600056..062216c603 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/price/PriceProvider.java
+++ b/network/src/main/java/io/bisq/provider/price/PriceProvider.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc.provider.price;
+package io.bisq.provider.price;
import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
@@ -6,8 +6,7 @@ import io.bisq.app.Version;
import io.bisq.common.util.Tuple2;
import io.bisq.http.HttpClient;
import io.bisq.http.HttpException;
-import io.bisq.messages.btc.provider.HttpClientProvider;
-import io.bisq.messages.provider.price.MarketPrice;
+import io.bisq.provider.HttpClientProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/price/PriceRequest.java b/network/src/main/java/io/bisq/provider/price/PriceRequest.java
similarity index 94%
rename from network/src/main/java/io/bisq/messages/btc/provider/price/PriceRequest.java
rename to network/src/main/java/io/bisq/provider/price/PriceRequest.java
index 10a629d53c..a00288d50c 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/price/PriceRequest.java
+++ b/network/src/main/java/io/bisq/provider/price/PriceRequest.java
@@ -1,9 +1,8 @@
-package io.bisq.messages.btc.provider.price;
+package io.bisq.provider.price;
import com.google.common.util.concurrent.*;
import io.bisq.common.util.Tuple2;
import io.bisq.common.util.Utilities;
-import io.bisq.messages.provider.price.MarketPrice;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/main/java/io/bisq/messages/btc/provider/price/PriceRequestException.java b/network/src/main/java/io/bisq/provider/price/PriceRequestException.java
similarity index 75%
rename from network/src/main/java/io/bisq/messages/btc/provider/price/PriceRequestException.java
rename to network/src/main/java/io/bisq/provider/price/PriceRequestException.java
index 2234c000cf..4248e2c5cb 100644
--- a/network/src/main/java/io/bisq/messages/btc/provider/price/PriceRequestException.java
+++ b/network/src/main/java/io/bisq/provider/price/PriceRequestException.java
@@ -1,4 +1,4 @@
-package io.bisq.messages.btc.provider.price;
+package io.bisq.provider.price;
public class PriceRequestException extends Exception {
public PriceRequestException(String message) {
diff --git a/network/src/main/java/io/bisq/messages/user/BlockChainExplorer.java b/network/src/main/java/io/bisq/user/BlockChainExplorer.java
similarity index 97%
rename from network/src/main/java/io/bisq/messages/user/BlockChainExplorer.java
rename to network/src/main/java/io/bisq/user/BlockChainExplorer.java
index a9547a3eba..c06b13baf1 100644
--- a/network/src/main/java/io/bisq/messages/user/BlockChainExplorer.java
+++ b/network/src/main/java/io/bisq/user/BlockChainExplorer.java
@@ -15,7 +15,7 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.user;
+package io.bisq.user;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
diff --git a/network/src/main/java/io/bisq/messages/user/Preferences.java b/network/src/main/java/io/bisq/user/Preferences.java
similarity index 96%
rename from network/src/main/java/io/bisq/messages/user/Preferences.java
rename to network/src/main/java/io/bisq/user/Preferences.java
index 352f8ab9d4..b73766386c 100644
--- a/network/src/main/java/io/bisq/messages/user/Preferences.java
+++ b/network/src/main/java/io/bisq/user/Preferences.java
@@ -15,19 +15,18 @@
* along with bisq. If not, see .
*/
-package io.bisq.messages.user;
+package io.bisq.user;
import io.bisq.app.BisqEnvironment;
import io.bisq.app.DevEnv;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
import io.bisq.common.util.Utilities;
-import io.bisq.locale.Res;
-import io.bisq.messages.btc.BitcoinNetwork;
-import io.bisq.messages.btc.BtcOptionKeys;
-import io.bisq.messages.btc.Restrictions;
-import io.bisq.messages.btc.provider.fee.FeeService;
-import io.bisq.messages.locale.*;
+import io.bisq.locale.*;
+import io.bisq.network_messages.btc.BitcoinNetwork;
+import io.bisq.network_messages.btc.BtcOptionKeys;
+import io.bisq.network_messages.btc.Restrictions;
+import io.bisq.provider.fee.FeeService;
import io.bisq.storage.Storage;
import javafx.beans.property.*;
import javafx.collections.FXCollections;
@@ -95,7 +94,7 @@ public final class Preferences implements Persistable {
return defaultLocale;
}
- private static TradeCurrency defaultTradeCurrency = new FiatCurrency(CurrencyUtil.getCurrencyByCountryCode(CountryUtil.getDefaultCountryCode()).getCurrency().getCurrencyCode());
+ private static TradeCurrency defaultTradeCurrency = CurrencyUtil.getCurrencyByCountryCode(CountryUtil.getDefaultCountryCode(defaultLocale), defaultLocale);
public static TradeCurrency getDefaultTradeCurrency() {
return defaultTradeCurrency;
@@ -109,8 +108,8 @@ public final class Preferences implements Persistable {
transient private BitcoinNetwork bitcoinNetwork;
// Persisted fields
- private String userLanguage = LanguageUtil.getDefaultLanguage();
- private Country userCountry = CountryUtil.getDefaultCountry();
+ private String userLanguage = LanguageUtil.getDefaultLanguage(Preferences.getDefaultLocale());
+ private Country userCountry = CountryUtil.getDefaultCountry(Preferences.getDefaultLocale());
private String btcDenomination = MonetaryFormat.CODE_BTC;
private boolean useAnimations = DevEnv.STRESS_TEST_MODE ? false : true;
private final ArrayList fiatCurrencies;
@@ -130,11 +129,11 @@ public final class Preferences implements Persistable {
private boolean useCustomWithdrawalTxFee = false;
private double maxPriceDistanceInPercent;
- private String offerBookChartScreenCurrencyCode = CurrencyUtil.getDefaultTradeCurrency().getCode();
- private String tradeChartsScreenCurrencyCode = CurrencyUtil.getDefaultTradeCurrency().getCode();
+ private String offerBookChartScreenCurrencyCode = Preferences.getDefaultTradeCurrency().getCode();
+ private String tradeChartsScreenCurrencyCode = Preferences.getDefaultTradeCurrency().getCode();
- private String buyScreenCurrencyCode = CurrencyUtil.getDefaultTradeCurrency().getCode();
- private String sellScreenCurrencyCode = CurrencyUtil.getDefaultTradeCurrency().getCode();
+ private String buyScreenCurrencyCode = Preferences.getDefaultTradeCurrency().getCode();
+ private String sellScreenCurrencyCode = Preferences.getDefaultTradeCurrency().getCode();
private int tradeStatisticsTickUnitIndex = 3;
private boolean useStickyMarketPrice = false;
@@ -235,10 +234,10 @@ public final class Preferences implements Persistable {
userLanguage = persisted.getUserLanguage();
if (userLanguage == null)
- userLanguage = LanguageUtil.getDefaultLanguage();
+ userLanguage = LanguageUtil.getDefaultLanguage(Preferences.getDefaultLocale());
userCountry = persisted.getUserCountry();
if (userCountry == null)
- userCountry = CountryUtil.getDefaultCountry();
+ userCountry = CountryUtil.getDefaultCountry(Preferences.getDefaultLocale());
updateDefaultLocale();
preferredTradeCurrency = persisted.getPreferredTradeCurrency();
defaultTradeCurrency = preferredTradeCurrency;
@@ -272,7 +271,7 @@ public final class Preferences implements Persistable {
securityDepositAsLong = persisted.getSecurityDepositAsLong();
} else {
- setFiatCurrencies(CurrencyUtil.getAllMainFiatCurrencies());
+ setFiatCurrencies(CurrencyUtil.getAllMainFiatCurrencies(Preferences.getDefaultLocale(), Preferences.getDefaultTradeCurrency()));
setCryptoCurrencies(CurrencyUtil.getMainCryptoCurrencies());
setBlockChainExplorerTestNet(blockChainExplorersTestNet.get(0));
diff --git a/network/src/test/java/io/bisq/crypto/EncryptionServiceTests.java b/network/src/test/java/io/bisq/crypto/EncryptionServiceTests.java
index b64f93946a..e56883e9a3 100644
--- a/network/src/test/java/io/bisq/crypto/EncryptionServiceTests.java
+++ b/network/src/test/java/io/bisq/crypto/EncryptionServiceTests.java
@@ -19,13 +19,15 @@ package io.bisq.crypto;
import io.bisq.app.Version;
-import io.bisq.common.crypto.*;
+import io.bisq.common.crypto.CryptoException;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.Message;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
-import io.bisq.p2p.messaging.PrefixedSealedAndSignedMessage;
-import io.bisq.p2p.peers.keepalive.messages.Ping;
+import io.bisq.network_messages.DecryptedMsgWithPubKey;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.*;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.p2p.messaging.PrefixedSealedAndSignedMessage;
+import io.bisq.network_messages.p2p.peers.keepalive.messages.Ping;
import io.bisq.storage.FileUtil;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.After;
diff --git a/network/src/test/java/io/bisq/p2p/DummySeedNode.java b/network/src/test/java/io/bisq/p2p/DummySeedNode.java
index 9e8bb68beb..529c39b249 100644
--- a/network/src/test/java/io/bisq/p2p/DummySeedNode.java
+++ b/network/src/test/java/io/bisq/p2p/DummySeedNode.java
@@ -8,9 +8,11 @@ import io.bisq.common.Clock;
import io.bisq.common.CommonOptionKeys;
import io.bisq.common.UserThread;
import io.bisq.common.util.Utilities;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.network.NetworkOptionKeys;
import io.bisq.p2p.peers.BanList;
import io.bisq.p2p.seed.SeedNodesRepository;
+import io.bisq.p2p.storage.P2PService;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/test/java/io/bisq/p2p/PeerServiceTest.java b/network/src/test/java/io/bisq/p2p/PeerServiceTest.java
index 6880d3c4bf..e2950e7275 100644
--- a/network/src/test/java/io/bisq/p2p/PeerServiceTest.java
+++ b/network/src/test/java/io/bisq/p2p/PeerServiceTest.java
@@ -1,6 +1,8 @@
package io.bisq.p2p;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.network.LocalhostNetworkNode;
+import io.bisq.p2p.storage.P2PService;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
diff --git a/network/src/test/java/io/bisq/p2p/TestUtils.java b/network/src/test/java/io/bisq/p2p/TestUtils.java
index 5916a60107..0a69cbb58f 100644
--- a/network/src/test/java/io/bisq/p2p/TestUtils.java
+++ b/network/src/test/java/io/bisq/p2p/TestUtils.java
@@ -1,9 +1,11 @@
package io.bisq.p2p;
import io.bisq.common.Clock;
-import io.bisq.common.crypto.KeyRing;
import io.bisq.crypto.EncryptionService;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.p2p.seed.SeedNodesRepository;
+import io.bisq.p2p.storage.P2PService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/network/src/test/java/io/bisq/p2p/mocks/MockMailboxPayload.java b/network/src/test/java/io/bisq/p2p/mocks/MockMailboxPayload.java
index a86f9b40c6..e4c761864e 100644
--- a/network/src/test/java/io/bisq/p2p/mocks/MockMailboxPayload.java
+++ b/network/src/test/java/io/bisq/p2p/mocks/MockMailboxPayload.java
@@ -2,9 +2,9 @@ package io.bisq.p2p.mocks;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.MailboxMessage;
-import io.bisq.p2p.storage.payload.ExpirablePayload;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.p2p.messaging.MailboxMessage;
+import io.bisq.network_messages.payload.ExpirablePayload;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import java.util.UUID;
diff --git a/network/src/test/java/io/bisq/p2p/mocks/MockPayload.java b/network/src/test/java/io/bisq/p2p/mocks/MockPayload.java
index 1f24b9dec1..c060643e5b 100644
--- a/network/src/test/java/io/bisq/p2p/mocks/MockPayload.java
+++ b/network/src/test/java/io/bisq/p2p/mocks/MockPayload.java
@@ -2,8 +2,8 @@ package io.bisq.p2p.mocks;
import io.bisq.app.Version;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.Message;
-import io.bisq.p2p.storage.payload.ExpirablePayload;
+import io.bisq.network_messages.Message;
+import io.bisq.network_messages.payload.ExpirablePayload;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
public final class MockPayload implements Message, ExpirablePayload {
diff --git a/network/src/test/java/io/bisq/p2p/network/NetworkStressTest.java b/network/src/test/java/io/bisq/p2p/network/NetworkStressTest.java
index 8b6ccab9bd..b6e41f7faf 100644
--- a/network/src/test/java/io/bisq/p2p/network/NetworkStressTest.java
+++ b/network/src/test/java/io/bisq/p2p/network/NetworkStressTest.java
@@ -3,16 +3,21 @@ package io.bisq.p2p.network;
import io.bisq.app.Version;
import io.bisq.common.Clock;
import io.bisq.common.UserThread;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.KeyStorage;
-import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.util.Tuple3;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.crypto.EncryptionService;
-import io.bisq.p2p.*;
-import io.bisq.p2p.messaging.*;
+import io.bisq.network_messages.DecryptedDirectMessageListener;
+import io.bisq.network_messages.DecryptedMsgWithPubKey;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
+import io.bisq.network_messages.crypto.PubKeyRing;
+import io.bisq.network_messages.p2p.messaging.*;
+import io.bisq.p2p.DummySeedNode;
+import io.bisq.p2p.P2PServiceListener;
+import io.bisq.p2p.Utils;
import io.bisq.p2p.seed.SeedNodesRepository;
+import io.bisq.p2p.storage.P2PService;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
@@ -55,7 +60,7 @@ public class NetworkStressTest {
// Test parameters
/**
- * Whether to log messages less important than warnings.
+ * Whether to log network_messages less important than warnings.
*/
private static final boolean USE_DETAILED_LOGGING = false;
@@ -70,11 +75,11 @@ public class NetworkStressTest {
*/
private static final String TEST_DIR_ENVVAR = "STRESS_TEST_DIR";
/**
- * Environment variable to specify the number of direct messages sent per peer.
+ * Environment variable to specify the number of direct network_messages sent per peer.
*/
private static final String DIRECT_COUNT_ENVVAR = "STRESS_TEST_NDIRECT";
/**
- * Environment variable to specify the number of mailbox messages sent per peer.
+ * Environment variable to specify the number of mailbox network_messages sent per peer.
*/
private static final String MAILBOX_COUNT_ENVVAR = "STRESS_TEST_NMAILBOX";
@@ -88,15 +93,15 @@ public class NetworkStressTest {
*/
private static final int NPEERS_DEFAULT = 4;
/**
- * Minimum number of peers for the test to work (2 for direct messages, 3 for mailbox messages).
+ * Minimum number of peers for the test to work (2 for direct network_messages, 3 for mailbox network_messages).
*/
private static final int NPEERS_MIN = 3;
/**
- * Default number of direct messages to be sent by each peer.
+ * Default number of direct network_messages to be sent by each peer.
*/
private static final int DIRECT_COUNT_DEFAULT = 100;
/**
- * Default number of mailbox messages to be sent by each peer.
+ * Default number of mailbox network_messages to be sent by each peer.
*/
private static final int MAILBOX_COUNT_DEFAULT = 100;
@@ -113,11 +118,11 @@ public class NetworkStressTest {
*/
private static long MAX_SHUTDOWN_DELAY_SECS = 2;
/**
- * Minimum delay between direct messages in milliseconds, 25% larger than throttle limit.
+ * Minimum delay between direct network_messages in milliseconds, 25% larger than throttle limit.
*/
private static long MIN_DIRECT_DELAY_MILLIS = Math.round(1.25 * (1.0 / Connection.MSG_THROTTLE_PER_SEC) * 1000);
/**
- * Maximum delay between direct messages in milliseconds, 10 times larger than minimum.
+ * Maximum delay between direct network_messages in milliseconds, 10 times larger than minimum.
*/
private static long MAX_DIRECT_DELAY_MILLIS = 10 * MIN_DIRECT_DELAY_MILLIS;
/**
@@ -161,11 +166,11 @@ public class NetworkStressTest {
private List peerPKRings = new ArrayList<>();
/**
- * Number of direct messages to be sent by each peer.
+ * Number of direct network_messages to be sent by each peer.
*/
private int directCount = DIRECT_COUNT_DEFAULT;
/**
- * Number of mailbox messages to be sent by each peer.
+ * Number of mailbox network_messages to be sent by each peer.
*/
private int mailboxCount = MAILBOX_COUNT_DEFAULT;
@@ -554,7 +559,7 @@ public class NetworkStressTest {
for (final P2PService srcPeer : peerNodes) {
final NodeAddress srcPeerAddress = srcPeer.getAddress();
- // Make the peer ready for receiving direct messages.
+ // Make the peer ready for receiving direct network_messages.
srcPeer.addDecryptedDirectMessageListener((decryptedMsgWithPubKey, peerNodeAddress) -> {
if (!(decryptedMsgWithPubKey.message instanceof StressTestDirectMessage))
return;
@@ -601,23 +606,23 @@ public class NetworkStressTest {
);
}
}
- print("%d direct messages scheduled to be sent by each of %d peers", directCount, nPeers);
+ print("%d direct network_messages scheduled to be sent by each of %d peers", directCount, nPeers);
// Since receiving is completed before sending is reported to be complete,
// all receiving checks should end before all sending checks to avoid deadlocking.
- /** Time to transmit all messages in the worst random case, and with no computation delays. */
+ /** Time to transmit all network_messages in the worst random case, and with no computation delays. */
final long idealMaxDirectDelay = MAX_DIRECT_DELAY_MILLIS * directCount;
// Wait for peers to complete receiving. We are generous here.
- assertLatch("timed out while receiving direct messages",
+ assertLatch("timed out while receiving direct network_messages",
receivedDirectLatch, 25 * idealMaxDirectDelay, TimeUnit.MILLISECONDS);
final long recvMillis = System.currentTimeMillis() - sendStartMillis;
- print("receiving %d direct messages per peer took %ss (%.2f x ideal max)",
+ print("receiving %d direct network_messages per peer took %ss (%.2f x ideal max)",
directCount, recvMillis / 1000.0, recvMillis / (float) idealMaxDirectDelay);
// Wait for peers to complete sending.
// This should be nearly instantaneous after waiting for reception is completed.
- assertLatch("timed out while sending direct messages",
+ assertLatch("timed out while sending direct network_messages",
sentDirectLatch, idealMaxDirectDelay / 10, TimeUnit.MILLISECONDS);
Tuple3 mma = minMaxAvg(sentDelays);
- print("sending %d direct messages per peer took %ss (min/max/avg %s/%s/%s ms)",
+ print("sending %d direct network_messages per peer took %ss (min/max/avg %s/%s/%s ms)",
directCount, (System.currentTimeMillis() - sendStartMillis) / 1000.0,
mma.first, mma.second, mma.third);
org.junit.Assert.assertFalse("some peer(s) failed to send a direct message", sentDirectFailed.get());
@@ -627,16 +632,16 @@ public class NetworkStressTest {
// # DIRECT + MAILBOX SENDING AND RECEIVING
/**
- * Test sending and receiving mailbox messages.
+ * Test sending and receiving mailbox network_messages.
*/
@Test
public void test_mailbox() throws InterruptedException {
// We start by putting the first half of peers online and the second one offline.
- // Then the first online peer sends a number of messages to random peers (regardless of their state),
- // so that some messages are delivered directly and others into a mailbox.
+ // Then the first online peer sends a number of network_messages to random peers (regardless of their state),
+ // so that some network_messages are delivered directly and others into a mailbox.
// Then the first online peer is put offline and the last offline peer is put online
- // (so it can get its mailbox messages),
- // and the new first online node sends messages.
+ // (so it can get its mailbox network_messages),
+ // and the new first online node sends network_messages.
// This is repeated until all nodes have been online and offline.
final int nPeers = peerNodes.size();
@@ -644,7 +649,7 @@ public class NetworkStressTest {
// depending on whether the message goes direct or via mailbox.
final CountDownLatch receivedMailboxLatch = new CountDownLatch(mailboxCount * nPeers);
- // Configure the first half of peers to receive messages...
+ // Configure the first half of peers to receive network_messages...
int firstPeerDown = (int) Math.ceil(nPeers / 2.0);
for (P2PService peer : peerNodes.subList(0, firstPeerDown)) {
addMailboxListeners(peer, receivedMailboxLatch);
@@ -660,13 +665,13 @@ public class NetworkStressTest {
// Cycle through peers sending to others, stopping the peer
// and starting one of the stopped peers.
- print("%d mailbox messages to be sent by each of %d peers", mailboxCount, nPeers);
+ print("%d mailbox network_messages to be sent by each of %d peers", mailboxCount, nPeers);
BooleanProperty sentMailboxFailed = new SimpleBooleanProperty(false);
final long sendStartMillis = System.currentTimeMillis();
for (int firstOnline = 0, firstOffline = firstPeerDown;
firstOnline < nPeers;
firstOnline++, firstOffline = ++firstOffline % nPeers) {
- // The first online peer sends messages to random other peers.
+ // The first online peer sends network_messages to random other peers.
final P2PService onlinePeer = peerNodes.get(firstOnline);
final NodeAddress onlinePeerAddress = onlinePeer.getAddress();
final CountDownLatch sendLatch = new CountDownLatch(mailboxCount);
@@ -724,12 +729,12 @@ public class NetworkStressTest {
TimeUnit.SECONDS);
//print("put peer %d online", firstOffline);
}
- /** Time to transmit all messages with the estimated per-message delay, with no computation delays. */
+ /** Time to transmit all network_messages with the estimated per-message delay, with no computation delays. */
final long idealMaxMailboxDelay = 2 * MAILBOX_DELAY_SECS * 1000 * nPeers * mailboxCount;
- assertLatch("timed out while receiving mailbox messages",
+ assertLatch("timed out while receiving mailbox network_messages",
receivedMailboxLatch, idealMaxMailboxDelay, TimeUnit.MILLISECONDS);
final long recvMillis = System.currentTimeMillis() - sendStartMillis;
- print("receiving %d mailbox messages per peer took %ss (%.2f x ideal max)",
+ print("receiving %d mailbox network_messages per peer took %ss (%.2f x ideal max)",
mailboxCount, recvMillis / 1000.0, recvMillis / (float) idealMaxMailboxDelay);
org.junit.Assert.assertFalse("some peer(s) failed to send a message", sentMailboxFailed.get());
}
diff --git a/network/src/test/java/io/bisq/p2p/network/ProtoBufferUtilitiesTest.java b/network/src/test/java/io/bisq/p2p/network/ProtoBufferUtilitiesTest.java
index 78bd0552d2..0deaa7a152 100644
--- a/network/src/test/java/io/bisq/p2p/network/ProtoBufferUtilitiesTest.java
+++ b/network/src/test/java/io/bisq/p2p/network/ProtoBufferUtilitiesTest.java
@@ -1,7 +1,7 @@
package io.bisq.p2p.network;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.messages.trade.offer.payload.Offer;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
@@ -15,8 +15,8 @@ public class ProtoBufferUtilitiesTest {
public void testEnum() {
Messages.Offer.Direction direction = Messages.Offer.Direction.SELL;
Messages.Offer.Direction direction2 = Messages.Offer.Direction.BUY;
- Offer.Direction realDirection = ProtoBufferUtilities.getDirection(direction);
- Offer.Direction realDirection2 = ProtoBufferUtilities.getDirection(direction2);
+ OfferPayload.Direction realDirection = ProtoBufferUtilities.getDirection(direction);
+ OfferPayload.Direction realDirection2 = ProtoBufferUtilities.getDirection(direction2);
assertEquals("SELL", realDirection.name());
assertEquals("BUY", realDirection2.name());
}
diff --git a/network/src/test/java/io/bisq/p2p/network/TorNetworkNodeTest.java b/network/src/test/java/io/bisq/p2p/network/TorNetworkNodeTest.java
index 5b63a77338..337a5eb75d 100644
--- a/network/src/test/java/io/bisq/p2p/network/TorNetworkNodeTest.java
+++ b/network/src/test/java/io/bisq/p2p/network/TorNetworkNodeTest.java
@@ -3,7 +3,7 @@ package io.bisq.p2p.network;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.SettableFuture;
-import io.bisq.messages.Message;
+import io.bisq.network_messages.Message;
import io.bisq.p2p.mocks.MockPayload;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.jetbrains.annotations.NotNull;
diff --git a/network/src/test/java/io/bisq/p2p/routing/PeerManagerTest.java b/network/src/test/java/io/bisq/p2p/routing/PeerManagerTest.java
index 76f98d14b6..f96448df0b 100644
--- a/network/src/test/java/io/bisq/p2p/routing/PeerManagerTest.java
+++ b/network/src/test/java/io/bisq/p2p/routing/PeerManagerTest.java
@@ -1,10 +1,10 @@
package io.bisq.p2p.routing;
+import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.DummySeedNode;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.P2PService;
import io.bisq.p2p.P2PServiceListener;
import io.bisq.p2p.network.LocalhostNetworkNode;
+import io.bisq.p2p.storage.P2PService;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
diff --git a/network/src/test/java/io/bisq/p2p/storage/P2PDataStorageTest.java b/network/src/test/java/io/bisq/p2p/storage/P2PDataStorageTest.java
index 58fec4481f..2052fddba9 100644
--- a/network/src/test/java/io/bisq/p2p/storage/P2PDataStorageTest.java
+++ b/network/src/test/java/io/bisq/p2p/storage/P2PDataStorageTest.java
@@ -3,21 +3,25 @@ package io.bisq.p2p.storage;
import com.google.common.collect.Lists;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.util.JsonFormat;
-import io.bisq.common.crypto.*;
+import io.bisq.common.crypto.CryptoException;
+import io.bisq.common.crypto.Sig;
import io.bisq.common.util.Utilities;
import io.bisq.common.wire.proto.Messages;
import io.bisq.crypto.EncryptionService;
-import io.bisq.messages.alert.Alert;
-import io.bisq.messages.trade.offer.payload.Offer;
-import io.bisq.p2p.NodeAddress;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.alert.Alert;
+import io.bisq.network_messages.crypto.Hash;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
+import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import io.bisq.p2p.TestUtils;
import io.bisq.p2p.network.NetworkNode;
import io.bisq.p2p.network.ProtoBufferUtilities;
import io.bisq.p2p.peers.Broadcaster;
import io.bisq.p2p.storage.mocks.MockData;
-import io.bisq.p2p.storage.payload.StoragePayload;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.storage.FileUtil;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.payload.StoragePayload;
import lombok.extern.slf4j.Slf4j;
import mockit.Mocked;
import mockit.integration.junit4.JMockit;
@@ -129,10 +133,10 @@ public class P2PDataStorageTest {
@Test
public void testOfferRoundtrip() throws InvalidProtocolBufferException {
- Offer offer1 = getDummyOffer();
+ OfferPayload offer1 = getDummyOffer();
byte[] serialize = Utilities.serialize(offer1);
byte[] serialize2 = Utilities.serialize(offer1);
- Offer offer1des = Utilities.deserialize(serialize);
+ OfferPayload offer1des = Utilities.deserialize(serialize);
assertTrue(Arrays.equals(serialize, serialize2));
assertTrue(Arrays.equals(Utilities.serialize(offer1des), serialize));
@@ -141,7 +145,7 @@ public class P2PDataStorageTest {
JsonFormat.Parser parser = JsonFormat.parser();
Messages.Offer.Builder builder = Messages.Offer.newBuilder();
parser.merge(buffer, builder);
- Offer offer2 = ProtoBufferUtilities.getOffer(builder.build());
+ OfferPayload offer2 = ProtoBufferUtilities.getOffer(builder.build());
assertEquals(offer1, offer2);
for (int i = 0; i < offer1.getArbitratorNodeAddresses().size(); i++) {
if (!offer1.getArbitratorNodeAddresses().get(i).equals(offer2.getArbitratorNodeAddresses().get(i)))
@@ -179,22 +183,50 @@ public class P2PDataStorageTest {
}
@NotNull
- private Offer getDummyOffer() {
+ private OfferPayload getDummyOffer() {
NodeAddress nodeAddress = new NodeAddress("host", 1000);
NodeAddress nodeAddress2 = new NodeAddress("host1", 1001);
NodeAddress nodeAddress3 = new NodeAddress("host2", 1002);
NodeAddress nodeAddress4 = new NodeAddress("host3", 1002);
- return new Offer("id", System.currentTimeMillis(), nodeAddress4, keyRing1.getPubKeyRing(), Offer.Direction.BUY, 1200, 1.5, true, 100,
- 50, "USD", Lists.newArrayList(nodeAddress, nodeAddress2, nodeAddress3), "SEPA", "accountid",
- "feetxId", "BE", Lists.newArrayList("BE", "AU"), "bankid", Lists.newArrayList("BANK1", "BANK2"), null,
- "version", 100, 100, 100, 100, 1000, 1000, false,
- false, 1000, 1000, false, "hash", null);
+ return new OfferPayload("id",
+ System.currentTimeMillis(),
+ nodeAddress4,
+ keyRing1.getPubKeyRing(),
+ OfferPayload.Direction.BUY,
+ 1200L,
+ 1.5,
+ true,
+ 100,
+ 50,
+ "USD",
+ Lists.newArrayList(nodeAddress, nodeAddress2, nodeAddress3),
+ "SEPA",
+ "accountid",
+ "feetxId",
+ "BE",
+ Lists.newArrayList("BE", "AU"),
+ "bankid",
+ Lists.newArrayList("BANK1", "BANK2"),
+ "versionNr",
+ 100,
+ 100,
+ 100,
+ 100,
+ 100,
+ 1000,
+ true,
+ true,
+ 1000,
+ 10000,
+ false,
+ "hash",
+ null);
}
@Test
public void testProtectedStorageEntryRoundtrip() throws InvalidProtocolBufferException {
NodeAddress nodeAddress = new NodeAddress("host", 1000);
- Offer offer = getDummyOffer();
+ OfferPayload offer = getDummyOffer();
try {
String buffer = JsonFormat.printer().print(offer.toProtoBuf().getOffer());
JsonFormat.Parser parser = JsonFormat.parser();
diff --git a/network/src/test/java/io/bisq/p2p/storage/ProtectedDataStorageTest.java b/network/src/test/java/io/bisq/p2p/storage/ProtectedDataStorageTest.java
index f1d89470ce..c335e8c426 100644
--- a/network/src/test/java/io/bisq/p2p/storage/ProtectedDataStorageTest.java
+++ b/network/src/test/java/io/bisq/p2p/storage/ProtectedDataStorageTest.java
@@ -1,17 +1,20 @@
package io.bisq.p2p.storage;
import io.bisq.common.UserThread;
-import io.bisq.common.crypto.*;
+import io.bisq.common.crypto.CryptoException;
+import io.bisq.common.crypto.Sig;
import io.bisq.crypto.EncryptionService;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.P2PService;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.Hash;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
import io.bisq.p2p.TestUtils;
import io.bisq.p2p.network.NetworkNode;
import io.bisq.p2p.peers.PeerManager;
-import io.bisq.p2p.storage.messages.RefreshTTLMessage;
+import io.bisq.network_messages.p2p.storage.messages.RefreshTTLMessage;
import io.bisq.p2p.storage.mocks.MockData;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.storage.FileUtil;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.*;
import org.slf4j.Logger;
diff --git a/network/src/test/java/io/bisq/p2p/storage/messages/AddDataMessageTest.java b/network/src/test/java/io/bisq/p2p/storage/messages/AddDataMessageTest.java
index 2a0b0ec468..6c3d9cc18e 100644
--- a/network/src/test/java/io/bisq/p2p/storage/messages/AddDataMessageTest.java
+++ b/network/src/test/java/io/bisq/p2p/storage/messages/AddDataMessageTest.java
@@ -1,16 +1,17 @@
package io.bisq.p2p.storage.messages;
import io.bisq.common.crypto.CryptoException;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.KeyStorage;
-import io.bisq.common.crypto.SealedAndSigned;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.NodeAddress;
-import io.bisq.p2p.messaging.PrefixedSealedAndSignedMessage;
+import io.bisq.network_messages.NodeAddress;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
+import io.bisq.network_messages.crypto.SealedAndSigned;
+import io.bisq.network_messages.p2p.messaging.PrefixedSealedAndSignedMessage;
+import io.bisq.network_messages.p2p.storage.messages.AddDataMessage;
import io.bisq.p2p.network.ProtoBufferUtilities;
-import io.bisq.p2p.storage.payload.MailboxStoragePayload;
-import io.bisq.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
-import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedMailboxStorageEntry;
+import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
+import io.bisq.network_messages.payload.MailboxStoragePayload;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomUtils;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
diff --git a/network/src/test/java/io/bisq/p2p/storage/mocks/MockData.java b/network/src/test/java/io/bisq/p2p/storage/mocks/MockData.java
index 97e33294a2..10455563ec 100644
--- a/network/src/test/java/io/bisq/p2p/storage/mocks/MockData.java
+++ b/network/src/test/java/io/bisq/p2p/storage/mocks/MockData.java
@@ -1,7 +1,7 @@
package io.bisq.p2p.storage.mocks;
import io.bisq.common.wire.proto.Messages;
-import io.bisq.p2p.storage.payload.StoragePayload;
+import io.bisq.network_messages.payload.StoragePayload;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import java.security.PublicKey;
diff --git a/pom.xml b/pom.xml
index fb7b02171a..6aa743e7d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,6 +44,7 @@
jsocks
jtorctl
jtorproxy
+ network-messages
network
gui
headless
@@ -230,6 +231,11 @@
${spring.version}
test
+
+ org.apache.httpcomponents
+ httpcore
+ 4.4.1
+
@@ -252,14 +258,14 @@
-
+
-
-
+
+
diff --git a/provider/src/main/java/io/bisq/provider/fee/FeeRequestService.java b/provider/src/main/java/io/bisq/provider/fee/FeeRequestService.java
index c31219b1ca..3fd6fcf1e2 100644
--- a/provider/src/main/java/io/bisq/provider/fee/FeeRequestService.java
+++ b/provider/src/main/java/io/bisq/provider/fee/FeeRequestService.java
@@ -19,7 +19,7 @@ package io.bisq.provider.fee;
import io.bisq.common.util.Utilities;
import io.bisq.http.HttpException;
-import io.bisq.messages.btc.provider.fee.FeeService;
+import io.bisq.provider.fee.FeeService;
import io.bisq.provider.fee.providers.BtcFeesProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/provider/src/main/java/io/bisq/provider/fee/providers/BtcFeesProvider.java b/provider/src/main/java/io/bisq/provider/fee/providers/BtcFeesProvider.java
index c0161a3f67..1dc85deac8 100644
--- a/provider/src/main/java/io/bisq/provider/fee/providers/BtcFeesProvider.java
+++ b/provider/src/main/java/io/bisq/provider/fee/providers/BtcFeesProvider.java
@@ -4,7 +4,7 @@ import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import io.bisq.http.HttpClient;
import io.bisq.http.HttpException;
-import io.bisq.messages.btc.provider.fee.FeeService;
+import io.bisq.provider.fee.FeeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/provider/src/main/java/io/bisq/provider/price/providers/CoinmarketcapProvider.java b/provider/src/main/java/io/bisq/provider/price/providers/CoinmarketcapProvider.java
index f76262610e..5233a1bf27 100644
--- a/provider/src/main/java/io/bisq/provider/price/providers/CoinmarketcapProvider.java
+++ b/provider/src/main/java/io/bisq/provider/price/providers/CoinmarketcapProvider.java
@@ -4,8 +4,8 @@ import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import io.bisq.http.HttpClient;
import io.bisq.http.HttpException;
-import io.bisq.messages.locale.CurrencyUtil;
-import io.bisq.messages.locale.TradeCurrency;
+import io.bisq.locale.CurrencyUtil;
+import io.bisq.locale.TradeCurrency;
import io.bisq.provider.price.PriceData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/provider/src/main/java/io/bisq/provider/price/providers/PoloniexProvider.java b/provider/src/main/java/io/bisq/provider/price/providers/PoloniexProvider.java
index f996268545..03d29ca80a 100644
--- a/provider/src/main/java/io/bisq/provider/price/providers/PoloniexProvider.java
+++ b/provider/src/main/java/io/bisq/provider/price/providers/PoloniexProvider.java
@@ -4,8 +4,8 @@ import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import io.bisq.http.HttpClient;
import io.bisq.http.HttpException;
-import io.bisq.messages.locale.CurrencyUtil;
-import io.bisq.messages.locale.TradeCurrency;
+import io.bisq.locale.CurrencyUtil;
+import io.bisq.locale.TradeCurrency;
import io.bisq.provider.price.PriceData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/seednode/src/main/java/io/bisq/seednode/SeedNode.java b/seednode/src/main/java/io/bisq/seednode/SeedNode.java
index 8d808238e6..9a49073877 100644
--- a/seednode/src/main/java/io/bisq/seednode/SeedNode.java
+++ b/seednode/src/main/java/io/bisq/seednode/SeedNode.java
@@ -17,7 +17,7 @@ import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.LimitedKeyStrengthException;
import io.bisq.common.util.Utilities;
import io.bisq.p2p.BootstrapListener;
-import io.bisq.p2p.P2PService;
+import io.bisq.p2p.storage.P2PService;
import io.bisq.trade.offer.OpenOfferManager;
import io.bisq.trade.statistics.TradeStatisticsManager;
import org.apache.commons.lang3.exception.ExceptionUtils;
diff --git a/seednode/src/main/java/io/bisq/seednode/SeedNodeModule.java b/seednode/src/main/java/io/bisq/seednode/SeedNodeModule.java
index b2a7509382..8ffccf1b98 100644
--- a/seednode/src/main/java/io/bisq/seednode/SeedNodeModule.java
+++ b/seednode/src/main/java/io/bisq/seednode/SeedNodeModule.java
@@ -24,12 +24,12 @@ import io.bisq.app.BisqEnvironment;
import io.bisq.arbitration.ArbitratorModule;
import io.bisq.btc.BitcoinModule;
import io.bisq.common.Clock;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.KeyStorage;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
import io.bisq.crypto.EncryptionServiceModule;
import io.bisq.dao.DaoModule;
import io.bisq.filter.FilterModule;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import io.bisq.p2p.P2PModule;
import io.bisq.storage.Storage;
import io.bisq.trade.TradeModule;
diff --git a/statistics/src/main/java/io/bisq/statistics/Statistics.java b/statistics/src/main/java/io/bisq/statistics/Statistics.java
index ee6dfbca80..adde8b837e 100644
--- a/statistics/src/main/java/io/bisq/statistics/Statistics.java
+++ b/statistics/src/main/java/io/bisq/statistics/Statistics.java
@@ -16,13 +16,13 @@ import io.bisq.common.UserThread;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.LimitedKeyStrengthException;
import io.bisq.common.util.Utilities;
-import io.bisq.messages.locale.CurrencyUtil;
-import io.bisq.messages.provider.price.PriceFeedService;
import io.bisq.p2p.BootstrapListener;
-import io.bisq.p2p.P2PService;
+import io.bisq.p2p.storage.P2PService;
+import io.bisq.provider.price.PriceFeedService;
import io.bisq.trade.offer.OfferBookService;
import io.bisq.trade.offer.OpenOfferManager;
import io.bisq.trade.statistics.TradeStatisticsManager;
+import io.bisq.user.Preferences;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.bitcoinj.store.BlockStoreException;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
@@ -99,7 +99,7 @@ public class Statistics {
priceFeedService = injector.getInstance(PriceFeedService.class);
// We need the price feed for market based offers
- priceFeedService.setCurrencyCode(CurrencyUtil.getDefaultTradeCurrency().getCode());
+ priceFeedService.setCurrencyCode(Preferences.getDefaultTradeCurrency().getCode());
priceFeedService.setType(PriceFeedService.Type.LAST);
priceFeedService.init(price -> log.debug("price " + price),
(errorMessage, throwable) -> log.warn(throwable.getMessage()));
diff --git a/statistics/src/main/java/io/bisq/statistics/StatisticsModule.java b/statistics/src/main/java/io/bisq/statistics/StatisticsModule.java
index d8d61bf497..d94e14ef2c 100644
--- a/statistics/src/main/java/io/bisq/statistics/StatisticsModule.java
+++ b/statistics/src/main/java/io/bisq/statistics/StatisticsModule.java
@@ -24,12 +24,12 @@ import io.bisq.app.BisqEnvironment;
import io.bisq.arbitration.ArbitratorModule;
import io.bisq.btc.BitcoinModule;
import io.bisq.common.Clock;
-import io.bisq.common.crypto.KeyRing;
-import io.bisq.common.crypto.KeyStorage;
+import io.bisq.network_messages.crypto.KeyRing;
+import io.bisq.network_messages.crypto.KeyStorage;
import io.bisq.crypto.EncryptionServiceModule;
import io.bisq.dao.DaoModule;
import io.bisq.filter.FilterModule;
-import io.bisq.messages.user.Preferences;
+import io.bisq.user.Preferences;
import io.bisq.p2p.P2PModule;
import io.bisq.storage.Storage;
import io.bisq.trade.TradeModule;