mirror of
https://github.com/monero-project/monero.git
synced 2025-08-09 00:32:22 -04:00
wallet: allow signing a message with spend or view key
This commit is contained in:
parent
5946002105
commit
743608ec16
16 changed files with 178 additions and 43 deletions
|
@ -2007,7 +2007,20 @@ namespace tools
|
|||
return false;
|
||||
}
|
||||
|
||||
res.signature = m_wallet->sign(req.data, {req.account_index, req.address_index});
|
||||
tools::wallet2::message_signature_type_t signature_type = tools::wallet2::sign_with_spend_key;
|
||||
if (req.signature_type == "spend" || req.signature_type == "")
|
||||
signature_type = tools::wallet2::sign_with_spend_key;
|
||||
else if (req.signature_type == "view")
|
||||
signature_type = tools::wallet2::sign_with_view_key;
|
||||
else if (req.signature_type == "both")
|
||||
signature_type = tools::wallet2::sign_with_both_keys;
|
||||
else
|
||||
{
|
||||
er.code = WALLET_RPC_ERROR_CODE_INVALID_SIGNATURE_TYPE;
|
||||
er.message = "Invalid signature type requested";
|
||||
return false;
|
||||
}
|
||||
res.signature = m_wallet->sign(req.data, signature_type, {req.account_index, req.address_index});
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -2042,7 +2055,17 @@ namespace tools
|
|||
return false;
|
||||
}
|
||||
|
||||
res.good = m_wallet->verify(req.data, info.address, req.signature);
|
||||
const auto result = m_wallet->verify(req.data, info.address, req.signature);
|
||||
res.good = result.valid;
|
||||
res.version = result.version;
|
||||
res.old = result.old;
|
||||
switch (result.type)
|
||||
{
|
||||
case tools::wallet2::sign_with_spend_key: res.signature_type = "spend"; break;
|
||||
case tools::wallet2::sign_with_view_key: res.signature_type = "view"; break;
|
||||
case tools::wallet2::sign_with_both_keys: res.signature_type = "both"; break;
|
||||
default: res.signature_type = "invalid"; break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue