-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
zano: add keys to open_wallet_response
- Loading branch information
Showing
1 changed file
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
From 8f6c62f969ee38e7db5a0e639cd08216ba79d6d1 Mon Sep 17 00:00:00 2001 | ||
From: Czarek Nakamoto <[email protected]> | ||
Date: Tue, 18 Feb 2025 04:29:30 +0100 | ||
Subject: [PATCH] add keys to open_wallet_response | ||
|
||
--- | ||
src/wallet/view_iface.h | 8 ++++++++ | ||
src/wallet/wallets_manager.cpp | 19 +++++++++++++++++++ | ||
2 files changed, 27 insertions(+) | ||
|
||
diff --git a/src/wallet/view_iface.h b/src/wallet/view_iface.h | ||
index dce4b5ee0..bda58d05f 100644 | ||
--- a/src/wallet/view_iface.h | ||
+++ b/src/wallet/view_iface.h | ||
@@ -452,6 +452,10 @@ public: | ||
transfers_array recent_history; | ||
wallet_info wi; | ||
std::string seed; | ||
+ std::string private_spend_key; | ||
+ std::string private_view_key; | ||
+ std::string public_spend_key; | ||
+ std::string public_view_key; | ||
bool recovered; | ||
uint64_t wallet_local_bc_size; | ||
uint64_t wallet_file_size; | ||
@@ -463,6 +467,10 @@ public: | ||
KV_SERIALIZE(recent_history) | ||
KV_SERIALIZE(wi) | ||
KV_SERIALIZE(seed) | ||
+ KV_SERIALIZE(private_spend_key) | ||
+ KV_SERIALIZE(private_view_key) | ||
+ KV_SERIALIZE(public_spend_key) | ||
+ KV_SERIALIZE(public_view_key) | ||
KV_SERIALIZE(recovered) | ||
KV_SERIALIZE(wallet_local_bc_size) | ||
KV_SERIALIZE(wallet_file_size) | ||
diff --git a/src/wallet/wallets_manager.cpp b/src/wallet/wallets_manager.cpp | ||
index 8859ec8d7..7155771d2 100644 | ||
--- a/src/wallet/wallets_manager.cpp | ||
+++ b/src/wallet/wallets_manager.cpp | ||
@@ -1086,6 +1086,13 @@ std::string wallets_manager::open_wallet(const std::wstring& path, const std::st | ||
|
||
//workaround for missed fee | ||
owr.seed = w->get_account().get_seed_phrase(""); | ||
+ auto& keys = w->get_account().get_keys(); | ||
+ | ||
+ owr.private_view_key = epee::string_tools::pod_to_hex(keys.view_secret_key); | ||
+ owr.public_view_key = epee::string_tools::pod_to_hex(keys.account_address.view_public_key); | ||
+ owr.private_spend_key = epee::string_tools::pod_to_hex(keys.spend_secret_key); | ||
+ owr.public_spend_key = epee::string_tools::pod_to_hex(keys.account_address.spend_public_key); | ||
+ // open_wallet_response | ||
break; | ||
} | ||
catch (const tools::error::file_not_found& /**/) | ||
@@ -1197,6 +1204,12 @@ std::string wallets_manager::generate_wallet(const std::wstring& path, const std | ||
w->generate(path, password, false); | ||
w->set_minimum_height(m_last_daemon_height-1); | ||
owr.seed = w->get_account().get_seed_phrase(""); | ||
+ auto& keys = w->get_account().get_keys(); | ||
+ | ||
+ owr.private_view_key = epee::string_tools::pod_to_hex(keys.view_secret_key); | ||
+ owr.public_view_key = epee::string_tools::pod_to_hex(keys.account_address.view_public_key); | ||
+ owr.private_spend_key = epee::string_tools::pod_to_hex(keys.spend_secret_key); | ||
+ owr.public_spend_key = epee::string_tools::pod_to_hex(keys.account_address.spend_public_key); | ||
} | ||
catch (const tools::error::file_exists&) | ||
{ | ||
@@ -1306,6 +1319,12 @@ std::string wallets_manager::restore_wallet(const std::wstring& path, const std: | ||
bool is_tracking = currency::account_base::is_seed_tracking(seed_phrase); | ||
w->restore(path, password, seed_phrase, is_tracking, seed_password); | ||
owr.seed = w->get_account().get_seed_phrase(""); | ||
+ auto& keys = w->get_account().get_keys(); | ||
+ | ||
+ owr.private_view_key = epee::string_tools::pod_to_hex(keys.view_secret_key); | ||
+ owr.public_view_key = epee::string_tools::pod_to_hex(keys.account_address.view_public_key); | ||
+ owr.private_spend_key = epee::string_tools::pod_to_hex(keys.spend_secret_key); | ||
+ owr.public_spend_key = epee::string_tools::pod_to_hex(keys.account_address.spend_public_key); | ||
} | ||
catch (const tools::error::file_exists&) | ||
{ | ||
-- | ||
2.48.1 | ||
|