aboutsummaryrefslogtreecommitdiff
path: root/src/wallet
diff options
context:
space:
mode:
Diffstat (limited to 'src/wallet')
-rw-r--r--src/wallet/api/wallet.cpp2
-rw-r--r--src/wallet/api/wallet.h2
-rw-r--r--src/wallet/api/wallet_manager.h2
-rw-r--r--src/wallet/wallet_rpc_server.cpp28
-rw-r--r--src/wallet/wallet_rpc_server_commands_defs.h2
5 files changed, 23 insertions, 13 deletions
diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp
index 8b25096a2..5827e4d1a 100644
--- a/src/wallet/api/wallet.cpp
+++ b/src/wallet/api/wallet.cpp
@@ -1385,7 +1385,7 @@ PendingTransaction *WalletImpl::createTransaction(const string &dst_addr, const
for (uint32_t index = 0; index < m_wallet->get_num_subaddresses(subaddr_account); ++index)
subaddr_indices.insert(index);
}
- transaction->m_pending_tx = m_wallet->create_transactions_all(0, info.address, info.is_subaddress, fake_outs_count, 0 /* unlock_time */,
+ transaction->m_pending_tx = m_wallet->create_transactions_all(0, info.address, info.is_subaddress, 1, fake_outs_count, 0 /* unlock_time */,
adjusted_priority,
extra, subaddr_account, subaddr_indices);
}
diff --git a/src/wallet/api/wallet.h b/src/wallet/api/wallet.h
index e3a300317..64350cee7 100644
--- a/src/wallet/api/wallet.h
+++ b/src/wallet/api/wallet.h
@@ -79,7 +79,7 @@ public:
bool recoverFromDevice(const std::string &path,
const std::string &password,
const std::string &device_name);
- Device getDeviceType() const;
+ Device getDeviceType() const override;
bool close(bool store = true);
std::string seed() const override;
std::string getSeedLanguage() const override;
diff --git a/src/wallet/api/wallet_manager.h b/src/wallet/api/wallet_manager.h
index 573e80d1a..b3c0d6c00 100644
--- a/src/wallet/api/wallet_manager.h
+++ b/src/wallet/api/wallet_manager.h
@@ -76,7 +76,7 @@ public:
virtual bool closeWallet(Wallet *wallet, bool store = true) override;
bool walletExists(const std::string &path) override;
bool verifyWalletPassword(const std::string &keys_file_name, const std::string &password, bool no_spend_key, uint64_t kdf_rounds = 1) const override;
- bool queryWalletDevice(Wallet::Device& device_type, const std::string &keys_file_name, const std::string &password, uint64_t kdf_rounds = 1) const;
+ bool queryWalletDevice(Wallet::Device& device_type, const std::string &keys_file_name, const std::string &password, uint64_t kdf_rounds = 1) const override;
std::vector<std::string> findWallets(const std::string &path) override;
std::string errorString() const override;
void setDaemonAddress(const std::string &address) override;
diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp
index 6361a6cfa..e6eb64d12 100644
--- a/src/wallet/wallet_rpc_server.cpp
+++ b/src/wallet/wallet_rpc_server.cpp
@@ -1553,7 +1553,7 @@ namespace tools
rpc_transfers.spent = td.m_spent;
rpc_transfers.global_index = td.m_global_output_index;
rpc_transfers.tx_hash = epee::string_tools::pod_to_hex(td.m_txid);
- rpc_transfers.subaddr_index = td.m_subaddr_index.minor;
+ rpc_transfers.subaddr_index = {td.m_subaddr_index.major, td.m_subaddr_index.minor};
rpc_transfers.key_image = req.verbose && td.m_key_image_known ? epee::string_tools::pod_to_hex(td.m_key_image) : "";
res.transfers.push_back(rpc_transfers);
}
@@ -3294,9 +3294,12 @@ class t_daemon
private:
const boost::program_options::variables_map& vm;
+ std::unique_ptr<tools::wallet_rpc_server> wrpc;
+
public:
t_daemon(boost::program_options::variables_map const & _vm)
: vm(_vm)
+ , wrpc(new tools::wallet_rpc_server)
{
}
@@ -3386,17 +3389,16 @@ public:
return false;
}
just_dir:
- tools::wallet_rpc_server wrpc;
- if (wal) wrpc.set_wallet(wal.release());
- bool r = wrpc.init(&vm);
+ if (wal) wrpc->set_wallet(wal.release());
+ bool r = wrpc->init(&vm);
CHECK_AND_ASSERT_MES(r, false, tools::wallet_rpc_server::tr("Failed to initialize wallet RPC server"));
- tools::signal_handler::install([&wrpc](int) {
- wrpc.send_stop_signal();
+ tools::signal_handler::install([this](int) {
+ wrpc->send_stop_signal();
});
LOG_PRINT_L0(tools::wallet_rpc_server::tr("Starting wallet RPC server"));
try
{
- wrpc.run();
+ wrpc->run();
}
catch (const std::exception &e)
{
@@ -3407,7 +3409,7 @@ public:
try
{
LOG_PRINT_L0(tools::wallet_rpc_server::tr("Saving wallet..."));
- wrpc.stop();
+ wrpc->stop();
LOG_PRINT_L0(tools::wallet_rpc_server::tr("Successfully saved"));
}
catch (const std::exception& e)
@@ -3417,6 +3419,11 @@ public:
}
return true;
}
+
+ void stop()
+ {
+ wrpc->send_stop_signal();
+ }
};
class t_executor final
@@ -3424,7 +3431,9 @@ class t_executor final
public:
static std::string const NAME;
- std::string const & name()
+ typedef ::t_daemon t_daemon;
+
+ std::string const & name() const
{
return NAME;
}
@@ -3467,6 +3476,7 @@ int main(int argc, char** argv) {
command_line::add_arg(desc_params, arg_prompt_for_password);
daemonizer::init_options(hidden_options, desc_params);
+ desc_params.add(hidden_options);
boost::optional<po::variables_map> vm;
bool should_terminate = false;
diff --git a/src/wallet/wallet_rpc_server_commands_defs.h b/src/wallet/wallet_rpc_server_commands_defs.h
index 5d9c22971..2168e0f71 100644
--- a/src/wallet/wallet_rpc_server_commands_defs.h
+++ b/src/wallet/wallet_rpc_server_commands_defs.h
@@ -863,7 +863,7 @@ namespace wallet_rpc
bool spent;
uint64_t global_index;
std::string tx_hash;
- uint32_t subaddr_index;
+ cryptonote::subaddress_index subaddr_index;
std::string key_image;
BEGIN_KV_SERIALIZE_MAP()