diff --git a/core/src/main/java/bisq/core/trade/TradeManager.java b/core/src/main/java/bisq/core/trade/TradeManager.java index 2444606dc7d..e68410c9c30 100644 --- a/core/src/main/java/bisq/core/trade/TradeManager.java +++ b/core/src/main/java/bisq/core/trade/TradeManager.java @@ -261,12 +261,12 @@ private void handleTakeOfferRequest(NodeAddress peer, InputsForDepositTxRequest try { Validator.nonEmptyStringOf(inputsForDepositTxRequest.getTradeId()); } catch (Throwable t) { - log.warn("Invalid inputsForDepositTxRequest " + inputsForDepositTxRequest.toString()); + log.warn("Invalid inputsForDepositTxRequest " + inputsForDepositTxRequest); return; } Optional openOfferOptional = openOfferManager.getOpenOfferById(inputsForDepositTxRequest.getTradeId()); - if (!openOfferOptional.isPresent()) { + if (openOfferOptional.isEmpty()) { return; } @@ -702,9 +702,10 @@ public void onTradeCompleted(Trade trade) { public void closeDisputedTrade(String tradeId, Trade.DisputeState disputeState) { getTradeById(tradeId).ifPresent(trade -> { trade.setDisputeState(disputeState); + checkNotNull(trade.getContract(), "Trade contract must not be null"); trade.setState(trade.getContract().isMyRoleBuyer(keyRing.getPubKeyRing()) ? - Trade.State.BUYER_RECEIVED_PAYOUT_TX_PUBLISHED_MSG : // buyer to trade step 4 - Trade.State.SELLER_SAW_ARRIVED_PAYOUT_TX_PUBLISHED_MSG); // seller to trade step 4 + Trade.State.BUYER_RECEIVED_PAYOUT_TX_PUBLISHED_MSG : // buyer to trade step 4 + Trade.State.SELLER_SAW_ARRIVED_PAYOUT_TX_PUBLISHED_MSG); // seller to trade step 4 btcWalletService.swapTradeEntryToAvailableEntry(trade.getId(), AddressEntry.Context.TRADE_PAYOUT); requestPersistence(); }); diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 0750c235c4d..f3c556c7182 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -905,8 +905,8 @@ portfolio.pending.step5_buyer.makersMiningFee=Mining fee portfolio.pending.step5_buyer.takersMiningFee=Total mining fees portfolio.pending.step5_buyer.refunded=Refunded security deposit portfolio.pending.step5_buyer.amountTooLow=The amount to transfer is lower than the transaction fee and the min. possible tx value (dust). -portfolio.pending.step5_buyer.withdrawalCompleted.headline=Withdrawal completed -portfolio.pending.step5_buyer.withdrawalCompleted.msg=Your completed trades are stored under \"Portfolio/History\".\nYou can review all your bitcoin transactions under \"Funds/Transactions\" +portfolio.pending.step5_buyer.tradeCompleted.headline=Trade completed +portfolio.pending.step5_buyer.tradeCompleted.msg=Your completed trades are stored under \"Portfolio/History\".\nYou can review all your bitcoin transactions under \"Funds/Transactions\" portfolio.pending.step5_buyer.bought=You have bought portfolio.pending.step5_buyer.paid=You have paid @@ -3135,7 +3135,7 @@ notification.walletUpdate.headline=Trading wallet update notification.walletUpdate.msg=Your trading wallet is sufficiently funded.\nAmount: {0} notification.takeOffer.walletUpdate.msg=Your trading wallet was already sufficiently funded from an earlier take offer attempt.\nAmount: {0} notification.tradeCompleted.headline=Trade completed -notification.tradeCompleted.msg=You can withdraw your funds now to your external Bitcoin wallet or transfer it to the Bisq wallet. +notification.tradeCompleted.msg=You can withdraw your funds now to your external Bitcoin wallet from Funds > Send Funds. notification.bsqSwap.maker.headline=BSQ swap completed notification.bsqSwap.maker.tradeCompleted=Your offer with ID ''{0}'' has been taken. notification.bsqSwap.confirmed.headline=BSQ swap transaction confirmed diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java index 9e9e612fce6..307c7031d9c 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java @@ -146,12 +146,10 @@ private void handleTradeCompleted() { private void openTradeFeedbackWindow() { String key = "feedbackPopupAfterTrade"; if (!DevEnv.isDevMode() && preferences.showAgain(key)) { - UserThread.runAfter(() -> { - new TradeFeedbackWindow() - .dontShowAgainId(key) - .onAction(this::showNavigateToClosedTradesViewPopup) - .show(); - }, 500, TimeUnit.MILLISECONDS); + UserThread.runAfter(() -> new TradeFeedbackWindow() + .dontShowAgainId(key) + .onAction(this::showNavigateToClosedTradesViewPopup) + .show(), 500, TimeUnit.MILLISECONDS); } else { showNavigateToClosedTradesViewPopup(); } @@ -159,14 +157,12 @@ private void openTradeFeedbackWindow() { private void showNavigateToClosedTradesViewPopup() { if (!DevEnv.isDevMode()) { - UserThread.runAfter(() -> { - new Popup().headLine(Res.get("portfolio.pending.step5_buyer.withdrawalCompleted.headline")) - .feedback(Res.get("portfolio.pending.step5_buyer.withdrawalCompleted.msg")) - .actionButtonTextWithGoTo("navigation.portfolio.closedTrades") - .onAction(() -> model.dataModel.navigation.navigateTo(MainView.class, PortfolioView.class, ClosedTradesView.class)) - .dontShowAgainId("tradeCompleteWithdrawCompletedInfo") - .show(); - }, 500, TimeUnit.MILLISECONDS); + UserThread.runAfter(() -> new Popup().headLine(Res.get("portfolio.pending.step5_buyer.tradeCompleted.headline")) + .feedback(Res.get("portfolio.pending.step5_buyer.tradeCompleted.msg")) + .actionButtonTextWithGoTo("navigation.portfolio.closedTrades") + .onAction(() -> model.dataModel.navigation.navigateTo(MainView.class, PortfolioView.class, ClosedTradesView.class)) + .dontShowAgainId("tradeCompleteWithdrawCompletedInfo") + .show(), 500, TimeUnit.MILLISECONDS); } }