summaryrefslogtreecommitdiff
path: root/monero_libwallet2_api_c
diff options
context:
space:
mode:
Diffstat (limited to 'monero_libwallet2_api_c')
-rw-r--r--monero_libwallet2_api_c/monero_libwallet2_api_c.exp10
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp39
-rw-r--r--monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h6
3 files changed, 53 insertions, 2 deletions
diff --git a/monero_libwallet2_api_c/monero_libwallet2_api_c.exp b/monero_libwallet2_api_c/monero_libwallet2_api_c.exp
index 6e47988..829dd4f 100644
--- a/monero_libwallet2_api_c/monero_libwallet2_api_c.exp
+++ b/monero_libwallet2_api_c/monero_libwallet2_api_c.exp
@@ -278,4 +278,12 @@ _MONERO_cw_WalletListener_height
_MONERO_WalletManager_createDeterministicWalletFromSpendKey
_MONERO_PendingTransaction_txKey
_MONERO_PendingTransaction_hex
-_MONERO_free \ No newline at end of file
+_MONERO_free
+_MONERO_PendingTransaction_commitUR
+_MONERO_UnsignedTransaction_signUR
+_MONERO_Wallet_loadUnsignedTxUR
+_MONERO_Wallet_submitTransactionUR
+_MONERO_Wallet_exportOutputsUR
+_MONERO_Wallet_exportKeyImagesUR
+_MONERO_Wallet_importKeyImagesUR
+_MONERO_Wallet_importOutputsUR \ No newline at end of file
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 3049a1a..0111333 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
@@ -78,6 +78,14 @@ bool MONERO_PendingTransaction_commit(void* pendingTx_ptr, const char* filename,
Monero::PendingTransaction *pendingTx = reinterpret_cast<Monero::PendingTransaction*>(pendingTx_ptr);
return pendingTx->commit(std::string(filename), overwrite);
}
+const char* MONERO_PendingTransaction_commitUR(void* pendingTx_ptr, int max_fragment_length) {
+ Monero::PendingTransaction *pendingTx = reinterpret_cast<Monero::PendingTransaction*>(pendingTx_ptr);
+ std::string str = pendingTx->commitUR(max_fragment_length);
+ const std::string::size_type size = str.size();
+ char *buffer = new char[size + 1]; //we need extra char for NUL
+ memcpy(buffer, str.c_str(), size + 1);
+ return buffer;
+}
uint64_t MONERO_PendingTransaction_amount(void* pendingTx_ptr) {
Monero::PendingTransaction *pendingTx = reinterpret_cast<Monero::PendingTransaction*>(pendingTx_ptr);
return pendingTx->amount();
@@ -193,7 +201,14 @@ bool MONERO_UnsignedTransaction_sign(void* unsignedTx_ptr, const char* signedFil
Monero::UnsignedTransaction *unsignedTx = reinterpret_cast<Monero::UnsignedTransaction*>(unsignedTx_ptr);
return unsignedTx->sign(std::string(signedFileName));
}
-
+const char* MONERO_UnsignedTransaction_signUR(void* unsignedTx_ptr, int max_fragment_length) {
+ Monero::UnsignedTransaction *unsignedTx = reinterpret_cast<Monero::UnsignedTransaction*>(unsignedTx_ptr);
+ std::string str = unsignedTx->signUR(max_fragment_length);
+ const std::string::size_type size = str.size();
+ char *buffer = new char[size + 1]; //we need extra char for NUL
+ memcpy(buffer, str.c_str(), size + 1);
+ return buffer;
+}
// TransactionInfo
int MONERO_TransactionInfo_direction(void* txInfo_ptr) {
Monero::TransactionInfo *txInfo = reinterpret_cast<Monero::TransactionInfo*>(txInfo_ptr);
@@ -1338,10 +1353,19 @@ void* MONERO_Wallet_loadUnsignedTx(void* wallet_ptr, const char* fileName) {
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
return wallet->loadUnsignedTx(std::string(fileName));
}
+
+void* MONERO_Wallet_loadUnsignedTxUR(void* wallet_ptr, const char* input) {
+ Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
+ return wallet->loadUnsignedTxUR(std::string(input));
+}
bool MONERO_Wallet_submitTransaction(void* wallet_ptr, const char* fileName) {
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
return wallet->submitTransaction(std::string(fileName));
}
+bool MONERO_Wallet_submitTransactionUR(void* wallet_ptr, const char* input) {
+ Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
+ return wallet->submitTransactionUR(std::string(input));
+}
bool MONERO_Wallet_hasUnknownKeyImages(void* wallet_ptr) {
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
return wallet->hasUnknownKeyImages();
@@ -1350,10 +1374,23 @@ bool MONERO_Wallet_exportKeyImages(void* wallet_ptr, const char* filename, bool
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
return wallet->exportKeyImages(std::string(filename), all);
}
+
+const char* MONERO_Wallet_exportKeyImagesUR(void* wallet_ptr, size_t max_fragment_length, bool all) {
+ Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
+ std::string str = wallet->exportKeyImagesUR(max_fragment_length, all);
+ const std::string::size_type size = str.size();
+ char *buffer = new char[size + 1]; //we need extra char for NUL
+ memcpy(buffer, str.c_str(), size + 1);
+ return buffer;
+}
bool MONERO_Wallet_importKeyImages(void* wallet_ptr, const char* filename) {
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
return wallet->importKeyImages(std::string(filename));
}
+bool MONERO_Wallet_importKeyImagesUR(void* wallet_ptr, const char* input) {
+ Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
+ return wallet->importKeyImagesUR(std::string(input));
+}
bool MONERO_Wallet_exportOutputs(void* wallet_ptr, const char* filename, bool all) {
Monero::Wallet *wallet = reinterpret_cast<Monero::Wallet*>(wallet_ptr);
return wallet->exportOutputs(std::string(filename), all);
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 d272137..815c13c 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
@@ -77,6 +77,7 @@ extern ADDAPI int MONERO_PendingTransaction_status(void* pendingTx_ptr);
extern ADDAPI const char* MONERO_PendingTransaction_errorString(void* pendingTx_ptr);
// virtual bool commit(const std::string &filename = "", bool overwrite = false) = 0;
extern ADDAPI bool MONERO_PendingTransaction_commit(void* pendingTx_ptr, const char* filename, bool overwrite);
+extern ADDAPI const char* MONERO_PendingTransaction_commitUR(void* pendingTx_ptr, int max_fragment_length);
// virtual uint64_t amount() const = 0;
extern ADDAPI uint64_t MONERO_PendingTransaction_amount(void* pendingTx_ptr);
// virtual uint64_t dust() const = 0;
@@ -136,6 +137,7 @@ extern ADDAPI uint64_t MONERO_UnsignedTransaction_minMixinCount(void* unsignedTx
extern ADDAPI uint64_t MONERO_UnsignedTransaction_txCount(void* unsignedTx_ptr);
// virtual bool sign(const std::string &signedFileName) = 0;
extern ADDAPI bool MONERO_UnsignedTransaction_sign(void* unsignedTx_ptr, const char* signedFileName);
+extern ADDAPI const char* MONERO_UnsignedTransaction_signUR(void* unsignedTx_ptr, int max_fragment_length);
// };
// struct TransactionInfo
// {
@@ -717,8 +719,10 @@ extern ADDAPI void* MONERO_Wallet_createTransaction(void* wallet_ptr, const char
// virtual PendingTransaction * createSweepUnmixableTransaction() = 0;
// virtual UnsignedTransaction * loadUnsignedTx(const std::string &unsigned_filename) = 0;
extern ADDAPI void* MONERO_Wallet_loadUnsignedTx(void* wallet_ptr, const char* unsigned_filename);
+extern ADDAPI void* MONERO_Wallet_loadUnsignedUR(void* wallet_ptr, const char* input);
// virtual bool submitTransaction(const std::string &fileName) = 0;
extern ADDAPI bool MONERO_Wallet_submitTransaction(void* wallet_ptr, const char* fileName);
+extern ADDAPI bool MONERO_Wallet_submitTransactionUR(void* wallet_ptr, const char* input);
// virtual void disposeTransaction(PendingTransaction * t) = 0;
// virtual uint64_t estimateTransactionFee(const std::vector<std::pair<std::string, uint64_t>> &destinations,
// PendingTransaction::Priority priority) const = 0;
@@ -726,8 +730,10 @@ extern ADDAPI bool MONERO_Wallet_submitTransaction(void* wallet_ptr, const char*
extern ADDAPI bool MONERO_Wallet_hasUnknownKeyImages(void* wallet_ptr);
// virtual bool exportKeyImages(const std::string &filename, bool all = false) = 0;
extern ADDAPI bool MONERO_Wallet_exportKeyImages(void* wallet_ptr, const char* filename, bool all);
+extern ADDAPI bool MONERO_Wallet_exportKeyImagesUR(void* wallet_ptr, size_t max_fragment_length, bool all) ;
// virtual bool importKeyImages(const std::string &filename) = 0;
extern ADDAPI bool MONERO_Wallet_importKeyImages(void* wallet_ptr, const char* filename);
+extern ADDAPI bool MONERO_Wallet_importKeyImagesUR(void* wallet_ptr, const char* input);
// virtual bool exportOutputs(const std::string &filename, bool all = false) = 0;
extern ADDAPI bool MONERO_Wallet_exportOutputs(void* wallet_ptr, const char* filename, bool all);
extern ADDAPI const char* MONERO_Wallet_exportOutputsUR(void* wallet_ptr, size_t max_fragment_length, bool all);