summaryrefslogtreecommitdiff
path: root/monero_libwallet2_api_c/src/main
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2024-04-22 12:49:17 +0200
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2024-04-22 12:49:17 +0200
commit7e49b4ad69e6e66696f5ce38ff4f1bc2ffe169cd (patch)
treebcb77eb6ffc8f7b8cf9f3254a251704a9829ffa6 /monero_libwallet2_api_c/src/main
parent90658235f6ff166e8252dbb17e798c73c9d77ac2 (diff)
add missing functionality from for cake's polyseed implementationv0.18.3.3-RC33
Diffstat (limited to 'monero_libwallet2_api_c/src/main')
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp28
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h14
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,