Browse Source

Allow importing old privkey format

duke
Duke Leto 3 years ago
parent
commit
fa1054acb5
  1. 2
      src/liteinterface.cpp
  2. 38
      src/mainwindow.cpp

2
src/liteinterface.cpp

@ -40,7 +40,7 @@ void LiteInterface::importTPrivKey(QString addr,const std::function<void(json)>&
if (conn == nullptr) if (conn == nullptr)
return; return;
conn->doRPCWithDefaultErrorHandling("timport", addr, cb); conn->doRPCWithDefaultErrorHandling("timport", addr, cb);
} }

38
src/mainwindow.cpp

@ -107,7 +107,7 @@ MainWindow::MainWindow(QWidget *parent) :
QObject::connect(ui->actionExit, &QAction::triggered, this, &MainWindow::close); QObject::connect(ui->actionExit, &QAction::triggered, this, &MainWindow::close);
// Set up Feedback action // Set up Feedback action
QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate); //QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate);
QObject::connect(ui->actionTelegram, &QAction::triggered, this, &MainWindow::telegram); QObject::connect(ui->actionTelegram, &QAction::triggered, this, &MainWindow::telegram);
@ -277,7 +277,7 @@ MainWindow::MainWindow(QWidget *parent) :
dialog.exec(); dialog.exec();
}); });
// Import Privkey // Import Privkey
QObject::connect(ui->actionImport_Privatkey, &QAction::triggered, this, &MainWindow::importPrivKey); QObject::connect(ui->actionImport_Privatkey, &QAction::triggered, this, &MainWindow::importPrivKey);
// Address Book // Address Book
QObject::connect(ui->action_Address_Book, &QAction::triggered, this, &MainWindow::addressBook); QObject::connect(ui->action_Address_Book, &QAction::triggered, this, &MainWindow::addressBook);
@ -909,14 +909,11 @@ void MainWindow::website() {
void MainWindow::donate() { void MainWindow::donate() {
// Set up a donation to me :)
ui->Address1->setText(Settings::getDonationAddr()); ui->Address1->setText(Settings::getDonationAddr());
ui->Address1->setCursorPosition(0); ui->Address1->setCursorPosition(0);
ui->Amount1->setText("0.00"); ui->Amount1->setText("0.00");
ui->MemoTxt1->setText(tr("Some feedback about SilentDragonlite or Hush...")); ui->MemoTxt1->setText(tr("Some feedback about SilentDragonlite or Hush..."));
ui->statusBar->showMessage(tr("Send some private and shielded feedback about") % Settings::getTokenName() % tr(" or SilentDragonLite"));
ui->statusBar->showMessage(tr("Send DenioD some private and shielded feedback about") % Settings::getTokenName() % tr(" or SilentDragonLite"));
// And switch to the send tab. // And switch to the send tab.
ui->tabWidget->setCurrentIndex(1); ui->tabWidget->setCurrentIndex(1);
@ -930,30 +927,37 @@ void MainWindow::donate() {
if (keys->isEmpty()) { if (keys->isEmpty()) {
delete keys; delete keys;
ui->statusBar->showMessage(tr("Private key import rescan in progress. Your funds will be automaticly shield to a wallet seed zaddr. This will take some time")); ui->statusBar->showMessage(tr("Private key import rescan in progress. Your funds will be shielded into this wallet and backed up by your seed phrase. This will take some time"));
return; return;
} }
// Pop the first key // Pop the first key
QString key = keys->first(); QString key = keys->first();
QString key1 = key + QString(" ") + QString("0"); QString key1 = key + QString(" ") + QString("0");
keys->pop_front(); keys->pop_front();
bool rescan = keys->isEmpty(); bool rescan = keys->isEmpty();
if (key.startsWith("SK") || key.startsWith("secret")) {
if (key.startsWith("SK") ||
key.startsWith("secret")) {
rpc->importZPrivKey(key, [=] (auto) { this->doImport(keys); }); rpc->importZPrivKey(key, [=] (auto) { this->doImport(keys); });
} else if (key.startsWith("U") || key.startsWith("5") || key.startsWith("L") || key.startsWith("K")) {
} else if (key.startsWith("U")) { // 5 = uncompressed, len=51
// LK= compressed, len=52
// TODO: verify exact length of (un)compressed
if(key.length() > 52) {
QMessageBox::critical(this, tr("Wrong Private key format"),
tr("That private key is too long. It should be 51 or 52 characters.") + "\n");
return;
}
if(key.length() < 51) {
QMessageBox::critical(this, tr("Wrong Private key format"),
tr("That private key is too short. It should be 51 or 52 characters.") + "\n");
return;
}
rpc->importTPrivKey(key, [=] (auto) { this->doImport(keys); }); rpc->importTPrivKey(key, [=] (auto) { this->doImport(keys); });
}else{ }else{
QMessageBox::critical(this, tr("Wrong Privatkey format"), QMessageBox::critical(this, tr("Wrong Privatkey format"),
tr("Privatkey should start with U (for taddr) or secret- (for zaddr)") + "\n"); tr("Privatkey should start with 5, K, L or U (for taddr) or secret- (for zaddr)") + "\n");
return; return;
} }
} }

Loading…
Cancel
Save