From 06c06b1244dd6e576acd74e24d042a9e1066b957 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Thu, 2 Apr 2015 15:33:54 +0200 Subject: [PATCH] Unified Seller tasks (WIP) --- .../bitsquare/gui/main/debug/DebugView.java | 4 +- .../main/java/io/bitsquare/trade/Trade.java | 24 +++---- ...erSendsRequestPublishDepositTxMessage.java | 2 +- .../tasks/BuyerVerifiesAndSignsContract.java | 4 +- .../offerer/SellerAsOffererProtocol.java | 24 +++---- .../offerer/tasks/OffererCommitDepositTx.java | 51 -------------- .../tasks/OffererCreatesAndSignsContract.java | 65 ------------------ .../OffererCreatesAndSignsDepositTx.java | 66 ------------------- ...questPublishDepositTxFromTakerMessage.java | 2 +- .../seller/taker/SellerAsTakerProtocol.java | 24 +++---- ...TakerProcessDepositTxPublishedMessage.java | 62 ----------------- ...akerProcessFiatTransferStartedMessage.java | 65 ------------------ ...essRequestSellerDepositPaymentMessage.java | 61 ----------------- .../SellerCommitDepositTx.java} | 8 +-- .../SellerCreatesAndSignsContract.java} | 16 ++--- .../SellerCreatesAndSignsDepositTx.java} | 9 +-- ...llerProcessDepositTxPublishedMessage.java} | 17 +++-- ...lerProcessFiatTransferStartedMessage.java} | 17 +++-- ...ellerProcessRequestPayDepositMessage.java} | 8 +-- .../trade/shared/models/TradingPeer.java | 9 +++ 20 files changed, 92 insertions(+), 446 deletions(-) delete mode 100644 core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCommitDepositTx.java delete mode 100644 core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsContract.java delete mode 100644 core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsDepositTx.java delete mode 100644 core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessDepositTxPublishedMessage.java delete mode 100644 core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessFiatTransferStartedMessage.java delete mode 100644 core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessRequestSellerDepositPaymentMessage.java rename core/src/main/java/io/bitsquare/trade/protocol/trade/seller/{taker/tasks/TakerCommitDepositTx.java => tasks/SellerCommitDepositTx.java} (83%) rename core/src/main/java/io/bitsquare/trade/protocol/trade/seller/{taker/tasks/TakerCreatesAndSignContract.java => tasks/SellerCreatesAndSignsContract.java} (77%) rename core/src/main/java/io/bitsquare/trade/protocol/trade/seller/{taker/tasks/TakerCreatesAndSignsDepositTx.java => tasks/SellerCreatesAndSignsDepositTx.java} (87%) rename core/src/main/java/io/bitsquare/trade/protocol/trade/seller/{offerer/tasks/OffererProcessDepositTxPublishedMessage.java => tasks/SellerProcessDepositTxPublishedMessage.java} (71%) rename core/src/main/java/io/bitsquare/trade/protocol/trade/seller/{offerer/tasks/OffererProcessFiatTransferStartedMessage.java => tasks/SellerProcessFiatTransferStartedMessage.java} (74%) rename core/src/main/java/io/bitsquare/trade/protocol/trade/seller/{offerer/tasks/OffererProcessRequestPayDepositFromOffererMessage.java => tasks/SellerProcessRequestPayDepositMessage.java} (86%) diff --git a/core/src/main/java/io/bitsquare/gui/main/debug/DebugView.java b/core/src/main/java/io/bitsquare/gui/main/debug/DebugView.java index 060ad518d6..07803a6ad0 100644 --- a/core/src/main/java/io/bitsquare/gui/main/debug/DebugView.java +++ b/core/src/main/java/io/bitsquare/gui/main/debug/DebugView.java @@ -46,7 +46,7 @@ import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerCreatesAndSignC import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerCreatesAndSignsDepositTx; 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.TakerProcessRequestPayDepositMessage; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerSendsPayoutTxPublishedMessage; import io.bitsquare.trade.protocol.trade.seller.taker.tasks.TakerSignsAndPublishPayoutTx; import io.bitsquare.trade.protocol.trade.shared.offerer.tasks.VerifyTakeOfferFeePayment; @@ -122,7 +122,7 @@ public class DebugView extends InitializableView { CreateTakeOfferFeeTx.class, TakerSendsRequestDepositTxInputsMessage.class, - TakerProcessRequestSellerDepositPaymentMessage.class, + TakerProcessRequestPayDepositMessage.class, VerifyOffererAccount.class, TakerCreatesAndSignContract.class, TakerCreatesAndSignsDepositTx.class, diff --git a/core/src/main/java/io/bitsquare/trade/Trade.java b/core/src/main/java/io/bitsquare/trade/Trade.java index 9ccdedcf91..590b6bb38f 100644 --- a/core/src/main/java/io/bitsquare/trade/Trade.java +++ b/core/src/main/java/io/bitsquare/trade/Trade.java @@ -99,8 +99,8 @@ abstract public class Trade extends Model implements Serializable { protected Transaction depositTx; private Contract contract; private String contractAsJson; - private String takerContractSignature; - private String offererContractSignature; + private String sellerContractSignature; + private String buyerContractSignature; private Transaction payoutTx; // Transient/Mutable @@ -354,22 +354,22 @@ abstract public class Trade extends Model implements Serializable { // Getter/Setter for Mutable objects /////////////////////////////////////////////////////////////////////////////////////////// - public void setTakerContractSignature(String takerSignature) { - this.takerContractSignature = takerSignature; + public void setSellerContractSignature(String takerSignature) { + this.sellerContractSignature = takerSignature; } @Nullable - public String getTakerContractSignature() { - return takerContractSignature; + public String getSellerContractSignature() { + return sellerContractSignature; } - public void setOffererContractSignature(String offererContractSignature) { - this.offererContractSignature = offererContractSignature; + public void setBuyerContractSignature(String buyerContractSignature) { + this.buyerContractSignature = buyerContractSignature; } @Nullable - public String getOffererContractSignature() { - return offererContractSignature; + public String getBuyerContractSignature() { + return buyerContractSignature; } public void setContractAsJson(String contractAsJson) { @@ -430,8 +430,8 @@ abstract public class Trade extends Model implements Serializable { ", depositTx=" + depositTx + ", contract=" + contract + ", contractAsJson='" + contractAsJson + '\'' + - ", takerContractSignature='" + takerContractSignature + '\'' + - ", offererContractSignature='" + offererContractSignature + '\'' + + ", takerContractSignature='" + sellerContractSignature + '\'' + + ", offererContractSignature='" + buyerContractSignature + '\'' + ", payoutTx=" + payoutTx + ", errorMessage='" + errorMessage + '\'' + ", throwable=" + throwable + diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestPublishDepositTxMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestPublishDepositTxMessage.java index 0a68dab2d1..fd0f8150be 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestPublishDepositTxMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/taker/tasks/TakerSendsRequestPublishDepositTxMessage.java @@ -44,7 +44,7 @@ public class TakerSendsRequestPublishDepositTxMessage extends TradeTask { processModel.getP2pSigPubKey(), processModel.getP2pEncryptPublicKey(), trade.getContractAsJson(), - trade.getTakerContractSignature(), + trade.getSellerContractSignature(), processModel.getAddressEntry().getAddressString(), processModel.getPreparedDepositTx(), processModel.getConnectedOutputsForAllInputs() diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/tasks/BuyerVerifiesAndSignsContract.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/tasks/BuyerVerifiesAndSignsContract.java index 1cd9569298..2ed5c84adb 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/tasks/BuyerVerifiesAndSignsContract.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/buyer/tasks/BuyerVerifiesAndSignsContract.java @@ -50,8 +50,8 @@ public class BuyerVerifiesAndSignsContract extends TradeTask { String signature = processModel.getSignatureService().signMessage(processModel.getRegistrationKeyPair(), contractAsJson); trade.setContract(contract); trade.setContractAsJson(contractAsJson); - trade.setOffererContractSignature(signature); - trade.setOffererContractSignature(processModel.tradingPeer.getContractSignature()); + trade.setBuyerContractSignature(signature); + trade.setBuyerContractSignature(processModel.tradingPeer.getContractSignature()); complete(); } catch (Throwable t) { diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/SellerAsOffererProtocol.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/SellerAsOffererProtocol.java index fd72b14915..df53518eda 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/SellerAsOffererProtocol.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/SellerAsOffererProtocol.java @@ -31,15 +31,15 @@ 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.seller.offerer.tasks.OffererCommitDepositTx; -import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererCreatesAndSignsContract; -import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererCreatesAndSignsDepositTx; -import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererProcessDepositTxPublishedMessage; -import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererProcessFiatTransferStartedMessage; -import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererProcessRequestPayDepositFromOffererMessage; import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererSendsPayoutTxPublishedMessage; import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererSendsRequestPublishDepositTxFromTakerMessage; import io.bitsquare.trade.protocol.trade.seller.offerer.tasks.OffererSignsAndPublishPayoutTx; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerCommitDepositTx; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerCreatesAndSignsContract; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerCreatesAndSignsDepositTx; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerProcessDepositTxPublishedMessage; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerProcessFiatTransferStartedMessage; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerProcessRequestPayDepositMessage; import io.bitsquare.trade.protocol.trade.shared.models.ProcessModel; import io.bitsquare.trade.protocol.trade.shared.offerer.tasks.VerifyTakeOfferFeePayment; import io.bitsquare.trade.protocol.trade.shared.offerer.tasks.VerifyTakerAccount; @@ -145,10 +145,10 @@ public class SellerAsOffererProtocol implements TradeProtocol { this::handleTaskRunnerFault); taskRunner.addTasks( - OffererProcessRequestPayDepositFromOffererMessage.class, + SellerProcessRequestPayDepositMessage.class, VerifyTakerAccount.class, - OffererCreatesAndSignsContract.class, - OffererCreatesAndSignsDepositTx.class, + SellerCreatesAndSignsContract.class, + SellerCreatesAndSignsDepositTx.class, OffererSendsRequestPublishDepositTxFromTakerMessage.class ); taskRunner.run(); @@ -162,8 +162,8 @@ public class SellerAsOffererProtocol implements TradeProtocol { this::handleTaskRunnerFault); taskRunner.addTasks( - OffererProcessDepositTxPublishedMessage.class, - OffererCommitDepositTx.class + SellerProcessDepositTxPublishedMessage.class, + SellerCommitDepositTx.class ); taskRunner.run(); } @@ -175,7 +175,7 @@ public class SellerAsOffererProtocol implements TradeProtocol { () -> log.debug("taskRunner at handleFiatTransferStartedMessage completed"), this::handleTaskRunnerFault); - taskRunner.addTasks(OffererProcessFiatTransferStartedMessage.class); + taskRunner.addTasks(SellerProcessFiatTransferStartedMessage.class); taskRunner.run(); } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCommitDepositTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCommitDepositTx.java deleted file mode 100644 index 542a9d0db7..0000000000 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCommitDepositTx.java +++ /dev/null @@ -1,51 +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.seller.offerer.tasks; - -import io.bitsquare.common.taskrunner.TaskRunner; -import io.bitsquare.trade.Trade; -import io.bitsquare.trade.protocol.trade.TradeTask; - -import org.bitcoinj.core.Transaction; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class OffererCommitDepositTx extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(OffererCommitDepositTx.class); - - public OffererCommitDepositTx(TaskRunner taskHandler, Trade trade) { - super(taskHandler, trade); - } - - @Override - protected void doRun() { - try { - // To access tx confidence we need to add that tx into our wallet. - Transaction depositTx = processModel.getTradeWalletService().commitTx(trade.getDepositTx()); - - trade.setDepositTx(depositTx); - - complete(); - } catch (Throwable t) { - t.printStackTrace(); - trade.setThrowable(t); - failed(t); - } - } -} 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 deleted file mode 100644 index 76dbbf27a9..0000000000 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsContract.java +++ /dev/null @@ -1,65 +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.seller.offerer.tasks; - -import io.bitsquare.common.taskrunner.TaskRunner; -import io.bitsquare.trade.Contract; -import io.bitsquare.trade.Trade; -import io.bitsquare.trade.protocol.trade.TradeTask; -import io.bitsquare.util.Utilities; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class OffererCreatesAndSignsContract extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(OffererCreatesAndSignsContract.class); - - public OffererCreatesAndSignsContract(TaskRunner taskHandler, Trade trade) { - super(taskHandler, trade); - } - - @Override - protected void doRun() { - try { - assert processModel.getTakeOfferFeeTxId() != null; - Contract contract = new Contract( - processModel.getOffer(), - model.getTradeAmount(), - processModel.getTakeOfferFeeTxId(), - processModel.getAccountId(), - processModel.getAccountId(), - processModel.getFiatAccount(), - processModel.getFiatAccount(), - processModel.getOffer().getP2PSigPubKey(), - processModel.getP2pSigPubKey()); - String contractAsJson = Utilities.objectToJson(contract); - String signature = processModel.getSignatureService().signMessage(processModel.getRegistrationKeyPair(), - contractAsJson); - - model.setContract(contract); - model.setContractAsJson(contractAsJson); - model.setOffererContractSignature(signature); - - complete(); - } catch (Throwable t) { - t.printStackTrace(); - trade.setThrowable(t); - failed(t); - } - } -} 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 deleted file mode 100644 index 9d4a1b5e95..0000000000 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererCreatesAndSignsDepositTx.java +++ /dev/null @@ -1,66 +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.seller.offerer.tasks; - -import io.bitsquare.btc.FeePolicy; -import io.bitsquare.btc.TradeWalletService; -import io.bitsquare.common.taskrunner.TaskRunner; -import io.bitsquare.trade.Trade; -import io.bitsquare.trade.protocol.trade.TradeTask; - -import org.bitcoinj.core.Coin; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class OffererCreatesAndSignsDepositTx extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(OffererCreatesAndSignsDepositTx.class); - - public OffererCreatesAndSignsDepositTx(TaskRunner taskHandler, Trade trade) { - super(taskHandler, trade); - } - - @Override - protected void doRun() { - try { - assert trade.getTradeAmount() != null; - Coin inputAmount = trade.getSecurityDeposit().add(FeePolicy.TX_FEE).add(trade.getTradeAmount()); - Coin msOutputAmount = inputAmount.add(trade.getSecurityDeposit()); - - TradeWalletService.Result result = processModel.getTradeWalletService().createAndSignDepositTx( - inputAmount, - msOutputAmount, - processModel.tradingPeer.getConnectedOutputsForAllInputs(), - processModel.tradingPeer.getOutputs(), - processModel.getAddressEntry(), - processModel.tradingPeer.getTradeWalletPubKey(), - processModel.getTradeWalletPubKey(), - processModel.getArbitratorPubKey()); - - - processModel.setConnectedOutputsForAllInputs(result.getConnectedOutputsForAllInputs()); - processModel.setPreparedDepositTx(result.getDepositTx()); - - complete(); - } catch (Throwable t) { - t.printStackTrace(); - trade.setThrowable(t); - failed(t); - } - } -} diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererSendsRequestPublishDepositTxFromTakerMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererSendsRequestPublishDepositTxFromTakerMessage.java index 99394a07bf..8c3e84726f 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererSendsRequestPublishDepositTxFromTakerMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererSendsRequestPublishDepositTxFromTakerMessage.java @@ -47,7 +47,7 @@ public class OffererSendsRequestPublishDepositTxFromTakerMessage extends TradeTa processModel.getP2pSigPubKey(), processModel.getP2pEncryptPublicKey(), trade.getContractAsJson(), - trade.getOffererContractSignature(), + trade.getBuyerContractSignature(), processModel.getAddressEntry().getAddressString(), processModel.getPreparedDepositTx(), processModel.getConnectedOutputsForAllInputs() 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 4daf542c7f..e6e6f6a772 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 @@ -31,14 +31,14 @@ 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.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.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.seller.taker.tasks.TakerSignsAndPublishPayoutTx; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerCommitDepositTx; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerCreatesAndSignsContract; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerCreatesAndSignsDepositTx; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerProcessDepositTxPublishedMessage; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerProcessFiatTransferStartedMessage; +import io.bitsquare.trade.protocol.trade.seller.tasks.SellerProcessRequestPayDepositMessage; import io.bitsquare.trade.protocol.trade.shared.models.ProcessModel; import io.bitsquare.trade.protocol.trade.shared.taker.tasks.BroadcastTakeOfferFeeTx; import io.bitsquare.trade.protocol.trade.shared.taker.tasks.CreateTakeOfferFeeTx; @@ -122,10 +122,10 @@ public class SellerAsTakerProtocol implements TradeProtocol { this::handleTaskRunnerFault); taskRunner.addTasks( - TakerProcessRequestSellerDepositPaymentMessage.class, + SellerProcessRequestPayDepositMessage.class, VerifyOffererAccount.class, - TakerCreatesAndSignContract.class, - TakerCreatesAndSignsDepositTx.class, + SellerCreatesAndSignsContract.class, + SellerCreatesAndSignsDepositTx.class, TakerSendsRequestPublishDepositTxMessage.class ); taskRunner.run(); @@ -139,8 +139,8 @@ public class SellerAsTakerProtocol implements TradeProtocol { this::handleTaskRunnerFault); taskRunner.addTasks( - TakerProcessDepositTxPublishedMessage.class, - TakerCommitDepositTx.class + SellerProcessDepositTxPublishedMessage.class, + SellerCommitDepositTx.class ); taskRunner.run(); } @@ -152,7 +152,7 @@ public class SellerAsTakerProtocol implements TradeProtocol { () -> log.debug("taskRunner at handleFiatTransferStartedMessage completed"), this::handleTaskRunnerFault); - taskRunner.addTasks(TakerProcessFiatTransferStartedMessage.class); + taskRunner.addTasks(SellerProcessFiatTransferStartedMessage.class); taskRunner.run(); } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessDepositTxPublishedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessDepositTxPublishedMessage.java deleted file mode 100644 index d6ea92806c..0000000000 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessDepositTxPublishedMessage.java +++ /dev/null @@ -1,62 +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.seller.taker.tasks; - -import io.bitsquare.common.taskrunner.TaskRunner; -import io.bitsquare.trade.BuyerAsTakerTrade; -import io.bitsquare.trade.SellerAsTakerTrade; -import io.bitsquare.trade.Trade; -import io.bitsquare.trade.protocol.trade.TradeTask; -import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage; -import io.bitsquare.trade.states.TakerState; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static com.google.common.base.Preconditions.checkNotNull; -import static io.bitsquare.util.Validator.checkTradeId; - -public class TakerProcessDepositTxPublishedMessage extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(TakerProcessDepositTxPublishedMessage.class); - - public TakerProcessDepositTxPublishedMessage(TaskRunner taskHandler, Trade trade) { - super(taskHandler, trade); - } - - @Override - protected void doRun() { - try { - DepositTxPublishedMessage message = (DepositTxPublishedMessage) processModel.getTradeMessage(); - checkTradeId(processModel.getId(), message); - checkNotNull(message); - - trade.setDepositTx(checkNotNull(message.depositTx)); - - if (trade instanceof BuyerAsTakerTrade) - trade.setProcessState(TakerState.ProcessState.DEPOSIT_PUBLISHED); - else if (trade instanceof SellerAsTakerTrade) - trade.setProcessState(TakerState.ProcessState.DEPOSIT_PUBLISHED); - - complete(); - } catch (Throwable t) { - t.printStackTrace(); - trade.setThrowable(t); - failed(t); - } - } -} \ No newline at end of file diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessFiatTransferStartedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessFiatTransferStartedMessage.java deleted file mode 100644 index 45fec4b8e4..0000000000 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessFiatTransferStartedMessage.java +++ /dev/null @@ -1,65 +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.seller.taker.tasks; - -import io.bitsquare.common.taskrunner.TaskRunner; -import io.bitsquare.trade.BuyerAsTakerTrade; -import io.bitsquare.trade.SellerAsTakerTrade; -import io.bitsquare.trade.Trade; -import io.bitsquare.trade.protocol.trade.TradeTask; -import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage; -import io.bitsquare.trade.states.TakerState; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static com.google.common.base.Preconditions.checkNotNull; -import static io.bitsquare.util.Validator.*; - -public class TakerProcessFiatTransferStartedMessage extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(TakerProcessFiatTransferStartedMessage.class); - - public TakerProcessFiatTransferStartedMessage(TaskRunner taskHandler, Trade trade) { - super(taskHandler, trade); - } - - @Override - protected void doRun() { - try { - FiatTransferStartedMessage message = (FiatTransferStartedMessage) processModel.getTradeMessage(); - checkTradeId(processModel.getId(), message); - checkNotNull(message); - - processModel.tradingPeer.setSignature(checkNotNull(message.buyerSignature)); - processModel.tradingPeer.setPayoutAmount(positiveCoinOf(nonZeroCoinOf(message.buyerPayoutAmount))); - processModel.setPayoutAmount(positiveCoinOf(nonZeroCoinOf(message.sellerPayoutAmount))); - processModel.tradingPeer.setPayoutAddressString(nonEmptyStringOf(message.buyerPayoutAddress)); - - if (trade instanceof BuyerAsTakerTrade) - trade.setProcessState(TakerState.ProcessState.FIAT_PAYMENT_STARTED); - else if (trade instanceof SellerAsTakerTrade) - trade.setProcessState(TakerState.ProcessState.FIAT_PAYMENT_STARTED); - - complete(); - } catch (Throwable t) { - t.printStackTrace(); - trade.setThrowable(t); - failed(t); - } - } -} \ No newline at end of file diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessRequestSellerDepositPaymentMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessRequestSellerDepositPaymentMessage.java deleted file mode 100644 index 62aae644e0..0000000000 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerProcessRequestSellerDepositPaymentMessage.java +++ /dev/null @@ -1,61 +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.seller.taker.tasks; - -import io.bitsquare.common.taskrunner.TaskRunner; -import io.bitsquare.trade.Trade; -import io.bitsquare.trade.protocol.trade.TradeTask; -import io.bitsquare.trade.protocol.trade.messages.RequestPayDepositMessage; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static com.google.common.base.Preconditions.*; -import static io.bitsquare.util.Validator.*; - -public class TakerProcessRequestSellerDepositPaymentMessage extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(TakerProcessRequestSellerDepositPaymentMessage.class); - - public TakerProcessRequestSellerDepositPaymentMessage(TaskRunner taskHandler, Trade trade) { - super(taskHandler, trade); - } - - @Override - protected void doRun() { - try { - RequestPayDepositMessage message = (RequestPayDepositMessage) processModel.getTradeMessage(); - checkTradeId(processModel.getId(), message); - checkNotNull(message); - - processModel.tradingPeer.setConnectedOutputsForAllInputs(checkNotNull(message.buyerConnectedOutputsForAllInputs)); - checkArgument(message.buyerConnectedOutputsForAllInputs.size() > 0); - processModel.tradingPeer.setOutputs(checkNotNull(message.buyerOutputs)); - processModel.tradingPeer.setTradeWalletPubKey(checkNotNull(message.buyerTradeWalletPubKey)); - processModel.tradingPeer.setP2pSigPubKey(checkNotNull(message.buyerP2PSigPublicKey)); - processModel.tradingPeer.setP2pEncryptPubKey(checkNotNull(message.buyerP2PEncryptPublicKey)); - processModel.tradingPeer.setFiatAccount(checkNotNull(message.buyerFiatAccount)); - processModel.tradingPeer.setAccountId(nonEmptyStringOf(message.buyerAccountId)); - - complete(); - } catch (Throwable t) { - t.printStackTrace(); - trade.setThrowable(t); - failed(t); - } - } -} \ No newline at end of file diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCommitDepositTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerCommitDepositTx.java similarity index 83% rename from core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCommitDepositTx.java rename to core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerCommitDepositTx.java index 184de6445e..06ffacfbd3 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCommitDepositTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerCommitDepositTx.java @@ -15,7 +15,7 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.protocol.trade.seller.taker.tasks; +package io.bitsquare.trade.protocol.trade.seller.tasks; import io.bitsquare.common.taskrunner.TaskRunner; import io.bitsquare.trade.Trade; @@ -26,10 +26,10 @@ import org.bitcoinj.core.Transaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TakerCommitDepositTx extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(TakerCommitDepositTx.class); +public class SellerCommitDepositTx extends TradeTask { + private static final Logger log = LoggerFactory.getLogger(SellerCommitDepositTx.class); - public TakerCommitDepositTx(TaskRunner taskHandler, Trade trade) { + public SellerCommitDepositTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignContract.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerCreatesAndSignsContract.java similarity index 77% rename from core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignContract.java rename to core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerCreatesAndSignsContract.java index 43f3bf73ec..66bfd906ec 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignContract.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerCreatesAndSignsContract.java @@ -15,7 +15,7 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.protocol.trade.seller.taker.tasks; +package io.bitsquare.trade.protocol.trade.seller.tasks; import io.bitsquare.common.taskrunner.TaskRunner; import io.bitsquare.trade.Contract; @@ -26,33 +26,33 @@ import io.bitsquare.util.Utilities; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TakerCreatesAndSignContract extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(TakerCreatesAndSignContract.class); +public class SellerCreatesAndSignsContract extends TradeTask { + private static final Logger log = LoggerFactory.getLogger(SellerCreatesAndSignsContract.class); - public TakerCreatesAndSignContract(TaskRunner taskHandler, Trade trade) { + public SellerCreatesAndSignsContract(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @Override protected void doRun() { try { - assert processModel.getTakeOfferFeeTx() != null; + assert processModel.getTakeOfferFeeTxId() != null; Contract contract = new Contract( processModel.getOffer(), model.getTradeAmount(), - processModel.getTakeOfferFeeTx().getHashAsString(), + processModel.getTakeOfferFeeTxId(), processModel.tradingPeer.getAccountId(), processModel.getAccountId(), processModel.tradingPeer.getFiatAccount(), processModel.getFiatAccount(), - processModel.getOffer().getP2PSigPubKey(), + processModel.tradingPeer.getP2PSigPubKey(), processModel.getP2pSigPubKey()); String contractAsJson = Utilities.objectToJson(contract); String signature = processModel.getSignatureService().signMessage(processModel.getRegistrationKeyPair(), contractAsJson); model.setContract(contract); model.setContractAsJson(contractAsJson); - model.setTakerContractSignature(signature); + model.setSellerContractSignature(signature); complete(); } catch (Throwable t) { 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/tasks/SellerCreatesAndSignsDepositTx.java similarity index 87% rename from core/src/main/java/io/bitsquare/trade/protocol/trade/seller/taker/tasks/TakerCreatesAndSignsDepositTx.java rename to core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerCreatesAndSignsDepositTx.java index d56c2e5170..e3509e9c8c 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/tasks/SellerCreatesAndSignsDepositTx.java @@ -15,7 +15,7 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.protocol.trade.seller.taker.tasks; +package io.bitsquare.trade.protocol.trade.seller.tasks; import io.bitsquare.btc.FeePolicy; import io.bitsquare.btc.TradeWalletService; @@ -28,10 +28,10 @@ import org.bitcoinj.core.Coin; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TakerCreatesAndSignsDepositTx extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(TakerCreatesAndSignsDepositTx.class); +public class SellerCreatesAndSignsDepositTx extends TradeTask { + private static final Logger log = LoggerFactory.getLogger(SellerCreatesAndSignsDepositTx.class); - public TakerCreatesAndSignsDepositTx(TaskRunner taskHandler, Trade trade) { + public SellerCreatesAndSignsDepositTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -52,6 +52,7 @@ public class TakerCreatesAndSignsDepositTx extends TradeTask { processModel.getTradeWalletPubKey(), processModel.getArbitratorPubKey()); + processModel.setConnectedOutputsForAllInputs(result.getConnectedOutputsForAllInputs()); processModel.setPreparedDepositTx(result.getDepositTx()); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessDepositTxPublishedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessDepositTxPublishedMessage.java similarity index 71% rename from core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessDepositTxPublishedMessage.java rename to core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessDepositTxPublishedMessage.java index a0de965977..1a57e2385e 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessDepositTxPublishedMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessDepositTxPublishedMessage.java @@ -15,15 +15,18 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.protocol.trade.seller.offerer.tasks; +package io.bitsquare.trade.protocol.trade.seller.tasks; import io.bitsquare.common.taskrunner.TaskRunner; import io.bitsquare.trade.BuyerAsOffererTrade; +import io.bitsquare.trade.BuyerAsTakerTrade; import io.bitsquare.trade.SellerAsOffererTrade; +import io.bitsquare.trade.SellerAsTakerTrade; import io.bitsquare.trade.Trade; import io.bitsquare.trade.protocol.trade.TradeTask; import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage; import io.bitsquare.trade.states.OffererState; +import io.bitsquare.trade.states.TakerState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,10 +34,10 @@ import org.slf4j.LoggerFactory; import static com.google.common.base.Preconditions.checkNotNull; import static io.bitsquare.util.Validator.checkTradeId; -public class OffererProcessDepositTxPublishedMessage extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(OffererProcessDepositTxPublishedMessage.class); +public class SellerProcessDepositTxPublishedMessage extends TradeTask { + private static final Logger log = LoggerFactory.getLogger(SellerProcessDepositTxPublishedMessage.class); - public OffererProcessDepositTxPublishedMessage(TaskRunner taskHandler, Trade trade) { + public SellerProcessDepositTxPublishedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -47,10 +50,10 @@ public class OffererProcessDepositTxPublishedMessage extends TradeTask { trade.setDepositTx(checkNotNull(message.depositTx)); - if (trade instanceof BuyerAsOffererTrade) - trade.setProcessState(OffererState.ProcessState.DEPOSIT_PUBLISHED); - else if (trade instanceof SellerAsOffererTrade) + if (trade instanceof BuyerAsOffererTrade || trade instanceof SellerAsOffererTrade) trade.setProcessState(OffererState.ProcessState.DEPOSIT_PUBLISHED); + else if (trade instanceof BuyerAsTakerTrade || trade instanceof SellerAsTakerTrade) + trade.setProcessState(TakerState.ProcessState.DEPOSIT_PUBLISHED); complete(); } catch (Throwable t) { diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessFiatTransferStartedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessFiatTransferStartedMessage.java similarity index 74% rename from core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessFiatTransferStartedMessage.java rename to core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessFiatTransferStartedMessage.java index 6cb30ca3b9..c63ede09aa 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessFiatTransferStartedMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessFiatTransferStartedMessage.java @@ -15,15 +15,18 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.protocol.trade.seller.offerer.tasks; +package io.bitsquare.trade.protocol.trade.seller.tasks; import io.bitsquare.common.taskrunner.TaskRunner; import io.bitsquare.trade.BuyerAsOffererTrade; +import io.bitsquare.trade.BuyerAsTakerTrade; import io.bitsquare.trade.SellerAsOffererTrade; +import io.bitsquare.trade.SellerAsTakerTrade; import io.bitsquare.trade.Trade; import io.bitsquare.trade.protocol.trade.TradeTask; import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage; import io.bitsquare.trade.states.OffererState; +import io.bitsquare.trade.states.TakerState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,10 +34,10 @@ import org.slf4j.LoggerFactory; import static com.google.common.base.Preconditions.checkNotNull; import static io.bitsquare.util.Validator.*; -public class OffererProcessFiatTransferStartedMessage extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(OffererProcessFiatTransferStartedMessage.class); +public class SellerProcessFiatTransferStartedMessage extends TradeTask { + private static final Logger log = LoggerFactory.getLogger(SellerProcessFiatTransferStartedMessage.class); - public OffererProcessFiatTransferStartedMessage(TaskRunner taskHandler, Trade trade) { + public SellerProcessFiatTransferStartedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -50,10 +53,10 @@ public class OffererProcessFiatTransferStartedMessage extends TradeTask { processModel.tradingPeer.setPayoutAmount(positiveCoinOf(nonZeroCoinOf(message.buyerPayoutAmount))); processModel.tradingPeer.setPayoutAddressString(nonEmptyStringOf(message.buyerPayoutAddress)); - if (trade instanceof BuyerAsOffererTrade) - trade.setProcessState(OffererState.ProcessState.FIAT_PAYMENT_STARTED); - else if (trade instanceof SellerAsOffererTrade) + if (trade instanceof BuyerAsOffererTrade || trade instanceof SellerAsOffererTrade) trade.setProcessState(OffererState.ProcessState.FIAT_PAYMENT_STARTED); + else if (trade instanceof BuyerAsTakerTrade || trade instanceof SellerAsTakerTrade) + trade.setProcessState(TakerState.ProcessState.FIAT_PAYMENT_STARTED); complete(); } catch (Throwable t) { diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessRequestPayDepositFromOffererMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessRequestPayDepositMessage.java similarity index 86% rename from core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessRequestPayDepositFromOffererMessage.java rename to core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessRequestPayDepositMessage.java index dfc7d0d086..636b10fd55 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/offerer/tasks/OffererProcessRequestPayDepositFromOffererMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/seller/tasks/SellerProcessRequestPayDepositMessage.java @@ -15,7 +15,7 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.trade.protocol.trade.seller.offerer.tasks; +package io.bitsquare.trade.protocol.trade.seller.tasks; import io.bitsquare.common.taskrunner.TaskRunner; import io.bitsquare.trade.Trade; @@ -28,10 +28,10 @@ import org.slf4j.LoggerFactory; import static com.google.common.base.Preconditions.*; import static io.bitsquare.util.Validator.*; -public class OffererProcessRequestPayDepositFromOffererMessage extends TradeTask { - private static final Logger log = LoggerFactory.getLogger(OffererProcessRequestPayDepositFromOffererMessage.class); +public class SellerProcessRequestPayDepositMessage extends TradeTask { + private static final Logger log = LoggerFactory.getLogger(SellerProcessRequestPayDepositMessage.class); - public OffererProcessRequestPayDepositFromOffererMessage(TaskRunner taskHandler, Trade trade) { + public SellerProcessRequestPayDepositMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/models/TradingPeer.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/models/TradingPeer.java index 151e562dcd..8bcd1dfef0 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/models/TradingPeer.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/shared/models/TradingPeer.java @@ -55,6 +55,7 @@ public class TradingPeer implements Serializable { private byte[] signature; private String contractAsJson; private String contractSignature; + private PublicKey p2PSigPubKey; /////////////////////////////////////////////////////////////////////////////////////////// @@ -197,4 +198,12 @@ public class TradingPeer implements Serializable { ", contractSignature='" + contractSignature + '\'' + '}'; } + + public PublicKey getP2PSigPubKey() { + return p2PSigPubKey; + } + + public void setP2PSigPubKey(PublicKey p2PSigPubKey) { + this.p2PSigPubKey = p2PSigPubKey; + } }