summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp23
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h8
2 files changed, 31 insertions, 0 deletions
diff --git a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
index 407d700..f959fb2 100644
--- a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
+++ b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
@@ -1511,6 +1511,29 @@ const char* MONERO_Wallet_getTxKey(void* wallet_ptr, const char* txid) {
return buffer;
}
+bool MONERO_Wallet_checkTxKey(void* wallet_ptr, const char* txid, const char* tx_key, const char* address, uint64_t* received, bool* in_pool, uint64_t* confirmations) {
+ if (wallet_ptr == nullptr || txid == nullptr || tx_key == nullptr || address == nullptr || received == nullptr || in_pool == nullptr || confirmations == nullptr) {
+ return false;
+ }
+
+ Monero::Wallet* wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
+
+ try {
+ bool result = wallet->checkTxKey(
+ std::string(txid),
+ std::string(tx_key),
+ std::string(address),
+ *received,
+ *in_pool,
+ *confirmations
+ );
+ return result;
+ }
+ catch (const std::exception& e) {
+ return false;
+ }
+}
+
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));
diff --git a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
index 6e691c8..d5dd83c 100644
--- a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
+++ b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
@@ -778,6 +778,14 @@ extern ADDAPI bool MONERO_Wallet_setUserNote(void* wallet_ptr, const char* txid,
// virtual std::string getUserNote(const std::string &txid) const = 0;
extern ADDAPI const char* MONERO_Wallet_getUserNote(void* wallet_ptr, const char* txid);
// virtual std::string getTxKey(const std::string &txid) const = 0;
+extern ADDAPI bool MONERO_Wallet_checkTxKey(void* wallet_ptr, const char* txid, const char* tx_key, const char* address, uint64_t* received, bool* in_pool, uint64_t* confirmations);
+// virtual std::string getTxProof(const std::string &txid, const std::string &address, const std::string &message) const = 0;
+// virtual bool checkTxProof(const std::string &txid, const std::string &address, const std::string &message, const std::string &signature, bool &good, uint64_t &received, bool &in_pool, uint64_t &confirmations) = 0;
+// virtual std::string getSpendProof(const std::string &txid, const std::string &message) const = 0;
+// virtual bool checkSpendProof(const std::string &txid, const std::string &message, const std::string &signature, bool &good) const = 0;
+// 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;
extern ADDAPI const char* MONERO_Wallet_getTxKey(void* wallet_ptr, const char* txid);
// virtual bool checkTxKey(const std::string &txid, std::string tx_key, const std::string &address, uint64_t &received, bool &in_pool, uint64_t &confirmations) = 0;
// virtual std::string getTxProof(const std::string &txid, const std::string &address, const std::string &message) const = 0;