diff options
Diffstat (limited to 'monero_libwallet2_api_c')
| -rw-r--r-- | monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp | 23 | ||||
| -rw-r--r-- | monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h | 8 |
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; |
