summaryrefslogtreecommitdiff
path: root/wownero_libwallet2_api_c
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 /wownero_libwallet2_api_c
parent90658235f6ff166e8252dbb17e798c73c9d77ac2 (diff)
add missing functionality from for cake's polyseed implementationv0.18.3.3-RC33
Diffstat (limited to 'wownero_libwallet2_api_c')
-rw-r--r--wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp28
-rw-r--r--wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h7
2 files changed, 35 insertions, 0 deletions
diff --git a/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp b/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
index b2c154b..d7357f3 100644
--- a/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
+++ b/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp
@@ -81,6 +81,18 @@ const char* WOWNERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const ch
return vectorToString(txid, std::string(separator));
}
+const char* WOWNERO_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* WOWNERO_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 WOWNERO_UnsignedTransaction_status(void* unsignedTx_ptr) {
@@ -1478,6 +1490,22 @@ void* WOWNERO_WalletManager_createWalletFromKeys(void* wm_ptr, const char* path,
return reinterpret_cast<void*>(wallet);
}
+void* WOWNERO_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* WOWNERO_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/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h b/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
index 44091df..8093c4d 100644
--- a/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
+++ b/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h
@@ -97,6 +97,10 @@ extern ADDAPI const char* WOWNERO_PendingTransaction_multisigSignData(void* pend
extern ADDAPI void WOWNERO_PendingTransaction_signMultisigTx(void* pendingTx_ptr);
// virtual std::vector<std::string> signersKeys() const = 0;
extern ADDAPI const char* WOWNERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const char* separator);
+// virtual std::vector<std::string> hex() const = 0;
+extern ADDAPI const char* WOWNERO_PendingTransaction_hex(void* pendingTx_ptr, const char* separator);
+// virtual std::vector<std::string> txKey() const = 0;
+extern ADDAPI const char* WOWNERO_PendingTransaction_txHex(void* pendingTx_ptr, const char* separator);
// };
// struct UnsignedTransaction
@@ -876,6 +880,9 @@ extern ADDAPI void* WOWNERO_WalletManager_createWalletFromKeys(void* wm_ptr, con
// {
// return createWalletFromKeys(path, language, testnet ? TESTNET : MAINNET, restoreHeight, addressString, viewKeyString, spendKeyString);
// }
+extern ADDAPI void* WOWNERO_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,