Skip to content
This repository has been archived by the owner on Feb 8, 2021. It is now read-only.

Commit

Permalink
Fix hanging when exiting a wallet.
Browse files Browse the repository at this point in the history
The shared libraries are built from the android branch on mikunj/loki repo
  • Loading branch information
Mikunj committed Feb 5, 2020
1 parent 346f58e commit 046aca0
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 19 deletions.
6 changes: 2 additions & 4 deletions app/src/main/cpp/monerujo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -921,10 +921,9 @@ Java_com_m2049r_xmrwallet_model_Wallet_createTransactionJ(JNIEnv *env, jobject i

const char *_dst_addr = env->GetStringUTFChars(dst_addr, NULL);
const char *_payment_id = env->GetStringUTFChars(payment_id, NULL);
Bitmonero::PendingTransaction::Priority _priority =
static_cast<Bitmonero::PendingTransaction::Priority>(priority);
Bitmonero::Wallet *wallet = getHandle<Bitmonero::Wallet>(env, instance);

uint32_t _priority = (uint32_t)priority;
Bitmonero::PendingTransaction *tx = wallet->createTransaction(_dst_addr, _payment_id,
amount, (uint32_t) mixin_count,
_priority,
Expand All @@ -944,8 +943,7 @@ Java_com_m2049r_xmrwallet_model_Wallet_createSweepTransaction(JNIEnv *env, jobje

const char *_dst_addr = env->GetStringUTFChars(dst_addr, NULL);
const char *_payment_id = env->GetStringUTFChars(payment_id, NULL);
Bitmonero::PendingTransaction::Priority _priority =
static_cast<Bitmonero::PendingTransaction::Priority>(priority);
uint32_t _priority = (uint32_t)priority;
Bitmonero::Wallet *wallet = getHandle<Bitmonero::Wallet>(env, instance);

Monero::optional<uint64_t> empty;
Expand Down
23 changes: 8 additions & 15 deletions external-libs/monero/include/wallet2_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -77,14 +77,6 @@ struct PendingTransaction
Status_Critical
};

enum Priority {
Priority_Default = 0,
Priority_Low = 1,
Priority_Medium = 2,
Priority_High = 3,
Priority_Last
};

virtual ~PendingTransaction() = 0;
virtual int status() const = 0;
virtual std::string errorString() const = 0;
Expand Down Expand Up @@ -824,16 +816,18 @@ struct Wallet
* \param mixin_count mixin count. if 0 passed, wallet will use default value
* \param subaddr_account subaddress account from which the input funds are taken
* \param subaddr_indices set of subaddress indices to use for transfer or sweeping. if set empty, all are chosen when sweeping, and one or more are automatically chosen when transferring. after execution, returns the set of actually used indices
* \param priority
* \param priority set a priority for the transaction. Accepted Values are: default (0), or 0-5 for: default, unimportant, normal, elevated, priority, blink.
* \return PendingTransaction object. caller is responsible to check PendingTransaction::status()
* after object returned
*/

virtual PendingTransaction * createTransaction(const std::string &dst_addr, const std::string &payment_id,
optional<uint64_t> amount, uint32_t mixin_count,
PendingTransaction::Priority = PendingTransaction::Priority_Low,
uint32_t subaddr_account = 0,
std::set<uint32_t> subaddr_indices = {}) = 0;
virtual PendingTransaction *createTransaction(const std::string &dst_addr,
const std::string &payment_id,
optional<uint64_t> amount,
uint32_t mixin_count,
uint32_t priority = 0,
uint32_t subaddr_account = 0,
std::set<uint32_t> subaddr_indices = {}) = 0;

/*!
* \brief createSweepUnmixableTransaction creates transaction with unmixable outputs.
Expand Down Expand Up @@ -1257,7 +1251,6 @@ struct WalletManagerBase
static std::tuple<bool, std::string, std::string, std::string, std::string> checkUpdates(const std::string &software, std::string subdir);
};


struct WalletManagerFactory
{
// logging levels for underlying library
Expand Down

0 comments on commit 046aca0

Please sign in to comment.