diff options
| author | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2024-04-22 12:49:17 +0200 |
|---|---|---|
| committer | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2024-04-22 12:49:17 +0200 |
| commit | 7e49b4ad69e6e66696f5ce38ff4f1bc2ffe169cd (patch) | |
| tree | bcb77eb6ffc8f7b8cf9f3254a251704a9829ffa6 /monero_libwallet2_api_c/src/main/cpp | |
| parent | 90658235f6ff166e8252dbb17e798c73c9d77ac2 (diff) | |
add missing functionality from for cake's polyseed implementationv0.18.3.3-RC33
Diffstat (limited to 'monero_libwallet2_api_c/src/main/cpp')
| -rw-r--r-- | monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp | 28 | ||||
| -rw-r--r-- | monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h | 14 |
2 files changed, 42 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 3347c3f..d44c67c 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 @@ -127,6 +127,18 @@ const char* MONERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const cha return vectorToString(txid, std::string(separator)); } +const char* MONERO_PendingTransaction_hex(void* pendingTx_ptr, const char* separator) { + Monero::PendingTransaction *pendingTx = reinterpret_cast<Monero::PendingTransaction*>(pendingTx_ptr); + std::vector<std::string> txid = pendingTx->hex(); + return vectorToString(txid, std::string(separator)); +} + +const char* MONERO_PendingTransaction_txKey(void* pendingTx_ptr, const char* separator) { + Monero::PendingTransaction *pendingTx = reinterpret_cast<Monero::PendingTransaction*>(pendingTx_ptr); + std::vector<std::string> txid = pendingTx->txKey(); + return vectorToString(txid, std::string(separator)); +} + // UnsignedTransaction int MONERO_UnsignedTransaction_status(void* unsignedTx_ptr) { @@ -1553,6 +1565,22 @@ void* MONERO_WalletManager_createWalletFromKeys(void* wm_ptr, const char* path, return reinterpret_cast<void*>(wallet); } +void* MONERO_WalletManager_createDeterministicWalletFromSpendKey(void* wm_ptr, const char* path, const char* password, + const char* language, int nettype, uint64_t restoreHeight, + const char* spendKeyString, uint64_t kdf_rounds) { + Monero::WalletManager *wm = reinterpret_cast<Monero::WalletManager*>(wm_ptr); + Monero::Wallet *wallet = wm->createDeterministicWalletFromSpendKey( + std::string(path), + std::string(password), + std::string(language), + static_cast<Monero::NetworkType>(nettype), + restoreHeight, + std::string(spendKeyString), + kdf_rounds + ); + return reinterpret_cast<void*>(wallet); +} + void* MONERO_WalletManager_createWalletFromPolyseed(void* wm_ptr, const char* path, const char* password, int nettype, const char* mnemonic, const char* passphrase, bool newWallet, uint64_t restore_height, uint64_t kdf_rounds) { 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 0661373..9f58778 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 @@ -97,6 +97,10 @@ extern ADDAPI const char* MONERO_PendingTransaction_multisigSignData(void* pendi extern ADDAPI void MONERO_PendingTransaction_signMultisigTx(void* pendingTx_ptr); // virtual std::vector<std::string> signersKeys() const = 0; extern ADDAPI const char* MONERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const char* separator); +// virtual std::vector<std::string> hex() const = 0; +extern ADDAPI const char* MONERO_PendingTransaction_hex(void* pendingTx_ptr, const char* separator); +// virtual std::vector<std::string> txKey() const = 0; +extern ADDAPI const char* MONERO_PendingTransaction_txHex(void* pendingTx_ptr, const char* separator); // }; // struct UnsignedTransaction @@ -881,6 +885,16 @@ extern ADDAPI void* MONERO_WalletManager_createWalletFromKeys(void* wm_ptr, cons // { // return createWalletFromKeys(path, language, testnet ? TESTNET : MAINNET, restoreHeight, addressString, viewKeyString, spendKeyString); // } +// virtual Wallet * createDeterministicWalletFromSpendKey(const std::string &path, +// const std::string &password, +// const std::string &language, +// NetworkType nettype, +// uint64_t restoreHeight, +// const std::string &spendKeyString, +// uint64_t kdf_rounds = 1) = 0; +extern ADDAPI void* MONERO_WalletManager_createDeterministicWalletFromSpendKey(void* wm_ptr, const char* path, const char* password, + const char* language, int nettype, uint64_t restoreHeight, + const char* spendKeyString, uint64_t kdf_rounds); // virtual Wallet * createWalletFromDevice(const std::string &path, // const std::string &password, // NetworkType nettype, |
