Merge pull request #776 from bitsquare/messages-refactoring

Messages refactoring
This commit is contained in:
Manfred Karrer 2017-03-16 11:56:28 -05:00 committed by GitHub
commit 7992e081d8
430 changed files with 2298 additions and 2056 deletions

View file

@ -22,10 +22,5 @@
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.2.0</version>
</dependency>
</dependencies>
</project>

View file

@ -8,7 +8,7 @@ public class DevEnv {
// The UI got set the private dev key so the developer does not need to do anything and can test those features.
// Features: Arbitration registration (alt+R at account), Alert/Update (alt+m), private message to a
// peer (click user icon and alt+r), filter/block offers by various data like offer ID (cmd + f).
// The user can set a program argument to ignore all of those privileged messages. They are intended for
// The user can set a program argument to ignore all of those privileged network_messages. They are intended for
// emergency cases only (beside update message and arbitrator registration).
public static final boolean USE_DEV_PRIVILEGE_KEYS = true;
public static final String DEV_PRIVILEGE_PUB_KEY = "027a381b5333a56e1cc3d90d3a7d07f26509adf7029ed06fc997c656621f8da1ee";

View file

@ -15,9 +15,8 @@
* along with bisq. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bisq.messages.locale;
package io.bisq.locale;
import io.bisq.locale.Res;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View file

@ -15,7 +15,7 @@
* along with bisq. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bisq.messages.locale;
package io.bisq.locale;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;

View file

@ -15,7 +15,7 @@
* along with bisq. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bisq.messages.locale;
package io.bisq.locale;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;

View file

@ -290,7 +290,7 @@ offerbook.nrOffers=No. of offers: {0}
offerbook.volume={0} (min - max)
# e.g: Create new offer to buy BTC - {0} buy or sell, {1} BTC or other currency like ETH
offerbook.createOfferTo=Create new offer to {0} {1}
# postfix to previous. e.g.: Create new offer to buy BTC with ETH or Create new offer to sell BTC for ETH
# postfix to previous. e.g.: Create new offer to buy BTC with ETH or Create new offer to sell BTC for ETH
offerbook.buyWithOtherCurrency=with {0}
offerbook.sellForOtherCurrency=for {0}
offerbook.wantTo=I want to:

View file

@ -290,7 +290,7 @@ offerbook.nrOffers=No. of offers: {0}
offerbook.volume={0} (min - max)
# e.g: Create new offer to buy BTC - {0} buy or sell, {1} BTC or other currency like ETH
offerbook.createOfferTo=Create new offer to {0} {1}
# postfix to previous. e.g.: Create new offer to buy BTC with ETH or Create new offer to sell BTC for ETH
# postfix to previous. e.g.: Create new offer to buy BTC with ETH or Create new offer to sell BTC for ETH
offerbook.buyWithOtherCurrency=with {0}
offerbook.sellForOtherCurrency=for {0}
offerbook.wantTo=I want to:

View file

@ -21,11 +21,11 @@ import com.google.inject.Inject;
import com.google.inject.name.Named;
import io.bisq.app.AppOptionKeys;
import io.bisq.app.DevEnv;
import io.bisq.common.crypto.KeyRing;
import io.bisq.messages.alert.Alert;
import io.bisq.p2p.P2PService;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.network_messages.alert.Alert;
import io.bisq.p2p.storage.P2PService;
import io.bisq.p2p.storage.HashMapChangedListener;
import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.user.User;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.ReadOnlyObjectProperty;

View file

@ -21,15 +21,15 @@ import com.google.inject.Inject;
import com.google.inject.name.Named;
import io.bisq.app.AppOptionKeys;
import io.bisq.app.DevEnv;
import io.bisq.common.crypto.KeyRing;
import io.bisq.common.crypto.PubKeyRing;
import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.messages.Message;
import io.bisq.messages.alert.PrivateNotification;
import io.bisq.messages.alert.PrivateNotificationMessage;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.p2p.messaging.SendMailboxMessageListener;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.network_messages.crypto.PubKeyRing;
import io.bisq.network_messages.DecryptedMsgWithPubKey;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.alert.PrivateNotification;
import io.bisq.network_messages.alert.PrivateNotificationMessage;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.storage.P2PService;
import io.bisq.network_messages.p2p.messaging.SendMailboxMessageListener;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleObjectProperty;

View file

@ -20,11 +20,11 @@ package io.bisq.app;
import io.bisq.BisqException;
import io.bisq.btc.RegTestHost;
import io.bisq.common.CommonOptionKeys;
import io.bisq.messages.btc.BitcoinNetwork;
import io.bisq.messages.btc.BtcOptionKeys;
import io.bisq.messages.dao.blockchain.RpcOptionKeys;
import io.bisq.network_messages.btc.BitcoinNetwork;
import io.bisq.network_messages.btc.BtcOptionKeys;
import io.bisq.network_messages.dao.blockchain.RpcOptionKeys;
import io.bisq.network.NetworkOptionKeys;
import io.bisq.p2p.P2PService;
import io.bisq.p2p.storage.P2PService;
import io.bisq.util.joptsimple.EnumValueConverter;
import joptsimple.OptionException;
import joptsimple.OptionParser;
@ -122,7 +122,7 @@ public abstract class BisqExecutable {
description("Application data directory", BisqEnvironment.DEFAULT_APP_DATA_DIR))
.withRequiredArg();
parser.accepts(AppOptionKeys.IGNORE_DEV_MSG_KEY,
description("If set to true all signed messages from bisq developers are ignored " +
description("If set to true all signed network_messages from bisq developers are ignored " +
"(Global alert, Version update alert, Filters for offers, nodes or trading account data)", false))
.withRequiredArg()
.ofType(boolean.class);

View file

@ -21,16 +21,16 @@ import com.google.inject.Inject;
import io.bisq.app.DevEnv;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.crypto.KeyRing;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.arbitration.Arbitrator;
import io.bisq.messages.user.Preferences;
import io.bisq.network_messages.arbitration.Arbitrator;
import io.bisq.user.Preferences;
import io.bisq.p2p.BootstrapListener;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.storage.P2PService;
import io.bisq.p2p.storage.HashMapChangedListener;
import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.user.User;
import javafx.collections.FXCollections;
import javafx.collections.ObservableMap;

View file

@ -19,9 +19,9 @@ package io.bisq.arbitration;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.arbitration.Arbitrator;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.network_messages.arbitration.Arbitrator;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.storage.P2PService;
import io.bisq.p2p.storage.HashMapChangedListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View file

@ -27,20 +27,20 @@ import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.btc.wallet.TradeWalletService;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.crypto.KeyRing;
import io.bisq.common.crypto.PubKeyRing;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.network_messages.crypto.PubKeyRing;
import io.bisq.common.handlers.FaultHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.network_messages.DecryptedMsgWithPubKey;
import io.bisq.locale.Res;
import io.bisq.messages.Message;
import io.bisq.messages.arbitration.*;
import io.bisq.messages.arbitration.payload.Attachment;
import io.bisq.messages.trade.payload.Contract;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.arbitration.*;
import io.bisq.network_messages.arbitration.payload.Attachment;
import io.bisq.network_messages.trade.payload.Contract;
import io.bisq.p2p.BootstrapListener;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.p2p.messaging.SendMailboxMessageListener;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.storage.P2PService;
import io.bisq.network_messages.p2p.messaging.SendMailboxMessageListener;
import io.bisq.storage.Storage;
import io.bisq.trade.Tradable;
import io.bisq.trade.Trade;
@ -632,7 +632,7 @@ public class DisputeManager {
else {
Optional<OpenOffer> openOfferOptional = openOfferManager.getOpenOfferById(dispute.getTradeId());
if (openOfferOptional.isPresent())
openOfferManager.closeOpenOffer(openOfferOptional.get().getOffer());
openOfferManager.closeOpenOffer(openOfferOptional.get().getOffer().getOfferPayload());
}
}

View file

@ -26,10 +26,10 @@ import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.btc.wallet.TradeWalletService;
import io.bisq.btc.wallet.WalletsSetup;
import io.bisq.http.HttpClient;
import io.bisq.messages.btc.BtcOptionKeys;
import io.bisq.messages.btc.UserAgent;
import io.bisq.messages.btc.provider.fee.FeeService;
import io.bisq.messages.provider.price.PriceFeedService;
import io.bisq.network_messages.btc.BtcOptionKeys;
import io.bisq.network_messages.btc.UserAgent;
import io.bisq.provider.fee.FeeService;
import io.bisq.provider.price.PriceFeedService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.env.Environment;

View file

@ -2,7 +2,7 @@ package io.bisq.btc.blockchain.providers;
import io.bisq.http.HttpClient;
import io.bisq.http.HttpException;
import io.bisq.messages.btc.provider.HttpClientProvider;
import io.bisq.provider.HttpClientProvider;
import org.bitcoinj.core.Coin;
import java.io.IOException;

View file

@ -17,7 +17,7 @@
package io.bisq.btc.data;
import io.bisq.messages.btc.data.RawTransactionInput;
import io.bisq.network_messages.btc.data.RawTransactionInput;
import javax.annotation.Nullable;
import java.util.ArrayList;

View file

@ -17,7 +17,7 @@
package io.bisq.btc.data;
import io.bisq.messages.btc.data.RawTransactionInput;
import io.bisq.network_messages.btc.data.RawTransactionInput;
import java.util.ArrayList;

View file

@ -3,7 +3,7 @@ package io.bisq.btc.provider.squ;
import io.bisq.common.util.Tuple2;
import io.bisq.http.HttpClient;
import io.bisq.http.HttpException;
import io.bisq.messages.btc.provider.HttpClientProvider;
import io.bisq.provider.HttpClientProvider;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Sha256Hash;
import org.bitcoinj.core.UTXO;

View file

@ -26,7 +26,7 @@ import io.bisq.common.UserThread;
import io.bisq.common.handlers.FaultHandler;
import io.bisq.common.util.Tuple2;
import io.bisq.http.HttpClient;
import io.bisq.messages.btc.provider.ProvidersRepository;
import io.bisq.provider.ProvidersRepository;
import org.bitcoinj.core.UTXO;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;

View file

@ -25,9 +25,9 @@ import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.dao.blockchain.BsqBlockchainManager;
import io.bisq.dao.blockchain.BsqUTXO;
import io.bisq.messages.btc.Restrictions;
import io.bisq.messages.btc.provider.fee.FeeService;
import io.bisq.messages.user.Preferences;
import io.bisq.network_messages.btc.Restrictions;
import io.bisq.provider.fee.FeeService;
import io.bisq.user.Preferences;
import org.bitcoinj.core.*;
import org.bitcoinj.script.Script;
import org.bitcoinj.wallet.CoinSelection;

View file

@ -27,9 +27,9 @@ import io.bisq.btc.InsufficientFundsException;
import io.bisq.btc.exceptions.TransactionVerificationException;
import io.bisq.btc.exceptions.WalletException;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.messages.btc.Restrictions;
import io.bisq.messages.btc.provider.fee.FeeService;
import io.bisq.messages.user.Preferences;
import io.bisq.network_messages.btc.Restrictions;
import io.bisq.provider.fee.FeeService;
import io.bisq.user.Preferences;
import org.bitcoinj.core.*;
import org.bitcoinj.crypto.DeterministicKey;
import org.bitcoinj.crypto.KeyCrypterScrypt;

View file

@ -30,8 +30,8 @@ import io.bisq.btc.exceptions.SigningException;
import io.bisq.btc.exceptions.TransactionVerificationException;
import io.bisq.btc.exceptions.WalletException;
import io.bisq.common.util.Utilities;
import io.bisq.messages.btc.data.RawTransactionInput;
import io.bisq.messages.user.Preferences;
import io.bisq.network_messages.btc.data.RawTransactionInput;
import io.bisq.user.Preferences;
import org.bitcoinj.core.*;
import org.bitcoinj.crypto.DeterministicKey;
import org.bitcoinj.crypto.TransactionSignature;
@ -240,7 +240,7 @@ public class TradeWalletService {
// Find the needed inputs to pay the output, optionally add 1 change output.
// Normally only 1 input and no change output is used, but we support multiple inputs and 1 change output.
// Our spending transaction output is from the create offer fee payment.
// Our spending transaction output is from the create offer fee payment.
addAvailableInputsAndChangeOutputs(dummyTX, takersAddress, takersChangeAddress, txFee);
// The completeTx() call signs the input, but we don't want to pass over signed tx inputs so we remove the signature

View file

@ -27,8 +27,8 @@ import io.bisq.btc.listeners.TxConfidenceListener;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.Utilities;
import io.bisq.messages.btc.provider.fee.FeeService;
import io.bisq.messages.user.Preferences;
import io.bisq.provider.fee.FeeService;
import io.bisq.user.Preferences;
import org.bitcoinj.core.*;
import org.bitcoinj.crypto.DeterministicKey;
import org.bitcoinj.crypto.KeyCrypter;

View file

@ -30,9 +30,9 @@ import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.handlers.ExceptionHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.btc.BtcOptionKeys;
import io.bisq.messages.btc.UserAgent;
import io.bisq.messages.user.Preferences;
import io.bisq.network_messages.btc.BtcOptionKeys;
import io.bisq.network_messages.btc.UserAgent;
import io.bisq.user.Preferences;
import io.bisq.network.DnsLookupTor;
import io.bisq.network.NetworkOptionKeys;
import io.bisq.network.Socks5MultiDiscovery;

View file

@ -26,7 +26,7 @@ import io.bisq.dao.compensation.CompensationRequestManager;
import io.bisq.dao.vote.VotingDefaultValues;
import io.bisq.dao.vote.VotingManager;
import io.bisq.dao.vote.VotingService;
import io.bisq.messages.dao.blockchain.RpcOptionKeys;
import io.bisq.network_messages.dao.blockchain.RpcOptionKeys;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.env.Environment;

View file

@ -33,7 +33,7 @@ import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.Tuple2;
import io.bisq.common.util.Utilities;
import io.bisq.messages.dao.blockchain.RpcOptionKeys;
import io.bisq.network_messages.dao.blockchain.RpcOptionKeys;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;

View file

@ -19,7 +19,7 @@ package io.bisq.dao.compensation;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
import io.bisq.messages.dao.compensation.payload.CompensationRequestPayload;
import io.bisq.network_messages.dao.compensation.payload.CompensationRequestPayload;
import org.bitcoinj.core.Coin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View file

@ -23,11 +23,11 @@ import io.bisq.btc.wallet.BsqWalletService;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.dao.DaoPeriodService;
import io.bisq.dao.vote.VotingDefaultValues;
import io.bisq.messages.dao.compensation.payload.CompensationRequestPayload;
import io.bisq.p2p.P2PService;
import io.bisq.network_messages.dao.compensation.payload.CompensationRequestPayload;
import io.bisq.p2p.storage.P2PService;
import io.bisq.p2p.storage.HashMapChangedListener;
import io.bisq.p2p.storage.payload.StoragePayload;
import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.network_messages.payload.StoragePayload;
import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.storage.Storage;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;

View file

@ -26,8 +26,8 @@ import io.bisq.common.util.Utilities;
import io.bisq.dao.DaoPeriodService;
import io.bisq.dao.compensation.CompensationRequest;
import io.bisq.dao.compensation.CompensationRequestManager;
import io.bisq.messages.btc.provider.fee.FeeService;
import io.bisq.messages.dao.compensation.payload.CompensationRequestPayload;
import io.bisq.provider.fee.FeeService;
import io.bisq.network_messages.dao.compensation.payload.CompensationRequestPayload;
import io.bisq.storage.Storage;
import org.apache.commons.lang3.StringUtils;
import org.bitcoinj.core.Utils;

View file

@ -21,13 +21,13 @@ import com.google.inject.Inject;
import com.google.inject.name.Named;
import io.bisq.app.AppOptionKeys;
import io.bisq.app.DevEnv;
import io.bisq.common.crypto.KeyRing;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.common.wire.proto.Messages;
import io.bisq.messages.filter.payload.Filter;
import io.bisq.messages.filter.payload.PaymentAccountFilter;
import io.bisq.p2p.P2PService;
import io.bisq.network_messages.filter.payload.Filter;
import io.bisq.network_messages.filter.payload.PaymentAccountFilter;
import io.bisq.p2p.storage.P2PService;
import io.bisq.p2p.storage.HashMapChangedListener;
import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.user.User;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.ReadOnlyObjectProperty;

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.AliPayAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.AliPayAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.user.Preferences;
public final class AliPayAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class AliPayAccount extends PaymentAccount {
public AliPayAccount() {
super(PaymentMethod.ALI_PAY);
setSingleTradeCurrency(new FiatCurrency("CNY"));
setSingleTradeCurrency(new FiatCurrency("CNY", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,9 +18,9 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.CashDepositAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.CashDepositAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import javax.annotation.Nullable;

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.ChaseQuickPayAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.ChaseQuickPayAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.user.Preferences;
public final class ChaseQuickPayAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class ChaseQuickPayAccount extends PaymentAccount {
public ChaseQuickPayAccount() {
super(PaymentMethod.CHASE_QUICK_PAY);
setSingleTradeCurrency(new FiatCurrency("USD"));
setSingleTradeCurrency(new FiatCurrency("USD", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.ClearXchangeAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.ClearXchangeAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.user.Preferences;
public final class ClearXchangeAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class ClearXchangeAccount extends PaymentAccount {
public ClearXchangeAccount() {
super(PaymentMethod.CLEAR_X_CHANGE);
setSingleTradeCurrency(new FiatCurrency("USD"));
setSingleTradeCurrency(new FiatCurrency("USD", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,9 +18,9 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.Country;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.CountryBasedPaymentAccountContractData;
import io.bisq.locale.Country;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.CountryBasedPaymentAccountContractData;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View file

@ -18,9 +18,9 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.CryptoCurrencyAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.CryptoCurrencyAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
public final class CryptoCurrencyAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.FasterPaymentsAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.FasterPaymentsAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.user.Preferences;
public final class FasterPaymentsAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class FasterPaymentsAccount extends PaymentAccount {
public FasterPaymentsAccount() {
super(PaymentMethod.FASTER_PAYMENTS);
setSingleTradeCurrency(new FiatCurrency("GBP"));
setSingleTradeCurrency(new FiatCurrency("GBP", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.InteracETransferAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.InteracETransferAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.user.Preferences;
public final class InteracETransferAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class InteracETransferAccount extends PaymentAccount {
public InteracETransferAccount() {
super(PaymentMethod.INTERAC_E_TRANSFER);
setSingleTradeCurrency(new FiatCurrency("CAD"));
setSingleTradeCurrency(new FiatCurrency("CAD", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,10 +18,10 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.BankAccountContractData;
import io.bisq.messages.payment.payload.NationalBankAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.BankAccountContractData;
import io.bisq.network_messages.payment.payload.NationalBankAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
public final class NationalBankAccount extends CountryBasedPaymentAccount implements SameCountryRestrictedBankAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.CurrencyUtil;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.OKPayAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.locale.CurrencyUtil;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.OKPayAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.user.Preferences;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -34,7 +35,7 @@ public final class OKPayAccount extends PaymentAccount {
public OKPayAccount() {
super(PaymentMethod.OK_PAY);
tradeCurrencies.addAll(CurrencyUtil.getAllOKPayCurrencies());
tradeCurrencies.addAll(CurrencyUtil.getAllOKPayCurrencies(Preferences.getDefaultLocale()));
}
@Override

View file

@ -19,9 +19,9 @@ package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.common.persistance.Persistable;
import io.bisq.messages.locale.TradeCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.locale.TradeCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View file

@ -17,7 +17,7 @@
package io.bisq.payment;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.PaymentMethod;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View file

@ -1,8 +1,8 @@
package io.bisq.payment;
import io.bisq.messages.locale.TradeCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.locale.TradeCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.p2p.protocol.availability.Offer;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import org.slf4j.Logger;

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.payment.payload.PerfectMoneyAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.payload.PerfectMoneyAccountContractData;
import io.bisq.user.Preferences;
public final class PerfectMoneyAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class PerfectMoneyAccount extends PaymentAccount {
public PerfectMoneyAccount() {
super(PaymentMethod.PERFECT_MONEY);
setSingleTradeCurrency(new FiatCurrency("USD"));
setSingleTradeCurrency(new FiatCurrency("USD", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,10 +18,10 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.BankAccountContractData;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.payment.payload.SameBankAccountContractData;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.BankAccountContractData;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.payload.SameBankAccountContractData;
public final class SameBankAccount extends CountryBasedPaymentAccount implements BankNameRestrictedBankAccount, SameCountryRestrictedBankAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.

View file

@ -18,9 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.payment.payload.SepaAccountContractData;
import io.bisq.locale.CountryUtil;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.payload.SepaAccountContractData;
import io.bisq.user.Preferences;
import java.util.List;
@ -34,7 +36,8 @@ public final class SepaAccount extends CountryBasedPaymentAccount implements Ban
@Override
protected PaymentAccountContractData setContractData() {
return new SepaAccountContractData(paymentMethod.getId(), id, paymentMethod.getMaxTradePeriod());
return new SepaAccountContractData(paymentMethod.getId(), id, paymentMethod.getMaxTradePeriod(),
CountryUtil.getAllSepaCountries(Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,9 +18,9 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.payment.payload.SpecificBanksAccountContractData;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.payload.SpecificBanksAccountContractData;
import java.util.ArrayList;

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.payment.payload.SwishAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.payload.SwishAccountContractData;
import io.bisq.user.Preferences;
public final class SwishAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class SwishAccount extends PaymentAccount {
public SwishAccount() {
super(PaymentMethod.SWISH);
setSingleTradeCurrency(new FiatCurrency("SEK"));
setSingleTradeCurrency(new FiatCurrency("SEK", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,10 +18,11 @@
package io.bisq.payment;
import io.bisq.app.Version;
import io.bisq.messages.locale.FiatCurrency;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.payment.payload.USPostalMoneyOrderAccountContractData;
import io.bisq.locale.FiatCurrency;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.payment.payload.USPostalMoneyOrderAccountContractData;
import io.bisq.user.Preferences;
public final class USPostalMoneyOrderAccount extends PaymentAccount {
// That object is saved to disc. We need to take care of changes to not break deserialization.
@ -29,7 +30,7 @@ public final class USPostalMoneyOrderAccount extends PaymentAccount {
public USPostalMoneyOrderAccount() {
super(PaymentMethod.US_POSTAL_MONEY_ORDER);
setSingleTradeCurrency(new FiatCurrency("USD"));
setSingleTradeCurrency(new FiatCurrency("USD", Preferences.getDefaultLocale()));
}
@Override

View file

@ -18,9 +18,9 @@
package io.bisq.trade;
import io.bisq.app.Version;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.storage.Storage;
import io.bisq.trade.protocol.trade.BuyerAsOffererProtocol;
import io.bisq.trade.protocol.trade.OffererProtocol;

View file

@ -18,8 +18,8 @@
package io.bisq.trade;
import io.bisq.app.Version;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.storage.Storage;
import io.bisq.trade.protocol.trade.BuyerAsTakerProtocol;
import io.bisq.trade.protocol.trade.TakerProtocol;

View file

@ -20,8 +20,8 @@ package io.bisq.trade;
import io.bisq.app.Version;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.storage.Storage;
import io.bisq.trade.protocol.trade.BuyerProtocol;
import org.bitcoinj.core.Coin;

View file

@ -18,8 +18,8 @@
package io.bisq.trade;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.NodeAddress;
public interface OffererTrade {
void handleTakeOfferRequest(TradeMessage message, NodeAddress peerNodeAddress);

View file

@ -18,9 +18,9 @@
package io.bisq.trade;
import io.bisq.app.Version;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.storage.Storage;
import io.bisq.trade.protocol.trade.OffererProtocol;
import io.bisq.trade.protocol.trade.SellerAsOffererProtocol;

View file

@ -18,8 +18,8 @@
package io.bisq.trade;
import io.bisq.app.Version;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.storage.Storage;
import io.bisq.trade.protocol.trade.SellerAsTakerProtocol;
import io.bisq.trade.protocol.trade.TakerProtocol;

View file

@ -20,8 +20,8 @@ package io.bisq.trade;
import io.bisq.app.Version;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.storage.Storage;
import io.bisq.trade.protocol.trade.SellerProtocol;
import org.bitcoinj.core.Coin;

View file

@ -18,7 +18,7 @@
package io.bisq.trade;
import io.bisq.common.persistance.Persistable;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.protocol.availability.Offer;
import java.util.Date;

View file

@ -26,15 +26,15 @@ import io.bisq.app.Version;
import io.bisq.arbitration.ArbitratorManager;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.btc.wallet.TradeWalletService;
import io.bisq.common.crypto.KeyRing;
import io.bisq.common.taskrunner.Model;
import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.filter.FilterManager;
import io.bisq.messages.arbitration.Arbitrator;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.messages.trade.payload.Contract;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.network_messages.DecryptedMsgWithPubKey;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.arbitration.Arbitrator;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.network_messages.trade.payload.Contract;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.p2p.storage.P2PService;
import io.bisq.storage.Storage;
import io.bisq.trade.offer.OpenOfferManager;
import io.bisq.trade.protocol.trade.ProcessModel;

View file

@ -25,24 +25,25 @@ import io.bisq.btc.AddressEntryException;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.btc.wallet.TradeWalletService;
import io.bisq.common.UserThread;
import io.bisq.common.crypto.KeyRing;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.FaultHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.filter.FilterManager;
import io.bisq.messages.Message;
import io.bisq.messages.protocol.availability.OfferAvailabilityModel;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.provider.price.PriceFeedService;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.messages.trade.statistics.payload.TradeStatistics;
import io.bisq.network_messages.DecryptedDirectMessageListener;
import io.bisq.network_messages.DecryptedMsgWithPubKey;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.network_messages.p2p.messaging.DecryptedMailboxListener;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import io.bisq.network_messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.network_messages.trade.statistics.payload.TradeStatistics;
import io.bisq.p2p.BootstrapListener;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.p2p.messaging.DecryptedDirectMessageListener;
import io.bisq.p2p.messaging.DecryptedMailboxListener;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.p2p.protocol.availability.OfferAvailabilityModel;
import io.bisq.p2p.storage.P2PService;
import io.bisq.provider.price.PriceFeedService;
import io.bisq.storage.Storage;
import io.bisq.trade.closed.ClosedTradableManager;
import io.bisq.trade.failed.FailedTradesManager;
@ -74,7 +75,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
import static com.google.common.base.Preconditions.checkArgument;
import static io.bisq.messages.util.Validator.nonEmptyStringOf;
import static io.bisq.network_messages.util.Validator.nonEmptyStringOf;
public class TradeManager {
private static final Logger log = LoggerFactory.getLogger(TradeManager.class);
@ -137,7 +138,7 @@ public class TradeManager {
public void onDirectMessage(DecryptedMsgWithPubKey decryptedMsgWithPubKey, NodeAddress peerNodeAddress) {
Message message = decryptedMsgWithPubKey.message;
// Handler for incoming initial messages from taker
// Handler for incoming initial network_messages from taker
if (message instanceof PayDepositRequest) {
log.trace("Received PayDepositRequest: " + message);
handleInitialTakeOfferRequest((PayDepositRequest) message, peerNodeAddress);
@ -234,7 +235,7 @@ public class TradeManager {
private void publishTradeStatistics(List<Trade> trades) {
for (int i = 0; i < trades.size(); i++) {
Trade trade = trades.get(i);
TradeStatistics tradeStatistics = new TradeStatistics(trade.getOffer(),
TradeStatistics tradeStatistics = new TradeStatistics(trade.getOffer().getOfferPayload(),
trade.getTradePrice(),
trade.getTradeAmount(),
trade.getDate(),
@ -275,7 +276,7 @@ public class TradeManager {
checkArgument(message instanceof PayDepositRequest, "message must be PayDepositRequest");
PayDepositRequest payDepositRequest = (PayDepositRequest) message;
Trade trade;
if (offer.getDirection() == Offer.Direction.BUY)
if (offer.getDirection() == OfferPayload.Direction.BUY)
trade = new BuyerAsOffererTrade(offer, payDepositRequest.txFee, payDepositRequest.takeOfferFee, tradableListStorage);
else
trade = new SellerAsOffererTrade(offer, payDepositRequest.txFee, payDepositRequest.takeOfferFee, tradableListStorage);
@ -344,7 +345,7 @@ public class TradeManager {
final OfferAvailabilityModel model = getOfferAvailabilityModel(offer);
offer.checkOfferAvailability(model,
() -> {
if (offer.getState() == Offer.State.AVAILABLE)
if (offer.getState() == OfferPayload.State.AVAILABLE)
createTrade(amount, txFee, takeOfferFee, tradePrice, fundsNeededForTrade, offer, paymentAccountId, useSavingsWallet, model, tradeResultHandler);
},
errorMessageHandler::handleErrorMessage);
@ -361,7 +362,7 @@ public class TradeManager {
OfferAvailabilityModel model,
TradeResultHandler tradeResultHandler) {
Trade trade;
if (offer.getDirection() == Offer.Direction.BUY)
if (offer.getDirection() == OfferPayload.Direction.BUY)
trade = new SellerAsTakerTrade(offer, amount, txFee, takeOfferFee, tradePrice, model.getPeerNodeAddress(), tradableListStorage);
else
trade = new BuyerAsTakerTrade(offer, amount, txFee, takeOfferFee, tradePrice, model.getPeerNodeAddress(), tradableListStorage);
@ -474,9 +475,9 @@ public class TradeManager {
public boolean isBuyer(Offer offer) {
// If I am the offerer, we use the offer direction, otherwise the mirrored direction
if (isMyOffer(offer))
return offer.getDirection() == Offer.Direction.BUY;
return offer.getDirection() == OfferPayload.Direction.BUY;
else
return offer.getDirection() == Offer.Direction.SELL;
return offer.getDirection() == OfferPayload.Direction.SELL;
}
public Optional<Trade> getTradeById(String tradeId) {

View file

@ -18,9 +18,9 @@
package io.bisq.trade.closed;
import com.google.inject.Inject;
import io.bisq.common.crypto.KeyRing;
import io.bisq.messages.provider.price.PriceFeedService;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.provider.price.PriceFeedService;
import io.bisq.storage.Storage;
import io.bisq.trade.Tradable;
import io.bisq.trade.TradableList;

View file

@ -18,9 +18,9 @@
package io.bisq.trade.failed;
import com.google.inject.Inject;
import io.bisq.common.crypto.KeyRing;
import io.bisq.messages.provider.price.PriceFeedService;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.provider.price.PriceFeedService;
import io.bisq.storage.Storage;
import io.bisq.trade.TradableList;
import io.bisq.trade.Trade;

View file

@ -23,12 +23,13 @@ import io.bisq.common.UserThread;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.common.util.Utilities;
import io.bisq.messages.provider.price.PriceFeedService;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import io.bisq.p2p.BootstrapListener;
import io.bisq.p2p.P2PService;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.p2p.storage.HashMapChangedListener;
import io.bisq.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.p2p.storage.P2PService;
import io.bisq.network_messages.p2p.storage.storageentry.ProtectedStorageEntry;
import io.bisq.provider.price.PriceFeedService;
import io.bisq.storage.PlainTextWrapper;
import io.bisq.storage.Storage;
import org.slf4j.Logger;
@ -76,8 +77,8 @@ public class OfferBookService {
@Override
public void onAdded(ProtectedStorageEntry data) {
offerBookChangedListeners.stream().forEach(listener -> {
if (data.getStoragePayload() instanceof Offer) {
Offer offer = (Offer) data.getStoragePayload();
if (data.getStoragePayload() instanceof OfferPayload) {
Offer offer = new Offer((OfferPayload) data.getStoragePayload());
offer.setPriceFeedService(priceFeedService);
listener.onAdded(offer);
}
@ -87,8 +88,11 @@ public class OfferBookService {
@Override
public void onRemoved(ProtectedStorageEntry data) {
offerBookChangedListeners.stream().forEach(listener -> {
if (data.getStoragePayload() instanceof Offer)
listener.onRemoved((Offer) data.getStoragePayload());
if (data.getStoragePayload() instanceof OfferPayload) {
Offer offer = new Offer((OfferPayload) data.getStoragePayload());
offer.setPriceFeedService(priceFeedService);
listener.onRemoved(offer);
}
});
}
});
@ -122,28 +126,28 @@ public class OfferBookService {
///////////////////////////////////////////////////////////////////////////////////////////
public void addOffer(Offer offer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
boolean result = p2PService.addData(offer, true);
boolean result = p2PService.addData(offer.getOfferPayload(), true);
if (result) {
log.trace("Add offer to network was successful. Offer ID = " + offer.getId());
log.trace("Add offer to network was successful. OfferPayload ID = " + offer.getId());
resultHandler.handleResult();
} else {
errorMessageHandler.handleErrorMessage("Add offer failed");
}
}
public void refreshTTL(Offer offer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
public void refreshTTL(OfferPayload offer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
boolean result = p2PService.refreshTTL(offer, true);
if (result) {
log.trace("Refresh TTL was successful. Offer ID = " + offer.getId());
log.trace("Refresh TTL was successful. OfferPayload ID = " + offer.getId());
resultHandler.handleResult();
} else {
errorMessageHandler.handleErrorMessage("Refresh TTL failed.");
}
}
public void removeOffer(Offer offer, @Nullable ResultHandler resultHandler, @Nullable ErrorMessageHandler errorMessageHandler) {
public void removeOffer(OfferPayload offer, @Nullable ResultHandler resultHandler, @Nullable ErrorMessageHandler errorMessageHandler) {
if (p2PService.removeData(offer, true)) {
log.trace("Remove offer from network was successful. Offer ID = " + offer.getId());
log.trace("Remove offer from network was successful. OfferPayload ID = " + offer.getId());
if (resultHandler != null)
resultHandler.handleResult();
} else {
@ -154,16 +158,16 @@ public class OfferBookService {
public List<Offer> getOffers() {
return p2PService.getDataMap().values().stream()
.filter(data -> data.getStoragePayload() instanceof Offer)
.filter(data -> data.getStoragePayload() instanceof OfferPayload)
.map(data -> {
Offer offer = (Offer) data.getStoragePayload();
Offer offer = new Offer((OfferPayload) data.getStoragePayload());
offer.setPriceFeedService(priceFeedService);
return offer;
})
.collect(Collectors.toList());
}
public void removeOfferAtShutDown(Offer offer) {
public void removeOfferAtShutDown(OfferPayload offer) {
log.debug("removeOfferAtShutDown " + offer);
removeOffer(offer, null, null);
}
@ -185,7 +189,7 @@ public class OfferBookService {
// We filter the case that it is a MarketBasedPrice but the price is not available
// That should only be possible if the price feed provider is not available
final List<OfferForJson> offerForJsonList = getOffers().stream()
.filter(offer -> !offer.getUseMarketBasedPrice() || priceFeedService.getMarketPrice(offer.getCurrencyCode()) != null)
.filter(offer -> !offer.isUseMarketBasedPrice() || priceFeedService.getMarketPrice(offer.getCurrencyCode()) != null)
.map(offer -> {
try {
return new OfferForJson(offer.getDirection(),
@ -195,7 +199,7 @@ public class OfferBookService {
offer.getPrice(),
offer.getDate(),
offer.getId(),
offer.getUseMarketBasedPrice(),
offer.isUseMarketBasedPrice(),
offer.getMarketPriceMargin(),
offer.getPaymentMethod(),
offer.getOfferFeePaymentTxID()

View file

@ -1,9 +1,9 @@
package io.bisq.trade.offer;
import io.bisq.common.util.MathUtils;
import io.bisq.messages.locale.CurrencyUtil;
import io.bisq.messages.payment.PaymentMethod;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.locale.CurrencyUtil;
import io.bisq.network_messages.payment.PaymentMethod;
import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import org.bitcoinj.core.Coin;
import org.bitcoinj.utils.ExchangeRate;
import org.bitcoinj.utils.Fiat;
@ -18,7 +18,7 @@ import java.util.Date;
public class OfferForJson {
private static final Logger log = LoggerFactory.getLogger(OfferForJson.class);
public final Offer.Direction direction;
public final OfferPayload.Direction direction;
public final String currencyCode;
public final long minAmount;
public final long amount;
@ -32,7 +32,7 @@ public class OfferForJson {
// primaryMarket fields are based on industry standard where primaryMarket is always in the focus (in the app BTC is always in the focus - will be changed in a larger refactoring once)
public String currencyPair;
public Offer.Direction primaryMarketDirection;
public OfferPayload.Direction primaryMarketDirection;
public String priceDisplayString;
public String primaryMarketAmountDisplayString;
@ -47,7 +47,7 @@ public class OfferForJson {
public long primaryMarketMinVolume;
public OfferForJson(Offer.Direction direction,
public OfferForJson(OfferPayload.Direction direction,
String currencyCode,
Coin minAmount,
Coin amount,
@ -89,7 +89,7 @@ public class OfferForJson {
MonetaryFormat coinFormat = MonetaryFormat.BTC.minDecimals(2).repeatOptionalDecimals(1, 6);
final Fiat priceAsFiat = getPriceAsFiat();
if (CurrencyUtil.isCryptoCurrency(currencyCode)) {
primaryMarketDirection = direction == Offer.Direction.BUY ? Offer.Direction.SELL : Offer.Direction.BUY;
primaryMarketDirection = direction == OfferPayload.Direction.BUY ? OfferPayload.Direction.SELL : OfferPayload.Direction.BUY;
currencyPair = currencyCode + "/" + "BTC";
DecimalFormat decimalFormat = new DecimalFormat("#.#");

View file

@ -20,7 +20,7 @@ package io.bisq.trade.offer;
import io.bisq.app.Version;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.storage.Storage;
import io.bisq.trade.Tradable;
import io.bisq.trade.TradableList;
@ -36,7 +36,7 @@ public final class OpenOffer implements Tradable {
private static final Logger log = LoggerFactory.getLogger(OpenOffer.class);
// Timeout for offer reservation during takeoffer process. If deposit tx is not completed in that time we reset the offer to AVAILABLE state.
// Timeout for offer reservation during takeoffer process. If deposit tx is not completed in that time we reset the offer to AVAILABLE state.
private static final long TIMEOUT_SEC = 30;
transient private Timer timeoutTimer;

View file

@ -25,24 +25,25 @@ import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.btc.wallet.TradeWalletService;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.crypto.KeyRing;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.messages.Message;
import io.bisq.messages.availability.AvailabilityResult;
import io.bisq.messages.availability.OfferAvailabilityRequest;
import io.bisq.messages.availability.OfferAvailabilityResponse;
import io.bisq.messages.provider.price.PriceFeedService;
import io.bisq.messages.trade.exceptions.MarketPriceNotAvailableException;
import io.bisq.messages.trade.exceptions.TradePriceOutOfToleranceException;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.messages.user.Preferences;
import io.bisq.network_messages.DecryptedMsgWithPubKey;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.availability.AvailabilityResult;
import io.bisq.network_messages.availability.OfferAvailabilityRequest;
import io.bisq.network_messages.availability.OfferAvailabilityResponse;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.provider.price.PriceFeedService;
import io.bisq.network_messages.trade.exceptions.MarketPriceNotAvailableException;
import io.bisq.network_messages.trade.exceptions.TradePriceOutOfToleranceException;
import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import io.bisq.user.Preferences;
import io.bisq.p2p.BootstrapListener;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.p2p.messaging.DecryptedDirectMessageListener;
import io.bisq.p2p.messaging.SendDirectMessageListener;
import io.bisq.network_messages.NodeAddress;
import io.bisq.p2p.storage.P2PService;
import io.bisq.network_messages.DecryptedDirectMessageListener;
import io.bisq.network_messages.p2p.messaging.SendDirectMessageListener;
import io.bisq.p2p.peers.PeerManager;
import io.bisq.storage.Storage;
import io.bisq.trade.TradableList;
@ -65,7 +66,7 @@ import java.util.Optional;
import java.util.concurrent.TimeUnit;
import static com.google.inject.internal.util.$Preconditions.checkNotNull;
import static io.bisq.messages.util.Validator.nonEmptyStringOf;
import static io.bisq.network_messages.util.Validator.nonEmptyStringOf;
public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMessageListener {
@ -159,7 +160,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
final int size = openOffers.size();
if (offerBookService.isBootstrapped()) {
openOffers.forEach(openOffer -> offerBookService.removeOfferAtShutDown(openOffer.getOffer()));
openOffers.forEach(openOffer -> offerBookService.removeOfferAtShutDown(openOffer.getOffer().getOfferPayload()));
if (completeHandler != null)
UserThread.runAfter(completeHandler::run, size * 200 + 500, TimeUnit.MILLISECONDS);
} else {
@ -214,7 +215,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
// We republish after a bit as it might be that our connected node still has the offer in the data map
// but other peers have it already removed because of expired TTL.
// Those other not directly connected peers would not get the broadcast of the new offer, as the first
// Those other not directly connected peers would not get the broadcast of the new offer, as the first
// connected peer (seed node) does nto broadcast if it has the data in the map.
// To update quickly to the whole network we repeat the republishOffers call after a few seconds when we
// are better connected to the network. There is no guarantee that all peers will receive it but we have
@ -288,11 +289,11 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
if (openOfferOptional.isPresent()) {
removeOpenOffer(openOfferOptional.get(), resultHandler, errorMessageHandler);
} else {
log.warn("Offer was not found in our list of open offers. We still try to remove it from the offerbook.");
errorMessageHandler.handleErrorMessage("Offer was not found in our list of open offers. " +
log.warn("OfferPayload was not found in our list of open offers. We still try to remove it from the offerbook.");
errorMessageHandler.handleErrorMessage("OfferPayload was not found in our list of open offers. " +
"We still try to remove it from the offerbook.");
offerBookService.removeOffer(offer,
() -> offer.setState(Offer.State.REMOVED),
offerBookService.removeOffer(offer.getOfferPayload(),
() -> offer.setState(OfferPayload.State.REMOVED),
null);
}
}
@ -300,9 +301,9 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
// Remove from my offers
public void removeOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
Offer offer = openOffer.getOffer();
offerBookService.removeOffer(offer,
offerBookService.removeOffer(offer.getOfferPayload(),
() -> {
offer.setState(Offer.State.REMOVED);
offer.setState(OfferPayload.State.REMOVED);
openOffer.setState(OpenOffer.State.CANCELED);
openOffers.remove(openOffer);
closedTradableManager.add(openOffer);
@ -314,11 +315,11 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
}
// Close openOffer after deposit published
public void closeOpenOffer(Offer offer) {
public void closeOpenOffer(OfferPayload offer) {
findOpenOffer(offer.getId()).ifPresent(openOffer -> {
openOffers.remove(openOffer);
openOffer.setState(OpenOffer.State.CLOSED);
offerBookService.removeOffer(openOffer.getOffer(),
offerBookService.removeOffer(openOffer.getOffer().getOfferPayload(),
() -> log.trace("Successful removed offer"),
log::error);
});
@ -351,7 +352,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
///////////////////////////////////////////////////////////////////////////////////////////
// Offer Availability
// OfferPayload Availability
///////////////////////////////////////////////////////////////////////////////////////////
private void handleOfferAvailabilityRequest(OfferAvailabilityRequest message, NodeAddress sender) {
@ -454,7 +455,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
// The openOffer.getId().contains("_") check is because there was once a version
// where we encoded the version nr in the offer id with a "_" as separator.
// That caused several issues and was reverted. So if there are still old offers out with that
// special offer ID format those must not be published as they cause failed taker attempts
// special offer ID format those must not be published as they cause failed taker attempts
// with lost taker fee.
String id = openOffer.getId();
if (id != null && !id.contains("_"))
@ -550,7 +551,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
}
private void refreshOffer(OpenOffer openOffer) {
offerBookService.refreshTTL(openOffer.getOffer(),
offerBookService.refreshTTL(openOffer.getOffer().getOfferPayload(),
() -> log.debug("Successful refreshed TTL for offer"),
log::warn);
}

View file

@ -20,7 +20,7 @@ package io.bisq.trade.protocol.placeoffer;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.btc.wallet.TradeWalletService;
import io.bisq.common.taskrunner.Model;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.trade.offer.OfferBookService;
import io.bisq.user.User;
import org.bitcoinj.core.Coin;

View file

@ -59,10 +59,10 @@ public class PlaceOfferProtocol {
log.error(errorMessage);
if (model.offerAddedToOfferBook) {
model.offerBookService.removeOffer(model.offer,
model.offerBookService.removeOffer(model.offer.getOfferPayload(),
() -> {
model.offerAddedToOfferBook = false;
log.debug("Offer removed from offer book.");
log.debug("OfferPayload removed from offer book.");
},
log::error);
}

View file

@ -20,7 +20,7 @@ package io.bisq.trade.protocol.placeoffer.tasks;
import com.google.common.util.concurrent.FutureCallback;
import io.bisq.common.taskrunner.Task;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import io.bisq.trade.protocol.placeoffer.PlaceOfferModel;
import org.bitcoinj.core.Transaction;
import org.jetbrains.annotations.NotNull;
@ -48,7 +48,7 @@ public class BroadcastCreateOfferFeeTx extends Task<PlaceOfferModel> {
log.debug("Broadcast of offer fee payment succeeded: transaction = " + transaction.toString());
if (model.getTransaction().getHashAsString().equals(transaction.getHashAsString())) {
model.offer.setState(Offer.State.OFFER_FEE_PAID);
model.offer.setState(OfferPayload.State.OFFER_FEE_PAID);
// No tx malleability happened after broadcast (still not in blockchain)
complete();
} else {
@ -56,7 +56,7 @@ public class BroadcastCreateOfferFeeTx extends Task<PlaceOfferModel> {
// Tx malleability happened after broadcast. We first remove the malleable offer.
// Then we publish the changed offer to the P2P network again after setting the new TxId.
// Normally we use a delay for broadcasting to the peers, but at shut down we want to get it fast out
model.offerBookService.removeOffer(model.offer,
model.offerBookService.removeOffer(model.offer.getOfferPayload(),
() -> {
log.debug("We store now the changed txID to the offer and add that again.");
// We store now the changed txID to the offer and add that again.
@ -106,8 +106,8 @@ public class BroadcastCreateOfferFeeTx extends Task<PlaceOfferModel> {
private void updateStateOnFault() {
if (!removeOfferFailed && !addOfferFailed) {
// If broadcast fails we need to remove offer from offerbook
model.offerBookService.removeOffer(model.offer,
() -> log.debug("Offer removed from offerbook because broadcast failed."),
model.offerBookService.removeOffer(model.offer.getOfferPayload(),
() -> log.debug("OfferPayload removed from offerbook because broadcast failed."),
errorMessage -> log.error("removeOffer failed. " + errorMessage));
}
}

View file

@ -21,9 +21,9 @@ import io.bisq.btc.AddressEntry;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.taskrunner.Task;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.arbitration.Arbitrator;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.arbitration.Arbitrator;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.trade.protocol.placeoffer.PlaceOfferModel;
import io.bisq.trade.protocol.trade.ArbitrationSelectionRule;
import org.bitcoinj.core.Address;
@ -47,7 +47,7 @@ public class CreateOfferFeeTx extends Task<PlaceOfferModel> {
try {
runInterceptHook();
NodeAddress selectedArbitratorNodeAddress = ArbitrationSelectionRule.select(model.user.getAcceptedArbitratorAddresses(), model.offer);
NodeAddress selectedArbitratorNodeAddress = ArbitrationSelectionRule.select(model.user.getAcceptedArbitratorAddresses(), model.offer.getOfferPayload());
log.debug("selectedArbitratorAddress " + selectedArbitratorNodeAddress);
Arbitrator selectedArbitrator = model.user.getAcceptedArbitratorByAddress(selectedArbitratorNodeAddress);
checkNotNull(selectedArbitrator, "selectedArbitrator must not be null at CreateOfferFeeTx");

View file

@ -17,8 +17,8 @@
package io.bisq.trade.protocol.trade;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.trade.offer.payload.OfferPayload;
import io.bisq.network_messages.NodeAddress;
import org.bitcoinj.core.Sha256Hash;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -33,7 +33,7 @@ import static com.google.common.base.Preconditions.checkArgument;
public class ArbitrationSelectionRule {
private static final Logger log = LoggerFactory.getLogger(ArbitrationSelectionRule.class);
public static NodeAddress select(List<NodeAddress> acceptedArbitratorNodeAddresses, Offer offer) {
public static NodeAddress select(List<NodeAddress> acceptedArbitratorNodeAddresses, OfferPayload offer) {
List<NodeAddress> candidates = new ArrayList<>();
for (NodeAddress offerArbitratorNodeAddress : offer.getArbitratorNodeAddresses()) {
candidates.addAll(acceptedArbitratorNodeAddresses.stream().filter(offerArbitratorNodeAddress::equals).collect(Collectors.toList()));

View file

@ -19,13 +19,13 @@ package io.bisq.trade.protocol.trade;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.Message;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.trade.protocol.trade.messages.DepositTxPublishedMessage;
import io.bisq.messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.messaging.MailboxMessage;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.DepositTxPublishedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.network_messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.p2p.messaging.MailboxMessage;
import io.bisq.trade.BuyerAsOffererTrade;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.buyer.*;
@ -35,7 +35,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkArgument;
import static io.bisq.messages.util.Validator.checkTradeId;
import static io.bisq.network_messages.util.Validator.checkTradeId;
public class BuyerAsOffererProtocol extends TradeProtocol implements BuyerProtocol, OffererProtocol {
private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererProtocol.class);

View file

@ -20,12 +20,12 @@ package io.bisq.trade.protocol.trade;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.Message;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.messaging.MailboxMessage;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.network_messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.p2p.messaging.MailboxMessage;
import io.bisq.trade.BuyerAsTakerTrade;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.buyer.*;

View file

@ -18,8 +18,8 @@
package io.bisq.trade.protocol.trade;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.NodeAddress;
public interface OffererProtocol {
void handleTakeOfferRequest(TradeMessage message, NodeAddress taker);

View file

@ -21,17 +21,17 @@ import io.bisq.app.Version;
import io.bisq.arbitration.ArbitratorManager;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.btc.wallet.TradeWalletService;
import io.bisq.common.crypto.KeyRing;
import io.bisq.common.crypto.PubKeyRing;
import io.bisq.common.taskrunner.Model;
import io.bisq.filter.FilterManager;
import io.bisq.messages.btc.data.RawTransactionInput;
import io.bisq.messages.filter.payload.PaymentAccountFilter;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.trade.offer.payload.Offer;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.P2PService;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.btc.data.RawTransactionInput;
import io.bisq.network_messages.crypto.KeyRing;
import io.bisq.network_messages.crypto.PubKeyRing;
import io.bisq.network_messages.filter.payload.PaymentAccountFilter;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.p2p.protocol.availability.Offer;
import io.bisq.p2p.storage.P2PService;
import io.bisq.payment.PaymentAccount;
import io.bisq.trade.OffererTrade;
import io.bisq.trade.Trade;

View file

@ -20,14 +20,14 @@ package io.bisq.trade.protocol.trade;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.Message;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.trade.protocol.trade.messages.DepositTxPublishedMessage;
import io.bisq.messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.messaging.MailboxMessage;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.DepositTxPublishedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.network_messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.p2p.messaging.MailboxMessage;
import io.bisq.trade.SellerAsOffererTrade;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.offerer.*;
@ -37,7 +37,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkArgument;
import static io.bisq.messages.util.Validator.checkTradeId;
import static io.bisq.network_messages.util.Validator.checkTradeId;
public class SellerAsOffererProtocol extends TradeProtocol implements SellerProtocol, OffererProtocol {
private static final Logger log = LoggerFactory.getLogger(SellerAsOffererProtocol.class);

View file

@ -20,13 +20,13 @@ package io.bisq.trade.protocol.trade;
import io.bisq.common.handlers.ErrorMessageHandler;
import io.bisq.common.handlers.ResultHandler;
import io.bisq.messages.Message;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.messaging.MailboxMessage;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.p2p.messaging.MailboxMessage;
import io.bisq.trade.SellerAsTakerTrade;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.seller.*;

View file

@ -19,12 +19,12 @@ package io.bisq.trade.protocol.trade;
import io.bisq.common.Timer;
import io.bisq.common.UserThread;
import io.bisq.common.crypto.PubKeyRing;
import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.messages.Message;
import io.bisq.messages.protocol.trade.TradeMessage;
import io.bisq.p2p.NodeAddress;
import io.bisq.p2p.messaging.DecryptedDirectMessageListener;
import io.bisq.network_messages.crypto.PubKeyRing;
import io.bisq.network_messages.DecryptedMsgWithPubKey;
import io.bisq.network_messages.Message;
import io.bisq.network_messages.protocol.trade.TradeMessage;
import io.bisq.network_messages.NodeAddress;
import io.bisq.network_messages.DecryptedDirectMessageListener;
import io.bisq.trade.OffererTrade;
import io.bisq.trade.Trade;
import io.bisq.trade.TradeManager;
@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
import java.security.PublicKey;
import static io.bisq.messages.util.Validator.nonEmptyStringOf;
import static io.bisq.network_messages.util.Validator.nonEmptyStringOf;
public abstract class TradeProtocol {
private static final Logger log = LoggerFactory.getLogger(TradeProtocol.class);
@ -139,7 +139,7 @@ public abstract class TradeProtocol {
log.debug("cleanupTradable tradeState=" + tradeState);
boolean isOffererTrade = trade instanceof OffererTrade;
if (isOffererTrade && (tradeState == Trade.State.OFFERER_SENT_PUBLISH_DEPOSIT_TX_REQUEST || tradeState == Trade.State.DEPOSIT_SEEN_IN_NETWORK))
processModel.getOpenOfferManager().closeOpenOffer(trade.getOffer());
processModel.getOpenOfferManager().closeOpenOffer(trade.getOffer().getOfferPayload());
//boolean isTakerTrade = trade instanceof TakerTrade;

View file

@ -18,10 +18,10 @@
package io.bisq.trade.protocol.trade;
import io.bisq.app.Version;
import io.bisq.common.crypto.PubKeyRing;
import io.bisq.network_messages.crypto.PubKeyRing;
import io.bisq.common.persistance.Persistable;
import io.bisq.messages.btc.data.RawTransactionInput;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.btc.data.RawTransactionInput;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View file

@ -19,8 +19,8 @@ package io.bisq.trade.protocol.trade.tasks;
import io.bisq.common.taskrunner.Task;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.crypto.DecryptedMsgWithPubKey;
import io.bisq.p2p.messaging.MailboxMessage;
import io.bisq.network_messages.DecryptedMsgWithPubKey;
import io.bisq.network_messages.p2p.messaging.MailboxMessage;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.ProcessModel;
import org.slf4j.Logger;

View file

@ -20,7 +20,7 @@ package io.bisq.trade.protocol.trade.tasks.buyer;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.data.PreparedDepositTxAndOffererInputs;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.crypto.Hash;
import io.bisq.network_messages.crypto.Hash;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.TradingPeer;

View file

@ -18,14 +18,14 @@
package io.bisq.trade.protocol.trade.tasks.buyer;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.network_messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkNotNull;
import static io.bisq.messages.util.Validator.*;
import static io.bisq.network_messages.util.Validator.*;
public class ProcessFinalizePayoutTxRequest extends TradeTask {
private static final Logger log = LoggerFactory.getLogger(ProcessFinalizePayoutTxRequest.class);

View file

@ -20,8 +20,8 @@ package io.bisq.trade.protocol.trade.tasks.buyer;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.p2p.messaging.SendMailboxMessageListener;
import io.bisq.network_messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.network_messages.p2p.messaging.SendMailboxMessageListener;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;

View file

@ -18,8 +18,8 @@
package io.bisq.trade.protocol.trade.tasks.buyer;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.p2p.messaging.SendMailboxMessageListener;
import io.bisq.network_messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.network_messages.p2p.messaging.SendMailboxMessageListener;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;

View file

@ -20,9 +20,9 @@ package io.bisq.trade.protocol.trade.tasks.buyer;
import com.google.common.util.concurrent.FutureCallback;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.crypto.Hash;
import io.bisq.network_messages.crypto.Hash;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.btc.data.RawTransactionInput;
import io.bisq.network_messages.btc.data.RawTransactionInput;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.TradingPeer;
import io.bisq.trade.protocol.trade.tasks.TradeTask;

View file

@ -23,9 +23,9 @@ import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.crypto.Sig;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.common.util.Utilities;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.trade.payload.Contract;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.trade.payload.Contract;
import io.bisq.network_messages.NodeAddress;
import io.bisq.trade.BuyerAsOffererTrade;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.TradingPeer;
@ -65,7 +65,7 @@ public class CreateAndSignContract extends TradeTask {
AddressEntry offererAddressEntry = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.MULTI_SIG);
byte[] offererMultiSigPubKey = offererAddressEntry.getPubKey();
Contract contract = new Contract(
processModel.getOffer(),
processModel.getOffer().getOfferPayload(),
trade.getTradeAmount(),
trade.getTradePrice(),
trade.getTakeOfferFeeTxId(),

View file

@ -19,7 +19,7 @@ package io.bisq.trade.protocol.trade.tasks.offerer;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.DepositTxPublishedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.DepositTxPublishedMessage;
import io.bisq.trade.OffererTrade;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static io.bisq.messages.util.Validator.checkTradeId;
import static io.bisq.network_messages.util.Validator.checkTradeId;
public class ProcessDepositTxPublishedMessage extends TradeTask {
private static final Logger log = LoggerFactory.getLogger(ProcessDepositTxPublishedMessage.class);
@ -57,7 +57,7 @@ public class ProcessDepositTxPublishedMessage extends TradeTask {
BtcWalletService.printTx("depositTx received from peer", walletTx);
if (trade instanceof OffererTrade)
processModel.getOpenOfferManager().closeOpenOffer(trade.getOffer());
processModel.getOpenOfferManager().closeOpenOffer(trade.getOffer().getOfferPayload());
// update to the latest peer address of our peer if the message is correct
trade.setTradingPeerNodeAddress(processModel.getTempTradingPeerNodeAddress());

View file

@ -18,10 +18,10 @@
package io.bisq.trade.protocol.trade.tasks.offerer;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.filter.payload.PaymentAccountFilter;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.trade.exceptions.TradePriceOutOfToleranceException;
import io.bisq.messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.network_messages.filter.payload.PaymentAccountFilter;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.trade.exceptions.TradePriceOutOfToleranceException;
import io.bisq.network_messages.trade.protocol.trade.messages.PayDepositRequest;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.bitcoinj.core.Coin;
@ -30,8 +30,8 @@ import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static io.bisq.messages.util.Validator.checkTradeId;
import static io.bisq.messages.util.Validator.nonEmptyStringOf;
import static io.bisq.network_messages.util.Validator.checkTradeId;
import static io.bisq.network_messages.util.Validator.nonEmptyStringOf;
public class ProcessPayDepositRequest extends TradeTask {
private static final Logger log = LoggerFactory.getLogger(ProcessPayDepositRequest.class);

View file

@ -18,7 +18,7 @@
package io.bisq.trade.protocol.trade.tasks.offerer;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.statistics.payload.TradeStatistics;
import io.bisq.network_messages.trade.statistics.payload.TradeStatistics;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
@ -32,7 +32,7 @@ public class PublishTradeStatistics extends TradeTask {
try {
runInterceptHook();
// Offerer is responsible for publishing. Only in case the offerer uses an old version the taker publishes.
TradeStatistics tradeStatistics = new TradeStatistics(trade.getOffer(),
TradeStatistics tradeStatistics = new TradeStatistics(trade.getOffer().getOfferPayload(),
trade.getTradePrice(),
trade.getTradeAmount(),
trade.getDate(),

View file

@ -20,8 +20,8 @@ package io.bisq.trade.protocol.trade.tasks.offerer;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.p2p.messaging.SendDirectMessageListener;
import io.bisq.network_messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.network_messages.p2p.messaging.SendDirectMessageListener;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;

View file

@ -91,7 +91,7 @@ public class SetupDepositBalanceListener extends TradeTask {
Trade.State tradeState = trade.getState();
if (balance.compareTo(Coin.ZERO) == 0) {
if (trade instanceof OffererTrade) {
processModel.getOpenOfferManager().closeOpenOffer(trade.getOffer());
processModel.getOpenOfferManager().closeOpenOffer(trade.getOffer().getOfferPayload());
if (tradeState == Trade.State.OFFERER_SENT_PUBLISH_DEPOSIT_TX_REQUEST) {
trade.setState(Trade.State.DEPOSIT_SEEN_IN_NETWORK);

View file

@ -39,7 +39,7 @@ public class VerifyArbitrationSelection extends TradeTask {
runInterceptHook();
if (trade.getArbitratorNodeAddress().equals(ArbitrationSelectionRule.select(processModel.getTakerAcceptedArbitratorNodeAddresses(),
processModel.getOffer())))
processModel.getOffer().getOfferPayload())))
complete();
else
failed("Arbitrator selection verification failed");

View file

@ -20,7 +20,7 @@ package io.bisq.trade.protocol.trade.tasks.seller;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.data.PreparedDepositTxAndOffererInputs;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.crypto.Hash;
import io.bisq.network_messages.crypto.Hash;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.TradingPeer;

View file

@ -18,15 +18,15 @@
package io.bisq.trade.protocol.trade.tasks.seller;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.FiatTransferStartedMessage;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkNotNull;
import static io.bisq.messages.util.Validator.checkTradeId;
import static io.bisq.messages.util.Validator.nonEmptyStringOf;
import static io.bisq.network_messages.util.Validator.checkTradeId;
import static io.bisq.network_messages.util.Validator.nonEmptyStringOf;
public class ProcessFiatTransferStartedMessage extends TradeTask {
private static final Logger log = LoggerFactory.getLogger(ProcessFiatTransferStartedMessage.class);

View file

@ -19,7 +19,7 @@ package io.bisq.trade.protocol.trade.tasks.seller;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.network_messages.trade.protocol.trade.messages.PayoutTxFinalizedMessage;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.bitcoinj.core.Transaction;
@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static io.bisq.messages.util.Validator.checkTradeId;
import static io.bisq.network_messages.util.Validator.checkTradeId;
public class ProcessPayoutTxFinalizedMessage extends TradeTask {
private static final Logger log = LoggerFactory.getLogger(ProcessPayoutTxFinalizedMessage.class);

View file

@ -20,8 +20,8 @@ package io.bisq.trade.protocol.trade.tasks.seller;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.p2p.messaging.SendMailboxMessageListener;
import io.bisq.network_messages.trade.protocol.trade.messages.FinalizePayoutTxRequest;
import io.bisq.network_messages.p2p.messaging.SendMailboxMessageListener;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;

View file

@ -20,9 +20,9 @@ package io.bisq.trade.protocol.trade.tasks.seller;
import com.google.common.util.concurrent.FutureCallback;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.crypto.Hash;
import io.bisq.network_messages.crypto.Hash;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.btc.data.RawTransactionInput;
import io.bisq.network_messages.btc.data.RawTransactionInput;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.TradingPeer;
import io.bisq.trade.protocol.trade.tasks.TradeTask;

View file

@ -20,8 +20,8 @@ package io.bisq.trade.protocol.trade.tasks.taker;
import io.bisq.btc.AddressEntry;
import io.bisq.btc.wallet.BtcWalletService;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.arbitration.Arbitrator;
import io.bisq.p2p.NodeAddress;
import io.bisq.network_messages.arbitration.Arbitrator;
import io.bisq.network_messages.NodeAddress;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.ArbitrationSelectionRule;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
@ -47,7 +47,7 @@ public class CreateTakeOfferFeeTx extends TradeTask {
runInterceptHook();
User user = processModel.getUser();
NodeAddress selectedArbitratorNodeAddress = ArbitrationSelectionRule.select(user.getAcceptedArbitratorAddresses(), processModel.getOffer());
NodeAddress selectedArbitratorNodeAddress = ArbitrationSelectionRule.select(user.getAcceptedArbitratorAddresses(), processModel.getOffer().getOfferPayload());
log.debug("selectedArbitratorAddress " + selectedArbitratorNodeAddress);
Arbitrator selectedArbitrator = user.getAcceptedArbitratorByAddress(selectedArbitratorNodeAddress);
checkNotNull(selectedArbitrator, "selectedArbitrator must not be null at CreateTakeOfferFeeTx");

View file

@ -38,7 +38,7 @@ public class LoadCreateOfferFeeTx extends TradeTask {
runInterceptHook();
// TODO impl. missing
///processModel.getWalletService().findTxInBlockChain(trade.getOffer().getOfferFeePaymentTxID());
///processModel.getWalletService().findTxInBlockChain(trade.getOfferPayload().getOfferFeePaymentTxID());
complete();
} catch (Throwable t) {

View file

@ -18,9 +18,9 @@
package io.bisq.trade.protocol.trade.tasks.taker;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.filter.payload.PaymentAccountFilter;
import io.bisq.messages.payment.payload.PaymentAccountContractData;
import io.bisq.messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.network_messages.filter.payload.PaymentAccountFilter;
import io.bisq.network_messages.payment.payload.PaymentAccountContractData;
import io.bisq.network_messages.trade.protocol.trade.messages.PublishDepositTxRequest;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;
@ -28,8 +28,8 @@ import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static io.bisq.messages.util.Validator.checkTradeId;
import static io.bisq.messages.util.Validator.nonEmptyStringOf;
import static io.bisq.network_messages.util.Validator.checkTradeId;
import static io.bisq.network_messages.util.Validator.nonEmptyStringOf;
public class ProcessPublishDepositTxRequest extends TradeTask {
private static final Logger log = LoggerFactory.getLogger(ProcessPublishDepositTxRequest.class);

View file

@ -18,7 +18,7 @@
package io.bisq.trade.protocol.trade.tasks.taker;
import io.bisq.common.taskrunner.TaskRunner;
import io.bisq.messages.trade.statistics.payload.TradeStatistics;
import io.bisq.network_messages.trade.statistics.payload.TradeStatistics;
import io.bisq.trade.Trade;
import io.bisq.trade.protocol.trade.tasks.TradeTask;
import org.slf4j.Logger;
@ -44,7 +44,7 @@ public class PublishTradeStatistics extends TradeTask {
.filter(c -> c.getPeersNodeAddressOptional().isPresent() && c.getPeersNodeAddressOptional().get().equals(trade.getTradingPeerNodeAddress()))
.findAny()
.ifPresent(c -> {
TradeStatistics tradeStatistics = new TradeStatistics(trade.getOffer(),
TradeStatistics tradeStatistics = new TradeStatistics(trade.getOffer().getOfferPayload(),
trade.getTradePrice(),
trade.getTradeAmount(),
trade.getDate(),

Some files were not shown because too many files have changed in this diff Show more