From eb0a7c9360ccb8c98a1a2e83b83f89cb5591a744 Mon Sep 17 00:00:00 2001 From: levonpetrosyan93 Date: Thu, 23 Nov 2023 05:27:44 +0400 Subject: [PATCH] No migration window before spark, and more fixes --- src/qt/sendcoinsdialog.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 5480410cbd..3f514961f7 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -320,7 +320,7 @@ void SendCoinsDialog::on_sendButton_clicked() CAmount mintSparkAmount = 0; CAmount txFee = 0; CAmount totalAmount = 0; - if (model->getLelantusModel()->getPrivateBalance().first > 0 && chainActive.Height() < ::Params().GetConsensus().nLelantusGracefulPeriod) { + if (model->getLelantusModel()->getPrivateBalance().first > 0 && spark::IsSparkAllowed() && chainActive.Height() < ::Params().GetConsensus().nLelantusGracefulPeriod) { MigrateLelantusToSparkDialog migrateLelantusToSpark(model); bool clickedButton = migrateLelantusToSpark.getClickedButton(); if(clickedButton) { @@ -332,16 +332,23 @@ void SendCoinsDialog::on_sendButton_clicked() prepareStatus = model->prepareJoinSplitTransaction(currentTransaction, &ctrl); } else if ((fAnonymousMode == true) && spark::IsSparkAllowed()) { prepareStatus = model->prepareSpendSparkTransaction(currentTransaction, &ctrl); - } else if ((fAnonymousMode == false) && (recipients.size() == sparkAddressCount) && spark::IsSparkAllowed()) { - prepareStatus = model->prepareMintSparkTransaction(transactions, recipients, wtxAndFees, reservekeys, &ctrl); - } else if ((fAnonymousMode == false) && (sparkAddressCount == 0)){ - SendGoPrivateDialog goPrivateDialog; - bool clickedButton = goPrivateDialog.getClickedButton(); - if(clickedButton) { - setAnonymizeMode(true); - fNewRecipientAllowed = true; + } else if ((fAnonymousMode == false) && (recipients.size() == sparkAddressCount)) { + if (spark::IsSparkAllowed()) + prepareStatus = model->prepareMintSparkTransaction(transactions, recipients, wtxAndFees, reservekeys, &ctrl); + else { + processSendCoinsReturn(WalletModel::InvalidAddress); return; } + } else if ((fAnonymousMode == false) && (sparkAddressCount == 0)) { + if (spark::IsSparkAllowed()) { + SendGoPrivateDialog goPrivateDialog; + bool clickedButton = goPrivateDialog.getClickedButton(); + if (clickedButton) { + setAnonymizeMode(true); + fNewRecipientAllowed = true; + return; + } + } prepareStatus = model->prepareTransaction(currentTransaction, &ctrl); } else { fNewRecipientAllowed = true;