diff --git a/src/main/java/io/bitsquare/di/BitSquareModule.java b/src/main/java/io/bitsquare/di/BitSquareModule.java
index e139044d59..5b92c1ce46 100644
--- a/src/main/java/io/bitsquare/di/BitSquareModule.java
+++ b/src/main/java/io/bitsquare/di/BitSquareModule.java
@@ -118,7 +118,7 @@ class StaticSeedNodeAddressesProvider implements Provider.
+ */
+
+package io.bitsquare.msg;
+
+import io.bitsquare.arbitrator.Arbitrator;
+import io.bitsquare.msg.listeners.AddOfferListener;
+import io.bitsquare.msg.listeners.ArbitratorListener;
+import io.bitsquare.msg.listeners.BootstrapListener;
+import io.bitsquare.msg.listeners.GetPeerAddressListener;
+import io.bitsquare.msg.listeners.IncomingTradeMessageListener;
+import io.bitsquare.msg.listeners.OfferBookListener;
+import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
+import io.bitsquare.trade.Offer;
+import io.bitsquare.trade.protocol.trade.TradeMessage;
+import io.bitsquare.user.User;
+
+import com.google.common.util.concurrent.FutureCallback;
+
+import java.security.PublicKey;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
+import javax.inject.Inject;
+
+import javafx.application.Platform;
+import javafx.beans.property.LongProperty;
+import javafx.beans.property.SimpleLongProperty;
+
+import net.tomp2p.dht.PeerDHT;
+import net.tomp2p.peers.PeerAddress;
+
+public class NoopMessageFacade implements MessageFacade {
+
+ private final List incomingTradeMessageListeners = new ArrayList<>();
+ private final List offerBookListeners = new ArrayList<>();
+ private final LongProperty invalidationTimestamp = new SimpleLongProperty(0);
+ private final P2PNode p2pNode;
+ private final User user;
+
+ @Inject
+ public NoopMessageFacade(User user, P2PNode p2pNode) {
+ this.user = user;
+ this.p2pNode = p2pNode;
+ }
+
+ @Override
+ public void sendTradeMessage(PeerAddress peerAddress, TradeMessage tradeMessage, OutgoingTradeMessageListener
+ listener) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void shutDown() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void addArbitrator(Arbitrator arbitrator) {
+ //throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void addIncomingTradeMessageListener(IncomingTradeMessageListener listener) {
+ incomingTradeMessageListeners.add(listener);
+ }
+
+ @Override
+ public void removeIncomingTradeMessageListener(IncomingTradeMessageListener listener) {
+ incomingTradeMessageListeners.remove(listener);
+ }
+
+ @Override
+ public void addOffer(Offer offer, AddOfferListener addOfferListener) {
+ //throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void addArbitratorListener(ArbitratorListener listener) {
+ throw new UnsupportedOperationException();
+
+ }
+
+ @Override
+ public void getArbitrators(Locale defaultLanguageLocale) {
+ throw new UnsupportedOperationException();
+
+ }
+
+ @Override
+ public LongProperty invalidationTimestampProperty() {
+ return invalidationTimestamp;
+ }
+
+ @Override
+ public void addOfferBookListener(OfferBookListener offerBookListener) {
+ offerBookListeners.add(offerBookListener);
+ }
+
+ @Override
+ public void removeOfferBookListener(OfferBookListener offerBookListener) {
+ offerBookListeners.remove(offerBookListener);
+ }
+
+ @Override
+ public void requestInvalidationTimeStampFromDHT(String fiatCode) {
+ //throw new UnsupportedOperationException();
+
+ }
+
+ @Override
+ public void getOffers(String fiatCode) {
+ //throw new UnsupportedOperationException();
+
+ }
+
+ @Override
+ public void removeOffer(Offer offer) {
+ //throw new UnsupportedOperationException();
+
+ }
+
+ @Override
+ public void init(int clientPort, BootstrapListener bootstrapListener) {
+ //System.out.println("DummyMessageFacade.init");
+ //throw new UnsupportedOperationException();
+
+ p2pNode.setMessageBroker(this);
+ p2pNode.setKeyPair(user.getMessageKeyPair());
+
+ p2pNode.start(clientPort, new FutureCallback() {
+ @Override
+ public void onSuccess(PeerDHT result) {
+ Platform.runLater(bootstrapListener::onCompleted);
+ }
+
+ @Override
+ public void onFailure(Throwable t) {
+ Platform.runLater(() -> bootstrapListener.onFailed(t));
+ }
+ });
+ }
+
+ @Override
+ public void getPeerAddress(PublicKey messagePublicKey, GetPeerAddressListener getPeerAddressListener) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void handleMessage(Object message, PeerAddress peerAddress) {
+ throw new UnsupportedOperationException();
+ }
+}