Update types for walletService

This commit is contained in:
Manfred Karrer 2015-03-14 22:23:37 +01:00
parent ae058f37c8
commit c553f77335
11 changed files with 48 additions and 83 deletions

View file

@ -59,8 +59,6 @@ import com.google.common.util.concurrent.Service;
import java.io.File; import java.io.File;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigInteger;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.LinkedList; import java.util.LinkedList;
@ -909,13 +907,11 @@ public class WalletService {
} }
// 5. step payout tx: Offerer creates payout tx and signs it // 5. step payout tx: Offerer creates payout tx and signs it
public Pair<ECKey.ECDSASignature, Transaction> offererCreatesAndSignsPayoutTx(String depositTxID, public Pair<ECKey.ECDSASignature, Transaction> offererCreatesAndSignsPayoutTx(String depositTxID,
Coin offererPaybackAmount, Coin offererPaybackAmount,
Coin takerPaybackAmount, Coin takerPaybackAmount,
String takerAddress, String takerAddress,
String tradeID) String tradeID) throws AddressFormatException {
throws AddressFormatException {
log.debug("offererCreatesAndSignsPayoutTx"); log.debug("offererCreatesAndSignsPayoutTx");
log.trace("inputs: "); log.trace("inputs: ");
log.trace("depositTxID=" + depositTxID); log.trace("depositTxID=" + depositTxID);
@ -925,7 +921,7 @@ public class WalletService {
// Offerer has published depositTx earlier, so he has it in his wallet // Offerer has published depositTx earlier, so he has it in his wallet
Transaction depositTx = wallet.getTransaction(new Sha256Hash(depositTxID)); Transaction depositTx = wallet.getTransaction(new Sha256Hash(depositTxID));
// String depositTxAsHex = Utils.HEX.encode(depositTx.bitcoinSerialize()); // String depositTxAsHex = Utils.HEX.encode(depositTx.bitcoinSerialize());
// We create the payout tx // We create the payout tx
Transaction tx = createPayoutTx(depositTx, offererPaybackAmount, takerPaybackAmount, Transaction tx = createPayoutTx(depositTx, offererPaybackAmount, takerPaybackAmount,
@ -947,8 +943,7 @@ public class WalletService {
// 6. step payout tx: Taker signs and publish tx // 6. step payout tx: Taker signs and publish tx
public void takerSignsAndSendsTx(Transaction depositTx, public void takerSignsAndSendsTx(Transaction depositTx,
String offererSignatureR, ECKey.ECDSASignature offererSignature,
String offererSignatureS,
Coin offererPaybackAmount, Coin offererPaybackAmount,
Coin takerPaybackAmount, Coin takerPaybackAmount,
String offererAddress, String offererAddress,
@ -957,16 +952,14 @@ public class WalletService {
log.debug("takerSignsAndSendsTx"); log.debug("takerSignsAndSendsTx");
log.trace("inputs: "); log.trace("inputs: ");
log.trace("depositTx=" + depositTx); log.trace("depositTx=" + depositTx);
log.trace("offererSignatureR=" + offererSignatureR); log.trace("offererSignature=" + offererSignature);
log.trace("offererSignatureS=" + offererSignatureS);
log.trace("offererPaybackAmount=" + offererPaybackAmount.toFriendlyString()); log.trace("offererPaybackAmount=" + offererPaybackAmount.toFriendlyString());
log.trace("takerPaybackAmount=" + takerPaybackAmount.toFriendlyString()); log.trace("takerPaybackAmount=" + takerPaybackAmount.toFriendlyString());
log.trace("offererAddress=" + offererAddress); log.trace("offererAddress=" + offererAddress);
log.trace("callback=" + callback); log.trace("callback=" + callback);
// We create the payout tx // We create the payout tx
Transaction tx = createPayoutTx(depositTx, offererPaybackAmount, takerPaybackAmount, offererAddress, Transaction tx = createPayoutTx(depositTx, offererPaybackAmount, takerPaybackAmount, offererAddress, getAddressInfo(tradeID).getAddressString());
getAddressInfo(tradeID).getAddressString());
// We sign that tx with our key and apply the signature form the offerer // We sign that tx with our key and apply the signature form the offerer
TransactionOutput multiSigOutput = tx.getInput(0).getConnectedOutput(); TransactionOutput multiSigOutput = tx.getInput(0).getConnectedOutput();
@ -977,8 +970,6 @@ public class WalletService {
ECKey.ECDSASignature takerSignature = getAddressInfo(tradeID).getKey().sign(sigHash); ECKey.ECDSASignature takerSignature = getAddressInfo(tradeID).getKey().sign(sigHash);
TransactionSignature takerTxSig = new TransactionSignature(takerSignature, Transaction.SigHash.ALL, false); TransactionSignature takerTxSig = new TransactionSignature(takerSignature, Transaction.SigHash.ALL, false);
ECKey.ECDSASignature offererSignature =
new ECKey.ECDSASignature(new BigInteger(offererSignatureR), new BigInteger(offererSignatureS));
TransactionSignature offererTxSig = new TransactionSignature(offererSignature, Transaction.SigHash.ALL, false); TransactionSignature offererTxSig = new TransactionSignature(offererSignature, Transaction.SigHash.ALL, false);
Script inputScript = ScriptBuilder.createMultiSigInputScript(ImmutableList.of(offererTxSig, takerTxSig)); Script inputScript = ScriptBuilder.createMultiSigInputScript(ImmutableList.of(offererTxSig, takerTxSig));
@ -1036,7 +1027,7 @@ public class WalletService {
log.trace("offererAddress=" + offererAddress); log.trace("offererAddress=" + offererAddress);
log.trace("takerAddress=" + takerAddress); log.trace("takerAddress=" + takerAddress);
// Transaction depositTx = new Transaction(params, Utils.parseAsHexOrBase58(depositTx)); // Transaction depositTx = new Transaction(params, Utils.parseAsHexOrBase58(depositTx));
TransactionOutput multiSigOutput = depositTx.getOutput(0); TransactionOutput multiSigOutput = depositTx.getOutput(0);
Transaction tx = new Transaction(params); Transaction tx = new Transaction(params);
tx.addInput(multiSigOutput); tx.addInput(multiSigOutput);

View file

@ -32,7 +32,7 @@ import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestOffererPubl
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestTakeOfferMessage; import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestTakeOfferMessage;
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessTakeOfferFeePayedMessage; import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessTakeOfferFeePayedMessage;
import io.bitsquare.trade.protocol.trade.offerer.tasks.RespondToTakeOfferRequest; import io.bitsquare.trade.protocol.trade.offerer.tasks.RespondToTakeOfferRequest;
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferInitedMessage; 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.SendDepositTxIdToTaker;
import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestDepositPayment; import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestDepositPayment;
import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation; import io.bitsquare.trade.protocol.trade.offerer.tasks.SetupListenerForBlockChainConfirmation;
@ -45,7 +45,7 @@ import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerProtocol;
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.PayDeposit; import io.bitsquare.trade.protocol.trade.taker.tasks.PayDeposit;
import io.bitsquare.trade.protocol.trade.taker.tasks.PayTakeOfferFee; import io.bitsquare.trade.protocol.trade.taker.tasks.PayTakeOfferFee;
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessBankTransferInitedMessage; import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessBankTransferStartedMessage;
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.ProcessRespondToTakeOfferRequestMessage; import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRespondToTakeOfferRequestMessage;
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRequestDepositPaymentMessage; import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRequestDepositPaymentMessage;
@ -122,7 +122,7 @@ public class DebugView extends InitializableView {
SignPayoutTx.class, SignPayoutTx.class,
VerifyTakeOfferFeePayment.class, VerifyTakeOfferFeePayment.class,
SendBankTransferInitedMessage.class, SendBankTransferStartedMessage.class,
ProcessPayoutTxPublishedMessage.class, ProcessPayoutTxPublishedMessage.class,
Boolean.class, /* used as seperator*/ Boolean.class, /* used as seperator*/
@ -146,7 +146,7 @@ public class DebugView extends InitializableView {
ProcessDepositTxPublishedMessage.class, ProcessDepositTxPublishedMessage.class,
TakerCommitDepositTx.class, TakerCommitDepositTx.class,
ProcessBankTransferInitedMessage.class, ProcessBankTransferStartedMessage.class,
SignAndPublishPayoutTx.class, SignAndPublishPayoutTx.class,
VerifyOfferFeePayment.class, VerifyOfferFeePayment.class,

View file

@ -29,6 +29,7 @@ import io.bitsquare.trade.protocol.trade.OfferSharedModel;
import io.bitsquare.user.User; import io.bitsquare.user.User;
import org.bitcoinj.core.Coin; import org.bitcoinj.core.Coin;
import org.bitcoinj.core.ECKey;
import org.bitcoinj.core.Transaction; import org.bitcoinj.core.Transaction;
import java.security.PublicKey; import java.security.PublicKey;
@ -71,8 +72,7 @@ public class BuyerAsOffererModel extends OfferSharedModel {
private long offererTxOutIndex; private long offererTxOutIndex;
private byte[] offererPubKey; private byte[] offererPubKey;
private String offererSignatureR; private ECKey.ECDSASignature offererSignature;
private String offererSignatureS;
private Coin offererPaybackAmount; private Coin offererPaybackAmount;
@ -226,20 +226,12 @@ public class BuyerAsOffererModel extends OfferSharedModel {
this.depositTx = depositTx; this.depositTx = depositTx;
} }
public String getOffererSignatureR() { public ECKey.ECDSASignature getOffererSignature() {
return offererSignatureR; return offererSignature;
} }
public void setOffererSignatureR(String offererSignatureR) { public void setOffererSignature(ECKey.ECDSASignature offererSignature) {
this.offererSignatureR = offererSignatureR; this.offererSignature = offererSignature;
}
public String getOffererSignatureS() {
return offererSignatureS;
}
public void setOffererSignatureS(String offererSignatureS) {
this.offererSignatureS = offererSignatureS;
} }
public Coin getOffererPaybackAmount() { public Coin getOffererPaybackAmount() {

View file

@ -28,7 +28,7 @@ import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessRequestTakeOfferMe
import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessTakeOfferFeePayedMessage; import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessTakeOfferFeePayedMessage;
import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestDepositPayment; import io.bitsquare.trade.protocol.trade.offerer.tasks.RequestDepositPayment;
import io.bitsquare.trade.protocol.trade.offerer.tasks.RespondToTakeOfferRequest; import io.bitsquare.trade.protocol.trade.offerer.tasks.RespondToTakeOfferRequest;
import io.bitsquare.trade.protocol.trade.offerer.tasks.SendBankTransferInitedMessage; 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.SendDepositTxIdToTaker;
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;
@ -156,7 +156,7 @@ public class BuyerAsOffererProtocol {
taskRunner.addTasks( taskRunner.addTasks(
SignPayoutTx.class, SignPayoutTx.class,
VerifyTakeOfferFeePayment.class, VerifyTakeOfferFeePayment.class,
SendBankTransferInitedMessage.class SendBankTransferStartedMessage.class
); );
taskRunner.run(); taskRunner.run();
} }

View file

@ -29,23 +29,20 @@ public class BankTransferStartedMessage implements Serializable, TradeMessage {
private final String tradeId; private final String tradeId;
private final Transaction depositTx; private final Transaction depositTx;
private final String offererSignatureR; private final byte[] offererSignature;
private final String offererSignatureS;
private final Coin offererPaybackAmount; private final Coin offererPaybackAmount;
private final Coin takerPaybackAmount; private final Coin takerPaybackAmount;
private final String offererPayoutAddress; private final String offererPayoutAddress;
public BankTransferStartedMessage(String tradeId, public BankTransferStartedMessage(String tradeId,
Transaction depositTx, Transaction depositTx,
String offererSignatureR, byte[] offererSignature,
String offererSignatureS,
Coin offererPaybackAmount, Coin offererPaybackAmount,
Coin takerPaybackAmount, Coin takerPaybackAmount,
String offererPayoutAddress) { String offererPayoutAddress) {
this.tradeId = tradeId; this.tradeId = tradeId;
this.depositTx = depositTx; this.depositTx = depositTx;
this.offererSignatureR = offererSignatureR; this.offererSignature = offererSignature;
this.offererSignatureS = offererSignatureS;
this.offererPaybackAmount = offererPaybackAmount; this.offererPaybackAmount = offererPaybackAmount;
this.takerPaybackAmount = takerPaybackAmount; this.takerPaybackAmount = takerPaybackAmount;
this.offererPayoutAddress = offererPayoutAddress; this.offererPayoutAddress = offererPayoutAddress;
@ -64,10 +61,6 @@ public class BankTransferStartedMessage implements Serializable, TradeMessage {
return offererPayoutAddress; return offererPayoutAddress;
} }
public String getOffererSignatureS() {
return offererSignatureS;
}
public Coin getOffererPaybackAmount() { public Coin getOffererPaybackAmount() {
return offererPaybackAmount; return offererPaybackAmount;
} }
@ -76,7 +69,7 @@ public class BankTransferStartedMessage implements Serializable, TradeMessage {
return takerPaybackAmount; return takerPaybackAmount;
} }
public String getOffererSignatureR() { public byte[] getOffererSignature() {
return offererSignatureR; return offererSignature;
} }
} }

View file

@ -26,10 +26,10 @@ import io.bitsquare.util.taskrunner.TaskRunner;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
public class SendBankTransferInitedMessage extends Task<BuyerAsOffererModel> { public class SendBankTransferStartedMessage extends Task<BuyerAsOffererModel> {
private static final Logger log = LoggerFactory.getLogger(SendBankTransferInitedMessage.class); private static final Logger log = LoggerFactory.getLogger(SendBankTransferStartedMessage.class);
public SendBankTransferInitedMessage(TaskRunner taskHandler, BuyerAsOffererModel model) { public SendBankTransferStartedMessage(TaskRunner taskHandler, BuyerAsOffererModel model) {
super(taskHandler, model); super(taskHandler, model);
} }
@ -38,8 +38,7 @@ public class SendBankTransferInitedMessage extends Task<BuyerAsOffererModel> {
BankTransferStartedMessage tradeMessage = new BankTransferStartedMessage( BankTransferStartedMessage tradeMessage = new BankTransferStartedMessage(
model.getTrade().getId(), model.getTrade().getId(),
model.getDepositTx(), model.getDepositTx(),
model.getOffererSignatureR(), model.getOffererSignature().encodeToDER(),
model.getOffererSignatureS(),
model.getOffererPaybackAmount(), model.getOffererPaybackAmount(),
model.getTakerPaybackAmount(), model.getTakerPaybackAmount(),
model.getOffererPaybackAddress()); model.getOffererPaybackAddress());

View file

@ -54,9 +54,7 @@ public class SignPayoutTx extends Task<BuyerAsOffererModel> {
model.getTrade().getId()); model.getTrade().getId());
model.setDepositTx(result.getValue()); model.setDepositTx(result.getValue());
ECKey.ECDSASignature offererSignature = result.getKey(); model.setOffererSignature(result.getKey());
model.setOffererSignatureR(offererSignature.r.toString());
model.setOffererSignatureS(offererSignature.s.toString());
model.setOffererPaybackAmount(offererPaybackAmount); model.setOffererPaybackAmount(offererPaybackAmount);
model.setTakerPaybackAmount(takerPaybackAmount); model.setTakerPaybackAmount(takerPaybackAmount);

View file

@ -27,6 +27,7 @@ import io.bitsquare.trade.protocol.trade.OfferSharedModel;
import io.bitsquare.user.User; import io.bitsquare.user.User;
import org.bitcoinj.core.Coin; import org.bitcoinj.core.Coin;
import org.bitcoinj.core.ECKey;
import org.bitcoinj.core.Transaction; import org.bitcoinj.core.Transaction;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -48,8 +49,7 @@ public class SellerAsTakerModel extends OfferSharedModel {
private Coin takerPaybackAmount; private Coin takerPaybackAmount;
private byte[] offererPubKey; private byte[] offererPubKey;
private long offererTxOutIndex; private long offererTxOutIndex;
private String offererSignatureR; private ECKey.ECDSASignature offererSignature;
private String offererSignatureS;
private Coin offererPaybackAmount; private Coin offererPaybackAmount;
private String offererPayoutAddress; private String offererPayoutAddress;
@ -131,20 +131,12 @@ public class SellerAsTakerModel extends OfferSharedModel {
this.depositTx = depositTx; this.depositTx = depositTx;
} }
public String getOffererSignatureR() { public ECKey.ECDSASignature getOffererSignature() {
return offererSignatureR; return offererSignature;
} }
public void setOffererSignatureR(String offererSignatureR) { public void setOffererSignature(ECKey.ECDSASignature offererSignature) {
this.offererSignatureR = offererSignatureR; this.offererSignature = offererSignature;
}
public String getOffererSignatureS() {
return offererSignatureS;
}
public void setOffererSignatureS(String offererSignatureS) {
this.offererSignatureS = offererSignatureS;
} }
public Coin getOffererPaybackAmount() { public Coin getOffererPaybackAmount() {

View file

@ -30,7 +30,7 @@ import io.bitsquare.trade.protocol.trade.taker.tasks.CreateAndSignContract;
import io.bitsquare.trade.protocol.trade.taker.tasks.GetPeerAddress; import io.bitsquare.trade.protocol.trade.taker.tasks.GetPeerAddress;
import io.bitsquare.trade.protocol.trade.taker.tasks.PayDeposit; import io.bitsquare.trade.protocol.trade.taker.tasks.PayDeposit;
import io.bitsquare.trade.protocol.trade.taker.tasks.PayTakeOfferFee; import io.bitsquare.trade.protocol.trade.taker.tasks.PayTakeOfferFee;
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessBankTransferInitedMessage; import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessBankTransferStartedMessage;
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.ProcessRequestDepositPaymentMessage;
import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRespondToTakeOfferRequestMessage; import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRespondToTakeOfferRequestMessage;
@ -153,7 +153,7 @@ public class SellerAsTakerProtocol {
taskRunner.run(); taskRunner.run();
} }
private void handleBankTransferInitedMessage(BankTransferStartedMessage tradeMessage) { private void handleBankTransferStartedMessage(BankTransferStartedMessage tradeMessage) {
model.setTradeMessage(tradeMessage); model.setTradeMessage(tradeMessage);
SellerAsTakerTaskRunner<SellerAsTakerModel> taskRunner = new SellerAsTakerTaskRunner<>(model, SellerAsTakerTaskRunner<SellerAsTakerModel> taskRunner = new SellerAsTakerTaskRunner<>(model,
@ -165,7 +165,7 @@ public class SellerAsTakerProtocol {
log.error(errorMessage); log.error(errorMessage);
} }
); );
taskRunner.addTasks(ProcessBankTransferInitedMessage.class); taskRunner.addTasks(ProcessBankTransferStartedMessage.class);
taskRunner.run(); taskRunner.run();
} }
@ -213,7 +213,7 @@ public class SellerAsTakerProtocol {
handleDepositTxPublishedMessage((DepositTxPublishedMessage) tradeMessage); handleDepositTxPublishedMessage((DepositTxPublishedMessage) tradeMessage);
} }
else if (tradeMessage instanceof BankTransferStartedMessage) { else if (tradeMessage instanceof BankTransferStartedMessage) {
handleBankTransferInitedMessage((BankTransferStartedMessage) tradeMessage); handleBankTransferStartedMessage((BankTransferStartedMessage) tradeMessage);
} }
else { else {
log.error("Incoming message not supported. " + tradeMessage); log.error("Incoming message not supported. " + tradeMessage);

View file

@ -22,16 +22,18 @@ import io.bitsquare.trade.protocol.trade.taker.SellerAsTakerModel;
import io.bitsquare.util.taskrunner.Task; import io.bitsquare.util.taskrunner.Task;
import io.bitsquare.util.taskrunner.TaskRunner; import io.bitsquare.util.taskrunner.TaskRunner;
import org.bitcoinj.core.ECKey;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 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 ProcessBankTransferInitedMessage extends Task<SellerAsTakerModel> { public class ProcessBankTransferStartedMessage extends Task<SellerAsTakerModel> {
private static final Logger log = LoggerFactory.getLogger(ProcessBankTransferInitedMessage.class); private static final Logger log = LoggerFactory.getLogger(ProcessBankTransferStartedMessage.class);
public ProcessBankTransferInitedMessage(TaskRunner taskHandler, SellerAsTakerModel model) { public ProcessBankTransferStartedMessage(TaskRunner taskHandler, SellerAsTakerModel model) {
super(taskHandler, model); super(taskHandler, model);
} }
@ -42,8 +44,7 @@ public class ProcessBankTransferInitedMessage extends Task<SellerAsTakerModel> {
BankTransferStartedMessage message = (BankTransferStartedMessage) model.getTradeMessage(); BankTransferStartedMessage message = (BankTransferStartedMessage) model.getTradeMessage();
model.setDepositTx(checkNotNull(message.getDepositTx())); model.setDepositTx(checkNotNull(message.getDepositTx()));
model.setOffererSignatureR(nonEmptyStringOf(message.getOffererSignatureR())); model.setOffererSignature(checkNotNull(ECKey.ECDSASignature.decodeFromDER(message.getOffererSignature())));
model.setOffererSignatureS(nonEmptyStringOf(message.getOffererSignatureS()));
model.setOffererPaybackAmount(positiveCoinOf(nonZeroCoinOf(message.getOffererPaybackAmount()))); model.setOffererPaybackAmount(positiveCoinOf(nonZeroCoinOf(message.getOffererPaybackAmount())));
model.setTakerPaybackAmount(positiveCoinOf(nonZeroCoinOf(message.getTakerPaybackAmount()))); model.setTakerPaybackAmount(positiveCoinOf(nonZeroCoinOf(message.getTakerPaybackAmount())));
model.setOffererPayoutAddress(nonEmptyStringOf(message.getOffererPayoutAddress())); model.setOffererPayoutAddress(nonEmptyStringOf(message.getOffererPayoutAddress()));

View file

@ -44,8 +44,7 @@ public class SignAndPublishPayoutTx extends Task<SellerAsTakerModel> {
protected void doRun() { protected void doRun() {
try { try {
model.getWalletService().takerSignsAndSendsTx(model.getDepositTx(), model.getWalletService().takerSignsAndSendsTx(model.getDepositTx(),
model.getOffererSignatureR(), model.getOffererSignature(),
model.getOffererSignatureS(),
model.getOffererPaybackAmount(), model.getOffererPaybackAmount(),
model.getTakerPaybackAmount(), model.getTakerPaybackAmount(),
model.getOffererPayoutAddress(), model.getOffererPayoutAddress(),