mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-09-03 10:22:09 +00:00
Handled key-value related operations when wallet is locked.
This commit is contained in:
parent
a13b6aa276
commit
d1d91a96af
@ -289,7 +289,6 @@ void KevaDialog::kevaView_selectionChanged()
|
|||||||
bool enable = !ui->kevaView->selectionModel()->selectedRows().isEmpty();
|
bool enable = !ui->kevaView->selectionModel()->selectedRows().isEmpty();
|
||||||
ui->showValueButton->setEnabled(enable);
|
ui->showValueButton->setEnabled(enable);
|
||||||
ui->removeButton->setEnabled(enable);
|
ui->removeButton->setEnabled(enable);
|
||||||
ui->addKVButton->setEnabled(enable);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void KevaDialog::on_showValueButton_clicked()
|
void KevaDialog::on_showValueButton_clicked()
|
||||||
@ -335,6 +334,11 @@ void KevaDialog::on_removeButton_clicked()
|
|||||||
case WalletModel::KeyNotFound:
|
case WalletModel::KeyNotFound:
|
||||||
msg = tr("Key not found: \"%1\".").arg(keyStr);
|
msg = tr("Key not found: \"%1\".").arg(keyStr);
|
||||||
break;
|
break;
|
||||||
|
case WalletModel::InsufficientFund:
|
||||||
|
msg = tr("Insufficient funds");
|
||||||
|
break;
|
||||||
|
case WalletModel::WalletLocked:
|
||||||
|
return;
|
||||||
default:
|
default:
|
||||||
msg = tr("Unknown error.");
|
msg = tr("Unknown error.");
|
||||||
}
|
}
|
||||||
@ -460,6 +464,8 @@ int KevaDialog::createNamespace(std::string displayName, std::string& namespaceI
|
|||||||
case WalletModel::InsufficientFund:
|
case WalletModel::InsufficientFund:
|
||||||
msg = tr("Insufficient funds");
|
msg = tr("Insufficient funds");
|
||||||
break;
|
break;
|
||||||
|
case WalletModel::WalletLocked:
|
||||||
|
return 0;
|
||||||
default:
|
default:
|
||||||
msg = tr("Unknown error.");
|
msg = tr("Unknown error.");
|
||||||
}
|
}
|
||||||
@ -488,6 +494,11 @@ int KevaDialog::addKeyValue(std::string& namespaceId, std::string& key, std::str
|
|||||||
case WalletModel::ValueTooLong:
|
case WalletModel::ValueTooLong:
|
||||||
msg = tr("Value too long.");
|
msg = tr("Value too long.");
|
||||||
break;
|
break;
|
||||||
|
case WalletModel::InsufficientFund:
|
||||||
|
msg = tr("Insufficient funds");
|
||||||
|
break;
|
||||||
|
case WalletModel::WalletLocked:
|
||||||
|
return 0;
|
||||||
default:
|
default:
|
||||||
msg = tr("Unknown error.");
|
msg = tr("Unknown error.");
|
||||||
}
|
}
|
||||||
|
@ -896,6 +896,11 @@ int WalletModel::createNamespace(std::string displayNameStr, std::string& namesp
|
|||||||
return NamespaceTooLong;
|
return NamespaceTooLong;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WalletModel::UnlockContext ctx(requestUnlock());
|
||||||
|
if(!ctx.isValid()) {
|
||||||
|
return WalletLocked;
|
||||||
|
}
|
||||||
|
|
||||||
CReserveKey keyName(wallet);
|
CReserveKey keyName(wallet);
|
||||||
CPubKey pubKey;
|
CPubKey pubKey;
|
||||||
const bool ok = keyName.GetReservedKey(pubKey, true);
|
const bool ok = keyName.GetReservedKey(pubKey, true);
|
||||||
@ -929,7 +934,6 @@ int WalletModel::createNamespace(std::string displayNameStr, std::string& namesp
|
|||||||
}
|
}
|
||||||
|
|
||||||
keyName.KeepKey();
|
keyName.KeepKey();
|
||||||
|
|
||||||
namespaceId = EncodeBase58Check(kevaNamespace);
|
namespaceId = EncodeBase58Check(kevaNamespace);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -947,6 +951,11 @@ int WalletModel::deleteKevaEntry(std::string namespaceStr, std::string keyStr)
|
|||||||
return KeyTooLong;
|
return KeyTooLong;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WalletModel::UnlockContext ctx(requestUnlock());
|
||||||
|
if(!ctx.isValid()) {
|
||||||
|
return WalletLocked;
|
||||||
|
}
|
||||||
|
|
||||||
bool hasKey = false;
|
bool hasKey = false;
|
||||||
CKevaData data;
|
CKevaData data;
|
||||||
{
|
{
|
||||||
@ -1013,6 +1022,11 @@ int WalletModel::addKeyValue(std::string& namespaceStr, std::string& keyStr, std
|
|||||||
return ValueTooLong;
|
return ValueTooLong;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WalletModel::UnlockContext ctx(requestUnlock());
|
||||||
|
if(!ctx.isValid()) {
|
||||||
|
return WalletLocked;
|
||||||
|
}
|
||||||
|
|
||||||
COutput output;
|
COutput output;
|
||||||
if (!wallet->FindKevaCoin(output, namespaceStr)) {
|
if (!wallet->FindKevaCoin(output, namespaceStr)) {
|
||||||
return CannotUpdate;
|
return CannotUpdate;
|
||||||
|
@ -132,6 +132,7 @@ public:
|
|||||||
ValueTooLong,
|
ValueTooLong,
|
||||||
CannotUpdate,
|
CannotUpdate,
|
||||||
InsufficientFund,
|
InsufficientFund,
|
||||||
|
WalletLocked,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum EncryptionStatus
|
enum EncryptionStatus
|
||||||
|
Loading…
x
Reference in New Issue
Block a user