mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-12-22 19:49:34 +00:00
Bugfix with tx proof + update
This commit is contained in:
parent
2147803d45
commit
d8f3a52378
4 changed files with 24 additions and 17 deletions
|
@ -65,8 +65,8 @@ Rectangle {
|
||||||
signal paymentClicked(string address, string paymentId, string amount, int mixinCount, int priority, string description)
|
signal paymentClicked(string address, string paymentId, string amount, int mixinCount, int priority, string description)
|
||||||
signal sweepUnmixableClicked()
|
signal sweepUnmixableClicked()
|
||||||
signal generatePaymentIdInvoked()
|
signal generatePaymentIdInvoked()
|
||||||
signal getTxProofClicked(string txid, string address, string message);
|
signal getProofClicked(string txid, string address, string message);
|
||||||
signal checkTxProofClicked(string txid, string address, string message, string signature);
|
signal checkProofClicked(string txid, string address, string message, string signature);
|
||||||
|
|
||||||
color: "#F0EEEE"
|
color: "#F0EEEE"
|
||||||
|
|
||||||
|
|
16
main.qml
16
main.qml
|
@ -243,8 +243,8 @@ ApplicationWindow {
|
||||||
currentWallet.connectionStatusChanged.disconnect(onWalletConnectionStatusChanged)
|
currentWallet.connectionStatusChanged.disconnect(onWalletConnectionStatusChanged)
|
||||||
middlePanel.paymentClicked.disconnect(handlePayment);
|
middlePanel.paymentClicked.disconnect(handlePayment);
|
||||||
middlePanel.sweepUnmixableClicked.disconnect(handleSweepUnmixable);
|
middlePanel.sweepUnmixableClicked.disconnect(handleSweepUnmixable);
|
||||||
middlePanel.getTxProofClicked.disconnect(handleGetTxProof);
|
middlePanel.getProofClicked.disconnect(handleGetProof);
|
||||||
middlePanel.checkTxProofClicked.disconnect(handleCheckTxProof);
|
middlePanel.checkProofClicked.disconnect(handleCheckProof);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentWallet = undefined;
|
currentWallet = undefined;
|
||||||
|
@ -276,8 +276,8 @@ ApplicationWindow {
|
||||||
currentWallet.connectionStatusChanged.connect(onWalletConnectionStatusChanged)
|
currentWallet.connectionStatusChanged.connect(onWalletConnectionStatusChanged)
|
||||||
middlePanel.paymentClicked.connect(handlePayment);
|
middlePanel.paymentClicked.connect(handlePayment);
|
||||||
middlePanel.sweepUnmixableClicked.connect(handleSweepUnmixable);
|
middlePanel.sweepUnmixableClicked.connect(handleSweepUnmixable);
|
||||||
middlePanel.getTxProofClicked.connect(handleGetTxProof);
|
middlePanel.getProofClicked.connect(handleGetProof);
|
||||||
middlePanel.checkTxProofClicked.connect(handleCheckTxProof);
|
middlePanel.checkProofClicked.connect(handleCheckProof);
|
||||||
|
|
||||||
|
|
||||||
console.log("Recovering from seed: ", persistentSettings.is_recovering)
|
console.log("Recovering from seed: ", persistentSettings.is_recovering)
|
||||||
|
@ -757,8 +757,8 @@ ApplicationWindow {
|
||||||
currentWallet.store();
|
currentWallet.store();
|
||||||
}
|
}
|
||||||
|
|
||||||
// called on "getTxProof"
|
// called on "getProof"
|
||||||
function handleGetTxProof(txid, address, message) {
|
function handleGetProof(txid, address, message) {
|
||||||
console.log("Getting payment proof: ")
|
console.log("Getting payment proof: ")
|
||||||
console.log("\ttxid: ", txid,
|
console.log("\ttxid: ", txid,
|
||||||
", address: ", address,
|
", address: ", address,
|
||||||
|
@ -778,8 +778,8 @@ ApplicationWindow {
|
||||||
informationPopup.open()
|
informationPopup.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
// called on "checkTxProof"
|
// called on "checkProof"
|
||||||
function handleCheckTxProof(txid, address, message, signature) {
|
function handleCheckProof(txid, address, message, signature) {
|
||||||
console.log("Checking payment proof: ")
|
console.log("Checking payment proof: ")
|
||||||
console.log("\ttxid: ", txid,
|
console.log("\ttxid: ", txid,
|
||||||
", address: ", address,
|
", address: ", address,
|
||||||
|
|
|
@ -64,8 +64,16 @@ Rectangle {
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkSignature(signature) {
|
function checkSignature(signature) {
|
||||||
return signature.startsWith("OutProofV") && check256(signature, 142) ||
|
if (signature.startsWith("OutProofV")) {
|
||||||
signature.startsWith("InProofV") && check256(signature, 141)
|
if ((signature.length - 10) % 132 != 0)
|
||||||
|
return false;
|
||||||
|
return check256(signature, signature.length);
|
||||||
|
} else if (signature.startsWith("InProofV")) {
|
||||||
|
if ((signature.length - 9) % 132 != 0)
|
||||||
|
return false;
|
||||||
|
return check256(signature, signature.length);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* main layout */
|
/* main layout */
|
||||||
|
|
|
@ -506,11 +506,10 @@ QString Wallet::checkTxKey(const QString &txid, const QString &tx_key, const QSt
|
||||||
|
|
||||||
QString Wallet::getTxProof(const QString &txid, const QString &address, const QString &message) const
|
QString Wallet::getTxProof(const QString &txid, const QString &address, const QString &message) const
|
||||||
{
|
{
|
||||||
std::string error_str;
|
std::string result = m_walletImpl->getTxProof(txid.toStdString(), address.toStdString(), message.toStdString());
|
||||||
QString result = QString::fromStdString(m_walletImpl->getTxProof(txid.toStdString(), address.toStdString(), message.toStdString(), error_str));
|
if (result.empty())
|
||||||
if (!error_str.empty())
|
result = "error|" + m_walletImpl->errorString();
|
||||||
result = QString::fromStdString("error|" + error_str);
|
return QString::fromStdString(result);
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Wallet::checkTxProof(const QString &txid, const QString &address, const QString &message, const QString &signature)
|
QString Wallet::checkTxProof(const QString &txid, const QString &address, const QString &message, const QString &signature)
|
||||||
|
|
Loading…
Reference in a new issue