follow up to previous commit

This commit is contained in:
Craig Raw 2021-04-27 09:44:56 +02:00
parent 65e13d7b50
commit 8865f4946a
3 changed files with 26 additions and 7 deletions

View file

@ -489,7 +489,7 @@ public class HeadersController extends TransactionFormController implements Init
private void updateFee(Long feeAmt) { private void updateFee(Long feeAmt) {
fee.setValue(feeAmt); fee.setValue(feeAmt);
double feeRateAmt = feeAmt.doubleValue() / headersForm.getTransaction().getVirtualSize(); double feeRateAmt = feeAmt.doubleValue() / headersForm.getTransaction().getVirtualSize();
feeRate.setText(String.format("%.2f", feeRateAmt) + " sats/vByte" + (headersForm.isTransactionFinalized() ? "" : " (non-final)")); feeRate.setText(String.format("%.2f", feeRateAmt) + " sats/vB" + (headersForm.isTransactionFinalized() ? "" : " (non-final)"));
} }
private void updateBlockchainForm(BlockTransaction blockTransaction, Integer currentHeight) { private void updateBlockchainForm(BlockTransaction blockTransaction, Integer currentHeight) {

View file

@ -309,4 +309,9 @@ public class ReceiveController extends WalletFormController implements Initializ
public void connection(ConnectionEvent event) { public void connection(ConnectionEvent event) {
updateLastUsed(); updateLastUsed();
} }
@Subscribe
public void disconnection(DisconnectionEvent event) {
updateLastUsed();
}
} }

View file

@ -479,6 +479,7 @@ public class SendController extends WalletFormController implements Initializabl
public void updateTransaction(List<Payment> transactionPayments) { public void updateTransaction(List<Payment> transactionPayments) {
if(walletTransactionService != null && walletTransactionService.isRunning()) { if(walletTransactionService != null && walletTransactionService.isRunning()) {
walletTransactionService.setIgnoreResult(true);
walletTransactionService.cancel(); walletTransactionService.cancel();
} }
@ -495,14 +496,18 @@ public class SendController extends WalletFormController implements Initializabl
walletTransactionService = new WalletTransactionService(wallet, getUtxoSelectors(), getUtxoFilters(), payments, feeRate, getMinimumFeeRate(), userFee, currentBlockHeight, groupByAddress, includeMempoolOutputs, includeSpentMempoolOutputs); walletTransactionService = new WalletTransactionService(wallet, getUtxoSelectors(), getUtxoFilters(), payments, feeRate, getMinimumFeeRate(), userFee, currentBlockHeight, groupByAddress, includeMempoolOutputs, includeSpentMempoolOutputs);
walletTransactionService.setOnSucceeded(event -> { walletTransactionService.setOnSucceeded(event -> {
walletTransactionProperty.setValue(walletTransactionService.getValue()); if(!walletTransactionService.isIgnoreResult()) {
insufficientInputsProperty.set(false); walletTransactionProperty.setValue(walletTransactionService.getValue());
insufficientInputsProperty.set(false);
}
}); });
walletTransactionService.setOnFailed(event -> { walletTransactionService.setOnFailed(event -> {
transactionDiagram.clear(); if(!walletTransactionService.isIgnoreResult()) {
walletTransactionProperty.setValue(null); transactionDiagram.clear();
if(event.getSource().getException() instanceof InsufficientFundsException) { walletTransactionProperty.setValue(null);
insufficientInputsProperty.set(true); if(event.getSource().getException() instanceof InsufficientFundsException) {
insufficientInputsProperty.set(true);
}
} }
}); });
@ -547,6 +552,7 @@ public class SendController extends WalletFormController implements Initializabl
private final boolean groupByAddress; private final boolean groupByAddress;
private final boolean includeMempoolOutputs; private final boolean includeMempoolOutputs;
private final boolean includeSpentMempoolOutputs; private final boolean includeSpentMempoolOutputs;
private boolean ignoreResult;
public WalletTransactionService(Wallet wallet, List<UtxoSelector> utxoSelectors, List<UtxoFilter> utxoFilters, List<Payment> payments, double feeRate, double longTermFeeRate, Long fee, Integer currentBlockHeight, boolean groupByAddress, boolean includeMempoolOutputs, boolean includeSpentMempoolOutputs) { public WalletTransactionService(Wallet wallet, List<UtxoSelector> utxoSelectors, List<UtxoFilter> utxoFilters, List<Payment> payments, double feeRate, double longTermFeeRate, Long fee, Integer currentBlockHeight, boolean groupByAddress, boolean includeMempoolOutputs, boolean includeSpentMempoolOutputs) {
this.wallet = wallet; this.wallet = wallet;
@ -570,6 +576,14 @@ public class SendController extends WalletFormController implements Initializabl
} }
}; };
} }
public boolean isIgnoreResult() {
return ignoreResult;
}
public void setIgnoreResult(boolean ignoreResult) {
this.ignoreResult = ignoreResult;
}
} }
private List<UtxoFilter> getUtxoFilters() { private List<UtxoFilter> getUtxoFilters() {