mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-26 08:25:23 -04:00
Refactor models for taker
This commit is contained in:
parent
9b50dc40e5
commit
74c085cb03
39 changed files with 257 additions and 307 deletions
|
@ -38,9 +38,9 @@ import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailability
|
||||||
import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailableMessage;
|
import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailableMessage;
|
||||||
import io.bitsquare.trade.protocol.placeoffer.PlaceOfferModel;
|
import io.bitsquare.trade.protocol.placeoffer.PlaceOfferModel;
|
||||||
import io.bitsquare.trade.protocol.placeoffer.PlaceOfferProtocol;
|
import io.bitsquare.trade.protocol.placeoffer.PlaceOfferProtocol;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererProtocol;
|
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererProtocol;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerProtocol;
|
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerProtocol;
|
||||||
import io.bitsquare.user.AccountSettings;
|
import io.bitsquare.user.AccountSettings;
|
||||||
import io.bitsquare.user.User;
|
import io.bitsquare.user.User;
|
||||||
|
|
|
@ -22,6 +22,7 @@ import io.bitsquare.network.Peer;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.handlers.MessageHandler;
|
import io.bitsquare.trade.handlers.MessageHandler;
|
||||||
import io.bitsquare.trade.protocol.trade.TradeMessage;
|
import io.bitsquare.trade.protocol.trade.TradeMessage;
|
||||||
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.GetOffererDepositTxInputs;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.GetOffererDepositTxInputs;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessPayoutTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessPayoutTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestDepositTxInputsMessage;
|
||||||
|
|
|
@ -20,6 +20,7 @@ package io.bitsquare.trade.protocol.trade.offerer;
|
||||||
import io.bitsquare.common.handlers.ErrorMessageHandler;
|
import io.bitsquare.common.handlers.ErrorMessageHandler;
|
||||||
import io.bitsquare.common.handlers.ResultHandler;
|
import io.bitsquare.common.handlers.ResultHandler;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.offerer;
|
package io.bitsquare.trade.protocol.trade.offerer.models;
|
||||||
|
|
||||||
import io.bitsquare.btc.BlockChainService;
|
import io.bitsquare.btc.BlockChainService;
|
||||||
import io.bitsquare.btc.WalletService;
|
import io.bitsquare.btc.WalletService;
|
||||||
|
@ -24,7 +24,6 @@ import io.bitsquare.persistence.Persistence;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.TradeMessageService;
|
import io.bitsquare.trade.TradeMessageService;
|
||||||
import io.bitsquare.trade.protocol.trade.OfferSharedModel;
|
import io.bitsquare.trade.protocol.trade.OfferSharedModel;
|
||||||
import io.bitsquare.trade.protocol.trade.TakerModel;
|
|
||||||
import io.bitsquare.user.User;
|
import io.bitsquare.user.User;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
@ -36,14 +35,10 @@ public class BuyerAsOffererModel extends OfferSharedModel {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererModel.class);
|
private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererModel.class);
|
||||||
|
|
||||||
|
|
||||||
private final Trade trade;
|
private final Trade trade;
|
||||||
|
|
||||||
|
|
||||||
public final TakerModel taker;
|
public final TakerModel taker;
|
||||||
public final OffererModel offerer;
|
public final OffererModel offerer;
|
||||||
|
|
||||||
|
|
||||||
private Transaction publishedDepositTx;
|
private Transaction publishedDepositTx;
|
||||||
private String takeOfferFeeTxId;
|
private String takeOfferFeeTxId;
|
||||||
|
|
|
@ -15,7 +15,9 @@
|
||||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.offerer;
|
package io.bitsquare.trade.protocol.trade.offerer.models;
|
||||||
|
|
||||||
|
import io.bitsquare.network.Peer;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
import org.bitcoinj.core.ECKey;
|
import org.bitcoinj.core.ECKey;
|
||||||
|
@ -31,4 +33,5 @@ public class OffererModel {
|
||||||
public List<TransactionOutput> connectedOutputsForAllInputs;
|
public List<TransactionOutput> connectedOutputsForAllInputs;
|
||||||
public List<TransactionOutput> outputs;
|
public List<TransactionOutput> outputs;
|
||||||
public Transaction payoutTx;
|
public Transaction payoutTx;
|
||||||
|
public Peer peer;
|
||||||
}
|
}
|
|
@ -15,7 +15,7 @@
|
||||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade;
|
package io.bitsquare.trade.protocol.trade.offerer.models;
|
||||||
|
|
||||||
import io.bitsquare.fiat.FiatAccount;
|
import io.bitsquare.fiat.FiatAccount;
|
||||||
import io.bitsquare.network.Peer;
|
import io.bitsquare.network.Peer;
|
||||||
|
@ -40,5 +40,4 @@ public class TakerModel {
|
||||||
public List<TransactionOutput> outputs;
|
public List<TransactionOutput> outputs;
|
||||||
public String payoutAddress;
|
public String payoutAddress;
|
||||||
public byte[] pubKey;
|
public byte[] pubKey;
|
||||||
|
|
||||||
}
|
}
|
|
@ -22,7 +22,7 @@ import io.bitsquare.btc.FeePolicy;
|
||||||
import io.bitsquare.btc.TradeWalletService;
|
import io.bitsquare.btc.TradeWalletService;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.messages.PayoutTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.taker.messages.PayoutTxPublishedMessage;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
|
@ -20,7 +20,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.messages.RequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.taker.messages.RequestDepositTxInputsMessage;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.messages.RequestOffererPublishDepositTxMessage;
|
import io.bitsquare.trade.protocol.trade.taker.messages.RequestOffererPublishDepositTxMessage;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.RequestDepositPaymentMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.messages.RequestDepositPaymentMessage;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferStartedMessage;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.btc.FeePolicy;
|
import io.bitsquare.btc.FeePolicy;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ import io.bitsquare.btc.TradeWalletService;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.Contract;
|
import io.bitsquare.trade.Contract;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.util.Utilities;
|
import io.bitsquare.util.Utilities;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||||
|
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
|
@ -1,231 +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 <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.taker;
|
|
||||||
|
|
||||||
import io.bitsquare.btc.BlockChainService;
|
|
||||||
import io.bitsquare.btc.WalletService;
|
|
||||||
import io.bitsquare.crypto.SignatureService;
|
|
||||||
import io.bitsquare.fiat.FiatAccount;
|
|
||||||
import io.bitsquare.network.Peer;
|
|
||||||
import io.bitsquare.persistence.Persistence;
|
|
||||||
import io.bitsquare.trade.Trade;
|
|
||||||
import io.bitsquare.trade.TradeMessageService;
|
|
||||||
import io.bitsquare.trade.protocol.trade.OfferSharedModel;
|
|
||||||
import io.bitsquare.user.User;
|
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
|
||||||
import org.bitcoinj.core.ECKey;
|
|
||||||
import org.bitcoinj.core.Transaction;
|
|
||||||
import org.bitcoinj.core.TransactionOutput;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
public class SellerAsTakerModel extends OfferSharedModel {
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(SellerAsTakerModel.class);
|
|
||||||
|
|
||||||
// provided
|
|
||||||
private final Trade trade;
|
|
||||||
private final Peer offerer;
|
|
||||||
|
|
||||||
// derived
|
|
||||||
private final byte[] takerPubKey;
|
|
||||||
|
|
||||||
// written/read by task
|
|
||||||
private Transaction depositTx;
|
|
||||||
private Transaction payoutTx;
|
|
||||||
private Coin takerPayoutAmount;
|
|
||||||
private byte[] offererPubKey;
|
|
||||||
private Coin offererPayoutAmount;
|
|
||||||
private String offererPayoutAddress;
|
|
||||||
private List<TransactionOutput> offererConnectedOutputsForAllInputs;
|
|
||||||
private List<TransactionOutput> offererOutputs;
|
|
||||||
private List<TransactionOutput> takerConnectedOutputsForAllInputs;
|
|
||||||
private List<TransactionOutput> takerOutputs;
|
|
||||||
private Transaction takerDepositTx;
|
|
||||||
private Transaction publishedDepositTx;
|
|
||||||
private FiatAccount takerFiatAccount;
|
|
||||||
private String takerAccountId;
|
|
||||||
private ECKey.ECDSASignature offererSignature;
|
|
||||||
private Transaction takeOfferFeeTx;
|
|
||||||
|
|
||||||
public SellerAsTakerModel(Trade trade,
|
|
||||||
Peer offerer,
|
|
||||||
TradeMessageService tradeMessageService,
|
|
||||||
WalletService walletService,
|
|
||||||
BlockChainService blockChainService,
|
|
||||||
SignatureService signatureService,
|
|
||||||
User user,
|
|
||||||
Persistence persistence) {
|
|
||||||
super(trade.getOffer(),
|
|
||||||
tradeMessageService,
|
|
||||||
walletService,
|
|
||||||
blockChainService,
|
|
||||||
signatureService,
|
|
||||||
user,
|
|
||||||
persistence);
|
|
||||||
|
|
||||||
this.trade = trade;
|
|
||||||
this.offerer = offerer;
|
|
||||||
takerPubKey = getAddressEntry().getPubKey();
|
|
||||||
}
|
|
||||||
|
|
||||||
// getter/setter
|
|
||||||
public byte[] getTakerPubKey() {
|
|
||||||
return takerPubKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOffererPubKey(byte[] offererPubKey) {
|
|
||||||
this.offererPubKey = offererPubKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<TransactionOutput> getOffererConnectedOutputsForAllInputs() {
|
|
||||||
return offererConnectedOutputsForAllInputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOffererConnectedOutputsForAllInputs(List<TransactionOutput> offererConnectedOutputsForAllInputs) {
|
|
||||||
this.offererConnectedOutputsForAllInputs = offererConnectedOutputsForAllInputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<TransactionOutput> getOffererOutputs() {
|
|
||||||
return offererOutputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOffererOutputs(List<TransactionOutput> offererOutputs) {
|
|
||||||
this.offererOutputs = offererOutputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Trade getTrade() {
|
|
||||||
return trade;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Peer getOfferer() {
|
|
||||||
return offerer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Transaction getPayoutTx() {
|
|
||||||
return payoutTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayoutTx(Transaction payoutTx) {
|
|
||||||
this.payoutTx = payoutTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] getOffererPubKey() {
|
|
||||||
return offererPubKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Transaction getDepositTx() {
|
|
||||||
return depositTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDepositTx(Transaction depositTx) {
|
|
||||||
this.depositTx = depositTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Coin getOffererPayoutAmount() {
|
|
||||||
return offererPayoutAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOffererPayoutAmount(Coin offererPayoutAmount) {
|
|
||||||
this.offererPayoutAmount = offererPayoutAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Coin getTakerPayoutAmount() {
|
|
||||||
return takerPayoutAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakerPayoutAmount(Coin takerPayoutAmount) {
|
|
||||||
this.takerPayoutAmount = takerPayoutAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOffererPayoutAddress() {
|
|
||||||
return offererPayoutAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOffererPayoutAddress(String offererPayoutAddress) {
|
|
||||||
this.offererPayoutAddress = offererPayoutAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakerConnectedOutputsForAllInputs(List<TransactionOutput> takerConnectedOutputsForAllInputs) {
|
|
||||||
this.takerConnectedOutputsForAllInputs = takerConnectedOutputsForAllInputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<TransactionOutput> getTakerConnectedOutputsForAllInputs() {
|
|
||||||
return takerConnectedOutputsForAllInputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakerOutputs(List<TransactionOutput> takerOutputs) {
|
|
||||||
this.takerOutputs = takerOutputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<TransactionOutput> getTakerOutputs() {
|
|
||||||
return takerOutputs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakerDepositTx(Transaction takerDepositTx) {
|
|
||||||
this.takerDepositTx = takerDepositTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Transaction getTakerDepositTx() {
|
|
||||||
return takerDepositTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPublishedDepositTx(Transaction publishedDepositTx) {
|
|
||||||
this.publishedDepositTx = publishedDepositTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Transaction getPublishedDepositTx() {
|
|
||||||
return publishedDepositTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakerFiatAccount(FiatAccount takerFiatAccount) {
|
|
||||||
this.takerFiatAccount = takerFiatAccount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FiatAccount getTakerFiatAccount() {
|
|
||||||
return takerFiatAccount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakerAccountId(String takerAccountId) {
|
|
||||||
this.takerAccountId = takerAccountId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTakerAccountId() {
|
|
||||||
return takerAccountId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ECKey.ECDSASignature getOffererSignature() {
|
|
||||||
return offererSignature;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOffererSignature(ECKey.ECDSASignature offererSignature) {
|
|
||||||
this.offererSignature = offererSignature;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakeOfferFeeTx(Transaction takeOfferFeeTx) {
|
|
||||||
this.takeOfferFeeTx = takeOfferFeeTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Transaction getTakeOfferFeeTx() {
|
|
||||||
return takeOfferFeeTx;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -25,6 +25,7 @@ import io.bitsquare.trade.protocol.trade.TradeMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.RequestDepositPaymentMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.messages.RequestDepositPaymentMessage;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.BroadcastTakeOfferFeeTx;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.BroadcastTakeOfferFeeTx;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.CreateAndSignContract;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.CreateAndSignContract;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.CreateTakeOfferFeeTx;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.CreateTakeOfferFeeTx;
|
||||||
|
|
|
@ -20,6 +20,7 @@ package io.bitsquare.trade.protocol.trade.taker;
|
||||||
import io.bitsquare.common.handlers.ErrorMessageHandler;
|
import io.bitsquare.common.handlers.ErrorMessageHandler;
|
||||||
import io.bitsquare.common.handlers.ResultHandler;
|
import io.bitsquare.common.handlers.ResultHandler;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* This file is part of Bitsquare.
|
||||||
|
*
|
||||||
|
* Bitsquare is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* Bitsquare is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.bitsquare.trade.protocol.trade.taker.models;
|
||||||
|
|
||||||
|
import io.bitsquare.network.Peer;
|
||||||
|
|
||||||
|
import org.bitcoinj.core.Coin;
|
||||||
|
import org.bitcoinj.core.ECKey;
|
||||||
|
import org.bitcoinj.core.TransactionOutput;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class OffererModel {
|
||||||
|
public OffererModel(Peer peer) {
|
||||||
|
this.peer = peer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Peer peer;
|
||||||
|
public byte[] pubKey;
|
||||||
|
public Coin payoutAmount;
|
||||||
|
public String payoutAddress;
|
||||||
|
public List<TransactionOutput> connectedOutputsForAllInputs;
|
||||||
|
public List<TransactionOutput> outputs;
|
||||||
|
public ECKey.ECDSASignature signature;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,103 @@
|
||||||
|
/*
|
||||||
|
* This file is part of Bitsquare.
|
||||||
|
*
|
||||||
|
* Bitsquare is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* Bitsquare is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.bitsquare.trade.protocol.trade.taker.models;
|
||||||
|
|
||||||
|
import io.bitsquare.btc.BlockChainService;
|
||||||
|
import io.bitsquare.btc.WalletService;
|
||||||
|
import io.bitsquare.crypto.SignatureService;
|
||||||
|
import io.bitsquare.network.Peer;
|
||||||
|
import io.bitsquare.persistence.Persistence;
|
||||||
|
import io.bitsquare.trade.Trade;
|
||||||
|
import io.bitsquare.trade.TradeMessageService;
|
||||||
|
import io.bitsquare.trade.protocol.trade.OfferSharedModel;
|
||||||
|
import io.bitsquare.trade.protocol.trade.offerer.models.TakerModel;
|
||||||
|
import io.bitsquare.user.User;
|
||||||
|
|
||||||
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
public class SellerAsTakerModel extends OfferSharedModel {
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(SellerAsTakerModel.class);
|
||||||
|
|
||||||
|
private final Trade trade;
|
||||||
|
public final TakerModel taker;
|
||||||
|
public final OffererModel offerer;
|
||||||
|
|
||||||
|
private Transaction publishedDepositTx;
|
||||||
|
private Transaction takeOfferFeeTx;
|
||||||
|
private Transaction payoutTx;
|
||||||
|
|
||||||
|
public SellerAsTakerModel(Trade trade,
|
||||||
|
Peer offererPeer,
|
||||||
|
TradeMessageService tradeMessageService,
|
||||||
|
WalletService walletService,
|
||||||
|
BlockChainService blockChainService,
|
||||||
|
SignatureService signatureService,
|
||||||
|
User user,
|
||||||
|
Persistence persistence) {
|
||||||
|
super(trade.getOffer(),
|
||||||
|
tradeMessageService,
|
||||||
|
walletService,
|
||||||
|
blockChainService,
|
||||||
|
signatureService,
|
||||||
|
user,
|
||||||
|
persistence);
|
||||||
|
|
||||||
|
this.trade = trade;
|
||||||
|
|
||||||
|
taker = new TakerModel();
|
||||||
|
offerer = new OffererModel(offererPeer);
|
||||||
|
|
||||||
|
taker.pubKey = getAddressEntry().getPubKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Trade getTrade() {
|
||||||
|
return trade;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Transaction getPublishedDepositTx() {
|
||||||
|
return publishedDepositTx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPublishedDepositTx(Transaction publishedDepositTx) {
|
||||||
|
this.publishedDepositTx = publishedDepositTx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Transaction getTakeOfferFeeTx() {
|
||||||
|
return takeOfferFeeTx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTakeOfferFeeTx(Transaction takeOfferFeeTx) {
|
||||||
|
this.takeOfferFeeTx = takeOfferFeeTx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDepositTx(Transaction transaction) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Transaction getPayoutTx() {
|
||||||
|
return payoutTx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPayoutTx(Transaction payoutTx) {
|
||||||
|
this.payoutTx = payoutTx;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* This file is part of Bitsquare.
|
||||||
|
*
|
||||||
|
* Bitsquare is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* Bitsquare is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.bitsquare.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.util.List;
|
||||||
|
|
||||||
|
public class TakerModel {
|
||||||
|
|
||||||
|
public List<TransactionOutput> connectedOutputsForAllInputs;
|
||||||
|
public List<TransactionOutput> outputs;
|
||||||
|
public Transaction depositTx;
|
||||||
|
public FiatAccount fiatAccount;
|
||||||
|
public String accountId;
|
||||||
|
public Coin payoutAmount;
|
||||||
|
|
||||||
|
}
|
|
@ -20,7 +20,7 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.Contract;
|
import io.bitsquare.trade.Contract;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.util.Utilities;
|
import io.bitsquare.util.Utilities;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -41,9 +41,9 @@ public class CreateAndSignContract extends Task<SellerAsTakerModel> {
|
||||||
model.getOffer(),
|
model.getOffer(),
|
||||||
trade.getTradeAmount(),
|
trade.getTradeAmount(),
|
||||||
model.getTakeOfferFeeTx().getHashAsString(),
|
model.getTakeOfferFeeTx().getHashAsString(),
|
||||||
model.getTakerAccountId(),
|
model.taker.accountId,
|
||||||
model.getAccountId(),
|
model.getAccountId(),
|
||||||
model.getTakerFiatAccount(),
|
model.taker.fiatAccount,
|
||||||
model.getFiatAccount(),
|
model.getFiatAccount(),
|
||||||
model.getOffer().getMessagePublicKey(),
|
model.getOffer().getMessagePublicKey(),
|
||||||
model.getNetworkPubKey());
|
model.getNetworkPubKey());
|
||||||
|
|
|
@ -20,7 +20,7 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,10 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferStartedMessage;
|
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferStartedMessage;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.ECKey;
|
import org.bitcoinj.core.ECKey;
|
||||||
|
|
||||||
|
@ -44,10 +44,10 @@ public class ProcessBankTransferStartedMessage extends Task<SellerAsTakerModel>
|
||||||
BankTransferStartedMessage message = (BankTransferStartedMessage) model.getTradeMessage();
|
BankTransferStartedMessage message = (BankTransferStartedMessage) model.getTradeMessage();
|
||||||
|
|
||||||
model.setDepositTx(checkNotNull(message.getDepositTx()));
|
model.setDepositTx(checkNotNull(message.getDepositTx()));
|
||||||
model.setOffererSignature(checkNotNull(ECKey.ECDSASignature.decodeFromDER(message.getOffererSignature())));
|
model.offerer.signature = checkNotNull(ECKey.ECDSASignature.decodeFromDER(message.getOffererSignature()));
|
||||||
model.setOffererPayoutAmount(positiveCoinOf(nonZeroCoinOf(message.getOffererPayoutAmount())));
|
model.offerer.payoutAmount = positiveCoinOf(nonZeroCoinOf(message.getOffererPayoutAmount()));
|
||||||
model.setTakerPayoutAmount(positiveCoinOf(nonZeroCoinOf(message.getTakerPayoutAmount())));
|
model.taker.payoutAmount = positiveCoinOf(nonZeroCoinOf(message.getTakerPayoutAmount()));
|
||||||
model.setOffererPayoutAddress(nonEmptyStringOf(message.getOffererPayoutAddress()));
|
model.offerer.payoutAddress = nonEmptyStringOf(message.getOffererPayoutAddress());
|
||||||
|
|
||||||
complete();
|
complete();
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,10 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.messages.RequestDepositPaymentMessage;
|
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.trade.protocol.trade.offerer.messages.RequestDepositPaymentMessage;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -41,13 +41,12 @@ public class ProcessRequestDepositPaymentMessage extends Task<SellerAsTakerModel
|
||||||
checkTradeId(model.getId(), model.getTradeMessage());
|
checkTradeId(model.getId(), model.getTradeMessage());
|
||||||
RequestDepositPaymentMessage message = (RequestDepositPaymentMessage) model.getTradeMessage();
|
RequestDepositPaymentMessage message = (RequestDepositPaymentMessage) model.getTradeMessage();
|
||||||
|
|
||||||
model.setOffererConnectedOutputsForAllInputs(checkNotNull(message.getOffererConnectedOutputsForAllInputs()));
|
model.offerer.connectedOutputsForAllInputs = checkNotNull(message.getOffererConnectedOutputsForAllInputs());
|
||||||
checkArgument(message.getOffererConnectedOutputsForAllInputs().size() > 0);
|
checkArgument(message.getOffererConnectedOutputsForAllInputs().size() > 0);
|
||||||
model.setOffererOutputs(checkNotNull(message.getOffererOutputs()));
|
model.offerer.outputs = checkNotNull(message.getOffererOutputs());
|
||||||
model.setOffererPubKey(checkNotNull(message.getOffererPubKey()));
|
model.offerer.pubKey = checkNotNull(message.getOffererPubKey());
|
||||||
|
model.taker.fiatAccount = checkNotNull(message.getFiatAccount());
|
||||||
model.setTakerFiatAccount(checkNotNull(message.getFiatAccount()));
|
model.taker.accountId = nonEmptyStringOf(message.getAccountId());
|
||||||
model.setTakerAccountId(nonEmptyStringOf(message.getAccountId()));
|
|
||||||
|
|
||||||
complete();
|
complete();
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.messages.PayoutTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.taker.messages.PayoutTxPublishedMessage;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
@ -36,7 +36,7 @@ public class SendPayoutTxToOfferer extends Task<SellerAsTakerModel> {
|
||||||
@Override
|
@Override
|
||||||
protected void doRun() {
|
protected void doRun() {
|
||||||
PayoutTxPublishedMessage tradeMessage = new PayoutTxPublishedMessage(model.getId(), model.getPayoutTx());
|
PayoutTxPublishedMessage tradeMessage = new PayoutTxPublishedMessage(model.getId(), model.getPayoutTx());
|
||||||
model.getTradeMessageService().sendMessage(model.getOfferer(), tradeMessage, new SendMessageListener() {
|
model.getTradeMessageService().sendMessage(model.offerer.peer, tradeMessage, new SendMessageListener() {
|
||||||
@Override
|
@Override
|
||||||
public void handleResult() {
|
public void handleResult() {
|
||||||
log.trace("PayoutTxPublishedMessage successfully arrived at peer");
|
log.trace("PayoutTxPublishedMessage successfully arrived at peer");
|
||||||
|
|
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.messages.RequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.taker.messages.RequestDepositTxInputsMessage;
|
||||||
|
@ -42,10 +42,10 @@ public class SendRequestDepositTxInputsMessage extends Task<SellerAsTakerModel>
|
||||||
model.getId(),
|
model.getId(),
|
||||||
model.getTakeOfferFeeTx().getHashAsString(),
|
model.getTakeOfferFeeTx().getHashAsString(),
|
||||||
model.getTrade().getTradeAmount(),
|
model.getTrade().getTradeAmount(),
|
||||||
model.getTakerPubKey()
|
model.taker.pubKey
|
||||||
);
|
);
|
||||||
|
|
||||||
model.getTradeMessageService().sendMessage(model.getOfferer(), msg, new SendMessageListener() {
|
model.getTradeMessageService().sendMessage(model.offerer.peer, msg, new SendMessageListener() {
|
||||||
@Override
|
@Override
|
||||||
public void handleResult() {
|
public void handleResult() {
|
||||||
log.trace("Sending TakeOfferFeePayedMessage succeeded.");
|
log.trace("Sending TakeOfferFeePayedMessage succeeded.");
|
||||||
|
|
|
@ -17,11 +17,11 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.listeners.SendMessageListener;
|
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
|
||||||
import io.bitsquare.trade.protocol.trade.taker.messages.RequestOffererPublishDepositTxMessage;
|
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.trade.listeners.SendMessageListener;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.messages.RequestOffererPublishDepositTxMessage;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -43,12 +43,12 @@ public class SendSignedTakerDepositTx extends Task<SellerAsTakerModel> {
|
||||||
model.getTrade().getContractAsJson(),
|
model.getTrade().getContractAsJson(),
|
||||||
model.getTrade().getTakerContractSignature(),
|
model.getTrade().getTakerContractSignature(),
|
||||||
model.getAddressEntry().getAddressString(),
|
model.getAddressEntry().getAddressString(),
|
||||||
model.getTakerDepositTx(),
|
model.taker.depositTx,
|
||||||
model.getTakerConnectedOutputsForAllInputs(),
|
model.taker.connectedOutputsForAllInputs,
|
||||||
model.getTakerOutputs()
|
model.taker.outputs
|
||||||
);
|
);
|
||||||
|
|
||||||
model.getTradeMessageService().sendMessage(model.getOfferer(), tradeMessage, new SendMessageListener() {
|
model.getTradeMessageService().sendMessage(model.offerer.peer, tradeMessage, new SendMessageListener() {
|
||||||
@Override
|
@Override
|
||||||
public void handleResult() {
|
public void handleResult() {
|
||||||
complete();
|
complete();
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
||||||
|
@ -43,13 +43,13 @@ public class SignAndPublishPayoutTx extends Task<SellerAsTakerModel> {
|
||||||
try {
|
try {
|
||||||
model.getTradeWalletService().takerSignsAndPublishPayoutTx(
|
model.getTradeWalletService().takerSignsAndPublishPayoutTx(
|
||||||
model.getPublishedDepositTx(),
|
model.getPublishedDepositTx(),
|
||||||
model.getOffererSignature(),
|
model.offerer.signature,
|
||||||
model.getOffererPayoutAmount(),
|
model.offerer.payoutAmount,
|
||||||
model.getTakerPayoutAmount(),
|
model.taker.payoutAmount,
|
||||||
model.getOffererPayoutAddress(),
|
model.offerer.payoutAddress,
|
||||||
model.getAddressEntry(),
|
model.getAddressEntry(),
|
||||||
model.getOffererPubKey(),
|
model.offerer.pubKey,
|
||||||
model.getTakerPubKey(),
|
model.taker.pubKey,
|
||||||
model.getArbitratorPubKey(),
|
model.getArbitratorPubKey(),
|
||||||
new FutureCallback<Transaction>() {
|
new FutureCallback<Transaction>() {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,10 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.btc.FeePolicy;
|
import io.bitsquare.btc.FeePolicy;
|
||||||
import io.bitsquare.btc.TradeWalletService;
|
import io.bitsquare.btc.TradeWalletService;
|
||||||
import io.bitsquare.trade.Trade;
|
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.trade.Trade;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
|
|
||||||
|
@ -45,17 +45,17 @@ public class TakerCreatesAndSignsDepositTx extends Task<SellerAsTakerModel> {
|
||||||
TradeWalletService.TransactionDataResult result = model.getTradeWalletService().takerCreatesAndSignsDepositTx(
|
TradeWalletService.TransactionDataResult result = model.getTradeWalletService().takerCreatesAndSignsDepositTx(
|
||||||
takerInputAmount,
|
takerInputAmount,
|
||||||
msOutputAmount,
|
msOutputAmount,
|
||||||
model.getOffererConnectedOutputsForAllInputs(),
|
model.offerer.connectedOutputsForAllInputs,
|
||||||
model.getOffererOutputs(),
|
model.offerer.outputs,
|
||||||
model.getAddressEntry(),
|
model.getAddressEntry(),
|
||||||
model.getOffererPubKey(),
|
model.offerer.pubKey,
|
||||||
model.getTakerPubKey(),
|
model.taker.pubKey,
|
||||||
model.getArbitratorPubKey());
|
model.getArbitratorPubKey());
|
||||||
|
|
||||||
|
|
||||||
model.setTakerConnectedOutputsForAllInputs(result.getConnectedOutputsForAllInputs());
|
model.taker.connectedOutputsForAllInputs = result.getConnectedOutputsForAllInputs();
|
||||||
model.setTakerOutputs(result.getOutputs());
|
model.taker.outputs = result.getOutputs();
|
||||||
model.setTakerDepositTx(result.getDepositTx());
|
model.taker.depositTx = result.getDepositTx();
|
||||||
|
|
||||||
complete();
|
complete();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,9 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||||
|
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
|
|
||||||
import io.bitsquare.common.taskrunner.Task;
|
import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -34,7 +34,7 @@ public class VerifyOffererAccount extends Task<SellerAsTakerModel> {
|
||||||
@Override
|
@Override
|
||||||
protected void doRun() {
|
protected void doRun() {
|
||||||
if (model.getBlockChainService().verifyAccountRegistration()) {
|
if (model.getBlockChainService().verifyAccountRegistration()) {
|
||||||
if (model.getBlockChainService().isAccountBlackListed(model.getTakerAccountId(), model.getTakerFiatAccount())) {
|
if (model.getBlockChainService().isAccountBlackListed(model.taker.accountId, model.taker.fiatAccount)) {
|
||||||
failed("Taker is blacklisted.");
|
failed("Taker is blacklisted.");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue