diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3795e55..dd7ad6f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -234,21 +234,25 @@ void MainWindow::turnstileDoMigration(QString fromAddr) { // Privacy level combobox // Num tx over num blocks - QList> privOptions; - privOptions.push_back(QPair(3, 6)); - privOptions.push_back(QPair(5, 10)); - privOptions.push_back(QPair(10, 20)); + QList> privOptions; + privOptions.push_back(std::make_tuple("Good", 3, 576)); + privOptions.push_back(std::make_tuple("Excellent", 5, 1152)); + privOptions.push_back(std::make_tuple("Paranoid", 10, 2304)); QObject::connect(turnstile.privLevel, QOverload::of(&QComboBox::currentIndexChanged), [=] (auto idx) { // Update the fees turnstile.minerFee->setText( - Settings::getInstance()->getZECUSDDisplayFormat(privOptions[idx].first * Utils::getMinerFee())); + Settings::getInstance()->getZECUSDDisplayFormat(std::get<1>(privOptions[idx]) * Utils::getMinerFee())); }); - turnstile.privLevel->addItem("Good - 3 tx over 6 blocks"); - turnstile.privLevel->addItem("Excellent - 5 tx over 10 blocks"); - turnstile.privLevel->addItem("Paranoid - 10 tx over 20 blocks"); - + for (auto i : privOptions) { + turnstile.privLevel->addItem(std::get<0>(i) % " - " + % QString::number(std::get<1>(i)) % " tx over " + % QString::number(std::get<2>(i)) % " blocks (" + % QString::number((int)(std::get<2>(i) / 24 / 24)) % " days)" // 24 blks/hr * 24 hrs per day + ); + } + turnstile.buttonBox->button(QDialogButtonBox::Ok)->setText("Start"); if (d.exec() == QDialog::Accepted) { @@ -256,7 +260,7 @@ void MainWindow::turnstileDoMigration(QString fromAddr) { rpc->getTurnstile()->planMigration( turnstile.migrateZaddList->currentText(), turnstile.migrateTo->currentText(), - privLevel.first, privLevel.second); + std::get<1>(privLevel), std::get<2>(privLevel)); QMessageBox::information(this, "Backup your wallet.dat", "The migration will now start. You can check progress in the File -> Sapling Turnstile menu.\n\nYOU MUST BACKUP YOUR wallet.dat NOW!\n\nNew Addresses have been added to your wallet which will be used for the migration.", @@ -585,7 +589,7 @@ void MainWindow::setupBalancesTab() { }); } - if (Settings::getInstance()->isTestnet() && Settings::getInstance()->isSproutAddress(addr)) { + if (Settings::getInstance()->isSproutAddress(addr)) { menu.addAction("Migrate to Sapling", [=] () { this->turnstileDoMigration(addr); }); diff --git a/src/rpc.cpp b/src/rpc.cpp index a93c8e2..d2854c9 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -522,14 +522,9 @@ void RPC::refreshAddresses() { // Function to create the data model and update the views, used below. void RPC::updateUI(bool anyUnconfirmed) { - if (Settings::getInstance()->isTestnet()) { - // See if the turnstile migration has any steps that need to be done. - turnstile->executeMigrationStep(); - } else { - // Not available on mainnet yet. - main->ui->actionTurnstile_Migration->setVisible(false); - } - + // See if the turnstile migration has any steps that need to be done. + turnstile->executeMigrationStep(); + ui->unconfirmedWarning->setVisible(anyUnconfirmed); // Update balances model data, which will update the table too diff --git a/src/turnstile.cpp b/src/turnstile.cpp index 2cd14ed..d874160 100644 --- a/src/turnstile.cpp +++ b/src/turnstile.cpp @@ -121,7 +121,8 @@ void Turnstile::planMigration(QString zaddr, QString destAddr, int numsplits, in if (migItems.size() == 0) { // Show error and abort QMessageBox::warning(mainwindow, - "Locked funds", "Could not initiate migration.\nYou either have unconfirmed funds or the balance is too low for an automatic migration."); + "Locked funds", + "Could not initiate migration.\nYou either have unconfirmed funds or the balance is too low for an automatic migration."); return; }