From a7d78dda77a5947a01b11e1d6f22ae47d22f63d8 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Fri, 14 Apr 2017 22:09:43 +0100 Subject: [PATCH] wallet2: fix --generate-from-json in RPC mode The daemon address was initialized too late --- src/wallet/wallet2.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 941ee8af..6c017f22 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -213,8 +213,10 @@ boost::optional get_password(const boost::program_opt return tools::wallet2::password_prompt(verify); } -std::unique_ptr generate_from_json(const std::string& json_file, bool testnet, bool restricted) +std::unique_ptr generate_from_json(const std::string& json_file, const boost::program_options::variables_map& vm, const options& opts) { + const bool testnet = command_line::get_arg(vm, opts.testnet); + /* GET_FIELD_FROM_JSON_RETURN_ON_ERROR Is a generic macro that can return false. Gcc will coerce this into unique_ptr(nullptr), but clang correctly fails. This large wrapper is for the use of that macro */ @@ -355,7 +357,7 @@ std::unique_ptr generate_from_json(const std::string& json_file, return false; } - wallet.reset(new tools::wallet2(testnet, restricted)); + wallet.reset(make_basic(vm, opts).release()); wallet->set_refresh_from_block_height(field_scan_from_height); try @@ -467,7 +469,7 @@ boost::optional wallet2::password_prompt(const bool new_pass std::unique_ptr wallet2::make_from_json(const boost::program_options::variables_map& vm, const std::string& json_file) { const options opts{}; - return generate_from_json(json_file, command_line::get_arg(vm, opts.testnet), command_line::get_arg(vm, opts.restricted)); + return generate_from_json(json_file, vm, opts); } std::pair, password_container> wallet2::make_from_file(