From 59124e3e33edb3042570d27e1c8bf0694c1367d6 Mon Sep 17 00:00:00 2001 From: Oscar Guindzberg Date: Mon, 14 Sep 2020 16:58:47 -0300 Subject: [PATCH] Replace deprecated bitcoinj methods Replace output.getAddressFromP2PKHScript() and output.getAddressFromP2SH() with output.getScriptPubKey().getToAddress() --- .../java/bisq/core/btc/model/AddressEntryList.java | 2 +- .../bisq/core/trade/DelayedPayoutTxValidation.java | 14 +++++--------- .../tasks/buyer/BuyerSetupDepositTxListener.java | 2 +- .../funds/transactions/TransactionAwareTrade.java | 2 +- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/bisq/core/btc/model/AddressEntryList.java b/core/src/main/java/bisq/core/btc/model/AddressEntryList.java index a3fea3bd40b..913a8e996a1 100644 --- a/core/src/main/java/bisq/core/btc/model/AddressEntryList.java +++ b/core/src/main/java/bisq/core/btc/model/AddressEntryList.java @@ -211,7 +211,7 @@ public void persist() { private void maybeAddNewAddressEntry(Transaction tx) { tx.getOutputs().stream() .filter(output -> output.isMine(wallet)) - .map(output -> output.getAddressFromP2PKHScript(wallet.getNetworkParameters())) + .map(output -> output.getScriptPubKey().getToAddress(wallet.getNetworkParameters())) .filter(Objects::nonNull) .filter(this::isAddressNotInEntries) .map(address -> (DeterministicKey) wallet.findKeyFromPubKeyHash(address.getHash(), diff --git a/core/src/main/java/bisq/core/trade/DelayedPayoutTxValidation.java b/core/src/main/java/bisq/core/trade/DelayedPayoutTxValidation.java index 088716b8060..f2eec5988a5 100644 --- a/core/src/main/java/bisq/core/trade/DelayedPayoutTxValidation.java +++ b/core/src/main/java/bisq/core/trade/DelayedPayoutTxValidation.java @@ -146,16 +146,12 @@ public static void validatePayoutTx(Trade trade, NetworkParameters params = btcWalletService.getParams(); - Address address = output.getAddressFromP2PKHScript(params); + Address address = output.getScriptPubKey().getToAddress(params); if (address == null) { - // The donation address can be as well be a multisig address. - address = output.getAddressFromP2SH(params); - if (address == null) { - errorMsg = "Donation address cannot be resolved (not of type P2PKHScript or P2SH). Output: " + output; - log.error(errorMsg); - log.error(delayedPayoutTx.toString()); - throw new DonationAddressException(errorMsg); - } + errorMsg = "Donation address cannot be resolved (not of type P2PK nor P2SH nor P2WH). Output: " + output; + log.error(errorMsg); + log.error(delayedPayoutTx.toString()); + throw new DonationAddressException(errorMsg); } String addressAsString = address.toString(); diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupDepositTxListener.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupDepositTxListener.java index 454761b4aec..27df62128ec 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupDepositTxListener.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupDepositTxListener.java @@ -59,7 +59,7 @@ protected void run() { final NetworkParameters params = walletService.getParams(); Transaction preparedDepositTx = new Transaction(params, processModel.getPreparedDepositTx()); checkArgument(!preparedDepositTx.getOutputs().isEmpty(), "preparedDepositTx.getOutputs() must not be empty"); - Address depositTxAddress = preparedDepositTx.getOutput(0).getAddressFromP2SH(params); + Address depositTxAddress = preparedDepositTx.getOutput(0).getScriptPubKey().getToAddress(params); final TransactionConfidence confidence = walletService.getConfidenceForAddress(depositTxAddress); if (isInNetwork(confidence)) { applyConfidence(confidence); diff --git a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java index d609621908b..c357d2630b3 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java @@ -157,7 +157,7 @@ private boolean isRefundPayoutTx(String txId) { tx.getOutputs().forEach(txo -> { if (btcWalletService.isTransactionOutputMine(txo)) { try { - Address receiverAddress = txo.getAddressFromP2PKHScript(btcWalletService.getParams()); + Address receiverAddress = txo.getScriptPubKey().getToAddress(btcWalletService.getParams()); Contract contract = checkNotNull(trade.getContract()); String myPayoutAddressString = contract.isMyRoleBuyer(pubKeyRing) ? contract.getBuyerPayoutAddressString() :