From 67c47c5491b022f74a0af8138b69ae614527bdba Mon Sep 17 00:00:00 2001 From: Czarek Nakamoto Date: Sat, 17 Feb 2024 18:10:28 +0100 Subject: add signing functionality --- libbridge/src/main/cpp/wallet2_api_c.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libbridge/src/main/cpp/wallet2_api_c.cpp') diff --git a/libbridge/src/main/cpp/wallet2_api_c.cpp b/libbridge/src/main/cpp/wallet2_api_c.cpp index 5659bb4..c7d1570 100644 --- a/libbridge/src/main/cpp/wallet2_api_c.cpp +++ b/libbridge/src/main/cpp/wallet2_api_c.cpp @@ -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(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(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(wallet_ptr); return wallet->rescanSpent(); -- cgit v1.2.3