mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-25 07:27:18 +01:00
Refactoring: cleanups
This commit is contained in:
parent
3a7af57a43
commit
dc8ddbd4ae
2 changed files with 23 additions and 20 deletions
|
@ -55,18 +55,21 @@ public class BuyerSetupDepositTxListener extends TradeTask {
|
|||
|
||||
if (trade.getDepositTx() == null && processModel.getPreparedDepositTx() != null) {
|
||||
BtcWalletService walletService = processModel.getBtcWalletService();
|
||||
final NetworkParameters params = walletService.getParams();
|
||||
NetworkParameters params = walletService.getParams();
|
||||
Transaction preparedDepositTx = new Transaction(params, processModel.getPreparedDepositTx());
|
||||
checkArgument(!preparedDepositTx.getOutputs().isEmpty(), "preparedDepositTx.getOutputs() must not be empty");
|
||||
|
||||
//TODO update to new bitcoinj API
|
||||
Address depositTxAddress = preparedDepositTx.getOutput(0).getAddressFromP2SH(params);
|
||||
final TransactionConfidence confidence = walletService.getConfidenceForAddress(depositTxAddress);
|
||||
if (isInNetwork(confidence)) {
|
||||
|
||||
TransactionConfidence confidence = walletService.getConfidenceForAddress(depositTxAddress);
|
||||
if (isVisibleInNetwork(confidence)) {
|
||||
applyConfidence(confidence);
|
||||
} else {
|
||||
confidenceListener = new AddressConfidenceListener(depositTxAddress) {
|
||||
@Override
|
||||
public void onTransactionConfidenceChanged(TransactionConfidence confidence) {
|
||||
if (isInNetwork(confidence))
|
||||
if (isVisibleInNetwork(confidence))
|
||||
applyConfidence(confidence);
|
||||
}
|
||||
};
|
||||
|
@ -77,7 +80,7 @@ public class BuyerSetupDepositTxListener extends TradeTask {
|
|||
swapReservedForTradeEntry();
|
||||
|
||||
// hack to remove tradeStateSubscription at callback
|
||||
UserThread.execute(this::unSubscribe);
|
||||
UserThread.execute(this::unSubscribeAndRemoveListener);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -103,10 +106,10 @@ public class BuyerSetupDepositTxListener extends TradeTask {
|
|||
swapReservedForTradeEntry();
|
||||
|
||||
// need delay as it can be called inside the listener handler before listener and tradeStateSubscription are actually set.
|
||||
UserThread.execute(this::unSubscribe);
|
||||
UserThread.execute(this::unSubscribeAndRemoveListener);
|
||||
}
|
||||
|
||||
private boolean isInNetwork(TransactionConfidence confidence) {
|
||||
private boolean isVisibleInNetwork(TransactionConfidence confidence) {
|
||||
return confidence != null &&
|
||||
(confidence.getConfidenceType().equals(TransactionConfidence.ConfidenceType.BUILDING) ||
|
||||
confidence.getConfidenceType().equals(TransactionConfidence.ConfidenceType.PENDING));
|
||||
|
@ -114,14 +117,17 @@ public class BuyerSetupDepositTxListener extends TradeTask {
|
|||
|
||||
private void swapReservedForTradeEntry() {
|
||||
log.info("swapReservedForTradeEntry");
|
||||
processModel.getBtcWalletService().swapTradeEntryToAvailableEntry(trade.getId(), AddressEntry.Context.RESERVED_FOR_TRADE);
|
||||
processModel.getBtcWalletService().swapTradeEntryToAvailableEntry(trade.getId(),
|
||||
AddressEntry.Context.RESERVED_FOR_TRADE);
|
||||
}
|
||||
|
||||
private void unSubscribe() {
|
||||
if (tradeStateSubscription != null)
|
||||
private void unSubscribeAndRemoveListener() {
|
||||
if (tradeStateSubscription != null) {
|
||||
tradeStateSubscription.unsubscribe();
|
||||
}
|
||||
|
||||
if (confidenceListener != null)
|
||||
if (confidenceListener != null) {
|
||||
processModel.getBtcWalletService().removeAddressConfidenceListener(confidenceListener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,8 @@ import java.util.Optional;
|
|||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
|
@ -51,20 +53,15 @@ public class BuyerAsMakerCreatesAndSignsDepositTx extends TradeTask {
|
|||
protected void run() {
|
||||
try {
|
||||
runInterceptHook();
|
||||
checkNotNull(trade.getTradeAmount(), "trade.getTradeAmount() must not be null");
|
||||
Coin tradeAmount = checkNotNull(trade.getTradeAmount(), "trade.getTradeAmount() must not be null");
|
||||
|
||||
BtcWalletService walletService = processModel.getBtcWalletService();
|
||||
String id = processModel.getOffer().getId();
|
||||
TradingPeer tradingPeer = processModel.getTradingPeer();
|
||||
Offer offer = checkNotNull(trade.getOffer());
|
||||
|
||||
// params
|
||||
byte[] contractHash = Hash.getSha256Hash(checkNotNull(trade.getContractAsJson()));
|
||||
trade.setContractHash(contractHash);
|
||||
log.debug("\n\n------------------------------------------------------------\n"
|
||||
+ "Contract as json\n"
|
||||
+ trade.getContractAsJson()
|
||||
+ "\n------------------------------------------------------------\n");
|
||||
|
||||
Coin makerInputAmount = offer.getBuyerSecurityDeposit();
|
||||
Optional<AddressEntry> addressEntryOptional = walletService.getAddressEntry(id, AddressEntry.Context.MULTI_SIG);
|
||||
|
@ -76,15 +73,15 @@ public class BuyerAsMakerCreatesAndSignsDepositTx extends TradeTask {
|
|||
Coin msOutputAmount = makerInputAmount
|
||||
.add(trade.getTxFee())
|
||||
.add(offer.getSellerSecurityDeposit())
|
||||
.add(trade.getTradeAmount());
|
||||
.add(tradeAmount);
|
||||
|
||||
List<RawTransactionInput> takerRawTransactionInputs = checkNotNull(tradingPeer.getRawTransactionInputs());
|
||||
long takerChangeOutputValue = tradingPeer.getChangeOutputValue();
|
||||
String takerChangeAddressString = tradingPeer.getChangeOutputAddress();
|
||||
@Nullable String takerChangeAddressString = tradingPeer.getChangeOutputAddress();
|
||||
Address makerAddress = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.RESERVED_FOR_TRADE).getAddress();
|
||||
Address makerChangeAddress = walletService.getFreshAddressEntry().getAddress();
|
||||
byte[] buyerPubKey = processModel.getMyMultiSigPubKey();
|
||||
byte[] sellerPubKey = tradingPeer.getMultiSigPubKey();
|
||||
byte[] sellerPubKey = checkNotNull(tradingPeer.getMultiSigPubKey());
|
||||
checkArgument(Arrays.equals(buyerPubKey,
|
||||
makerMultiSigAddressEntry.getPubKey()),
|
||||
"buyerPubKey from AddressEntry must match the one from the trade data. trade id =" + id);
|
||||
|
|
Loading…
Add table
Reference in a new issue