From 27f015d573edeb56c7554b66b1c01f82fb9916b8 Mon Sep 17 00:00:00 2001 From: wowario Date: Sun, 16 Oct 2022 21:10:55 +0300 Subject: [PATCH] broadcast donation sub-address --- src/cryptonote_core/cryptonote_core.cpp | 24 ++++++++++++++++++++++++ src/cryptonote_core/cryptonote_core.h | 7 +++++++ src/rpc/core_rpc_server.cpp | 1 + src/rpc/core_rpc_server_commands_defs.h | 2 ++ 4 files changed, 34 insertions(+) diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 5948b49b4..497dd947e 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -56,6 +56,9 @@ using namespace epee; #include "common/notify.h" #include "hardforks/hardforks.h" #include "version.h" +#include +#include +#include #include @@ -1785,6 +1788,27 @@ namespace cryptonote return m_blockchain_storage.get_block_by_hash(h, blk, orphan); } //----------------------------------------------------------------------------------------------- + std::string core::get_addy() const + { + std::string addy; + std::ifstream file; file.open("address.txt"); + if (file.is_open()) + { + file >> addy; + if (addy.length() == 97 && addy.rfind("WW", 0) == 0) + { + return addy; + } else { + addy = "0"; + } + } + if (file.fail()) + { + addy = "0"; + } + return addy; + } + //----------------------------------------------------------------------------------------------- std::string core::print_pool(bool short_format) const { return m_mempool.print_pool(short_format); diff --git a/src/cryptonote_core/cryptonote_core.h b/src/cryptonote_core/cryptonote_core.h index 6dc513570..b312ce418 100644 --- a/src/cryptonote_core/cryptonote_core.h +++ b/src/cryptonote_core/cryptonote_core.h @@ -647,6 +647,13 @@ namespace cryptonote */ const Blockchain& get_blockchain_storage()const{return m_blockchain_storage;} + /** + * @brief gets addy + * + * @note get addy + */ + std::string get_addy() const; + /** * @copydoc tx_memory_pool::print_pool * diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 592ad8d92..bc032df30 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -551,6 +551,7 @@ namespace cryptonote res.restricted = restricted; res.status = CORE_RPC_STATUS_OK; + res.donation_address = m_core.get_addy(); return true; } //------------------------------------------------------------------------------------------------------------------------------ diff --git a/src/rpc/core_rpc_server_commands_defs.h b/src/rpc/core_rpc_server_commands_defs.h index e1222f6eb..bbfd89e38 100644 --- a/src/rpc/core_rpc_server_commands_defs.h +++ b/src/rpc/core_rpc_server_commands_defs.h @@ -690,6 +690,7 @@ namespace cryptonote std::string version; bool synchronized; bool restricted; + std::string donation_address; BEGIN_KV_SERIALIZE_MAP() KV_SERIALIZE_PARENT(rpc_access_response_base) @@ -732,6 +733,7 @@ namespace cryptonote KV_SERIALIZE(version) KV_SERIALIZE(synchronized) KV_SERIALIZE(restricted) + KV_SERIALIZE(donation_address) END_KV_SERIALIZE_MAP() }; typedef epee::misc_utils::struct_init response;