From 238f36cffd034211df8fba3052bdcd0bf304668f Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Thu, 2 Apr 2015 12:24:04 +0200 Subject: [PATCH] Merge TradingPeer models --- .../bitsquare/trade/OffererAsBuyerTrade.java | 6 +- .../java/io/bitsquare/trade/TakerTrade.java | 3 +- .../offerer/tasks/OffererCommitsPayoutTx.java | 2 +- .../tasks/OffererCreatesAndSignPayoutTx.java | 2 +- ...ffererProcessPayoutTxPublishedMessage.java | 2 +- ...rProcessRequestDepositTxInputsMessage.java | 2 +- ...ffererSendsFiatTransferStartedMessage.java | 4 +- ...ndsRequestSellerDepositPaymentMessage.java | 2 +- .../OffererVerifiesAndSignsContract.java | 2 +- .../buyer/taker/BuyerAsTakerProtocol.java | 12 +- .../taker/tasks/TakerCommitsPayoutTx.java | 2 +- .../tasks/TakerCreatesAndSignsPayoutTx.java | 2 +- .../TakerProcessPayoutTxPublishedMessage.java | 2 +- ...kerSendsRequestDepositTxInputsMessage.java | 2 +- .../tasks/TakerSignsAndPublishDepositTx.java | 2 +- .../offerer/models/OffererProcessModel.java | 1 + .../tasks/OffererCreatesAndSignsContract.java | 2 +- .../OffererCreatesAndSignsDepositTx.java | 2 +- .../seller/taker/SellerAsTakerProtocol.java | 10 +- .../tasks/TakerCreatesAndSignsDepositTx.java | 2 +- .../models/TradingPeer.java | 125 +++++----- .../offerer/tasks/VerifyTakerAccount.java | 7 +- .../taker/tasks/BroadcastTakeOfferFeeTx.java | 2 +- .../trade/taker/models/TakerProcessModel.java | 1 + .../trade/taker/models/TradingPeer.java | 215 ------------------ 25 files changed, 101 insertions(+), 313 deletions(-) rename core/src/main/java/io/bitsquare/trade/protocol/trade/{offerer => shared}/models/TradingPeer.java (96%) delete mode 100644 core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TradingPeer.java diff --git a/core/src/main/java/io/bitsquare/trade/OffererAsBuyerTrade.java b/core/src/main/java/io/bitsquare/trade/OffererAsBuyerTrade.java index 4402203a7f..65aa16b925 100644 --- a/core/src/main/java/io/bitsquare/trade/OffererAsBuyerTrade.java +++ b/core/src/main/java/io/bitsquare/trade/OffererAsBuyerTrade.java @@ -90,8 +90,8 @@ public class OffererAsBuyerTrade extends OffererTrade implements Serializable { lifeCycleState = LifeCycleState.OFFER_OPEN; initStateProperties(); } - - + + /////////////////////////////////////////////////////////////////////////////////////////// // Fiat /////////////////////////////////////////////////////////////////////////////////////////// @@ -101,7 +101,7 @@ public class OffererAsBuyerTrade extends OffererTrade implements Serializable { ((BuyerAsOffererProtocol) protocol).onFiatPaymentStarted(); } - + /////////////////////////////////////////////////////////////////////////////////////////// // Setter for Mutable objects /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/io/bitsquare/trade/TakerTrade.java b/core/src/main/java/io/bitsquare/trade/TakerTrade.java index 5d65426af5..8e19fa77c1 100644 --- a/core/src/main/java/io/bitsquare/trade/TakerTrade.java +++ b/core/src/main/java/io/bitsquare/trade/TakerTrade.java @@ -96,13 +96,12 @@ public abstract class TakerTrade extends Trade implements Serializable { } - /////////////////////////////////////////////////////////////////////////////////////////// // API /////////////////////////////////////////////////////////////////////////////////////////// abstract public void takeAvailableOffer(); - + /////////////////////////////////////////////////////////////////////////////////////////// // Getter only diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCommitsPayoutTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCommitsPayoutTx.java index 27f9f7bc84..ad172d296b 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCommitsPayoutTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCommitsPayoutTx.java @@ -37,7 +37,7 @@ public class OffererCommitsPayoutTx extends OffererTradeTask { protected void doRun() { try { Transaction transaction = offererTradeProcessModel.getTradeWalletService().commitTx(offererTrade.getPayoutTx()); - + offererTrade.setPayoutTx(transaction); complete(); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCreatesAndSignPayoutTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCreatesAndSignPayoutTx.java index 05ded7b87f..a6f2bd6b1a 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCreatesAndSignPayoutTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererCreatesAndSignPayoutTx.java @@ -40,7 +40,7 @@ public class OffererCreatesAndSignPayoutTx extends OffererTradeTask { Coin securityDeposit = offererTrade.getSecurityDeposit(); Coin offererPayoutAmount = securityDeposit.add(offererTrade.getTradeAmount()); Coin takerPayoutAmount = securityDeposit; - + byte[] offererPayoutTxSignature = offererTradeProcessModel.getTradeWalletService().createAndSignPayoutTx( offererTrade.getDepositTx(), offererPayoutAmount, diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessPayoutTxPublishedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessPayoutTxPublishedMessage.java index 40e6166108..1e389574b3 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessPayoutTxPublishedMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessPayoutTxPublishedMessage.java @@ -50,7 +50,7 @@ public class OffererProcessPayoutTxPublishedMessage extends OffererTradeTask { offererTrade.setProcessState(OffererAsBuyerTrade.ProcessState.PAYOUT_PUBLISHED); else if (offererTrade instanceof OffererAsSellerTrade) offererTrade.setProcessState(OffererAsSellerTrade.ProcessState.PAYOUT_PUBLISHED); - + complete(); } catch (Throwable t) { t.printStackTrace(); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessRequestDepositTxInputsMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessRequestDepositTxInputsMessage.java index 147eb22e89..7222b58de5 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessRequestDepositTxInputsMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererProcessRequestDepositTxInputsMessage.java @@ -52,7 +52,7 @@ public class OffererProcessRequestDepositTxInputsMessage extends OffererTradeTas } catch (Throwable t) { t.printStackTrace(); offererTrade.setThrowable(t); - + if (offererTrade instanceof OffererAsBuyerTrade) offererTrade.setLifeCycleState(OffererAsBuyerTrade.LifeCycleState.OFFER_OPEN); else if (offererTrade instanceof OffererAsSellerTrade) diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsFiatTransferStartedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsFiatTransferStartedMessage.java index bafb1fe680..76fe70f2a5 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsFiatTransferStartedMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsFiatTransferStartedMessage.java @@ -58,7 +58,7 @@ public class OffererSendsFiatTransferStartedMessage extends OffererTradeTask { else if (offererTrade instanceof OffererAsSellerTrade) { ((OffererAsSellerTrade) offererTrade).setProcessState(OffererAsSellerTrade.ProcessState.FIAT_PAYMENT_STARTED); } - + complete(); } @@ -73,7 +73,7 @@ public class OffererSendsFiatTransferStartedMessage extends OffererTradeTask { else if (offererTrade instanceof OffererAsSellerTrade) { ((OffererAsSellerTrade) offererTrade).setProcessState(OffererAsSellerTrade.ProcessState.MESSAGE_SENDING_FAILED); } - + failed(); } }); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsRequestSellerDepositPaymentMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsRequestSellerDepositPaymentMessage.java index 3d794e9be1..d47348abbe 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsRequestSellerDepositPaymentMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererSendsRequestSellerDepositPaymentMessage.java @@ -74,7 +74,7 @@ public class OffererSendsRequestSellerDepositPaymentMessage extends OffererTrade } catch (Throwable t) { t.printStackTrace(); offererTrade.setThrowable(t); - + if (offererTrade instanceof OffererAsBuyerTrade) { ((OffererAsBuyerTrade) offererTrade).setProcessState(OffererAsBuyerTrade.ProcessState.MESSAGE_SENDING_FAILED); ((OffererAsSellerTrade) offererTrade).setLifeCycleState(OffererAsSellerTrade.LifeCycleState.OFFER_OPEN); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererVerifiesAndSignsContract.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererVerifiesAndSignsContract.java index a79a2154fd..8bde69174b 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererVerifiesAndSignsContract.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/offerer/tasks/OffererVerifiesAndSignsContract.java @@ -66,7 +66,7 @@ public class OffererVerifiesAndSignsContract extends OffererTradeTask { offererTrade.setLifeCycleState(OffererAsBuyerTrade.LifeCycleState.OFFER_OPEN); else if (offererTrade instanceof OffererAsSellerTrade) offererTrade.setLifeCycleState(OffererAsSellerTrade.LifeCycleState.OFFER_OPEN); - + failed(t); } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/BuyerAsTakerProtocol.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/BuyerAsTakerProtocol.java index cc9661b547..aff171ce82 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/BuyerAsTakerProtocol.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/BuyerAsTakerProtocol.java @@ -24,12 +24,6 @@ import io.bitsquare.p2p.MessageHandler; import io.bitsquare.p2p.Peer; import io.bitsquare.trade.TakerAsBuyerTrade; import io.bitsquare.trade.protocol.Protocol; -import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage; -import io.bitsquare.trade.protocol.trade.messages.RequestPublishDepositTxMessage; -import io.bitsquare.trade.protocol.trade.messages.TradeMessage; -import io.bitsquare.trade.protocol.trade.taker.models.TakerProcessModel; -import io.bitsquare.trade.protocol.trade.shared.taker.tasks.BroadcastTakeOfferFeeTx; -import io.bitsquare.trade.protocol.trade.shared.taker.tasks.CreateTakeOfferFeeTx; import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerCommitsPayoutTx; import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerCreatesAndSignsPayoutTx; import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerCreatesDepositTxInputs; @@ -40,8 +34,14 @@ import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerSendsFiatTransfe import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerSendsRequestPayDepositMessage; import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerSignsAndPublishDepositTx; import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerVerifiesAndSignsContract; +import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage; +import io.bitsquare.trade.protocol.trade.messages.RequestPublishDepositTxMessage; +import io.bitsquare.trade.protocol.trade.messages.TradeMessage; +import io.bitsquare.trade.protocol.trade.shared.taker.tasks.BroadcastTakeOfferFeeTx; +import io.bitsquare.trade.protocol.trade.shared.taker.tasks.CreateTakeOfferFeeTx; import io.bitsquare.trade.protocol.trade.shared.taker.tasks.VerifyOfferFeePayment; import io.bitsquare.trade.protocol.trade.shared.taker.tasks.VerifyOffererAccount; +import io.bitsquare.trade.protocol.trade.taker.models.TakerProcessModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCommitsPayoutTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCommitsPayoutTx.java index d3b4307f6b..6e59f25c7d 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCommitsPayoutTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCommitsPayoutTx.java @@ -37,7 +37,7 @@ public class TakerCommitsPayoutTx extends TakerTradeTask { protected void doRun() { try { Transaction transaction = takerTradeProcessModel.getTradeWalletService().commitTx(takerTrade.getPayoutTx()); - + takerTrade.setPayoutTx(transaction); complete(); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCreatesAndSignsPayoutTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCreatesAndSignsPayoutTx.java index e998d5a58a..045ede06ab 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCreatesAndSignsPayoutTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerCreatesAndSignsPayoutTx.java @@ -42,7 +42,7 @@ public class TakerCreatesAndSignsPayoutTx extends TakerTradeTask { Coin offererPayoutAmount = securityDeposit; Coin takerPayoutAmount = securityDeposit.add(takerTrade.getTradeAmount()); - + byte[] takerPayoutTxSignature = takerTradeProcessModel.getTradeWalletService().createAndSignPayoutTx( takerTrade.getDepositTx(), takerPayoutAmount, diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerProcessPayoutTxPublishedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerProcessPayoutTxPublishedMessage.java index 4568495cb9..c9e09640e6 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerProcessPayoutTxPublishedMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerProcessPayoutTxPublishedMessage.java @@ -50,7 +50,7 @@ public class TakerProcessPayoutTxPublishedMessage extends TakerTradeTask { takerTrade.setProcessState(TakerAsBuyerTrade.ProcessState.PAYOUT_PUBLISHED); else if (takerTrade instanceof TakerAsSellerTrade) takerTrade.setProcessState(TakerAsSellerTrade.ProcessState.PAYOUT_PUBLISHED); - + complete(); } catch (Throwable t) { t.printStackTrace(); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestDepositTxInputsMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestDepositTxInputsMessage.java index 2dfeabc0f2..83f06bce27 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestDepositTxInputsMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestDepositTxInputsMessage.java @@ -71,7 +71,7 @@ public class TakerSendsRequestDepositTxInputsMessage extends TakerTradeTask { "or cancel that trade."); takerTrade.setErrorMessage(errorMessage); - + if (takerTrade instanceof TakerAsBuyerTrade) takerTrade.setProcessState(TakerAsBuyerTrade.ProcessState.MESSAGE_SENDING_FAILED); else if (takerTrade instanceof TakerAsSellerTrade) diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSignsAndPublishDepositTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSignsAndPublishDepositTx.java index a7eece2002..58c550c9e4 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSignsAndPublishDepositTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSignsAndPublishDepositTx.java @@ -45,7 +45,7 @@ public class TakerSignsAndPublishDepositTx extends TakerTradeTask { protected void doRun() { try { Coin inputAmount = takerTrade.getSecurityDeposit().add(FeePolicy.TX_FEE); - + takerTradeProcessModel.getTradeWalletService().signAndPublishDepositTx( takerTradeProcessModel.tradingPeer.getPreparedDepositTx(), takerTradeProcessModel.getConnectedOutputsForAllInputs(), diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererProcessModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererProcessModel.java index 3fbc8db364..1cf127e508 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererProcessModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererProcessModel.java @@ -27,6 +27,7 @@ import io.bitsquare.fiat.FiatAccount; import io.bitsquare.offer.Offer; import io.bitsquare.p2p.MessageService; import io.bitsquare.trade.protocol.trade.ProcessModel; +import io.bitsquare.trade.protocol.trade.shared.models.TradingPeer; import io.bitsquare.user.User; import org.bitcoinj.core.Coin; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsContract.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsContract.java index 98c898592c..017a9a2d15 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsContract.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsContract.java @@ -48,7 +48,7 @@ public class OffererCreatesAndSignsContract extends OffererTradeTask { offererTradeProcessModel.getOffer().getP2PSigPubKey(), offererTradeProcessModel.getP2pSigPubKey()); String contractAsJson = Utilities.objectToJson(contract); - String signature = offererTradeProcessModel.getSignatureService().signMessage(offererTradeProcessModel.getRegistrationKeyPair(), + String signature = offererTradeProcessModel.getSignatureService().signMessage(offererTradeProcessModel.getRegistrationKeyPair(), contractAsJson); model.setContract(contract); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsDepositTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsDepositTx.java index 8c68499122..f7767565d2 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsDepositTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsDepositTx.java @@ -41,7 +41,7 @@ public class OffererCreatesAndSignsDepositTx extends OffererTradeTask { assert offererTrade.getTradeAmount() != null; Coin inputAmount = offererTrade.getSecurityDeposit().add(FeePolicy.TX_FEE).add(offererTrade.getTradeAmount()); Coin msOutputAmount = inputAmount.add(offererTrade.getSecurityDeposit()); - + TradeWalletService.Result result = offererTradeProcessModel.getTradeWalletService().createAndSignDepositTx( inputAmount, msOutputAmount, diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/SellerAsTakerProtocol.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/SellerAsTakerProtocol.java index 1257f36a0f..0828b23adf 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/SellerAsTakerProtocol.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/SellerAsTakerProtocol.java @@ -25,25 +25,25 @@ import io.bitsquare.p2p.Peer; import io.bitsquare.trade.TakerAsSellerTrade; import io.bitsquare.trade.TakerTrade; import io.bitsquare.trade.protocol.Protocol; +import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerSendsRequestDepositTxInputsMessage; +import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerSendsRequestPublishDepositTxMessage; import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage; import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage; import io.bitsquare.trade.protocol.trade.messages.RequestPayDepositMessage; import io.bitsquare.trade.protocol.trade.messages.TradeMessage; -import io.bitsquare.trade.protocol.trade.taker.models.TakerProcessModel; -import io.bitsquare.trade.protocol.trade.shared.taker.tasks.BroadcastTakeOfferFeeTx; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerCommitDepositTx; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerCreatesAndSignContract; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerCreatesAndSignsDepositTx; -import io.bitsquare.trade.protocol.trade.shared.taker.tasks.CreateTakeOfferFeeTx; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerProcessDepositTxPublishedMessage; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerProcessFiatTransferStartedMessage; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerProcessRequestSellerDepositPaymentMessage; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerSendsPayoutTxPublishedMessage; -import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerSendsRequestDepositTxInputsMessage; -import io.bitsquare.trade.protocol.trade.buyer.taker.tasks.TakerSendsRequestPublishDepositTxMessage; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerSignsAndPublishPayoutTx; +import io.bitsquare.trade.protocol.trade.shared.taker.tasks.BroadcastTakeOfferFeeTx; +import io.bitsquare.trade.protocol.trade.shared.taker.tasks.CreateTakeOfferFeeTx; import io.bitsquare.trade.protocol.trade.shared.taker.tasks.VerifyOfferFeePayment; import io.bitsquare.trade.protocol.trade.shared.taker.tasks.VerifyOffererAccount; +import io.bitsquare.trade.protocol.trade.taker.models.TakerProcessModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignsDepositTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignsDepositTx.java index ad6436189d..6921e6e159 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignsDepositTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignsDepositTx.java @@ -41,7 +41,7 @@ public class TakerCreatesAndSignsDepositTx extends TakerTradeTask { assert takerTrade.getTradeAmount() != null; Coin inputAmount = takerTrade.getSecurityDeposit().add(FeePolicy.TX_FEE).add(takerTrade.getTradeAmount()); Coin msOutputAmount = inputAmount.add(takerTrade.getSecurityDeposit()); - + TradeWalletService.Result result = takerTradeProcessModel.getTradeWalletService().createAndSignDepositTx( inputAmount, msOutputAmount, diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/TradingPeer.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/models/TradingPeer.java similarity index 96% rename from core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/TradingPeer.java rename to core/src/main/java/io/bitsquare/trade/protocol/trade/shared/models/TradingPeer.java index 6e41696ca8..151e562dcd 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/TradingPeer.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/models/TradingPeer.java @@ -15,7 +15,7 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.protocol.trade.offerer.models; +package io.bitsquare.trade.protocol.trade.shared.models; import io.bitsquare.fiat.FiatAccount; @@ -43,18 +43,19 @@ public class TradingPeer implements Serializable { // Mutable private String accountId; - private FiatAccount fiatAccount; private PublicKey p2pSigPubKey; private PublicKey p2pEncryptPubKey; - private String contractAsJson; - private String contractSignature; - private Coin payoutAmount; + private byte[] tradeWalletPubKey; + private FiatAccount fiatAccount; private Transaction preparedDepositTx; private List connectedOutputsForAllInputs; - private String payoutAddressString; - private byte[] tradeWalletPubKey; private List outputs; + private Coin payoutAmount; + private String payoutAddressString; private byte[] signature; + private String contractAsJson; + private String contractSignature; + /////////////////////////////////////////////////////////////////////////////////////////// // Constructor, initialization @@ -82,14 +83,6 @@ public class TradingPeer implements Serializable { this.accountId = accountId; } - public FiatAccount getFiatAccount() { - return fiatAccount; - } - - public void setFiatAccount(FiatAccount fiatAccount) { - this.fiatAccount = fiatAccount; - } - public PublicKey getP2pSigPubKey() { return p2pSigPubKey; } @@ -106,28 +99,20 @@ public class TradingPeer implements Serializable { this.p2pEncryptPubKey = p2pEncryptPubKey; } - public String getContractAsJson() { - return contractAsJson; + public byte[] getTradeWalletPubKey() { + return tradeWalletPubKey; } - public void setContractAsJson(String contractAsJson) { - this.contractAsJson = contractAsJson; + public void setTradeWalletPubKey(byte[] tradeWalletPubKey) { + this.tradeWalletPubKey = tradeWalletPubKey; } - public String getContractSignature() { - return contractSignature; + public FiatAccount getFiatAccount() { + return fiatAccount; } - public void setContractSignature(String contractSignature) { - this.contractSignature = contractSignature; - } - - public Coin getPayoutAmount() { - return payoutAmount; - } - - public void setPayoutAmount(Coin payoutAmount) { - this.payoutAmount = payoutAmount; + public void setFiatAccount(FiatAccount fiatAccount) { + this.fiatAccount = fiatAccount; } public Transaction getPreparedDepositTx() { @@ -146,22 +131,6 @@ public class TradingPeer implements Serializable { this.connectedOutputsForAllInputs = connectedOutputsForAllInputs; } - public String getPayoutAddressString() { - return payoutAddressString; - } - - public void setPayoutAddressString(String payoutAddressString) { - this.payoutAddressString = payoutAddressString; - } - - public byte[] getTradeWalletPubKey() { - return tradeWalletPubKey; - } - - public void setTradeWalletPubKey(byte[] tradeWalletPubKey) { - this.tradeWalletPubKey = tradeWalletPubKey; - } - public List getOutputs() { return outputs; } @@ -170,6 +139,22 @@ public class TradingPeer implements Serializable { this.outputs = outputs; } + public Coin getPayoutAmount() { + return payoutAmount; + } + + public void setPayoutAmount(Coin payoutAmount) { + this.payoutAmount = payoutAmount; + } + + public String getPayoutAddressString() { + return payoutAddressString; + } + + public void setPayoutAddressString(String payoutAddressString) { + this.payoutAddressString = payoutAddressString; + } + public byte[] getSignature() { return signature; } @@ -178,22 +163,38 @@ public class TradingPeer implements Serializable { this.signature = signature; } - @Override - public String toString() { - return "Taker{" + - "accountId='" + accountId + '\'' + - ", fiatAccount=" + fiatAccount + - ", p2pSigPubKey=" + p2pSigPubKey + - ", p2pEncryptPubKey=" + p2pEncryptPubKey + - ", contractAsJson='" + contractAsJson + '\'' + - ", contractSignature='" + contractSignature + '\'' + - ", payoutAmount=" + payoutAmount + - ", preparedDepositTx=" + preparedDepositTx + - ", connectedOutputsForAllInputs=" + connectedOutputsForAllInputs + - ", payoutAddressString='" + payoutAddressString + '\'' + - ", tradeWalletPubKey=" + Arrays.toString(tradeWalletPubKey) + - '}'; + public String getContractAsJson() { + return contractAsJson; } + public void setContractAsJson(String contractAsJson) { + this.contractAsJson = contractAsJson; + } + public String getContractSignature() { + return contractSignature; + } + + public void setContractSignature(String contractSignature) { + this.contractSignature = contractSignature; + } + + @Override + public String toString() { + return "TradingPeer{" + + "accountId='" + accountId + '\'' + + ", p2pSigPubKey=" + p2pSigPubKey + + ", p2pEncryptPubKey=" + p2pEncryptPubKey + + ", tradeWalletPubKey=" + Arrays.toString(tradeWalletPubKey) + + ", fiatAccount=" + fiatAccount + + ", preparedDepositTx=" + preparedDepositTx + + ", connectedOutputsForAllInputs=" + connectedOutputsForAllInputs + + ", outputs=" + outputs + + ", payoutAmount=" + payoutAmount + + ", payoutAddressString='" + payoutAddressString + '\'' + + ", signature=" + Arrays.toString(signature) + + ", contractAsJson='" + contractAsJson + '\'' + + ", contractSignature='" + contractSignature + '\'' + + '}'; + } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/offerer/tasks/VerifyTakerAccount.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/offerer/tasks/VerifyTakerAccount.java index da0c794fcf..a92908c70b 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/offerer/tasks/VerifyTakerAccount.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/offerer/tasks/VerifyTakerAccount.java @@ -38,7 +38,8 @@ public class VerifyTakerAccount extends OffererTradeTask { try { //TODO mocked yet if (offererTradeProcessModel.getBlockChainService().verifyAccountRegistration()) { - if (offererTradeProcessModel.getBlockChainService().isAccountBlackListed(offererTradeProcessModel.tradingPeer.getAccountId(), offererTradeProcessModel + if (offererTradeProcessModel.getBlockChainService().isAccountBlackListed(offererTradeProcessModel.tradingPeer.getAccountId(), + offererTradeProcessModel .tradingPeer .getFiatAccount())) { log.error("Taker is blacklisted"); @@ -59,12 +60,12 @@ public class VerifyTakerAccount extends OffererTradeTask { } catch (Throwable t) { t.printStackTrace(); offererTrade.setThrowable(t); - + if (offererTrade instanceof OffererAsBuyerTrade) offererTrade.setLifeCycleState(OffererAsBuyerTrade.LifeCycleState.OFFER_OPEN); else if (offererTrade instanceof OffererAsSellerTrade) offererTrade.setLifeCycleState(OffererAsSellerTrade.LifeCycleState.OFFER_OPEN); - + failed(t); } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/taker/tasks/BroadcastTakeOfferFeeTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/taker/tasks/BroadcastTakeOfferFeeTx.java index 48ebe90970..01478a723a 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/taker/tasks/BroadcastTakeOfferFeeTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/taker/tasks/BroadcastTakeOfferFeeTx.java @@ -52,7 +52,7 @@ public class BroadcastTakeOfferFeeTx extends TakerTradeTask { takerTrade.setProcessState(TakerAsBuyerTrade.ProcessState.TAKE_OFFER_FEE_PUBLISHED); else if (takerTrade instanceof TakerAsSellerTrade) takerTrade.setProcessState(TakerAsSellerTrade.ProcessState.TAKE_OFFER_FEE_PUBLISHED); - complete(); + complete(); } @Override diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerProcessModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerProcessModel.java index 96a1ce586d..2c571ab920 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerProcessModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerProcessModel.java @@ -27,6 +27,7 @@ import io.bitsquare.fiat.FiatAccount; import io.bitsquare.offer.Offer; import io.bitsquare.p2p.MessageService; import io.bitsquare.trade.protocol.trade.ProcessModel; +import io.bitsquare.trade.protocol.trade.shared.models.TradingPeer; import io.bitsquare.user.User; import org.bitcoinj.core.Coin; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TradingPeer.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TradingPeer.java deleted file mode 100644 index ba465d3558..0000000000 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TradingPeer.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * 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 . - */ - -package io.bitsquare.trade.protocol.trade.taker.models; - -import io.bitsquare.fiat.FiatAccount; - -import org.bitcoinj.core.Coin; -import org.bitcoinj.core.Transaction; -import org.bitcoinj.core.TransactionOutput; - -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.Serializable; - -import java.security.PublicKey; - -import java.util.Arrays; -import java.util.List; - -import javax.annotation.Nullable; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Fully serializable, no transient fields - */ -public class TradingPeer implements Serializable { - // That object is saved to disc. We need to take care of changes to not break deserialization. - private static final long serialVersionUID = 1L; - - transient private static final Logger log = LoggerFactory.getLogger(TradingPeer.class); - - // Mutable - private byte[] tradeWalletPubKey; - private Coin payoutAmount; - private String payoutAddressString; - private List connectedOutputsForAllInputs; - private List outputs; - private byte[] signature; - private FiatAccount fiatAccount; - private String accountId; - private PublicKey p2pEncryptPubKey; - private String contractAsJson; - private String contractSignature; - private Transaction preparedDepositTx; - private PublicKey p2pSigPubKey; - - - /////////////////////////////////////////////////////////////////////////////////////////// - // Constructor, initialization - /////////////////////////////////////////////////////////////////////////////////////////// - - public TradingPeer() { - log.trace("Created by constructor"); - } - - private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); - log.trace("Created from serialized form."); - } - - - /////////////////////////////////////////////////////////////////////////////////////////// - // Getter/Setter for Mutable objects - /////////////////////////////////////////////////////////////////////////////////////////// - - @Nullable - public byte[] getTradeWalletPubKey() { - return tradeWalletPubKey; - } - - public void setTradeWalletPubKey(byte[] tradeWalletPubKey) { - this.tradeWalletPubKey = tradeWalletPubKey; - } - - @Nullable - public Coin getPayoutAmount() { - return payoutAmount; - } - - public void setPayoutAmount(Coin payoutAmount) { - this.payoutAmount = payoutAmount; - } - - @Nullable - public String getPayoutAddressString() { - return payoutAddressString; - } - - public void setPayoutAddressString(String payoutAddressString) { - this.payoutAddressString = payoutAddressString; - } - - @Nullable - public List getConnectedOutputsForAllInputs() { - return connectedOutputsForAllInputs; - } - - public void setConnectedOutputsForAllInputs(List connectedOutputsForAllInputs) { - this.connectedOutputsForAllInputs = connectedOutputsForAllInputs; - } - - @Nullable - public List getOutputs() { - return outputs; - } - - public void setOutputs(List outputs) { - this.outputs = outputs; - } - - @Nullable - public byte[] getSignature() { - return signature; - } - - public void setSignature(byte[] signature) { - this.signature = signature; - } - - @Nullable - public FiatAccount getFiatAccount() { - return fiatAccount; - } - - public void setFiatAccount(FiatAccount fiatAccount) { - this.fiatAccount = fiatAccount; - } - - @Nullable - public String getAccountId() { - return accountId; - } - - public void setAccountId(String accountId) { - this.accountId = accountId; - } - - @Nullable - public PublicKey getP2pEncryptPubKey() { - return p2pEncryptPubKey; - } - - public void setP2pEncryptPubKey(PublicKey p2pEncryptPubKey) { - this.p2pEncryptPubKey = p2pEncryptPubKey; - } - - @Nullable - public String getContractAsJson() { - return contractAsJson; - } - - public void setContractAsJson(String contractAsJson) { - this.contractAsJson = contractAsJson; - } - - @Nullable - public String getContractSignature() { - return contractSignature; - } - - public void setContractSignature(String contractSignature) { - this.contractSignature = contractSignature; - } - - @Nullable - public Transaction getPreparedDepositTx() { - return preparedDepositTx; - } - - public void setPreparedDepositTx(Transaction preparedDepositTx) { - this.preparedDepositTx = preparedDepositTx; - } - - @Nullable - public PublicKey getP2pSigPubKey() { - return p2pSigPubKey; - } - - public void setP2pSigPubKey(PublicKey p2pSigPubKey) { - this.p2pSigPubKey = p2pSigPubKey; - } - - @Override - public String toString() { - return "Offerer{" + - "tradeWalletPubKey=" + Arrays.toString(tradeWalletPubKey) + - ", payoutAmount=" + payoutAmount + - ", payoutAddressString='" + payoutAddressString + '\'' + - ", connectedOutputsForAllInputs=" + connectedOutputsForAllInputs + - ", outputs=" + outputs + - ", signature=" + Arrays.toString(signature) + - ", fiatAccount=" + fiatAccount + - ", accountId='" + accountId + '\'' + - ", p2pSigPubKey=" + p2pSigPubKey + - ", p2pEncryptPubKey=" + p2pEncryptPubKey + - '}'; - } -}