add signing functionality
This commit is contained in:
@@ -1317,6 +1317,21 @@ const char* MONERO_Wallet_getTxKey(void* wallet_ptr, const char* txid) {
|
||||
return buffer;
|
||||
}
|
||||
|
||||
const char* MONERO_Wallet_signMessage(void* wallet_ptr, const char* message, const char* address) {
|
||||
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
|
||||
std::string str = wallet->signMessage(std::string(message), std::string(address));
|
||||
const std::string::size_type size = str.size();
|
||||
char *buffer = new char[size + 1]; //we need extra char for NUL
|
||||
memcpy(buffer, str.c_str(), size + 1);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool MONERO_Wallet_verifySignedMessage(void* wallet_ptr, const char* message, const char* address, const char* signature) {
|
||||
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
|
||||
bool v = wallet->verifySignedMessage(std::string(message), std::string(address), std::string(signature));
|
||||
return v;
|
||||
}
|
||||
|
||||
bool MONERO_Wallet_rescanSpent(void* wallet_ptr) {
|
||||
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
|
||||
return wallet->rescanSpent();
|
||||
|
||||
@@ -757,7 +757,9 @@ const char* MONERO_Wallet_getTxKey(void* wallet_ptr, const char* txid);
|
||||
// virtual std::string getReserveProof(bool all, uint32_t account_index, uint64_t amount, const std::string &message) const = 0;
|
||||
// virtual bool checkReserveProof(const std::string &address, const std::string &message, const std::string &signature, bool &good, uint64_t &total, uint64_t &spent) const = 0;
|
||||
// virtual std::string signMessage(const std::string &message, const std::string &address = "") = 0;
|
||||
const char* MONERO_Wallet_signMessage(void* wallet_ptr, const char* message, const char* address);
|
||||
// virtual bool verifySignedMessage(const std::string &message, const std::string &addres, const std::string &signature) const = 0;
|
||||
bool MONERO_Wallet_verifySignedMessage(void* wallet_ptr, const char* message, const char* address, const char* signature);
|
||||
// virtual std::string signMultisigParticipant(const std::string &message) const = 0;
|
||||
// virtual bool verifyMessageWithPublicKey(const std::string &message, const std::string &publicKey, const std::string &signature) const = 0;
|
||||
// virtual bool parse_uri(const std::string &uri, std::string &address, std::string &payment_id, uint64_t &amount, std::string &tx_description, std::string &recipient_name, std::vector<std::string> &unknown_parameters, std::string &error) = 0;
|
||||
|
||||
Reference in New Issue
Block a user