mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-04-20 23:56:30 -04:00
Add DHTService
This commit is contained in:
parent
264f37a73f
commit
a2654d20b9
@ -31,7 +31,7 @@ import java.util.Arrays;
|
||||
*/
|
||||
public class AddressEntry implements Serializable {
|
||||
private static final long serialVersionUID = 5501603992599920416L;
|
||||
|
||||
|
||||
private final String offerId;
|
||||
private final AddressContext addressContext;
|
||||
private transient DeterministicKey keyPair;
|
||||
|
@ -294,7 +294,7 @@ public class WalletService {
|
||||
public AddressEntry getAddressEntry(String offerId) {
|
||||
log.trace("getAddressEntry called with offerId " + offerId);
|
||||
Optional<AddressEntry> addressEntry = getAddressEntryList().stream().filter(e -> offerId.equals(e.getOfferId())).findFirst();
|
||||
|
||||
|
||||
if (addressEntry.isPresent())
|
||||
return addressEntry.get();
|
||||
else
|
||||
|
@ -18,6 +18,11 @@
|
||||
package io.bitsquare.gui;
|
||||
|
||||
import io.bitsquare.BitsquareModule;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.ViewFactory;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.fxml.FxmlViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.guice.InjectorViewFactory;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
@ -29,11 +34,6 @@ import io.bitsquare.gui.util.validation.InputValidator;
|
||||
import io.bitsquare.gui.util.validation.PasswordValidator;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.offer.OfferBook;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.ViewFactory;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.fxml.FxmlViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.guice.InjectorViewFactory;
|
||||
|
||||
import com.google.inject.Singleton;
|
||||
import com.google.inject.name.Names;
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package io.bitsquare.gui;
|
||||
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewPath;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.trade.BuyView;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewPath;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -18,6 +18,11 @@
|
||||
package io.bitsquare.gui.main;
|
||||
|
||||
import io.bitsquare.BitsquareException;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.OverlayManager;
|
||||
@ -32,11 +37,6 @@ import io.bitsquare.gui.main.settings.SettingsView;
|
||||
import io.bitsquare.gui.main.trade.BuyView;
|
||||
import io.bitsquare.gui.main.trade.SellView;
|
||||
import io.bitsquare.gui.util.Transitions;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
@ -17,27 +17,27 @@
|
||||
|
||||
package io.bitsquare.gui.main;
|
||||
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.app.UpdateProcess;
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.arbitration.ArbitratorMessageService;
|
||||
import io.bitsquare.arbitration.Reputation;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.btc.BitcoinNetwork;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.locale.CountryUtil;
|
||||
import io.bitsquare.locale.LanguageUtil;
|
||||
import io.bitsquare.network.BootstrapState;
|
||||
import io.bitsquare.network.ClientNode;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.trade.TradeManager;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.util.DSAKeyUtil;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.core.ECKey;
|
||||
@ -102,7 +102,7 @@ class MainViewModel implements ViewModel {
|
||||
private final User user;
|
||||
private final WalletService walletService;
|
||||
private final ClientNode clientNode;
|
||||
private TradeMessageService tradeMessageService;
|
||||
private MessageService messageService;
|
||||
private ArbitratorMessageService arbitratorMessageService;
|
||||
private final TradeManager tradeManager;
|
||||
private UpdateProcess updateProcess;
|
||||
@ -111,14 +111,14 @@ class MainViewModel implements ViewModel {
|
||||
private AccountSettings accountSettings;
|
||||
|
||||
@Inject
|
||||
public MainViewModel(User user, WalletService walletService, ClientNode clientNode, TradeMessageService tradeMessageService,
|
||||
public MainViewModel(User user, WalletService walletService, ClientNode clientNode, MessageService messageService,
|
||||
ArbitratorMessageService arbitratorMessageService,
|
||||
TradeManager tradeManager, BitcoinNetwork bitcoinNetwork, UpdateProcess updateProcess,
|
||||
BSFormatter formatter, Persistence persistence, AccountSettings accountSettings) {
|
||||
this.user = user;
|
||||
this.walletService = walletService;
|
||||
this.clientNode = clientNode;
|
||||
this.tradeMessageService = tradeMessageService;
|
||||
this.messageService = messageService;
|
||||
this.arbitratorMessageService = arbitratorMessageService;
|
||||
this.tradeManager = tradeManager;
|
||||
this.updateProcess = updateProcess;
|
||||
@ -157,7 +157,7 @@ class MainViewModel implements ViewModel {
|
||||
error -> log.error(error.toString()),
|
||||
() -> Platform.runLater(() -> setBitcoinNetworkSyncProgress(1.0)));
|
||||
|
||||
Observable<BootstrapState> messageObservable = clientNode.bootstrap(user.getMessageKeyPair(), tradeMessageService);
|
||||
Observable<BootstrapState> messageObservable = clientNode.bootstrap(user.getMessageKeyPair(), messageService);
|
||||
messageObservable.publish();
|
||||
messageObservable.subscribe(
|
||||
state -> Platform.runLater(() -> setBootstrapState(state)),
|
||||
|
@ -17,16 +17,16 @@
|
||||
|
||||
package io.bitsquare.gui.main.account;
|
||||
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.account.arbitrator.ArbitratorSettingsView;
|
||||
import io.bitsquare.gui.main.account.settings.AccountSettingsView;
|
||||
import io.bitsquare.gui.main.account.setup.AccountSetupWizard;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.account.arbitrator.ArbitratorSettingsView;
|
||||
import io.bitsquare.gui.main.account.settings.AccountSettingsView;
|
||||
import io.bitsquare.gui.main.account.setup.AccountSetupWizard;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,8 +17,8 @@
|
||||
|
||||
package io.bitsquare.gui.main.account;
|
||||
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.user.User;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,12 +17,12 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.arbitrator;
|
||||
|
||||
import io.bitsquare.gui.main.account.arbitrator.registration.ArbitratorRegistrationView;
|
||||
import io.bitsquare.common.viewfx.view.AbstractView;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.main.account.arbitrator.registration.ArbitratorRegistrationView;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,18 +17,18 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.arbitrator.browser;
|
||||
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.arbitration.ArbitratorMessageService;
|
||||
import io.bitsquare.arbitration.listeners.ArbitratorListener;
|
||||
import io.bitsquare.gui.main.account.arbitrator.profile.ArbitratorProfileView;
|
||||
import io.bitsquare.locale.LanguageUtil;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.main.account.arbitrator.profile.ArbitratorProfileView;
|
||||
import io.bitsquare.locale.LanguageUtil;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -18,9 +18,9 @@
|
||||
package io.bitsquare.gui.main.account.arbitrator.profile;
|
||||
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.common.viewfx.view.AbstractView;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -21,6 +21,8 @@ import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.arbitration.ArbitratorMessageService;
|
||||
import io.bitsquare.arbitration.Reputation;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.gui.components.confidence.ConfidenceProgressIndicator;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
@ -29,8 +31,6 @@ import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.util.DSAKeyUtil;
|
||||
import io.bitsquare.util.Utilities;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.core.ECKey;
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.changepassword;
|
||||
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.changepassword;
|
||||
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.util.validation.InputValidator;
|
||||
import io.bitsquare.gui.util.validation.PasswordValidator;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,7 +17,8 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.fiat;
|
||||
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.locale.Country;
|
||||
@ -25,9 +26,8 @@ import io.bitsquare.locale.CountryUtil;
|
||||
import io.bitsquare.locale.CurrencyUtil;
|
||||
import io.bitsquare.locale.Region;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,6 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.fiat;
|
||||
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.gui.OverlayManager;
|
||||
@ -28,9 +31,6 @@ import io.bitsquare.gui.util.validation.InputValidator;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.locale.Region;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Currency;
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.fiat;
|
||||
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.gui.util.validation.BankAccountNumberValidator;
|
||||
@ -24,8 +26,6 @@ import io.bitsquare.gui.util.validation.InputValidator;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.locale.Region;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,20 +17,20 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.irc;
|
||||
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.arbitration.ArbitratorMessageService;
|
||||
import io.bitsquare.arbitration.Reputation;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.locale.CountryUtil;
|
||||
import io.bitsquare.locale.CurrencyUtil;
|
||||
import io.bitsquare.locale.LanguageUtil;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.util.DSAKeyUtil;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.core.ECKey;
|
||||
|
@ -17,15 +17,15 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.irc;
|
||||
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.gui.components.InputTextField;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
import io.bitsquare.util.Utilities;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
|
||||
import java.util.Currency;
|
||||
|
||||
|
@ -17,12 +17,12 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.irc;
|
||||
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.fiat.FiatAccountType;
|
||||
import io.bitsquare.gui.util.validation.BankAccountNumberValidator;
|
||||
import io.bitsquare.gui.util.validation.InputValidator;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.password;
|
||||
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.password;
|
||||
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.util.validation.InputValidator;
|
||||
import io.bitsquare.gui.util.validation.PasswordValidator;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -21,9 +21,9 @@ import io.bitsquare.btc.AddressEntry;
|
||||
import io.bitsquare.btc.FeePolicy;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.btc.listeners.BalanceListener;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.core.InsufficientMoneyException;
|
||||
|
@ -17,6 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.registration;
|
||||
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.gui.OverlayManager;
|
||||
import io.bitsquare.gui.components.AddressTextField;
|
||||
import io.bitsquare.gui.components.BalanceTextField;
|
||||
@ -24,9 +27,6 @@ import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -18,10 +18,10 @@
|
||||
package io.bitsquare.gui.main.account.content.registration;
|
||||
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.common.viewfx.model.WithDataModel;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
|
||||
import org.bitcoinj.core.Address;
|
||||
import org.bitcoinj.core.Coin;
|
||||
|
@ -17,19 +17,19 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.restrictions;
|
||||
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.arbitration.ArbitratorMessageService;
|
||||
import io.bitsquare.arbitration.Reputation;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.locale.CountryUtil;
|
||||
import io.bitsquare.locale.LanguageUtil;
|
||||
import io.bitsquare.locale.Region;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.util.DSAKeyUtil;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.core.ECKey;
|
||||
|
@ -18,18 +18,18 @@
|
||||
package io.bitsquare.gui.main.account.content.restrictions;
|
||||
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.gui.main.account.arbitrator.browser.ArbitratorBrowserView;
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
import io.bitsquare.gui.util.ImageUtil;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.locale.Region;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.gui.main.account.arbitrator.browser.ArbitratorBrowserView;
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
import io.bitsquare.gui.util.ImageUtil;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.locale.Region;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
|
@ -18,10 +18,10 @@
|
||||
package io.bitsquare.gui.main.account.content.restrictions;
|
||||
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.locale.Region;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.locale.Region;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.content.seedwords;
|
||||
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.gui.main.help.Help;
|
||||
import io.bitsquare.gui.main.help.HelpId;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -18,8 +18,8 @@
|
||||
package io.bitsquare.gui.main.account.content.seedwords;
|
||||
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -18,6 +18,13 @@
|
||||
package io.bitsquare.gui.main.account.settings;
|
||||
|
||||
import io.bitsquare.BitsquareException;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.ViewPath;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.account.AccountView;
|
||||
@ -27,13 +34,6 @@ import io.bitsquare.gui.main.account.content.registration.RegistrationView;
|
||||
import io.bitsquare.gui.main.account.content.restrictions.RestrictionsView;
|
||||
import io.bitsquare.gui.main.account.content.seedwords.SeedWordsView;
|
||||
import io.bitsquare.gui.util.Colors;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.ViewPath;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,6 +17,12 @@
|
||||
|
||||
package io.bitsquare.gui.main.account.setup;
|
||||
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.account.content.irc.IrcAccountView;
|
||||
@ -25,12 +31,6 @@ import io.bitsquare.gui.main.account.content.registration.RegistrationView;
|
||||
import io.bitsquare.gui.main.account.content.restrictions.RestrictionsView;
|
||||
import io.bitsquare.gui.main.account.content.seedwords.SeedWordsView;
|
||||
import io.bitsquare.gui.main.trade.BuyView;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.Wizard;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -29,6 +29,7 @@ import io.bitsquare.trade.protocol.placeoffer.tasks.BroadcastCreateOfferFeeTx;
|
||||
import io.bitsquare.trade.protocol.placeoffer.tasks.CreateOfferFeeTx;
|
||||
import io.bitsquare.trade.protocol.placeoffer.tasks.ValidateOffer;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererProtocol;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateOffererDepositTxInputs;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessPayoutTxPublishedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestDepositTxInputsMessage;
|
||||
@ -38,7 +39,6 @@ import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferStartedMe
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendDepositTxIdToTaker;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SignAndPublishDepositTx;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyAndSignContract;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakeOfferFeePayment;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakerAccount;
|
||||
|
@ -17,16 +17,16 @@
|
||||
|
||||
package io.bitsquare.gui.main.funds;
|
||||
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.funds.transactions.TransactionsView;
|
||||
import io.bitsquare.gui.main.funds.withdrawal.WithdrawalView;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.funds.transactions.TransactionsView;
|
||||
import io.bitsquare.gui.main.funds.withdrawal.WithdrawalView;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -18,11 +18,11 @@
|
||||
package io.bitsquare.gui.main.funds.transactions;
|
||||
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.util.Utilities;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
|
||||
import org.bitcoinj.core.Transaction;
|
||||
|
||||
|
@ -22,11 +22,11 @@ import io.bitsquare.btc.FeePolicy;
|
||||
import io.bitsquare.btc.Restrictions;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.btc.listeners.BalanceListener;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.util.Utilities;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
|
||||
import org.bitcoinj.core.AddressFormatException;
|
||||
import org.bitcoinj.core.Coin;
|
||||
|
@ -17,18 +17,18 @@
|
||||
|
||||
package io.bitsquare.gui.main.portfolio;
|
||||
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.portfolio.closed.ClosedTradesView;
|
||||
import io.bitsquare.gui.main.portfolio.offer.OffersView;
|
||||
import io.bitsquare.gui.main.portfolio.pending.PendingTradesView;
|
||||
import io.bitsquare.trade.TradeManager;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.portfolio.closed.ClosedTradesView;
|
||||
import io.bitsquare.gui.main.portfolio.offer.OffersView;
|
||||
import io.bitsquare.gui.main.portfolio.pending.PendingTradesView;
|
||||
import io.bitsquare.trade.TradeManager;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
package io.bitsquare.gui.main.portfolio.closed;
|
||||
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.offer.Direction;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.trade.TradeManager;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.portfolio.closed;
|
||||
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.portfolio.closed;
|
||||
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package io.bitsquare.gui.main.portfolio.offer;
|
||||
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.util.Utilities;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package io.bitsquare.gui.main.portfolio.offer;
|
||||
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -18,12 +18,12 @@
|
||||
package io.bitsquare.gui.main.portfolio.pending;
|
||||
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.gui.util.validation.BtcAddressValidator;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.utils.Fiat;
|
||||
|
@ -17,17 +17,17 @@
|
||||
|
||||
package io.bitsquare.gui.main.settings;
|
||||
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.settings.application.PreferencesView;
|
||||
import io.bitsquare.gui.main.settings.network.NetworkSettingsView;
|
||||
import io.bitsquare.user.Preferences;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.common.viewfx.view.CachingViewLoader;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.settings.application.PreferencesView;
|
||||
import io.bitsquare.gui.main.settings.network.NetworkSettingsView;
|
||||
import io.bitsquare.user.Preferences;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.settings.application;
|
||||
|
||||
import io.bitsquare.user.Preferences;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.user.Preferences;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
@ -18,9 +18,9 @@
|
||||
package io.bitsquare.gui.main.settings.network;
|
||||
|
||||
import io.bitsquare.btc.BitcoinNetwork;
|
||||
import io.bitsquare.network.ClientNode;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.InitializableView;
|
||||
import io.bitsquare.network.ClientNode;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.trade;
|
||||
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.trade;
|
||||
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.common.viewfx.view.FxmlView;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -17,6 +17,9 @@
|
||||
|
||||
package io.bitsquare.gui.main.trade;
|
||||
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.components.InputTextField;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
@ -26,9 +29,6 @@ import io.bitsquare.gui.main.trade.offerbook.OfferBookView;
|
||||
import io.bitsquare.gui.main.trade.takeoffer.TakeOfferView;
|
||||
import io.bitsquare.offer.Direction;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.common.viewfx.view.ActivatableView;
|
||||
import io.bitsquare.common.viewfx.view.View;
|
||||
import io.bitsquare.common.viewfx.view.ViewLoader;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.utils.Fiat;
|
||||
|
@ -17,22 +17,22 @@
|
||||
|
||||
package io.bitsquare.gui.main.trade.createoffer;
|
||||
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.arbitration.Arbitrator;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.btc.AddressEntry;
|
||||
import io.bitsquare.btc.FeePolicy;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.btc.listeners.BalanceListener;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.locale.Country;
|
||||
import io.bitsquare.offer.Direction;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.user.Preferences;
|
||||
import io.bitsquare.trade.TradeManager;
|
||||
import io.bitsquare.user.AccountSettings;
|
||||
import io.bitsquare.user.Preferences;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.utils.ExchangeRate;
|
||||
|
@ -18,14 +18,14 @@
|
||||
package io.bitsquare.gui.main.trade.createoffer;
|
||||
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.gui.util.validation.BtcValidator;
|
||||
import io.bitsquare.gui.util.validation.FiatValidator;
|
||||
import io.bitsquare.gui.util.validation.InputValidator;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.offer.Direction;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import org.bitcoinj.core.Address;
|
||||
import org.bitcoinj.core.Coin;
|
||||
|
@ -17,6 +17,10 @@
|
||||
|
||||
package io.bitsquare.gui.main.trade.offerbook;
|
||||
|
||||
import io.bitsquare.common.handlers.ErrorMessageHandler;
|
||||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.locale.Country;
|
||||
@ -24,13 +28,9 @@ import io.bitsquare.locale.CurrencyUtil;
|
||||
import io.bitsquare.offer.Direction;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.offer.OfferBook;
|
||||
import io.bitsquare.user.Preferences;
|
||||
import io.bitsquare.trade.TradeManager;
|
||||
import io.bitsquare.user.Preferences;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.common.handlers.ErrorMessageHandler;
|
||||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
import io.bitsquare.common.viewfx.model.Activatable;
|
||||
import io.bitsquare.common.viewfx.model.DataModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.utils.ExchangeRate;
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
package io.bitsquare.gui.main.trade.offerbook;
|
||||
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
import io.bitsquare.gui.components.Popups;
|
||||
import io.bitsquare.gui.util.BSFormatter;
|
||||
import io.bitsquare.gui.util.validation.InputValidator;
|
||||
@ -25,8 +27,6 @@ import io.bitsquare.gui.util.validation.OptionalFiatValidator;
|
||||
import io.bitsquare.locale.BSResources;
|
||||
import io.bitsquare.offer.Direction;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.common.viewfx.model.ActivatableWithDataModel;
|
||||
import io.bitsquare.common.viewfx.model.ViewModel;
|
||||
|
||||
import org.bitcoinj.core.Coin;
|
||||
import org.bitcoinj.utils.Fiat;
|
||||
|
@ -150,7 +150,7 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
|
||||
applyOfferState(offer.stateProperty().get());
|
||||
}
|
||||
|
||||
private void applyOfferState(Offer.State state) {
|
||||
private void applyOfferState(Offer.State state) {
|
||||
log.debug("offer state = " + state);
|
||||
|
||||
switch (state) {
|
||||
|
@ -28,5 +28,5 @@ public interface ClientNode {
|
||||
|
||||
Node getBootstrapNodeAddress();
|
||||
|
||||
public Observable<BootstrapState> bootstrap(KeyPair keyPair, MessageBroker messageBroker);
|
||||
public Observable<BootstrapState> bootstrap(KeyPair keyPair, MessageHandler messageHandler);
|
||||
}
|
||||
|
@ -17,9 +17,15 @@
|
||||
|
||||
package io.bitsquare.network;
|
||||
|
||||
/**
|
||||
* Interface for the object handling incoming messages.
|
||||
*/
|
||||
public interface MessageBroker {
|
||||
void handleMessage(Object message, Peer sender);
|
||||
|
||||
import io.bitsquare.network.listener.GetPeerAddressListener;
|
||||
|
||||
import java.security.PublicKey;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
public interface DHTService {
|
||||
void setExecutor(Executor executor);
|
||||
|
||||
void findPeerAddress(PublicKey messagePublicKey, GetPeerAddressListener getPeerAddressListener);
|
||||
}
|
@ -15,10 +15,7 @@
|
||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package io.bitsquare.trade.handlers;
|
||||
|
||||
import io.bitsquare.network.Message;
|
||||
import io.bitsquare.network.Peer;
|
||||
package io.bitsquare.network;
|
||||
|
||||
public interface MessageHandler {
|
||||
void handleMessage(Message message, Peer sender);
|
@ -17,15 +17,12 @@
|
||||
|
||||
package io.bitsquare.network;
|
||||
|
||||
import io.bitsquare.trade.handlers.MessageHandler;
|
||||
import io.bitsquare.trade.listeners.GetPeerAddressListener;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
|
||||
import java.security.PublicKey;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
public interface TradeMessageService extends MessageBroker {
|
||||
public interface MessageService extends MessageHandler {
|
||||
|
||||
void setExecutor(Executor executor);
|
||||
|
||||
@ -34,6 +31,4 @@ public interface TradeMessageService extends MessageBroker {
|
||||
void addMessageHandler(MessageHandler listener);
|
||||
|
||||
void removeMessageHandler(MessageHandler listener);
|
||||
|
||||
void findPeerAddress(PublicKey messagePublicKey, GetPeerAddressListener getPeerAddressListener);
|
||||
}
|
@ -15,7 +15,7 @@
|
||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package io.bitsquare.trade.listeners;
|
||||
package io.bitsquare.network.listener;
|
||||
|
||||
import io.bitsquare.network.Peer;
|
||||
|
@ -15,7 +15,7 @@
|
||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package io.bitsquare.trade.listeners;
|
||||
package io.bitsquare.network.listener;
|
||||
|
||||
public interface SendMessageListener {
|
||||
void handleFault();
|
@ -0,0 +1,93 @@
|
||||
/*
|
||||
* This file is part of Bitsquare.
|
||||
*
|
||||
* Bitsquare is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* Bitsquare is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package io.bitsquare.network.tomp2p;
|
||||
|
||||
import io.bitsquare.network.DHTService;
|
||||
import io.bitsquare.network.MessageHandler;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.network.listener.GetPeerAddressListener;
|
||||
|
||||
import java.security.PublicKey;
|
||||
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import net.tomp2p.dht.FutureGet;
|
||||
import net.tomp2p.futures.BaseFuture;
|
||||
import net.tomp2p.futures.BaseFutureAdapter;
|
||||
import net.tomp2p.peers.Number160;
|
||||
import net.tomp2p.utils.Utils;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
/**
|
||||
* That service delivers direct messaging and DHT functionality from the TomP2P library
|
||||
* It is the translating domain specific functionality to the messaging layer.
|
||||
* The TomP2P library codebase shall not be used outside that service.
|
||||
* That way we limit the dependency of the TomP2P library only to that class (and it's sub components).
|
||||
* <p/>
|
||||
*/
|
||||
public class TomP2PDHTService implements DHTService {
|
||||
private static final Logger log = LoggerFactory.getLogger(TomP2PDHTService.class);
|
||||
|
||||
private final TomP2PNode tomP2PNode;
|
||||
private final CopyOnWriteArrayList<MessageHandler> messageHandlers = new CopyOnWriteArrayList<>();
|
||||
private Executor executor;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Constructor
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public TomP2PDHTService(TomP2PNode tomP2PNode) {
|
||||
this.tomP2PNode = tomP2PNode;
|
||||
}
|
||||
|
||||
public void setExecutor(Executor executor) {
|
||||
this.executor = executor;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Find peer address by publicKey
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void findPeerAddress(PublicKey publicKey, GetPeerAddressListener listener) {
|
||||
final Number160 locationKey = Utils.makeSHAHash(publicKey.getEncoded());
|
||||
FutureGet futureGet = tomP2PNode.getDomainProtectedData(locationKey, publicKey);
|
||||
log.trace("findPeerAddress called");
|
||||
futureGet.addListener(new BaseFutureAdapter<BaseFuture>() {
|
||||
@Override
|
||||
public void operationComplete(BaseFuture baseFuture) throws Exception {
|
||||
if (baseFuture.isSuccess() && futureGet.data() != null) {
|
||||
final Peer peer = (Peer) futureGet.data().object();
|
||||
log.trace("Peer found in DHT. Peer = " + peer);
|
||||
executor.execute(() -> listener.onResult(peer));
|
||||
}
|
||||
else {
|
||||
log.error("getPeerAddress failed. failedReason = " + baseFuture.failedReason());
|
||||
executor.execute(listener::onFailed);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -18,24 +18,17 @@
|
||||
package io.bitsquare.network.tomp2p;
|
||||
|
||||
import io.bitsquare.network.Message;
|
||||
import io.bitsquare.network.MessageHandler;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.trade.handlers.MessageHandler;
|
||||
import io.bitsquare.trade.listeners.GetPeerAddressListener;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
|
||||
import java.security.PublicKey;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import net.tomp2p.dht.FutureGet;
|
||||
import net.tomp2p.futures.BaseFuture;
|
||||
import net.tomp2p.futures.BaseFutureAdapter;
|
||||
import net.tomp2p.futures.BaseFutureListener;
|
||||
import net.tomp2p.futures.FutureDirect;
|
||||
import net.tomp2p.peers.Number160;
|
||||
import net.tomp2p.utils.Utils;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -48,7 +41,7 @@ import org.slf4j.LoggerFactory;
|
||||
* That way we limit the dependency of the TomP2P library only to that class (and it's sub components).
|
||||
* <p/>
|
||||
*/
|
||||
public class TomP2PMessageService implements TradeMessageService {
|
||||
public class TomP2PMessageService implements MessageService {
|
||||
private static final Logger log = LoggerFactory.getLogger(TomP2PMessageService.class);
|
||||
|
||||
private final TomP2PNode tomP2PNode;
|
||||
@ -64,39 +57,17 @@ public class TomP2PMessageService implements TradeMessageService {
|
||||
this.tomP2PNode = tomP2PNode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExecutor(Executor executor) {
|
||||
this.executor = executor;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Find peer address by publicKey
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public void findPeerAddress(PublicKey publicKey, GetPeerAddressListener listener) {
|
||||
final Number160 locationKey = Utils.makeSHAHash(publicKey.getEncoded());
|
||||
FutureGet futureGet = tomP2PNode.getDomainProtectedData(locationKey, publicKey);
|
||||
log.trace("findPeerAddress called");
|
||||
futureGet.addListener(new BaseFutureAdapter<BaseFuture>() {
|
||||
@Override
|
||||
public void operationComplete(BaseFuture baseFuture) throws Exception {
|
||||
if (baseFuture.isSuccess() && futureGet.data() != null) {
|
||||
final Peer peer = (Peer) futureGet.data().object();
|
||||
log.trace("Peer found in DHT. Peer = " + peer);
|
||||
executor.execute(() -> listener.onResult(peer));
|
||||
}
|
||||
else {
|
||||
log.error("getPeerAddress failed. failedReason = " + baseFuture.failedReason());
|
||||
executor.execute(listener::onFailed);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Trade messages
|
||||
// Messages
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void sendMessage(Peer peer, Message message, SendMessageListener listener) {
|
||||
if (!(peer instanceof TomP2PPeer)) {
|
||||
throw new IllegalArgumentException("peer must be of type TomP2PPeer");
|
||||
@ -126,11 +97,13 @@ public class TomP2PMessageService implements TradeMessageService {
|
||||
// Event Listeners
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void addMessageHandler(MessageHandler listener) {
|
||||
if (!messageHandlers.add(listener))
|
||||
throw new RuntimeException("Add listener did not change list. Probably listener has been already added.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMessageHandler(MessageHandler listener) {
|
||||
if (!messageHandlers.remove(listener))
|
||||
throw new RuntimeException("Try to remove listener which was never added.");
|
||||
@ -142,8 +115,8 @@ public class TomP2PMessageService implements TradeMessageService {
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void handleMessage(Object message, Peer sender) {
|
||||
if (message instanceof Message && sender instanceof TomP2PPeer) {
|
||||
public void handleMessage(Message message, Peer sender) {
|
||||
if (sender instanceof TomP2PPeer) {
|
||||
executor.execute(() -> messageHandlers.stream().forEach(e -> e.handleMessage((Message) message, sender)));
|
||||
}
|
||||
}
|
||||
|
@ -19,9 +19,10 @@ package io.bitsquare.network.tomp2p;
|
||||
|
||||
import io.bitsquare.network.BootstrapNodes;
|
||||
import io.bitsquare.network.ClientNode;
|
||||
import io.bitsquare.network.DHTService;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.network.NetworkModule;
|
||||
import io.bitsquare.network.Node;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
|
||||
import com.google.inject.Injector;
|
||||
import com.google.inject.Provider;
|
||||
@ -51,7 +52,8 @@ public class TomP2PNetworkModule extends NetworkModule {
|
||||
protected void doConfigure() {
|
||||
bind(ClientNode.class).to(TomP2PNode.class).in(Singleton.class);
|
||||
bind(TomP2PNode.class).in(Singleton.class);
|
||||
bind(TradeMessageService.class).toProvider(TomP2PTradeMessageServiceProvider.class).in(Singleton.class);
|
||||
bind(MessageService.class).toProvider(TomP2PMessageServiceProvider.class).in(Singleton.class);
|
||||
bind(DHTService.class).toProvider(TomP2PDHTServiceProvider.class).in(Singleton.class);
|
||||
|
||||
bind(int.class).annotatedWith(Names.named(Node.PORT_KEY)).toInstance(env.getProperty(Node.PORT_KEY, int.class, Node.DEFAULT_PORT));
|
||||
bind(boolean.class).annotatedWith(Names.named(USE_MANUAL_PORT_FORWARDING_KEY)).toInstance(
|
||||
@ -76,16 +78,31 @@ public class TomP2PNetworkModule extends NetworkModule {
|
||||
injector.getInstance(BootstrappedPeerBuilder.class).shutDown();
|
||||
}
|
||||
}
|
||||
class TomP2PTradeMessageServiceProvider implements Provider<TradeMessageService> {
|
||||
private final TradeMessageService tradeMessageService;
|
||||
|
||||
class TomP2PMessageServiceProvider implements Provider<MessageService> {
|
||||
private final MessageService messageService;
|
||||
|
||||
@Inject
|
||||
public TomP2PTradeMessageServiceProvider(TomP2PNode tomP2PNode) {
|
||||
tradeMessageService = new TomP2PMessageService(tomP2PNode);
|
||||
tradeMessageService.setExecutor(Platform::runLater);
|
||||
public TomP2PMessageServiceProvider(TomP2PNode tomP2PNode) {
|
||||
messageService = new TomP2PMessageService(tomP2PNode);
|
||||
messageService.setExecutor(Platform::runLater);
|
||||
}
|
||||
|
||||
public TradeMessageService get() {
|
||||
return tradeMessageService;
|
||||
public MessageService get() {
|
||||
return messageService;
|
||||
}
|
||||
}
|
||||
|
||||
class TomP2PDHTServiceProvider implements Provider<DHTService> {
|
||||
private final DHTService dhtService;
|
||||
|
||||
@Inject
|
||||
public TomP2PDHTServiceProvider(TomP2PNode tomP2PNode) {
|
||||
dhtService = new TomP2PDHTService(tomP2PNode);
|
||||
dhtService.setExecutor(Platform::runLater);
|
||||
}
|
||||
|
||||
public DHTService get() {
|
||||
return dhtService;
|
||||
}
|
||||
}
|
@ -21,7 +21,8 @@ import io.bitsquare.BitsquareException;
|
||||
import io.bitsquare.network.BootstrapState;
|
||||
import io.bitsquare.network.ClientNode;
|
||||
import io.bitsquare.network.ConnectionType;
|
||||
import io.bitsquare.network.MessageBroker;
|
||||
import io.bitsquare.network.Message;
|
||||
import io.bitsquare.network.MessageHandler;
|
||||
import io.bitsquare.network.NetworkException;
|
||||
import io.bitsquare.network.Node;
|
||||
|
||||
@ -104,7 +105,7 @@ public class TomP2PNode implements ClientNode {
|
||||
// Public methods
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public Observable<BootstrapState> bootstrap(KeyPair keyPair, MessageBroker messageBroker) {
|
||||
public Observable<BootstrapState> bootstrap(KeyPair keyPair, MessageHandler messageHandler) {
|
||||
checkNotNull(keyPair, "keyPair must not be null.");
|
||||
|
||||
this.keyPair = keyPair;
|
||||
@ -125,7 +126,7 @@ public class TomP2PNode implements ClientNode {
|
||||
TomP2PNode.this.peerDHT = peerDHT;
|
||||
setupTimerForIPCheck();
|
||||
setupTimerForStoreAddress();
|
||||
setupReplyHandler(messageBroker);
|
||||
setupReplyHandler(messageHandler);
|
||||
try {
|
||||
storeAddress();
|
||||
} catch (NetworkException e) {
|
||||
@ -186,7 +187,7 @@ public class TomP2PNode implements ClientNode {
|
||||
public Node getBootstrapNodeAddress() {
|
||||
return bootstrappedPeerBuilder.getBootstrapNode();
|
||||
}
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Generic DHT methods
|
||||
@ -333,14 +334,16 @@ public class TomP2PNode implements ClientNode {
|
||||
// Private
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
private void setupReplyHandler(MessageBroker messageBroker) {
|
||||
private void setupReplyHandler(MessageHandler messageHandler) {
|
||||
peerDHT.peer().objectDataReply((sender, request) -> {
|
||||
log.debug("handleMessage peerAddress " + sender);
|
||||
log.debug("handleMessage message " + request);
|
||||
|
||||
if (!sender.equals(peerDHT.peer().peerAddress())) {
|
||||
if (messageBroker != null)
|
||||
messageBroker.handleMessage(request, new TomP2PPeer(sender));
|
||||
if (request instanceof Message)
|
||||
messageHandler.handleMessage((Message) request, new TomP2PPeer(sender));
|
||||
else
|
||||
throw new RuntimeException("We got an object which is not type of Message. That must never happen. Request object = " + request);
|
||||
}
|
||||
else {
|
||||
throw new RuntimeException("Received msg from myself. That must never happen.");
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package io.bitsquare.offer.tomp2p;
|
||||
|
||||
import io.bitsquare.common.handlers.FaultHandler;
|
||||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
import io.bitsquare.network.tomp2p.TomP2PNode;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.offer.OfferBookService;
|
||||
import io.bitsquare.common.handlers.FaultHandler;
|
||||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
@ -23,16 +23,17 @@ import io.bitsquare.common.handlers.ErrorMessageHandler;
|
||||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
import io.bitsquare.crypto.SignatureService;
|
||||
import io.bitsquare.fiat.FiatAccount;
|
||||
import io.bitsquare.network.DHTService;
|
||||
import io.bitsquare.network.Message;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.offer.Direction;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.offer.OfferBookService;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.trade.handlers.TradeResultHandler;
|
||||
import io.bitsquare.trade.handlers.TransactionResultHandler;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.availability.CheckOfferAvailabilityModel;
|
||||
import io.bitsquare.trade.protocol.availability.CheckOfferAvailabilityProtocol;
|
||||
import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailabilityMessage;
|
||||
@ -70,7 +71,8 @@ public class TradeManager {
|
||||
private final User user;
|
||||
private final AccountSettings accountSettings;
|
||||
private final Persistence persistence;
|
||||
private final TradeMessageService tradeMessageService;
|
||||
private final MessageService messageService;
|
||||
private final DHTService dhtService;
|
||||
private final BlockChainService blockChainService;
|
||||
private final WalletService walletService;
|
||||
private final SignatureService signatureService;
|
||||
@ -93,13 +95,14 @@ public class TradeManager {
|
||||
|
||||
@Inject
|
||||
public TradeManager(User user, AccountSettings accountSettings, Persistence persistence,
|
||||
TradeMessageService tradeMessageService, BlockChainService blockChainService,
|
||||
MessageService messageService, DHTService dhtService, BlockChainService blockChainService,
|
||||
WalletService walletService, SignatureService signatureService,
|
||||
OfferBookService offerBookService) {
|
||||
this.user = user;
|
||||
this.accountSettings = accountSettings;
|
||||
this.persistence = persistence;
|
||||
this.tradeMessageService = tradeMessageService;
|
||||
this.messageService = messageService;
|
||||
this.dhtService = dhtService;
|
||||
this.blockChainService = blockChainService;
|
||||
this.walletService = walletService;
|
||||
this.signatureService = signatureService;
|
||||
@ -120,7 +123,7 @@ public class TradeManager {
|
||||
closedTrades.putAll((Map<String, Trade>) closedTradesObject);
|
||||
}
|
||||
|
||||
tradeMessageService.addMessageHandler(this::handleMessage);
|
||||
messageService.addMessageHandler(this::handleMessage);
|
||||
}
|
||||
|
||||
// When all services are initialized we create the protocols for our open offers and persisted not completed pendingTrades
|
||||
@ -148,7 +151,8 @@ public class TradeManager {
|
||||
if (!checkOfferAvailabilityProtocolMap.containsKey(offer.getId())) {
|
||||
CheckOfferAvailabilityModel model = new CheckOfferAvailabilityModel(
|
||||
offer,
|
||||
tradeMessageService);
|
||||
messageService,
|
||||
dhtService);
|
||||
|
||||
CheckOfferAvailabilityProtocol protocol = new CheckOfferAvailabilityProtocol(model,
|
||||
() -> disposeCheckOfferAvailabilityRequest(offer),
|
||||
@ -211,7 +215,7 @@ public class TradeManager {
|
||||
}
|
||||
|
||||
public void requestTakeOffer(Coin amount, Offer offer, TradeResultHandler tradeResultHandler) {
|
||||
CheckOfferAvailabilityModel model = new CheckOfferAvailabilityModel(offer, tradeMessageService);
|
||||
CheckOfferAvailabilityModel model = new CheckOfferAvailabilityModel(offer, messageService, dhtService);
|
||||
CheckOfferAvailabilityProtocol protocol = new CheckOfferAvailabilityProtocol(model,
|
||||
() -> {
|
||||
disposeCheckOfferAvailabilityRequest(offer);
|
||||
@ -255,7 +259,7 @@ public class TradeManager {
|
||||
SellerAsTakerModel model = new SellerAsTakerModel(
|
||||
trade,
|
||||
peer,
|
||||
tradeMessageService,
|
||||
messageService,
|
||||
walletService,
|
||||
blockChainService,
|
||||
signatureService,
|
||||
@ -323,7 +327,7 @@ public class TradeManager {
|
||||
checkNotNull(offerId);
|
||||
|
||||
ReportOfferAvailabilityMessage reportOfferAvailabilityMessage = new ReportOfferAvailabilityMessage(offerId, isOfferOpen(offerId));
|
||||
tradeMessageService.sendMessage(sender, reportOfferAvailabilityMessage, new SendMessageListener() {
|
||||
messageService.sendMessage(sender, reportOfferAvailabilityMessage, new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
// Offerer does not do anything at that moment. Peer might only watch the offer and does nto start a trade.
|
||||
@ -396,7 +400,7 @@ public class TradeManager {
|
||||
|
||||
BuyerAsOffererModel model = new BuyerAsOffererModel(
|
||||
trade,
|
||||
tradeMessageService,
|
||||
messageService,
|
||||
walletService,
|
||||
blockChainService,
|
||||
signatureService,
|
||||
@ -418,7 +422,7 @@ public class TradeManager {
|
||||
() -> log.debug("remove offer was successful"),
|
||||
(message) -> log.error(message),
|
||||
false);
|
||||
|
||||
|
||||
// after we have published the deposit tx we add that trade to the pendingTrades
|
||||
if (pendingTrades.containsKey(trade.getId()))
|
||||
log.error("That must never happen: Trades contains already an trade with the ID " + trade.getId());
|
||||
|
@ -18,9 +18,10 @@
|
||||
package io.bitsquare.trade.protocol.availability;
|
||||
|
||||
import io.bitsquare.common.taskrunner.SharedTaskModel;
|
||||
import io.bitsquare.network.DHTService;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.trade.protocol.trade.messages.OfferMessage;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
@ -30,14 +31,16 @@ public class CheckOfferAvailabilityModel extends SharedTaskModel {
|
||||
private static final Logger log = LoggerFactory.getLogger(CheckOfferAvailabilityModel.class);
|
||||
|
||||
public final Offer offer;
|
||||
public final TradeMessageService tradeMessageService;
|
||||
public final MessageService messageService;
|
||||
public final DHTService dhtService;
|
||||
|
||||
private Peer peer;
|
||||
private OfferMessage message;
|
||||
|
||||
public CheckOfferAvailabilityModel(Offer offer, TradeMessageService tradeMessageService) {
|
||||
public CheckOfferAvailabilityModel(Offer offer, MessageService messageService, DHTService dhtService) {
|
||||
this.offer = offer;
|
||||
this.tradeMessageService = tradeMessageService;
|
||||
this.messageService = messageService;
|
||||
this.dhtService = dhtService;
|
||||
}
|
||||
|
||||
public Peer getPeer() {
|
||||
|
@ -21,8 +21,8 @@ import io.bitsquare.common.handlers.ErrorMessageHandler;
|
||||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.network.Message;
|
||||
import io.bitsquare.network.MessageHandler;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.MessageHandler;
|
||||
import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailabilityMessage;
|
||||
import io.bitsquare.trade.protocol.availability.tasks.GetPeerAddress;
|
||||
import io.bitsquare.trade.protocol.availability.tasks.ProcessReportOfferAvailabilityMessage;
|
||||
@ -55,7 +55,7 @@ public class CheckOfferAvailabilityProtocol {
|
||||
}
|
||||
|
||||
public void cleanup() {
|
||||
model.tradeMessageService.removeMessageHandler(messageHandler);
|
||||
model.messageService.removeMessageHandler(messageHandler);
|
||||
}
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ public class CheckOfferAvailabilityProtocol {
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public void checkOfferAvailability() {
|
||||
model.tradeMessageService.addMessageHandler(messageHandler);
|
||||
model.messageService.addMessageHandler(messageHandler);
|
||||
|
||||
taskRunner = new TaskRunner<>(model,
|
||||
() -> {
|
||||
|
@ -21,7 +21,6 @@ import io.bitsquare.trade.protocol.trade.messages.OfferMessage;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
// That msg is used to ping the offerer if he is online and if the offer is still available
|
||||
public class RequestIsOfferAvailableMessage extends OfferMessage implements Serializable {
|
||||
private static final long serialVersionUID = 4630151440192191798L;
|
||||
|
||||
|
@ -20,8 +20,8 @@ package io.bitsquare.trade.protocol.availability.tasks;
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.network.listener.GetPeerAddressListener;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.trade.listeners.GetPeerAddressListener;
|
||||
import io.bitsquare.trade.protocol.availability.CheckOfferAvailabilityModel;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
@ -39,7 +39,7 @@ public class GetPeerAddress extends Task<CheckOfferAvailabilityModel> {
|
||||
@Override
|
||||
protected void doRun() {
|
||||
try {
|
||||
model.tradeMessageService.findPeerAddress(model.offer.getMessagePublicKey(), new GetPeerAddressListener() {
|
||||
model.dhtService.findPeerAddress(model.offer.getMessagePublicKey(), new GetPeerAddressListener() {
|
||||
@Override
|
||||
public void onResult(Peer peer) {
|
||||
model.setPeer(peer);
|
||||
|
@ -19,8 +19,8 @@ package io.bitsquare.trade.protocol.availability.tasks;
|
||||
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.availability.CheckOfferAvailabilityModel;
|
||||
import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailableMessage;
|
||||
|
||||
@ -37,7 +37,7 @@ public class RequestIsOfferAvailable extends Task<CheckOfferAvailabilityModel> {
|
||||
@Override
|
||||
protected void doRun() {
|
||||
try {
|
||||
model.tradeMessageService.sendMessage(model.getPeer(), new RequestIsOfferAvailableMessage(model.offer.getId()),
|
||||
model.messageService.sendMessage(model.getPeer(), new RequestIsOfferAvailableMessage(model.offer.getId()),
|
||||
new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
|
@ -22,9 +22,9 @@ import io.bitsquare.btc.TradeWalletService;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.common.taskrunner.SharedTaskModel;
|
||||
import io.bitsquare.crypto.SignatureService;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.trade.protocol.trade.messages.TradeMessage;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -38,7 +38,7 @@ public class SharedTradeModel extends SharedTaskModel implements Serializable {
|
||||
|
||||
// provided
|
||||
transient public final Offer offer;
|
||||
transient public final TradeMessageService tradeMessageService;
|
||||
transient public final MessageService messageService;
|
||||
transient public final WalletService walletService;
|
||||
transient public final BlockChainService blockChainService;
|
||||
transient public final SignatureService signatureService;
|
||||
@ -53,13 +53,13 @@ public class SharedTradeModel extends SharedTaskModel implements Serializable {
|
||||
transient private TradeMessage tradeMessage;
|
||||
|
||||
protected SharedTradeModel(Offer offer,
|
||||
TradeMessageService tradeMessageService,
|
||||
MessageService messageService,
|
||||
WalletService walletService,
|
||||
BlockChainService blockChainService,
|
||||
SignatureService signatureService,
|
||||
Persistence persistence) {
|
||||
this.offer = offer;
|
||||
this.tradeMessageService = tradeMessageService;
|
||||
this.messageService = messageService;
|
||||
this.walletService = walletService;
|
||||
this.blockChainService = blockChainService;
|
||||
this.signatureService = signatureService;
|
||||
|
@ -18,14 +18,15 @@
|
||||
package io.bitsquare.trade.protocol.trade.offerer;
|
||||
|
||||
import io.bitsquare.network.Message;
|
||||
import io.bitsquare.network.MessageHandler;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.trade.handlers.MessageHandler;
|
||||
import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
||||
import io.bitsquare.trade.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
||||
import io.bitsquare.trade.protocol.trade.messages.TradeMessage;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateOffererDepositTxInputs;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessPayoutTxPublishedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestDepositTxInputsMessage;
|
||||
@ -35,7 +36,6 @@ import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferStartedMe
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendDepositTxIdToTaker;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SignAndPublishDepositTx;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyAndSignContract;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakeOfferFeePayment;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakerAccount;
|
||||
@ -67,7 +67,7 @@ public class BuyerAsOffererProtocol {
|
||||
this.model = model;
|
||||
messageHandler = this::handleMessage;
|
||||
|
||||
model.tradeMessageService.addMessageHandler(messageHandler);
|
||||
model.messageService.addMessageHandler(messageHandler);
|
||||
}
|
||||
|
||||
|
||||
@ -77,11 +77,11 @@ public class BuyerAsOffererProtocol {
|
||||
|
||||
public void cleanup() {
|
||||
log.debug("cleanup " + this);
|
||||
|
||||
|
||||
// tradeMessageService and transactionConfidence use CopyOnWriteArrayList as listeners, but be safe and delay remove a bit.
|
||||
Platform.runLater(() -> {
|
||||
model.tradeMessageService.removeMessageHandler(messageHandler);
|
||||
|
||||
model.messageService.removeMessageHandler(messageHandler);
|
||||
|
||||
if (transactionConfidence != null) {
|
||||
if (!transactionConfidence.removeEventListener(transactionConfidenceListener))
|
||||
throw new RuntimeException("Remove transactionConfidenceListener failed at BuyerAsOffererProtocol.");
|
||||
@ -180,7 +180,7 @@ public class BuyerAsOffererProtocol {
|
||||
BuyerAsOffererTaskRunner<BuyerAsOffererModel> taskRunner = new BuyerAsOffererTaskRunner<>(model,
|
||||
() -> {
|
||||
log.debug("sequence at handlePayoutTxPublishedMessage completed");
|
||||
|
||||
|
||||
// we are done!
|
||||
model.onComplete();
|
||||
},
|
||||
|
@ -20,9 +20,9 @@ package io.bitsquare.trade.protocol.trade.offerer.models;
|
||||
import io.bitsquare.btc.BlockChainService;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.crypto.SignatureService;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.trade.protocol.trade.SharedTradeModel;
|
||||
import io.bitsquare.user.User;
|
||||
|
||||
@ -43,14 +43,14 @@ public class BuyerAsOffererModel extends SharedTradeModel implements Serializabl
|
||||
private String takeOfferFeeTxId;
|
||||
|
||||
public BuyerAsOffererModel(Trade trade,
|
||||
TradeMessageService tradeMessageService,
|
||||
MessageService messageService,
|
||||
WalletService walletService,
|
||||
BlockChainService blockChainService,
|
||||
SignatureService signatureService,
|
||||
User user,
|
||||
Persistence persistence) {
|
||||
super(trade.getOffer(),
|
||||
tradeMessageService,
|
||||
messageService,
|
||||
walletService,
|
||||
blockChainService,
|
||||
signatureService,
|
||||
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositPaymentMessage;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||
|
||||
@ -43,7 +43,7 @@ public class RequestDepositPayment extends Task<BuyerAsOffererModel> {
|
||||
model.offerer.fiatAccount,
|
||||
model.offerer.accountId);
|
||||
|
||||
model.tradeMessageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() {
|
||||
model.messageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
log.trace("RequestTakerDepositPaymentMessage successfully arrived at peer");
|
||||
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.trade.messages.BankTransferStartedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||
|
||||
@ -41,7 +41,7 @@ public class SendBankTransferStartedMessage extends Task<BuyerAsOffererModel> {
|
||||
model.offerer.payoutAmount,
|
||||
model.taker.payoutAmount,
|
||||
model.offerer.addressEntry.getAddressString());
|
||||
model.tradeMessageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() {
|
||||
model.messageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
log.trace("Sending BankTransferInitedMessage succeeded.");
|
||||
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||
|
||||
@ -37,7 +37,7 @@ public class SendDepositTxIdToTaker extends Task<BuyerAsOffererModel> {
|
||||
protected void doRun() {
|
||||
DepositTxPublishedMessage tradeMessage = new DepositTxPublishedMessage(model.id, model.trade.getDepositTx());
|
||||
|
||||
model.tradeMessageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() {
|
||||
model.messageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
log.trace("DepositTxPublishedMessage successfully arrived at peer");
|
||||
|
@ -18,9 +18,9 @@
|
||||
package io.bitsquare.trade.protocol.trade.taker;
|
||||
|
||||
import io.bitsquare.network.Message;
|
||||
import io.bitsquare.network.MessageHandler;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.trade.handlers.MessageHandler;
|
||||
import io.bitsquare.trade.protocol.trade.messages.BankTransferStartedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositPaymentMessage;
|
||||
@ -68,7 +68,7 @@ public class SellerAsTakerProtocol {
|
||||
log.debug("New SellerAsTakerProtocol " + this);
|
||||
this.model = model;
|
||||
messageHandler = this::handleMessage;
|
||||
model.tradeMessageService.addMessageHandler(messageHandler);
|
||||
model.messageService.addMessageHandler(messageHandler);
|
||||
}
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ public class SellerAsTakerProtocol {
|
||||
|
||||
public void cleanup() {
|
||||
log.debug("cleanup " + this);
|
||||
model.tradeMessageService.removeMessageHandler(messageHandler);
|
||||
model.messageService.removeMessageHandler(messageHandler);
|
||||
}
|
||||
|
||||
public void takeAvailableOffer() {
|
||||
|
@ -20,10 +20,10 @@ package io.bitsquare.trade.protocol.trade.taker.models;
|
||||
import io.bitsquare.btc.BlockChainService;
|
||||
import io.bitsquare.btc.WalletService;
|
||||
import io.bitsquare.crypto.SignatureService;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.trade.protocol.trade.SharedTradeModel;
|
||||
import io.bitsquare.user.User;
|
||||
|
||||
@ -48,14 +48,14 @@ public class SellerAsTakerModel extends SharedTradeModel implements Serializable
|
||||
|
||||
public SellerAsTakerModel(Trade trade,
|
||||
Peer offererPeer,
|
||||
TradeMessageService tradeMessageService,
|
||||
MessageService messageService,
|
||||
WalletService walletService,
|
||||
BlockChainService blockChainService,
|
||||
SignatureService signatureService,
|
||||
User user,
|
||||
Persistence persistence) {
|
||||
super(trade.getOffer(),
|
||||
tradeMessageService,
|
||||
messageService,
|
||||
walletService,
|
||||
blockChainService,
|
||||
signatureService,
|
||||
|
@ -55,7 +55,7 @@ public class BroadcastTakeOfferFeeTx extends Task<SellerAsTakerModel> {
|
||||
@Override
|
||||
public void onFailure(@NotNull Throwable t) {
|
||||
model.trade.setState(Trade.State.TAKE_OFFER_FEE_PUBLISH_FAILED);
|
||||
|
||||
|
||||
failed(t);
|
||||
}
|
||||
});
|
||||
|
@ -44,7 +44,7 @@ public class ProcessDepositTxPublishedMessage extends Task<SellerAsTakerModel> {
|
||||
DepositTxPublishedMessage message = (DepositTxPublishedMessage) model.getTradeMessage();
|
||||
model.trade.setDepositTx(checkNotNull(message.depositTx));
|
||||
model.trade.setState(Trade.State.DEPOSIT_PUBLISHED);
|
||||
|
||||
|
||||
complete();
|
||||
} catch (Throwable t) {
|
||||
failed(t);
|
||||
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage;
|
||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||
|
||||
@ -36,7 +36,7 @@ public class SendPayoutTxToOfferer extends Task<SellerAsTakerModel> {
|
||||
@Override
|
||||
protected void doRun() {
|
||||
PayoutTxPublishedMessage tradeMessage = new PayoutTxPublishedMessage(model.id, model.getPayoutTx());
|
||||
model.tradeMessageService.sendMessage(model.offerer.peer, tradeMessage, new SendMessageListener() {
|
||||
model.messageService.sendMessage(model.offerer.peer, tradeMessage, new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
log.trace("PayoutTxPublishedMessage successfully arrived at peer");
|
||||
|
@ -19,8 +19,8 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||
|
||||
@ -47,7 +47,7 @@ public class SendRequestDepositTxInputsMessage extends Task<SellerAsTakerModel>
|
||||
model.taker.pubKey
|
||||
);
|
||||
|
||||
model.tradeMessageService.sendMessage(model.offerer.peer, msg, new SendMessageListener() {
|
||||
model.messageService.sendMessage(model.offerer.peer, msg, new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
log.trace("Sending TakeOfferFeePayedMessage succeeded.");
|
||||
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||
|
||||
import io.bitsquare.common.taskrunner.Task;
|
||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||
import io.bitsquare.network.listener.SendMessageListener;
|
||||
import io.bitsquare.trade.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||
|
||||
@ -48,7 +48,7 @@ public class SendSignedTakerDepositTx extends Task<SellerAsTakerModel> {
|
||||
model.taker.outputs
|
||||
);
|
||||
|
||||
model.tradeMessageService.sendMessage(model.offerer.peer, tradeMessage, new SendMessageListener() {
|
||||
model.messageService.sendMessage(model.offerer.peer, tradeMessage, new SendMessageListener() {
|
||||
@Override
|
||||
public void handleResult() {
|
||||
complete();
|
||||
|
@ -62,7 +62,7 @@ public class TakerCreatesAndSignsDepositTx extends Task<SellerAsTakerModel> {
|
||||
Trade.State state = Trade.State.FAULT;
|
||||
state.setErrorMessage(errorMessage);
|
||||
model.trade.setState(state);
|
||||
|
||||
|
||||
failed(e);
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ import io.bitsquare.offer.Offer;
|
||||
import io.bitsquare.offer.OfferBookService;
|
||||
import io.bitsquare.offer.tomp2p.TomP2POfferBookService;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
import io.bitsquare.network.TradeMessageService;
|
||||
import io.bitsquare.network.MessageService;
|
||||
import io.bitsquare.network.tomp2p.TomP2PMessageService;
|
||||
import io.bitsquare.user.User;
|
||||
import io.bitsquare.util.DSAKeyUtil;
|
||||
@ -74,7 +74,7 @@ public class PlaceOfferProtocolTest {
|
||||
private static final Logger log = LoggerFactory.getLogger(PlaceOfferProtocolTest.class);
|
||||
|
||||
private WalletService walletService;
|
||||
private TradeMessageService tradeMessageService;
|
||||
private MessageService messageService;
|
||||
private OfferBookService offerBookService;
|
||||
private final File dir = new File("./temp");
|
||||
private final static String OFFER_ID = "offerID";
|
||||
@ -96,9 +96,9 @@ public class PlaceOfferProtocolTest {
|
||||
user.applyPersistedUser(null);
|
||||
bootstrappedPeerBuilder = new BootstrappedPeerBuilder(Node.DEFAULT_PORT, false, bootstrapNode, "<unspecified>");
|
||||
tomP2PNode = new TomP2PNode(bootstrappedPeerBuilder);
|
||||
tradeMessageService = new TomP2PMessageService(tomP2PNode);
|
||||
messageService = new TomP2PMessageService(tomP2PNode);
|
||||
|
||||
Observable<BootstrapState> messageObservable = tomP2PNode.bootstrap(user.getMessageKeyPair(), tradeMessageService);
|
||||
Observable<BootstrapState> messageObservable = tomP2PNode.bootstrap(user.getMessageKeyPair(), messageService);
|
||||
messageObservable.publish();
|
||||
messageObservable.subscribe(
|
||||
state -> log.trace("state changed: " + state),
|
||||
|
Loading…
x
Reference in New Issue
Block a user