diff --git a/core/src/main/java/io/bitsquare/trade/TradeManager.java b/core/src/main/java/io/bitsquare/trade/TradeManager.java index e5b4162b3e..a86a9c8004 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeManager.java +++ b/core/src/main/java/io/bitsquare/trade/TradeManager.java @@ -583,11 +583,11 @@ public class TradeManager { mailboxMessages.put(tradeId, mailboxMessage); log.trace("mailboxMessage with tradeID " + tradeId); if (takerAsSellerProtocolMap.containsKey(tradeId)) { - takerAsSellerProtocolMap.get(tradeId).setMailboxMessage(encrypted); + takerAsSellerProtocolMap.get(tradeId).setMailboxMessage(mailboxMessage); log.trace("sellerAsTakerProtocolMap exist with tradeID " + tradeId); } if (offererAsBuyerProtocolMap.containsKey(tradeId)) { - offererAsBuyerProtocolMap.get(tradeId).setMailboxMessage(encrypted); + offererAsBuyerProtocolMap.get(tradeId).setMailboxMessage(mailboxMessage); log.trace("buyerAcceptsOfferProtocolMap exist with tradeID " + tradeId); } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestDepositTxInputsMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestDepositTxInputsMessage.java index 618e86888a..acbd6df44b 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestDepositTxInputsMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestDepositTxInputsMessage.java @@ -26,12 +26,12 @@ public class RequestDepositTxInputsMessage extends TradeMessage implements Seria public final Coin tradeAmount; public final String takeOfferFeeTxId; - public final byte[] takerPubKey; + public final byte[] takerTradeWalletPubKey; - public RequestDepositTxInputsMessage(String tradeId, String takeOfferFeeTxId, Coin tradeAmount, byte[] takerPubKey) { + public RequestDepositTxInputsMessage(String tradeId, String takeOfferFeeTxId, Coin tradeAmount, byte[] takerTradeWalletPubKey) { this.tradeId = tradeId; this.takeOfferFeeTxId = takeOfferFeeTxId; this.tradeAmount = tradeAmount; - this.takerPubKey = takerPubKey; + this.takerTradeWalletPubKey = takerTradeWalletPubKey; } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestTakerDepositPaymentMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestTakerDepositPaymentMessage.java index 470aaa79bb..6cd4ce97d7 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestTakerDepositPaymentMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/messages/RequestTakerDepositPaymentMessage.java @@ -23,6 +23,8 @@ import org.bitcoinj.core.TransactionOutput; import java.io.Serializable; +import java.security.PublicKey; + import java.util.List; public class RequestTakerDepositPaymentMessage extends TradeMessage implements Serializable { @@ -30,20 +32,28 @@ public class RequestTakerDepositPaymentMessage extends TradeMessage implements S public final List offererConnectedOutputsForAllInputs; public final List offererOutputs; - public final byte[] offererPubKey; + public final byte[] offererTradeWalletPubKey; + public final PublicKey offererP2PSigPublicKey; + public final PublicKey offererP2PEncryptPublicKey; + + public final FiatAccount offererFiatAccount; public final String offererAccountId; public RequestTakerDepositPaymentMessage(String tradeId, List offererConnectedOutputsForAllInputs, List offererOutputs, - byte[] offererPubKey, + byte[] offererTradeWalletPubKey, + PublicKey offererP2PSigPublicKey, + PublicKey offererP2PEncryptPublicKey, FiatAccount offererFiatAccount, String offererAccountId) { + this.offererP2PSigPublicKey = offererP2PSigPublicKey; + this.offererP2PEncryptPublicKey = offererP2PEncryptPublicKey; this.tradeId = tradeId; this.offererConnectedOutputsForAllInputs = offererConnectedOutputsForAllInputs; this.offererOutputs = offererOutputs; - this.offererPubKey = offererPubKey; + this.offererTradeWalletPubKey = offererTradeWalletPubKey; this.offererFiatAccount = offererFiatAccount; this.offererAccountId = offererAccountId; } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Offerer.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Offerer.java index 59d99fc4ad..0d4ee38e59 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Offerer.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Offerer.java @@ -38,10 +38,11 @@ public class Offerer implements Serializable { transient public FiatAccount fiatAccount; transient public String accountId; transient public PublicKey p2pSigPubKey; + transient public PublicKey p2pEncryptPubKey; transient public byte[] registrationPubKey; transient public DeterministicKey registrationKeyPair; transient public AddressEntry addressEntry; - transient public byte[] pubKey; + transient public byte[] tradeWalletPubKey; // written by tasks public byte[] payoutTxSignature; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererAsBuyerModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererAsBuyerModel.java index c8937c0fa6..00b04cd762 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererAsBuyerModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/OffererAsBuyerModel.java @@ -82,7 +82,8 @@ public class OffererAsBuyerModel extends SharedTradeModel implements Serializabl offerer.fiatAccount = user.getBankAccount(offer.getBankAccountId()); offerer.accountId = user.getAccountId(); offerer.p2pSigPubKey = user.getP2PSigPubKey(); - offerer.pubKey = offerer.addressEntry.getPubKey(); + offerer.p2pEncryptPubKey = user.getP2PEncryptPubKey(); + offerer.tradeWalletPubKey = offerer.addressEntry.getPubKey(); log.debug("BuyerAsOffererModel addressEntry " + offerer.addressEntry); } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Taker.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Taker.java index 19039f1b93..810c41bf9f 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Taker.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/Taker.java @@ -45,5 +45,5 @@ public class Taker implements Serializable { public Transaction preparedDepositTx; public List connectedOutputsForAllInputs; public String payoutAddressString; - public byte[] pubKey; + public byte[] tradeWalletPubKey; } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java index 7ea3870e16..cae6260e96 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java @@ -48,8 +48,8 @@ public class CreateAndSignPayoutTx extends Task { takerPayoutAmount, model.offerer.addressEntry, model.taker.payoutAddressString, - model.offerer.pubKey, - model.taker.pubKey, + model.offerer.tradeWalletPubKey, + model.taker.tradeWalletPubKey, model.arbitratorPubKey); model.offerer.payoutTxSignature = offererPayoutTxSignature; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java index e09e7c63ca..3b9872e7ce 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java @@ -45,7 +45,7 @@ public class ProcessRequestDepositTxInputsMessage extends Task { model.id, model.offerer.connectedOutputsForAllInputs, model.offerer.outputs, - model.offerer.pubKey, + model.offerer.tradeWalletPubKey, + model.offerer.p2pSigPubKey, + model.offerer.p2pEncryptPubKey, model.offerer.fiatAccount, model.offerer.accountId); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SignAndPublishDepositTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SignAndPublishDepositTx.java index cefa5eaa8b..1ec8291daf 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SignAndPublishDepositTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SignAndPublishDepositTx.java @@ -50,8 +50,8 @@ public class SignAndPublishDepositTx extends Task { model.taker.connectedOutputsForAllInputs, model.offerer.outputs, offererInputAmount, - model.offerer.pubKey, - model.taker.pubKey, + model.offerer.tradeWalletPubKey, + model.taker.tradeWalletPubKey, model.arbitratorPubKey, new FutureCallback() { @Override diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Offerer.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Offerer.java index 89e62d8dfd..0d42064fab 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Offerer.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Offerer.java @@ -25,6 +25,8 @@ import org.bitcoinj.core.TransactionOutput; import java.io.Serializable; +import java.security.PublicKey; + import java.util.List; public class Offerer implements Serializable { @@ -35,7 +37,7 @@ public class Offerer implements Serializable { public Peer peer; // written by tasks - public byte[] pubKey; + public byte[] tradeWalletPubKey; public Coin payoutAmount; public String payoutAddressString; public List connectedOutputsForAllInputs; @@ -43,5 +45,7 @@ public class Offerer implements Serializable { public byte[] signature; public FiatAccount fiatAccount; public String accountId; + public PublicKey p2pSigPublicKey; + public PublicKey p2pEncryptPubKey; } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Taker.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Taker.java index 6d142a30e7..a15ec348bc 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Taker.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/Taker.java @@ -43,7 +43,7 @@ public class Taker implements Serializable { transient public byte[] registrationPubKey; // TODO not read yet, missing impl. transient public DeterministicKey registrationKeyPair; transient public AddressEntry addressEntry; - transient public byte[] pubKey; + transient public byte[] tradeWalletPubKey; // written by tasks public List connectedOutputsForAllInputs; diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java index 4632e47f8a..0a3da51fcb 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java @@ -91,7 +91,7 @@ public class TakerAsSellerModel extends SharedTradeModel implements Serializable taker.accountId = user.getAccountId(); taker.p2pSigPubKey = user.getP2PSigPubKey(); taker.p2pEncryptPublicKey = user.getP2PEncryptPubKey(); - taker.pubKey = taker.addressEntry.getPubKey(); + taker.tradeWalletPubKey = taker.addressEntry.getPubKey(); } // Get called form taskRunner after each completed task diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/ProcessRequestTakerDepositPaymentMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/ProcessRequestTakerDepositPaymentMessage.java index 0a2b26ba5f..e23df32950 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/ProcessRequestTakerDepositPaymentMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/ProcessRequestTakerDepositPaymentMessage.java @@ -44,7 +44,9 @@ public class ProcessRequestTakerDepositPaymentMessage extends Task 0); model.offerer.outputs = checkNotNull(message.offererOutputs); - model.offerer.pubKey = checkNotNull(message.offererPubKey); + model.offerer.tradeWalletPubKey = checkNotNull(message.offererTradeWalletPubKey); + model.offerer.p2pSigPublicKey = checkNotNull(message.offererP2PSigPublicKey); + model.offerer.p2pEncryptPubKey = checkNotNull(message.offererP2PEncryptPublicKey); model.offerer.fiatAccount = checkNotNull(message.offererFiatAccount); model.offerer.accountId = nonEmptyStringOf(message.offererAccountId); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendPayoutTxToOfferer.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendPayoutTxToOfferer.java index 9158207fa0..61c1a61235 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendPayoutTxToOfferer.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendPayoutTxToOfferer.java @@ -36,7 +36,11 @@ public class SendPayoutTxToOfferer extends Task { @Override protected void doRun() { PayoutTxPublishedMessage tradeMessage = new PayoutTxPublishedMessage(model.id, model.getPayoutTx()); - model.messageService.sendMessage(model.offerer.peer, tradeMessage, new SendMessageListener() { + model.messageService.sendMessage(model.offerer.peer, + tradeMessage, + model.offerer.p2pSigPublicKey, + model.offerer.p2pEncryptPubKey, + new SendMessageListener() { @Override public void handleResult() { log.trace("PayoutTxPublishedMessage successfully arrived at peer"); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendRequestDepositTxInputsMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendRequestDepositTxInputsMessage.java index ec893f4307..6fef5ed61d 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendRequestDepositTxInputsMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SendRequestDepositTxInputsMessage.java @@ -44,7 +44,7 @@ public class SendRequestDepositTxInputsMessage extends Task model.id, model.getTakeOfferFeeTx().getHashAsString(), model.trade.getTradeAmount(), - model.taker.pubKey + model.taker.tradeWalletPubKey ); model.messageService.sendMessage(model.offerer.peer, msg, new SendMessageListener() { diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SignAndPublishPayoutTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SignAndPublishPayoutTx.java index 8be264e666..db6d5a0dd8 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SignAndPublishPayoutTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/SignAndPublishPayoutTx.java @@ -48,8 +48,8 @@ public class SignAndPublishPayoutTx extends Task { model.taker.payoutAmount, model.offerer.payoutAddressString, model.taker.addressEntry, - model.offerer.pubKey, - model.taker.pubKey, + model.offerer.tradeWalletPubKey, + model.taker.tradeWalletPubKey, model.arbitratorPubKey, new FutureCallback() { @Override diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/TakerCreatesAndSignsDepositTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/TakerCreatesAndSignsDepositTx.java index b6dcdaadc2..be945dc825 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/TakerCreatesAndSignsDepositTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/TakerCreatesAndSignsDepositTx.java @@ -48,8 +48,8 @@ public class TakerCreatesAndSignsDepositTx extends Task { model.offerer.connectedOutputsForAllInputs, model.offerer.outputs, model.taker.addressEntry, - model.offerer.pubKey, - model.taker.pubKey, + model.offerer.tradeWalletPubKey, + model.taker.tradeWalletPubKey, model.arbitratorPubKey);