mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-29 09:48:46 -04:00
Rename process classes
This commit is contained in:
parent
239389b529
commit
12bea799f3
43 changed files with 238 additions and 210 deletions
|
@ -28,26 +28,26 @@ import io.bitsquare.trade.protocol.placeoffer.tasks.AddOfferToRemoteOfferBook;
|
||||||
import io.bitsquare.trade.protocol.placeoffer.tasks.BroadcastCreateOfferFeeTx;
|
import io.bitsquare.trade.protocol.placeoffer.tasks.BroadcastCreateOfferFeeTx;
|
||||||
import io.bitsquare.trade.protocol.placeoffer.tasks.CreateOfferFeeTx;
|
import io.bitsquare.trade.protocol.placeoffer.tasks.CreateOfferFeeTx;
|
||||||
import io.bitsquare.trade.protocol.placeoffer.tasks.ValidateOffer;
|
import io.bitsquare.trade.protocol.placeoffer.tasks.ValidateOffer;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererProtocol;
|
import io.bitsquare.trade.protocol.trade.offerer.OffererAsBuyerProtocol;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateOffererDepositTxInputs;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateOffererDepositTxInputs;
|
||||||
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;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestOffererPublishDepositTxMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestOffererPublishDepositTxMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestDepositPayment;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestTakerDepositPayment;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendDepositTxIdToTaker;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendDepositTxToTaker;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SignAndPublishDepositTx;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SignAndPublishDepositTx;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyAndSignContract;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyAndSignContract;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakeOfferFeePayment;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakeOfferFeePayment;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakerAccount;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyTakerAccount;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerProtocol;
|
import io.bitsquare.trade.protocol.trade.taker.TakerAsSellerProtocol;
|
||||||
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;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessFiatTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessFiatTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessDepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessDepositTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRequestDepositPaymentMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRequestTakerDepositPaymentMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.SendPayoutTxToOfferer;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.SendPayoutTxToOfferer;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.SendRequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.SendRequestDepositTxInputsMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.SendSignedTakerDepositTx;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.SendSignedTakerDepositTx;
|
||||||
|
@ -101,17 +101,17 @@ public class DebugView extends InitializableView {
|
||||||
|
|
||||||
|
|
||||||
/*---- Protocol ----*/
|
/*---- Protocol ----*/
|
||||||
BuyerAsOffererProtocol.class,
|
OffererAsBuyerProtocol.class,
|
||||||
ProcessRequestDepositTxInputsMessage.class,
|
ProcessRequestDepositTxInputsMessage.class,
|
||||||
CreateOffererDepositTxInputs.class,
|
CreateOffererDepositTxInputs.class,
|
||||||
RequestDepositPayment.class,
|
RequestTakerDepositPayment.class,
|
||||||
|
|
||||||
ProcessRequestOffererPublishDepositTxMessage.class,
|
ProcessRequestOffererPublishDepositTxMessage.class,
|
||||||
VerifyTakerAccount.class,
|
VerifyTakerAccount.class,
|
||||||
VerifyAndSignContract.class,
|
VerifyAndSignContract.class,
|
||||||
SignAndPublishDepositTx.class,
|
SignAndPublishDepositTx.class,
|
||||||
SetupListenerForBlockChainConfirmation.class,
|
SetupListenerForBlockChainConfirmation.class,
|
||||||
SendDepositTxIdToTaker.class,
|
SendDepositTxToTaker.class,
|
||||||
|
|
||||||
CreateAndSignPayoutTx.class,
|
CreateAndSignPayoutTx.class,
|
||||||
VerifyTakeOfferFeePayment.class,
|
VerifyTakeOfferFeePayment.class,
|
||||||
|
@ -122,11 +122,11 @@ public class DebugView extends InitializableView {
|
||||||
|
|
||||||
|
|
||||||
/*---- Protocol ----*/
|
/*---- Protocol ----*/
|
||||||
SellerAsTakerProtocol.class,
|
TakerAsSellerProtocol.class,
|
||||||
CreateTakeOfferFeeTx.class,
|
CreateTakeOfferFeeTx.class,
|
||||||
SendRequestDepositTxInputsMessage.class,
|
SendRequestDepositTxInputsMessage.class,
|
||||||
|
|
||||||
ProcessRequestDepositPaymentMessage.class,
|
ProcessRequestTakerDepositPaymentMessage.class,
|
||||||
VerifyOffererAccount.class,
|
VerifyOffererAccount.class,
|
||||||
CreateAndSignContract.class,
|
CreateAndSignContract.class,
|
||||||
TakerCreatesAndSignsDepositTx.class,
|
TakerCreatesAndSignsDepositTx.class,
|
||||||
|
|
|
@ -20,5 +20,5 @@ package io.bitsquare.p2p;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface MailboxMessagesResultHandler {
|
public interface MailboxMessagesResultHandler {
|
||||||
void handleResult(List<EncryptedMailboxMessage> messages);
|
void handleResult(List<EncryptedMailboxMessage> encryptedMailboxMessages);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,10 +45,10 @@ import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailable
|
||||||
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.messages.TradeMessage;
|
import io.bitsquare.trade.protocol.trade.messages.TradeMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.BuyerAsOffererProtocol;
|
import io.bitsquare.trade.protocol.trade.offerer.OffererAsBuyerProtocol;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerProtocol;
|
import io.bitsquare.trade.protocol.trade.taker.TakerAsSellerProtocol;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
import io.bitsquare.user.AccountSettings;
|
import io.bitsquare.user.AccountSettings;
|
||||||
import io.bitsquare.user.User;
|
import io.bitsquare.user.User;
|
||||||
|
|
||||||
|
@ -86,8 +86,8 @@ public class TradeManager {
|
||||||
private EncryptionService<MailboxMessage> encryptionService;
|
private EncryptionService<MailboxMessage> encryptionService;
|
||||||
private final OfferBookService offerBookService;
|
private final OfferBookService offerBookService;
|
||||||
|
|
||||||
private final Map<String, SellerAsTakerProtocol> sellerAsTakerProtocolMap = new HashMap<>();
|
private final Map<String, TakerAsSellerProtocol> takerAsSellerProtocolMap = new HashMap<>();
|
||||||
private final Map<String, BuyerAsOffererProtocol> buyerAcceptsOfferProtocolMap = new HashMap<>();
|
private final Map<String, OffererAsBuyerProtocol> offererAsBuyerProtocolMap = new HashMap<>();
|
||||||
private final Map<String, CheckOfferAvailabilityProtocol> checkOfferAvailabilityProtocolMap = new HashMap<>();
|
private final Map<String, CheckOfferAvailabilityProtocol> checkOfferAvailabilityProtocolMap = new HashMap<>();
|
||||||
|
|
||||||
private final ObservableMap<String, Offer> openOffers = FXCollections.observableHashMap();
|
private final ObservableMap<String, Offer> openOffers = FXCollections.observableHashMap();
|
||||||
|
@ -144,7 +144,7 @@ public class TradeManager {
|
||||||
// BuyerAcceptsOfferProtocol listens for take offer requests, so we need to instantiate it early.
|
// BuyerAcceptsOfferProtocol listens for take offer requests, so we need to instantiate it early.
|
||||||
public void onAllServicesInitialized() {
|
public void onAllServicesInitialized() {
|
||||||
for (Map.Entry<String, Offer> entry : openOffers.entrySet()) {
|
for (Map.Entry<String, Offer> entry : openOffers.entrySet()) {
|
||||||
createBuyerAcceptsOfferProtocol(entry.getValue());
|
createOffererAsBuyerProtocol(entry.getValue());
|
||||||
}
|
}
|
||||||
for (Map.Entry<String, Trade> entry : pendingTrades.entrySet()) {
|
for (Map.Entry<String, Trade> entry : pendingTrades.entrySet()) {
|
||||||
Trade trade = entry.getValue();
|
Trade trade = entry.getValue();
|
||||||
|
@ -154,7 +154,7 @@ public class TradeManager {
|
||||||
else {
|
else {
|
||||||
Offer offer = trade.getOffer();
|
Offer offer = trade.getOffer();
|
||||||
if (isMyOffer(offer)) {
|
if (isMyOffer(offer)) {
|
||||||
createBuyerAcceptsOfferProtocol(offer);
|
createOffererAsBuyerProtocol(offer);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CheckOfferAvailabilityModel model = new CheckOfferAvailabilityModel(offer, messageService, addressService);
|
CheckOfferAvailabilityModel model = new CheckOfferAvailabilityModel(offer, messageService, addressService);
|
||||||
|
@ -163,7 +163,7 @@ public class TradeManager {
|
||||||
disposeCheckOfferAvailabilityRequest(offer);
|
disposeCheckOfferAvailabilityRequest(offer);
|
||||||
// TODO need to check that trade hijacking is not possible (taking trades form other peers)
|
// TODO need to check that trade hijacking is not possible (taking trades form other peers)
|
||||||
if (offer.getState() == Offer.State.AVAILABLE || offer.getState() == Offer.State.RESERVED) {
|
if (offer.getState() == Offer.State.AVAILABLE || offer.getState() == Offer.State.RESERVED) {
|
||||||
createSellerAsTakerProtocol(trade, model.getPeer());
|
createTakerAsSellerProtocol(trade, model.getPeer());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
(errorMessage) -> disposeCheckOfferAvailabilityRequest(offer));
|
(errorMessage) -> disposeCheckOfferAvailabilityRequest(offer));
|
||||||
|
@ -174,8 +174,8 @@ public class TradeManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
mailboxService.getAllMessages(user.getP2PSigPubKey(),
|
mailboxService.getAllMessages(user.getP2PSigPubKey(),
|
||||||
(messages) -> {
|
(encryptedMailboxMessages) -> {
|
||||||
decryptMailboxMessages(messages);
|
decryptMailboxMessages(encryptedMailboxMessages);
|
||||||
emptyMailbox();
|
emptyMailbox();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ public class TradeManager {
|
||||||
(transaction) -> {
|
(transaction) -> {
|
||||||
openOffers.put(offer.getId(), offer);
|
openOffers.put(offer.getId(), offer);
|
||||||
persistOpenOffers();
|
persistOpenOffers();
|
||||||
createBuyerAcceptsOfferProtocol(offer);
|
createOffererAsBuyerProtocol(offer);
|
||||||
resultHandler.handleResult(transaction);
|
resultHandler.handleResult(transaction);
|
||||||
},
|
},
|
||||||
(message) -> errorMessageHandler.handleErrorMessage(message)
|
(message) -> errorMessageHandler.handleErrorMessage(message)
|
||||||
|
@ -286,14 +286,14 @@ public class TradeManager {
|
||||||
|
|
||||||
public void onFiatPaymentStarted(String tradeId) {
|
public void onFiatPaymentStarted(String tradeId) {
|
||||||
// TODO remove if check when persistence is impl.
|
// TODO remove if check when persistence is impl.
|
||||||
if (buyerAcceptsOfferProtocolMap.containsKey(tradeId)) {
|
if (offererAsBuyerProtocolMap.containsKey(tradeId)) {
|
||||||
buyerAcceptsOfferProtocolMap.get(tradeId).onFiatPaymentStarted();
|
offererAsBuyerProtocolMap.get(tradeId).onFiatPaymentStarted();
|
||||||
persistPendingTrades();
|
persistPendingTrades();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onFiatPaymentReceived(String tradeId) {
|
public void onFiatPaymentReceived(String tradeId) {
|
||||||
sellerAsTakerProtocolMap.get(tradeId).onFiatPaymentReceived();
|
takerAsSellerProtocolMap.get(tradeId).onFiatPaymentReceived();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onWithdrawAtTradeCompleted(Trade trade) {
|
public void onWithdrawAtTradeCompleted(Trade trade) {
|
||||||
|
@ -377,9 +377,9 @@ public class TradeManager {
|
||||||
openOffers.remove(offerId);
|
openOffers.remove(offerId);
|
||||||
disposeCheckOfferAvailabilityRequest(offer);
|
disposeCheckOfferAvailabilityRequest(offer);
|
||||||
persistOpenOffers();
|
persistOpenOffers();
|
||||||
if (removeFromBuyerAcceptsOfferProtocolMap && buyerAcceptsOfferProtocolMap.containsKey(offerId)) {
|
if (removeFromBuyerAcceptsOfferProtocolMap && offererAsBuyerProtocolMap.containsKey(offerId)) {
|
||||||
buyerAcceptsOfferProtocolMap.get(offerId).cleanup();
|
offererAsBuyerProtocolMap.get(offerId).cleanup();
|
||||||
buyerAcceptsOfferProtocolMap.remove(offerId);
|
offererAsBuyerProtocolMap.remove(offerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
resultHandler.handleResult();
|
resultHandler.handleResult();
|
||||||
|
@ -415,7 +415,7 @@ public class TradeManager {
|
||||||
Trade trade = createTrade(offer);
|
Trade trade = createTrade(offer);
|
||||||
trade.setTradeAmount(amount);
|
trade.setTradeAmount(amount);
|
||||||
|
|
||||||
SellerAsTakerProtocol sellerTakesOfferProtocol = createSellerAsTakerProtocol(trade, peer);
|
TakerAsSellerProtocol sellerTakesOfferProtocol = createTakerAsSellerProtocol(trade, peer);
|
||||||
sellerTakesOfferProtocol.takeAvailableOffer();
|
sellerTakesOfferProtocol.takeAvailableOffer();
|
||||||
return trade;
|
return trade;
|
||||||
}
|
}
|
||||||
|
@ -433,7 +433,7 @@ public class TradeManager {
|
||||||
return trade;
|
return trade;
|
||||||
}
|
}
|
||||||
|
|
||||||
private SellerAsTakerProtocol createSellerAsTakerProtocol(Trade trade, Peer peer) {
|
private TakerAsSellerProtocol createTakerAsSellerProtocol(Trade trade, Peer peer) {
|
||||||
trade.stateProperty().addListener((ov, oldValue, newValue) -> {
|
trade.stateProperty().addListener((ov, oldValue, newValue) -> {
|
||||||
log.debug("trade state = " + newValue);
|
log.debug("trade state = " + newValue);
|
||||||
switch (newValue) {
|
switch (newValue) {
|
||||||
|
@ -457,7 +457,7 @@ public class TradeManager {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
SellerAsTakerModel model = new SellerAsTakerModel(
|
TakerAsSellerModel model = new TakerAsSellerModel(
|
||||||
trade,
|
trade,
|
||||||
peer,
|
peer,
|
||||||
messageService,
|
messageService,
|
||||||
|
@ -468,17 +468,17 @@ public class TradeManager {
|
||||||
user,
|
user,
|
||||||
persistence);
|
persistence);
|
||||||
|
|
||||||
SellerAsTakerProtocol sellerTakesOfferProtocol = new SellerAsTakerProtocol(model);
|
TakerAsSellerProtocol protocol = new TakerAsSellerProtocol(model);
|
||||||
sellerAsTakerProtocolMap.put(trade.getId(), sellerTakesOfferProtocol);
|
takerAsSellerProtocolMap.put(trade.getId(), protocol);
|
||||||
|
|
||||||
if (mailboxMessages.containsKey(trade.getId()))
|
if (mailboxMessages.containsKey(trade.getId()))
|
||||||
sellerTakesOfferProtocol.setMailboxMessage(mailboxMessages.get(trade.getId()));
|
protocol.setMailboxMessage(mailboxMessages.get(trade.getId()));
|
||||||
|
|
||||||
return sellerTakesOfferProtocol;
|
return protocol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void createBuyerAcceptsOfferProtocol(Offer offer) {
|
private void createOffererAsBuyerProtocol(Offer offer) {
|
||||||
Trade trade;
|
Trade trade;
|
||||||
if (pendingTrades.containsKey(offer.getId())) {
|
if (pendingTrades.containsKey(offer.getId())) {
|
||||||
trade = pendingTrades.get(offer.getId());
|
trade = pendingTrades.get(offer.getId());
|
||||||
|
@ -489,7 +489,7 @@ public class TradeManager {
|
||||||
// don't save it in pendingTrades. It is only a potential trade
|
// don't save it in pendingTrades. It is only a potential trade
|
||||||
}
|
}
|
||||||
|
|
||||||
BuyerAsOffererModel model = new BuyerAsOffererModel(
|
OffererAsBuyerModel model = new OffererAsBuyerModel(
|
||||||
trade,
|
trade,
|
||||||
messageService,
|
messageService,
|
||||||
mailboxService,
|
mailboxService,
|
||||||
|
@ -531,7 +531,7 @@ public class TradeManager {
|
||||||
case MESSAGE_SENDING_FAILED:
|
case MESSAGE_SENDING_FAILED:
|
||||||
case FAULT:
|
case FAULT:
|
||||||
closeTrade(trade);
|
closeTrade(trade);
|
||||||
buyerAcceptsOfferProtocolMap.get(trade.getId()).cleanup();
|
offererAsBuyerProtocolMap.get(trade.getId()).cleanup();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
log.warn("Unhandled trade state: " + newValue);
|
log.warn("Unhandled trade state: " + newValue);
|
||||||
|
@ -539,8 +539,11 @@ public class TradeManager {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
BuyerAsOffererProtocol buyerAcceptsOfferProtocol = new BuyerAsOffererProtocol(model);
|
OffererAsBuyerProtocol protocol = new OffererAsBuyerProtocol(model);
|
||||||
buyerAcceptsOfferProtocolMap.put(offer.getId(), buyerAcceptsOfferProtocol);
|
offererAsBuyerProtocolMap.put(offer.getId(), protocol);
|
||||||
|
if (mailboxMessages.containsKey(trade.getId()))
|
||||||
|
protocol.setMailboxMessage(mailboxMessages.get(trade.getId()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void closeTrade(Trade trade) {
|
private void closeTrade(Trade trade) {
|
||||||
|
@ -549,13 +552,13 @@ public class TradeManager {
|
||||||
persistPendingTrades();
|
persistPendingTrades();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sellerAsTakerProtocolMap.containsKey(trade.getId())) {
|
if (takerAsSellerProtocolMap.containsKey(trade.getId())) {
|
||||||
sellerAsTakerProtocolMap.get(trade.getId()).cleanup();
|
takerAsSellerProtocolMap.get(trade.getId()).cleanup();
|
||||||
sellerAsTakerProtocolMap.remove(trade.getId());
|
takerAsSellerProtocolMap.remove(trade.getId());
|
||||||
}
|
}
|
||||||
else if (buyerAcceptsOfferProtocolMap.containsKey(trade.getId())) {
|
else if (offererAsBuyerProtocolMap.containsKey(trade.getId())) {
|
||||||
buyerAcceptsOfferProtocolMap.get(trade.getId()).cleanup();
|
offererAsBuyerProtocolMap.get(trade.getId()).cleanup();
|
||||||
buyerAcceptsOfferProtocolMap.remove(trade.getId());
|
offererAsBuyerProtocolMap.remove(trade.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!closedTrades.containsKey(trade.getId())) {
|
if (!closedTrades.containsKey(trade.getId())) {
|
||||||
|
@ -572,21 +575,25 @@ public class TradeManager {
|
||||||
private void decryptMailboxMessages(List<EncryptedMailboxMessage> encryptedMailboxMessages) {
|
private void decryptMailboxMessages(List<EncryptedMailboxMessage> encryptedMailboxMessages) {
|
||||||
log.trace("applyMailboxMessage encryptedMailboxMessage.size=" + encryptedMailboxMessages.size());
|
log.trace("applyMailboxMessage encryptedMailboxMessage.size=" + encryptedMailboxMessages.size());
|
||||||
for (EncryptedMailboxMessage encrypted : encryptedMailboxMessages) {
|
for (EncryptedMailboxMessage encrypted : encryptedMailboxMessages) {
|
||||||
MailboxMessage mailboxMessage = null;
|
|
||||||
try {
|
try {
|
||||||
mailboxMessage = encryptionService.decryptToObject(user.getP2pEncryptPrivateKey(), encrypted.getEncryptionPackage());
|
MailboxMessage mailboxMessage = encryptionService.decryptToObject(user.getP2pEncryptPrivateKey(), encrypted.getEncryptionPackage());
|
||||||
} catch (Throwable e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
log.error(e.getMessage());
|
|
||||||
}
|
|
||||||
if (mailboxMessage instanceof TradeMessage) {
|
if (mailboxMessage instanceof TradeMessage) {
|
||||||
String tradeId = ((TradeMessage) mailboxMessage).tradeId;
|
String tradeId = ((TradeMessage) mailboxMessage).tradeId;
|
||||||
mailboxMessages.put(tradeId, mailboxMessage);
|
mailboxMessages.put(tradeId, mailboxMessage);
|
||||||
log.trace("mailboxMessage with tradeID " + tradeId);
|
log.trace("mailboxMessage with tradeID " + tradeId);
|
||||||
if (sellerAsTakerProtocolMap.containsKey(tradeId)) {
|
if (takerAsSellerProtocolMap.containsKey(tradeId)) {
|
||||||
sellerAsTakerProtocolMap.get(tradeId).setMailboxMessage(encrypted);
|
takerAsSellerProtocolMap.get(tradeId).setMailboxMessage(encrypted);
|
||||||
log.trace("sellerAsTakerProtocolMap exist with tradeID " + tradeId);
|
log.trace("sellerAsTakerProtocolMap exist with tradeID " + tradeId);
|
||||||
}
|
}
|
||||||
|
if (offererAsBuyerProtocolMap.containsKey(tradeId)) {
|
||||||
|
offererAsBuyerProtocolMap.get(tradeId).setMailboxMessage(encrypted);
|
||||||
|
log.trace("buyerAcceptsOfferProtocolMap exist with tradeID " + tradeId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
log.error(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,11 +17,13 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.messages;
|
package io.bitsquare.trade.protocol.trade.messages;
|
||||||
|
|
||||||
|
import io.bitsquare.p2p.MailboxMessage;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class DepositTxPublishedMessage extends TradeMessage implements Serializable {
|
public class DepositTxPublishedMessage extends TradeMessage implements MailboxMessage, Serializable {
|
||||||
private static final long serialVersionUID = -1532231540167406581L;
|
private static final long serialVersionUID = -1532231540167406581L;
|
||||||
|
|
||||||
public final Transaction depositTx;
|
public final Transaction depositTx;
|
||||||
|
|
|
@ -21,7 +21,7 @@ import io.bitsquare.p2p.Message;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class OfferMessage implements Message, Serializable {
|
public abstract class OfferMessage implements Message, Serializable {
|
||||||
private static final long serialVersionUID = -89035992124170905L;
|
private static final long serialVersionUID = -89035992124170905L;
|
||||||
|
|
||||||
public String offerId;
|
public String offerId;
|
||||||
|
|
|
@ -17,11 +17,13 @@
|
||||||
|
|
||||||
package io.bitsquare.trade.protocol.trade.messages;
|
package io.bitsquare.trade.protocol.trade.messages;
|
||||||
|
|
||||||
|
import io.bitsquare.p2p.MailboxMessage;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class PayoutTxPublishedMessage extends TradeMessage implements Serializable {
|
public class PayoutTxPublishedMessage extends TradeMessage implements MailboxMessage, Serializable {
|
||||||
private static final long serialVersionUID = 1288653559218403873L;
|
private static final long serialVersionUID = 1288653559218403873L;
|
||||||
|
|
||||||
public final Transaction payoutTx;
|
public final Transaction payoutTx;
|
||||||
|
|
|
@ -25,7 +25,7 @@ import java.io.Serializable;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class RequestDepositPaymentMessage extends TradeMessage implements Serializable {
|
public class RequestTakerDepositPaymentMessage extends TradeMessage implements Serializable {
|
||||||
private static final long serialVersionUID = -3988720410493712913L;
|
private static final long serialVersionUID = -3988720410493712913L;
|
||||||
|
|
||||||
public final List<TransactionOutput> offererConnectedOutputsForAllInputs;
|
public final List<TransactionOutput> offererConnectedOutputsForAllInputs;
|
||||||
|
@ -34,7 +34,7 @@ public class RequestDepositPaymentMessage extends TradeMessage implements Serial
|
||||||
public final FiatAccount offererFiatAccount;
|
public final FiatAccount offererFiatAccount;
|
||||||
public final String offererAccountId;
|
public final String offererAccountId;
|
||||||
|
|
||||||
public RequestDepositPaymentMessage(String tradeId,
|
public RequestTakerDepositPaymentMessage(String tradeId,
|
||||||
List<TransactionOutput> offererConnectedOutputsForAllInputs,
|
List<TransactionOutput> offererConnectedOutputsForAllInputs,
|
||||||
List<TransactionOutput> offererOutputs,
|
List<TransactionOutput> offererOutputs,
|
||||||
byte[] offererPubKey,
|
byte[] offererPubKey,
|
|
@ -21,7 +21,7 @@ import io.bitsquare.p2p.Message;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class TradeMessage implements Message, Serializable {
|
public abstract class TradeMessage implements Message, Serializable {
|
||||||
private static final long serialVersionUID = 7572470983485004081L;
|
private static final long serialVersionUID = 7572470983485004081L;
|
||||||
|
|
||||||
public String tradeId;
|
public String tradeId;
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
package io.bitsquare.trade.protocol.trade.offerer;
|
package io.bitsquare.trade.protocol.trade.offerer;
|
||||||
|
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
|
import io.bitsquare.p2p.MailboxMessage;
|
||||||
import io.bitsquare.p2p.Message;
|
import io.bitsquare.p2p.Message;
|
||||||
import io.bitsquare.p2p.MessageHandler;
|
import io.bitsquare.p2p.MessageHandler;
|
||||||
import io.bitsquare.p2p.Peer;
|
import io.bitsquare.p2p.Peer;
|
||||||
|
@ -26,15 +27,15 @@ import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.TradeMessage;
|
import io.bitsquare.trade.protocol.trade.messages.TradeMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateAndSignPayoutTx;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateOffererDepositTxInputs;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateOffererDepositTxInputs;
|
||||||
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;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestOffererPublishDepositTxMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestOffererPublishDepositTxMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestDepositPayment;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestTakerDepositPayment;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendDepositTxIdToTaker;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendDepositTxToTaker;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.SignAndPublishDepositTx;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.SignAndPublishDepositTx;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyAndSignContract;
|
import io.bitsquare.trade.protocol.trade.offerer.tasks.VerifyAndSignContract;
|
||||||
|
@ -50,10 +51,10 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import static io.bitsquare.util.Validator.*;
|
import static io.bitsquare.util.Validator.*;
|
||||||
|
|
||||||
public class BuyerAsOffererProtocol {
|
public class OffererAsBuyerProtocol {
|
||||||
private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererProtocol.class);
|
private static final Logger log = LoggerFactory.getLogger(OffererAsBuyerProtocol.class);
|
||||||
|
|
||||||
private final BuyerAsOffererModel model;
|
private final OffererAsBuyerModel model;
|
||||||
private final MessageHandler messageHandler;
|
private final MessageHandler messageHandler;
|
||||||
|
|
||||||
private TransactionConfidence.Listener transactionConfidenceListener;
|
private TransactionConfidence.Listener transactionConfidenceListener;
|
||||||
|
@ -63,7 +64,7 @@ public class BuyerAsOffererProtocol {
|
||||||
// Constructor
|
// Constructor
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
public BuyerAsOffererProtocol(BuyerAsOffererModel model) {
|
public OffererAsBuyerProtocol(OffererAsBuyerModel model) {
|
||||||
log.debug("New BuyerAsOffererProtocol " + this);
|
log.debug("New BuyerAsOffererProtocol " + this);
|
||||||
this.model = model;
|
this.model = model;
|
||||||
messageHandler = this::handleMessage;
|
messageHandler = this::handleMessage;
|
||||||
|
@ -76,6 +77,17 @@ public class BuyerAsOffererProtocol {
|
||||||
// Public methods
|
// Public methods
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
public void setMailboxMessage(MailboxMessage mailboxMessage) {
|
||||||
|
log.debug("setMailboxMessage " + mailboxMessage);
|
||||||
|
// Might be called twice, so check that its only processed once
|
||||||
|
if (model.mailboxMessage == null) {
|
||||||
|
model.mailboxMessage = mailboxMessage;
|
||||||
|
if (mailboxMessage instanceof PayoutTxPublishedMessage) {
|
||||||
|
handlePayoutTxPublishedMessage((PayoutTxPublishedMessage) mailboxMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void cleanup() {
|
public void cleanup() {
|
||||||
log.debug("cleanup " + this);
|
log.debug("cleanup " + this);
|
||||||
|
|
||||||
|
@ -99,7 +111,7 @@ public class BuyerAsOffererProtocol {
|
||||||
model.setTradeMessage(tradeMessage);
|
model.setTradeMessage(tradeMessage);
|
||||||
model.taker.peer = taker;
|
model.taker.peer = taker;
|
||||||
|
|
||||||
TaskRunner<BuyerAsOffererModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<OffererAsBuyerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("sequence at handleTakeOfferFeePayedMessage completed");
|
log.debug("sequence at handleTakeOfferFeePayedMessage completed");
|
||||||
},
|
},
|
||||||
|
@ -110,7 +122,7 @@ public class BuyerAsOffererProtocol {
|
||||||
taskRunner.addTasks(
|
taskRunner.addTasks(
|
||||||
ProcessRequestDepositTxInputsMessage.class,
|
ProcessRequestDepositTxInputsMessage.class,
|
||||||
CreateOffererDepositTxInputs.class,
|
CreateOffererDepositTxInputs.class,
|
||||||
RequestDepositPayment.class
|
RequestTakerDepositPayment.class
|
||||||
);
|
);
|
||||||
taskRunner.run();
|
taskRunner.run();
|
||||||
}
|
}
|
||||||
|
@ -118,7 +130,7 @@ public class BuyerAsOffererProtocol {
|
||||||
private void handleRequestOffererPublishDepositTxMessage(RequestOffererPublishDepositTxMessage tradeMessage) {
|
private void handleRequestOffererPublishDepositTxMessage(RequestOffererPublishDepositTxMessage tradeMessage) {
|
||||||
model.setTradeMessage(tradeMessage);
|
model.setTradeMessage(tradeMessage);
|
||||||
|
|
||||||
TaskRunner<BuyerAsOffererModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<OffererAsBuyerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("taskRunner at handleRequestOffererPublishDepositTxMessage completed");
|
log.debug("taskRunner at handleRequestOffererPublishDepositTxMessage completed");
|
||||||
transactionConfidenceListener = (tx, reason) -> {
|
transactionConfidenceListener = (tx, reason) -> {
|
||||||
|
@ -142,7 +154,7 @@ public class BuyerAsOffererProtocol {
|
||||||
VerifyAndSignContract.class,
|
VerifyAndSignContract.class,
|
||||||
SignAndPublishDepositTx.class,
|
SignAndPublishDepositTx.class,
|
||||||
SetupListenerForBlockChainConfirmation.class,
|
SetupListenerForBlockChainConfirmation.class,
|
||||||
SendDepositTxIdToTaker.class
|
SendDepositTxToTaker.class
|
||||||
);
|
);
|
||||||
taskRunner.run();
|
taskRunner.run();
|
||||||
}
|
}
|
||||||
|
@ -154,7 +166,7 @@ public class BuyerAsOffererProtocol {
|
||||||
|
|
||||||
// User clicked the "bank transfer started" button
|
// User clicked the "bank transfer started" button
|
||||||
public void onFiatPaymentStarted() {
|
public void onFiatPaymentStarted() {
|
||||||
TaskRunner<BuyerAsOffererModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<OffererAsBuyerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("sequence at handleBankTransferStartedUIEvent completed");
|
log.debug("sequence at handleBankTransferStartedUIEvent completed");
|
||||||
},
|
},
|
||||||
|
@ -178,7 +190,7 @@ public class BuyerAsOffererProtocol {
|
||||||
private void handlePayoutTxPublishedMessage(PayoutTxPublishedMessage tradeMessage) {
|
private void handlePayoutTxPublishedMessage(PayoutTxPublishedMessage tradeMessage) {
|
||||||
model.setTradeMessage(tradeMessage);
|
model.setTradeMessage(tradeMessage);
|
||||||
|
|
||||||
TaskRunner<BuyerAsOffererModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<OffererAsBuyerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("sequence at handlePayoutTxPublishedMessage completed");
|
log.debug("sequence at handlePayoutTxPublishedMessage completed");
|
||||||
|
|
|
@ -30,7 +30,7 @@ import java.security.PublicKey;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class OffererModel implements Serializable {
|
public class Offerer implements Serializable {
|
||||||
private static final long serialVersionUID = -1845177552607819927L;
|
private static final long serialVersionUID = -1845177552607819927L;
|
||||||
|
|
||||||
// Those fields are set at constructor but not declared as final because constructor is not called in case model gets created from a persisted model
|
// Those fields are set at constructor but not declared as final because constructor is not called in case model gets created from a persisted model
|
|
@ -32,18 +32,18 @@ import java.io.Serializable;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class BuyerAsOffererModel extends SharedTradeModel implements Serializable {
|
public class OffererAsBuyerModel extends SharedTradeModel implements Serializable {
|
||||||
private static final long serialVersionUID = 5000457153390911569L;
|
private static final long serialVersionUID = 5000457153390911569L;
|
||||||
private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererModel.class);
|
private static final Logger log = LoggerFactory.getLogger(OffererAsBuyerModel.class);
|
||||||
|
|
||||||
transient public final Trade trade;
|
transient public final Trade trade;
|
||||||
public final TakerModel taker;
|
public final Taker taker;
|
||||||
public final OffererModel offerer;
|
public final Offerer offerer;
|
||||||
|
|
||||||
// written by tasks
|
// written by tasks
|
||||||
private String takeOfferFeeTxId;
|
private String takeOfferFeeTxId;
|
||||||
|
|
||||||
public BuyerAsOffererModel(Trade trade,
|
public OffererAsBuyerModel(Trade trade,
|
||||||
MessageService messageService,
|
MessageService messageService,
|
||||||
MailboxService mailboxService,
|
MailboxService mailboxService,
|
||||||
WalletService walletService,
|
WalletService walletService,
|
||||||
|
@ -62,8 +62,8 @@ public class BuyerAsOffererModel extends SharedTradeModel implements Serializabl
|
||||||
this.trade = trade;
|
this.trade = trade;
|
||||||
|
|
||||||
Serializable serializable = persistence.read(this, "BuyerAsOffererModel_" + id);
|
Serializable serializable = persistence.read(this, "BuyerAsOffererModel_" + id);
|
||||||
if (serializable instanceof BuyerAsOffererModel) {
|
if (serializable instanceof OffererAsBuyerModel) {
|
||||||
BuyerAsOffererModel persistedModel = (BuyerAsOffererModel) serializable;
|
OffererAsBuyerModel persistedModel = (OffererAsBuyerModel) serializable;
|
||||||
log.debug("Model reconstructed form persisted model.");
|
log.debug("Model reconstructed form persisted model.");
|
||||||
|
|
||||||
setTakeOfferFeeTxId(persistedModel.takeOfferFeeTxId);
|
setTakeOfferFeeTxId(persistedModel.takeOfferFeeTxId);
|
||||||
|
@ -72,8 +72,8 @@ public class BuyerAsOffererModel extends SharedTradeModel implements Serializabl
|
||||||
offerer = persistedModel.offerer;
|
offerer = persistedModel.offerer;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
taker = new TakerModel();
|
taker = new Taker();
|
||||||
offerer = new OffererModel();
|
offerer = new Offerer();
|
||||||
}
|
}
|
||||||
|
|
||||||
offerer.registrationPubKey = walletService.getRegistrationAddressEntry().getPubKey();
|
offerer.registrationPubKey = walletService.getRegistrationAddressEntry().getPubKey();
|
|
@ -30,7 +30,7 @@ import java.security.PublicKey;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TakerModel implements Serializable {
|
public class Taker implements Serializable {
|
||||||
private static final long serialVersionUID = 2660909397210346486L;
|
private static final long serialVersionUID = 2660909397210346486L;
|
||||||
|
|
||||||
// written by tasks
|
// written by tasks
|
|
@ -20,17 +20,17 @@ 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.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class CreateAndSignPayoutTx extends Task<BuyerAsOffererModel> {
|
public class CreateAndSignPayoutTx extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(CreateAndSignPayoutTx.class);
|
private static final Logger log = LoggerFactory.getLogger(CreateAndSignPayoutTx.class);
|
||||||
|
|
||||||
public CreateAndSignPayoutTx(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public CreateAndSignPayoutTx(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,17 +21,17 @@ 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.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class CreateOffererDepositTxInputs extends Task<BuyerAsOffererModel> {
|
public class CreateOffererDepositTxInputs extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(CreateOffererDepositTxInputs.class);
|
private static final Logger log = LoggerFactory.getLogger(CreateOffererDepositTxInputs.class);
|
||||||
|
|
||||||
public CreateOffererDepositTxInputs(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public CreateOffererDepositTxInputs(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -29,10 +29,10 @@ import org.slf4j.LoggerFactory;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static io.bitsquare.util.Validator.checkTradeId;
|
import static io.bitsquare.util.Validator.checkTradeId;
|
||||||
|
|
||||||
public class ProcessPayoutTxPublishedMessage extends Task<BuyerAsOffererModel> {
|
public class ProcessPayoutTxPublishedMessage extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(ProcessPayoutTxPublishedMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(ProcessPayoutTxPublishedMessage.class);
|
||||||
|
|
||||||
public ProcessPayoutTxPublishedMessage(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public ProcessPayoutTxPublishedMessage(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -29,10 +29,10 @@ import org.slf4j.LoggerFactory;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static io.bitsquare.util.Validator.*;
|
import static io.bitsquare.util.Validator.*;
|
||||||
|
|
||||||
public class ProcessRequestDepositTxInputsMessage extends Task<BuyerAsOffererModel> {
|
public class ProcessRequestDepositTxInputsMessage extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(ProcessRequestDepositTxInputsMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(ProcessRequestDepositTxInputsMessage.class);
|
||||||
|
|
||||||
public ProcessRequestDepositTxInputsMessage(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public ProcessRequestDepositTxInputsMessage(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -28,10 +28,10 @@ import org.slf4j.LoggerFactory;
|
||||||
import static com.google.common.base.Preconditions.*;
|
import static com.google.common.base.Preconditions.*;
|
||||||
import static io.bitsquare.util.Validator.*;
|
import static io.bitsquare.util.Validator.*;
|
||||||
|
|
||||||
public class ProcessRequestOffererPublishDepositTxMessage extends Task<BuyerAsOffererModel> {
|
public class ProcessRequestOffererPublishDepositTxMessage extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(ProcessRequestOffererPublishDepositTxMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(ProcessRequestOffererPublishDepositTxMessage.class);
|
||||||
|
|
||||||
public ProcessRequestOffererPublishDepositTxMessage(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public ProcessRequestOffererPublishDepositTxMessage(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,22 +20,22 @@ 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.p2p.listener.SendMessageListener;
|
import io.bitsquare.p2p.listener.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositPaymentMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestTakerDepositPaymentMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class RequestDepositPayment extends Task<BuyerAsOffererModel> {
|
public class RequestTakerDepositPayment extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(RequestDepositPayment.class);
|
private static final Logger log = LoggerFactory.getLogger(RequestTakerDepositPayment.class);
|
||||||
|
|
||||||
public RequestDepositPayment(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public RequestTakerDepositPayment(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doRun() {
|
protected void doRun() {
|
||||||
RequestDepositPaymentMessage tradeMessage = new RequestDepositPaymentMessage(
|
RequestTakerDepositPaymentMessage tradeMessage = new RequestTakerDepositPaymentMessage(
|
||||||
model.id,
|
model.id,
|
||||||
model.offerer.connectedOutputsForAllInputs,
|
model.offerer.connectedOutputsForAllInputs,
|
||||||
model.offerer.outputs,
|
model.offerer.outputs,
|
|
@ -22,15 +22,15 @@ import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.p2p.listener.SendMessageListener;
|
import io.bitsquare.p2p.listener.SendMessageListener;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SendBankTransferStartedMessage extends Task<BuyerAsOffererModel> {
|
public class SendBankTransferStartedMessage extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SendBankTransferStartedMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(SendBankTransferStartedMessage.class);
|
||||||
|
|
||||||
public SendBankTransferStartedMessage(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public SendBankTransferStartedMessage(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,15 +21,15 @@ import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.p2p.listener.SendMessageListener;
|
import io.bitsquare.p2p.listener.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SendDepositTxIdToTaker extends Task<BuyerAsOffererModel> {
|
public class SendDepositTxToTaker extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SendDepositTxIdToTaker.class);
|
private static final Logger log = LoggerFactory.getLogger(SendDepositTxToTaker.class);
|
||||||
|
|
||||||
public SendDepositTxIdToTaker(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public SendDepositTxToTaker(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
import org.bitcoinj.core.TransactionConfidence;
|
import org.bitcoinj.core.TransactionConfidence;
|
||||||
|
@ -30,13 +30,13 @@ import javafx.application.Platform;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SetupListenerForBlockChainConfirmation extends Task<BuyerAsOffererModel> {
|
public class SetupListenerForBlockChainConfirmation extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SetupListenerForBlockChainConfirmation.class);
|
private static final Logger log = LoggerFactory.getLogger(SetupListenerForBlockChainConfirmation.class);
|
||||||
|
|
||||||
private TransactionConfidence.Listener transactionConfidenceListener;
|
private TransactionConfidence.Listener transactionConfidenceListener;
|
||||||
private TransactionConfidence transactionConfidence;
|
private TransactionConfidence transactionConfidence;
|
||||||
|
|
||||||
public SetupListenerForBlockChainConfirmation(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public SetupListenerForBlockChainConfirmation(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ import io.bitsquare.btc.FeePolicy;
|
||||||
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.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
@ -33,10 +33,10 @@ import org.jetbrains.annotations.NotNull;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SignAndPublishDepositTx extends Task<BuyerAsOffererModel> {
|
public class SignAndPublishDepositTx extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SignAndPublishDepositTx.class);
|
private static final Logger log = LoggerFactory.getLogger(SignAndPublishDepositTx.class);
|
||||||
|
|
||||||
public SignAndPublishDepositTx(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public SignAndPublishDepositTx(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,16 +21,16 @@ 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.offerer.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
import io.bitsquare.util.Utilities;
|
import io.bitsquare.util.Utilities;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class VerifyAndSignContract extends Task<BuyerAsOffererModel> {
|
public class VerifyAndSignContract extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(VerifyAndSignContract.class);
|
private static final Logger log = LoggerFactory.getLogger(VerifyAndSignContract.class);
|
||||||
|
|
||||||
public VerifyAndSignContract(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public VerifyAndSignContract(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,15 +19,15 @@ 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.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class VerifyTakeOfferFeePayment extends Task<BuyerAsOffererModel> {
|
public class VerifyTakeOfferFeePayment extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(VerifyTakeOfferFeePayment.class);
|
private static final Logger log = LoggerFactory.getLogger(VerifyTakeOfferFeePayment.class);
|
||||||
|
|
||||||
public VerifyTakeOfferFeePayment(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public VerifyTakeOfferFeePayment(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,15 +19,15 @@ 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.models.BuyerAsOffererModel;
|
import io.bitsquare.trade.protocol.trade.offerer.models.OffererAsBuyerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class VerifyTakerAccount extends Task<BuyerAsOffererModel> {
|
public class VerifyTakerAccount extends Task<OffererAsBuyerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(VerifyTakerAccount.class);
|
private static final Logger log = LoggerFactory.getLogger(VerifyTakerAccount.class);
|
||||||
|
|
||||||
public VerifyTakerAccount(TaskRunner taskHandler, BuyerAsOffererModel model) {
|
public VerifyTakerAccount(TaskRunner taskHandler, OffererAsBuyerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,18 +22,17 @@ import io.bitsquare.p2p.MailboxMessage;
|
||||||
import io.bitsquare.p2p.Message;
|
import io.bitsquare.p2p.Message;
|
||||||
import io.bitsquare.p2p.MessageHandler;
|
import io.bitsquare.p2p.MessageHandler;
|
||||||
import io.bitsquare.p2p.Peer;
|
import io.bitsquare.p2p.Peer;
|
||||||
import io.bitsquare.trade.Trade;
|
|
||||||
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositPaymentMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestTakerDepositPaymentMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.TradeMessage;
|
import io.bitsquare.trade.protocol.trade.messages.TradeMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
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;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessDepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessDepositTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessFiatTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessFiatTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRequestDepositPaymentMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRequestTakerDepositPaymentMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.SendPayoutTxToOfferer;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.SendPayoutTxToOfferer;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.SendRequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.SendRequestDepositTxInputsMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.tasks.SendSignedTakerDepositTx;
|
import io.bitsquare.trade.protocol.trade.taker.tasks.SendSignedTakerDepositTx;
|
||||||
|
@ -53,11 +52,11 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import static io.bitsquare.util.Validator.nonEmptyStringOf;
|
import static io.bitsquare.util.Validator.nonEmptyStringOf;
|
||||||
|
|
||||||
public class SellerAsTakerProtocol {
|
public class TakerAsSellerProtocol {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SellerAsTakerProtocol.class);
|
private static final Logger log = LoggerFactory.getLogger(TakerAsSellerProtocol.class);
|
||||||
private static final int TIMEOUT_DELAY = 10000;
|
private static final int TIMEOUT_DELAY = 10000;
|
||||||
|
|
||||||
private final SellerAsTakerModel model;
|
private final TakerAsSellerModel model;
|
||||||
private final MessageHandler messageHandler;
|
private final MessageHandler messageHandler;
|
||||||
private AnimationTimer timeoutTimer;
|
private AnimationTimer timeoutTimer;
|
||||||
|
|
||||||
|
@ -66,7 +65,7 @@ public class SellerAsTakerProtocol {
|
||||||
// Constructor
|
// Constructor
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
public SellerAsTakerProtocol(SellerAsTakerModel model) {
|
public TakerAsSellerProtocol(TakerAsSellerModel model) {
|
||||||
log.debug("New SellerAsTakerProtocol " + this);
|
log.debug("New SellerAsTakerProtocol " + this);
|
||||||
this.model = model;
|
this.model = model;
|
||||||
messageHandler = this::handleMessage;
|
messageHandler = this::handleMessage;
|
||||||
|
@ -93,11 +92,14 @@ public class SellerAsTakerProtocol {
|
||||||
if (mailboxMessage instanceof FiatTransferStartedMessage) {
|
if (mailboxMessage instanceof FiatTransferStartedMessage) {
|
||||||
handleFiatTransferStartedMessage((FiatTransferStartedMessage) mailboxMessage);
|
handleFiatTransferStartedMessage((FiatTransferStartedMessage) mailboxMessage);
|
||||||
}
|
}
|
||||||
|
else if (mailboxMessage instanceof DepositTxPublishedMessage) {
|
||||||
|
handleDepositTxPublishedMessage((DepositTxPublishedMessage) mailboxMessage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void takeAvailableOffer() {
|
public void takeAvailableOffer() {
|
||||||
TaskRunner<SellerAsTakerModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<TakerAsSellerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("taskRunner at takeAvailableOffer completed");
|
log.debug("taskRunner at takeAvailableOffer completed");
|
||||||
},
|
},
|
||||||
|
@ -118,10 +120,10 @@ public class SellerAsTakerProtocol {
|
||||||
// Incoming message handling
|
// Incoming message handling
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
private void handleRequestDepositPaymentMessage(RequestDepositPaymentMessage tradeMessage) {
|
private void handleRequestTakerDepositPaymentMessage(RequestTakerDepositPaymentMessage tradeMessage) {
|
||||||
model.setTradeMessage(tradeMessage);
|
model.setTradeMessage(tradeMessage);
|
||||||
|
|
||||||
TaskRunner<SellerAsTakerModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<TakerAsSellerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("taskRunner at handleTakerDepositPaymentRequestMessage completed");
|
log.debug("taskRunner at handleTakerDepositPaymentRequestMessage completed");
|
||||||
},
|
},
|
||||||
|
@ -130,7 +132,7 @@ public class SellerAsTakerProtocol {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
taskRunner.addTasks(
|
taskRunner.addTasks(
|
||||||
ProcessRequestDepositPaymentMessage.class,
|
ProcessRequestTakerDepositPaymentMessage.class,
|
||||||
VerifyOffererAccount.class,
|
VerifyOffererAccount.class,
|
||||||
CreateAndSignContract.class,
|
CreateAndSignContract.class,
|
||||||
TakerCreatesAndSignsDepositTx.class,
|
TakerCreatesAndSignsDepositTx.class,
|
||||||
|
@ -142,7 +144,7 @@ public class SellerAsTakerProtocol {
|
||||||
private void handleDepositTxPublishedMessage(DepositTxPublishedMessage tradeMessage) {
|
private void handleDepositTxPublishedMessage(DepositTxPublishedMessage tradeMessage) {
|
||||||
model.setTradeMessage(tradeMessage);
|
model.setTradeMessage(tradeMessage);
|
||||||
|
|
||||||
TaskRunner<SellerAsTakerModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<TakerAsSellerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("taskRunner at handleDepositTxPublishedMessage completed");
|
log.debug("taskRunner at handleDepositTxPublishedMessage completed");
|
||||||
},
|
},
|
||||||
|
@ -160,10 +162,9 @@ public class SellerAsTakerProtocol {
|
||||||
private void handleFiatTransferStartedMessage(FiatTransferStartedMessage tradeMessage) {
|
private void handleFiatTransferStartedMessage(FiatTransferStartedMessage tradeMessage) {
|
||||||
model.setTradeMessage(tradeMessage);
|
model.setTradeMessage(tradeMessage);
|
||||||
|
|
||||||
TaskRunner<SellerAsTakerModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<TakerAsSellerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("taskRunner at handleFiatTransferStartedMessage completed");
|
log.debug("taskRunner at handleFiatTransferStartedMessage completed");
|
||||||
model.trade.setState(Trade.State.FIAT_PAYMENT_STARTED);
|
|
||||||
},
|
},
|
||||||
(errorMessage) -> {
|
(errorMessage) -> {
|
||||||
log.error(errorMessage);
|
log.error(errorMessage);
|
||||||
|
@ -173,13 +174,14 @@ public class SellerAsTakerProtocol {
|
||||||
taskRunner.run();
|
taskRunner.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Called from UI
|
// Called from UI
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// User clicked the "bank transfer received" button, so we release the funds for pay out
|
// User clicked the "bank transfer received" button, so we release the funds for pay out
|
||||||
public void onFiatPaymentReceived() {
|
public void onFiatPaymentReceived() {
|
||||||
TaskRunner<SellerAsTakerModel> taskRunner = new TaskRunner<>(model,
|
TaskRunner<TakerAsSellerModel> taskRunner = new TaskRunner<>(model,
|
||||||
() -> {
|
() -> {
|
||||||
log.debug("taskRunner at handleFiatReceivedUIEvent completed");
|
log.debug("taskRunner at handleFiatReceivedUIEvent completed");
|
||||||
|
|
||||||
|
@ -209,8 +211,8 @@ public class SellerAsTakerProtocol {
|
||||||
nonEmptyStringOf(tradeMessage.tradeId);
|
nonEmptyStringOf(tradeMessage.tradeId);
|
||||||
|
|
||||||
if (tradeMessage.tradeId.equals(model.id)) {
|
if (tradeMessage.tradeId.equals(model.id)) {
|
||||||
if (tradeMessage instanceof RequestDepositPaymentMessage) {
|
if (tradeMessage instanceof RequestTakerDepositPaymentMessage) {
|
||||||
handleRequestDepositPaymentMessage((RequestDepositPaymentMessage) tradeMessage);
|
handleRequestTakerDepositPaymentMessage((RequestTakerDepositPaymentMessage) tradeMessage);
|
||||||
}
|
}
|
||||||
else if (tradeMessage instanceof DepositTxPublishedMessage) {
|
else if (tradeMessage instanceof DepositTxPublishedMessage) {
|
||||||
handleDepositTxPublishedMessage((DepositTxPublishedMessage) tradeMessage);
|
handleDepositTxPublishedMessage((DepositTxPublishedMessage) tradeMessage);
|
|
@ -27,7 +27,7 @@ import java.io.Serializable;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class OffererModel implements Serializable {
|
public class Offerer implements Serializable {
|
||||||
private static final long serialVersionUID = 1582902150121576205L;
|
private static final long serialVersionUID = 1582902150121576205L;
|
||||||
|
|
||||||
// Those fields are set at constructor but not declared as final because constructor is not called in case model gets created from a persisted model
|
// Those fields are set at constructor but not declared as final because constructor is not called in case model gets created from a persisted model
|
|
@ -31,7 +31,7 @@ import java.security.PublicKey;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TakerModel implements Serializable {
|
public class Taker implements Serializable {
|
||||||
private static long serialVersionUID = -4041809885931756860L;
|
private static long serialVersionUID = -4041809885931756860L;
|
||||||
|
|
||||||
// Those fields are set at constructor but not declared as final because constructor is not called in case model gets created from a persisted model
|
// Those fields are set at constructor but not declared as final because constructor is not called in case model gets created from a persisted model
|
|
@ -35,19 +35,19 @@ import java.io.Serializable;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SellerAsTakerModel extends SharedTradeModel implements Serializable {
|
public class TakerAsSellerModel extends SharedTradeModel implements Serializable {
|
||||||
private static final long serialVersionUID = -963501132927618376L;
|
private static final long serialVersionUID = -963501132927618376L;
|
||||||
private static final Logger log = LoggerFactory.getLogger(SellerAsTakerModel.class);
|
private static final Logger log = LoggerFactory.getLogger(TakerAsSellerModel.class);
|
||||||
|
|
||||||
public final Trade trade;
|
public final Trade trade;
|
||||||
public final TakerModel taker;
|
public final Taker taker;
|
||||||
public final OffererModel offerer;
|
public final Offerer offerer;
|
||||||
|
|
||||||
// written by tasks
|
// written by tasks
|
||||||
private Transaction takeOfferFeeTx;
|
private Transaction takeOfferFeeTx;
|
||||||
private Transaction payoutTx;
|
private Transaction payoutTx;
|
||||||
|
|
||||||
public SellerAsTakerModel(Trade trade,
|
public TakerAsSellerModel(Trade trade,
|
||||||
Peer offererPeer,
|
Peer offererPeer,
|
||||||
MessageService messageService,
|
MessageService messageService,
|
||||||
MailboxService mailboxService,
|
MailboxService mailboxService,
|
||||||
|
@ -67,8 +67,8 @@ public class SellerAsTakerModel extends SharedTradeModel implements Serializable
|
||||||
this.trade = trade;
|
this.trade = trade;
|
||||||
|
|
||||||
Serializable serializable = persistence.read(this, "SellerAsTakerModel_" + id);
|
Serializable serializable = persistence.read(this, "SellerAsTakerModel_" + id);
|
||||||
if (serializable instanceof SellerAsTakerModel) {
|
if (serializable instanceof TakerAsSellerModel) {
|
||||||
SellerAsTakerModel persistedModel = (SellerAsTakerModel) serializable;
|
TakerAsSellerModel persistedModel = (TakerAsSellerModel) serializable;
|
||||||
log.debug("Model reconstructed form persisted model.");
|
log.debug("Model reconstructed form persisted model.");
|
||||||
|
|
||||||
setTakeOfferFeeTx(persistedModel.getTakeOfferFeeTx());
|
setTakeOfferFeeTx(persistedModel.getTakeOfferFeeTx());
|
||||||
|
@ -78,8 +78,8 @@ public class SellerAsTakerModel extends SharedTradeModel implements Serializable
|
||||||
offerer = persistedModel.offerer;
|
offerer = persistedModel.offerer;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
taker = new TakerModel();
|
taker = new Taker();
|
||||||
offerer = new OffererModel();
|
offerer = new Offerer();
|
||||||
}
|
}
|
||||||
|
|
||||||
offerer.peer = offererPeer;
|
offerer.peer = offererPeer;
|
|
@ -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.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
|
@ -31,10 +31,10 @@ import org.jetbrains.annotations.NotNull;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class BroadcastTakeOfferFeeTx extends Task<SellerAsTakerModel> {
|
public class BroadcastTakeOfferFeeTx extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(BroadcastTakeOfferFeeTx.class);
|
private static final Logger log = LoggerFactory.getLogger(BroadcastTakeOfferFeeTx.class);
|
||||||
|
|
||||||
public BroadcastTakeOfferFeeTx(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public BroadcastTakeOfferFeeTx(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,16 +21,16 @@ 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.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
import io.bitsquare.util.Utilities;
|
import io.bitsquare.util.Utilities;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class CreateAndSignContract extends Task<SellerAsTakerModel> {
|
public class CreateAndSignContract extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(CreateAndSignContract.class);
|
private static final Logger log = LoggerFactory.getLogger(CreateAndSignContract.class);
|
||||||
|
|
||||||
public CreateAndSignContract(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public CreateAndSignContract(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,17 +20,17 @@ 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.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class CreateTakeOfferFeeTx extends Task<SellerAsTakerModel> {
|
public class CreateTakeOfferFeeTx extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(CreateTakeOfferFeeTx.class);
|
private static final Logger log = LoggerFactory.getLogger(CreateTakeOfferFeeTx.class);
|
||||||
|
|
||||||
public CreateTakeOfferFeeTx(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public CreateTakeOfferFeeTx(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.DepositTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -29,10 +29,10 @@ import org.slf4j.LoggerFactory;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static io.bitsquare.util.Validator.checkTradeId;
|
import static io.bitsquare.util.Validator.checkTradeId;
|
||||||
|
|
||||||
public class ProcessDepositTxPublishedMessage extends Task<SellerAsTakerModel> {
|
public class ProcessDepositTxPublishedMessage extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(ProcessDepositTxPublishedMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(ProcessDepositTxPublishedMessage.class);
|
||||||
|
|
||||||
public ProcessDepositTxPublishedMessage(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public ProcessDepositTxPublishedMessage(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,9 @@ 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.protocol.trade.messages.FiatTransferStartedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.FiatTransferStartedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -28,10 +29,10 @@ import org.slf4j.LoggerFactory;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static io.bitsquare.util.Validator.*;
|
import static io.bitsquare.util.Validator.*;
|
||||||
|
|
||||||
public class ProcessFiatTransferStartedMessage extends Task<SellerAsTakerModel> {
|
public class ProcessFiatTransferStartedMessage extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(ProcessFiatTransferStartedMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(ProcessFiatTransferStartedMessage.class);
|
||||||
|
|
||||||
public ProcessFiatTransferStartedMessage(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public ProcessFiatTransferStartedMessage(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,9 +46,11 @@ public class ProcessFiatTransferStartedMessage extends Task<SellerAsTakerModel>
|
||||||
model.offerer.payoutAmount = positiveCoinOf(nonZeroCoinOf(message.offererPayoutAmount));
|
model.offerer.payoutAmount = positiveCoinOf(nonZeroCoinOf(message.offererPayoutAmount));
|
||||||
model.taker.payoutAmount = positiveCoinOf(nonZeroCoinOf(message.takerPayoutAmount));
|
model.taker.payoutAmount = positiveCoinOf(nonZeroCoinOf(message.takerPayoutAmount));
|
||||||
model.offerer.payoutAddressString = nonEmptyStringOf(message.offererPayoutAddress);
|
model.offerer.payoutAddressString = nonEmptyStringOf(message.offererPayoutAddress);
|
||||||
|
model.trade.setState(Trade.State.FIAT_PAYMENT_STARTED);
|
||||||
|
|
||||||
complete();
|
complete();
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
|
model.trade.setState(Trade.State.FAULT);
|
||||||
failed(t);
|
failed(t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,8 @@ 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.protocol.trade.messages.RequestDepositPaymentMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestTakerDepositPaymentMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -28,10 +28,10 @@ import org.slf4j.LoggerFactory;
|
||||||
import static com.google.common.base.Preconditions.*;
|
import static com.google.common.base.Preconditions.*;
|
||||||
import static io.bitsquare.util.Validator.*;
|
import static io.bitsquare.util.Validator.*;
|
||||||
|
|
||||||
public class ProcessRequestDepositPaymentMessage extends Task<SellerAsTakerModel> {
|
public class ProcessRequestTakerDepositPaymentMessage extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(ProcessRequestDepositPaymentMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(ProcessRequestTakerDepositPaymentMessage.class);
|
||||||
|
|
||||||
public ProcessRequestDepositPaymentMessage(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public ProcessRequestTakerDepositPaymentMessage(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ public class ProcessRequestDepositPaymentMessage extends Task<SellerAsTakerModel
|
||||||
protected void doRun() {
|
protected void doRun() {
|
||||||
try {
|
try {
|
||||||
checkTradeId(model.id, model.getTradeMessage());
|
checkTradeId(model.id, model.getTradeMessage());
|
||||||
RequestDepositPaymentMessage message = (RequestDepositPaymentMessage) model.getTradeMessage();
|
RequestTakerDepositPaymentMessage message = (RequestTakerDepositPaymentMessage) model.getTradeMessage();
|
||||||
|
|
||||||
model.offerer.connectedOutputsForAllInputs = checkNotNull(message.offererConnectedOutputsForAllInputs);
|
model.offerer.connectedOutputsForAllInputs = checkNotNull(message.offererConnectedOutputsForAllInputs);
|
||||||
checkArgument(message.offererConnectedOutputsForAllInputs.size() > 0);
|
checkArgument(message.offererConnectedOutputsForAllInputs.size() > 0);
|
|
@ -21,15 +21,15 @@ import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.p2p.listener.SendMessageListener;
|
import io.bitsquare.p2p.listener.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage;
|
import io.bitsquare.trade.protocol.trade.messages.PayoutTxPublishedMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SendPayoutTxToOfferer extends Task<SellerAsTakerModel> {
|
public class SendPayoutTxToOfferer extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SendPayoutTxToOfferer.class);
|
private static final Logger log = LoggerFactory.getLogger(SendPayoutTxToOfferer.class);
|
||||||
|
|
||||||
public SendPayoutTxToOfferer(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public SendPayoutTxToOfferer(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,17 +22,17 @@ import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.p2p.listener.SendMessageListener;
|
import io.bitsquare.p2p.listener.SendMessageListener;
|
||||||
import io.bitsquare.trade.Trade;
|
import io.bitsquare.trade.Trade;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestDepositTxInputsMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SendRequestDepositTxInputsMessage extends Task<SellerAsTakerModel> {
|
public class SendRequestDepositTxInputsMessage extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SendRequestDepositTxInputsMessage.class);
|
private static final Logger log = LoggerFactory.getLogger(SendRequestDepositTxInputsMessage.class);
|
||||||
|
|
||||||
public SendRequestDepositTxInputsMessage(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public SendRequestDepositTxInputsMessage(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,15 +21,15 @@ import io.bitsquare.common.taskrunner.Task;
|
||||||
import io.bitsquare.common.taskrunner.TaskRunner;
|
import io.bitsquare.common.taskrunner.TaskRunner;
|
||||||
import io.bitsquare.p2p.listener.SendMessageListener;
|
import io.bitsquare.p2p.listener.SendMessageListener;
|
||||||
import io.bitsquare.trade.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
import io.bitsquare.trade.protocol.trade.messages.RequestOffererPublishDepositTxMessage;
|
||||||
import io.bitsquare.trade.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SendSignedTakerDepositTx extends Task<SellerAsTakerModel> {
|
public class SendSignedTakerDepositTx extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SendSignedTakerDepositTx.class);
|
private static final Logger log = LoggerFactory.getLogger(SendSignedTakerDepositTx.class);
|
||||||
|
|
||||||
public SendSignedTakerDepositTx(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public SendSignedTakerDepositTx(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Transaction;
|
import org.bitcoinj.core.Transaction;
|
||||||
|
|
||||||
|
@ -31,10 +31,10 @@ import org.jetbrains.annotations.NotNull;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class SignAndPublishPayoutTx extends Task<SellerAsTakerModel> {
|
public class SignAndPublishPayoutTx extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SignAndPublishPayoutTx.class);
|
private static final Logger log = LoggerFactory.getLogger(SignAndPublishPayoutTx.class);
|
||||||
|
|
||||||
public SignAndPublishPayoutTx(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public SignAndPublishPayoutTx(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,15 +19,15 @@ 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.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class TakerCommitDepositTx extends Task<SellerAsTakerModel> {
|
public class TakerCommitDepositTx extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(TakerCommitDepositTx.class);
|
private static final Logger log = LoggerFactory.getLogger(TakerCommitDepositTx.class);
|
||||||
|
|
||||||
public TakerCommitDepositTx(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public TakerCommitDepositTx(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,17 +22,17 @@ 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.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class TakerCreatesAndSignsDepositTx extends Task<SellerAsTakerModel> {
|
public class TakerCreatesAndSignsDepositTx extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(TakerCreatesAndSignsDepositTx.class);
|
private static final Logger log = LoggerFactory.getLogger(TakerCreatesAndSignsDepositTx.class);
|
||||||
|
|
||||||
public TakerCreatesAndSignsDepositTx(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public TakerCreatesAndSignsDepositTx(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,15 +19,15 @@ 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.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class VerifyOfferFeePayment extends Task<SellerAsTakerModel> {
|
public class VerifyOfferFeePayment extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(VerifyOfferFeePayment.class);
|
private static final Logger log = LoggerFactory.getLogger(VerifyOfferFeePayment.class);
|
||||||
|
|
||||||
public VerifyOfferFeePayment(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public VerifyOfferFeePayment(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,15 +19,15 @@ 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.protocol.trade.taker.models.SellerAsTakerModel;
|
import io.bitsquare.trade.protocol.trade.taker.models.TakerAsSellerModel;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class VerifyOffererAccount extends Task<SellerAsTakerModel> {
|
public class VerifyOffererAccount extends Task<TakerAsSellerModel> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(VerifyOffererAccount.class);
|
private static final Logger log = LoggerFactory.getLogger(VerifyOffererAccount.class);
|
||||||
|
|
||||||
public VerifyOffererAccount(TaskRunner taskHandler, SellerAsTakerModel model) {
|
public VerifyOffererAccount(TaskRunner taskHandler, TakerAsSellerModel model) {
|
||||||
super(taskHandler, model);
|
super(taskHandler, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue