From 8cd587ec545efd67756d81defb16f83f3adea70b Mon Sep 17 00:00:00 2001 From: Some Random Crypto Guy Date: Thu, 30 Jan 2025 13:56:17 +0000 Subject: [PATCH] added building of (private) audit tool; improved help text for AUDIT command in CLI --- .gitignore | 3 ++ src/blockchain_utilities/CMakeLists.txt | 38 +++++++++++++++++++++++++ src/simplewallet/simplewallet.cpp | 6 ++-- 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 9f62575..05946ca 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,9 @@ contrib/gitian/builder/ contrib/gitian/docker/ contrib/gitian/sigs/ +# Audit tool +src/blockchain_utilities/blockchain_audit.cpp + # Created by https://www.gitignore.io ### C++ ### diff --git a/src/blockchain_utilities/CMakeLists.txt b/src/blockchain_utilities/CMakeLists.txt index 6fefd9a..c09de09 100644 --- a/src/blockchain_utilities/CMakeLists.txt +++ b/src/blockchain_utilities/CMakeLists.txt @@ -142,6 +142,18 @@ set(blockchain_scanner_private_headers) monero_private_headers(blockchain_scanner ${blockchain_scanner_private_headers}) +if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/blockchain_audit.cpp" AND NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/blockchain_audit.cpp") + set(blockchain_audit_sources + blockchain_audit.cpp + ) + + set(blockchain_audit_private_headers) + + monero_private_headers(blockchain_audit + ${blockchain_audit_private_headers}) +else() + message(FATAL_ERROR "blockchain_audit.cpp not found - not building the audit tool") +endif() monero_add_executable(blockchain_import ${blockchain_import_sources} @@ -312,6 +324,32 @@ set_property(TARGET blockchain_scanner OUTPUT_NAME "salvium-blockchain-scanner") install(TARGETS blockchain_scanner DESTINATION bin) +if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/blockchain_audit.cpp" AND NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/blockchain_audit.cpp") + monero_add_executable(blockchain_audit + ${blockchain_audit_sources} + ${blockchain_audit_private_headers}) + + target_link_libraries(blockchain_audit + PRIVATE + wallet + crypto + cncrypto + cryptonote_core + blockchain_db + version + epee + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SYSTEM_LIBRARY} + ${Boost_THREAD_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBRARIES}) + + set_property(TARGET blockchain_audit + PROPERTY + OUTPUT_NAME "salvium-blockchain-audit") + install(TARGETS blockchain_audit DESTINATION bin) +endif() + monero_add_executable(blockchain_stats ${blockchain_stats_sources} ${blockchain_stats_private_headers}) diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 17e4f62..56cb394 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -214,7 +214,7 @@ namespace const char* USAGE_BURN("burn "); const char* USAGE_CONVERT("convert []"); const char* USAGE_STAKE("stake "); - const char* USAGE_AUDIT("audit [index=N]"); + const char* USAGE_AUDIT("audit [index=[,,...] | index=all]"); const char* USAGE_PRICE_INFO("price_info"); const char* USAGE_SUPPLY_INFO("supply_info"); const char* USAGE_YIELD_INFO("yield_info"); @@ -3221,7 +3221,7 @@ bool simple_wallet::help(const std::vector &args/* = std::vector \" - destroy coins forever."); message_writer() << tr("\"convert []\" - convert between coin types."); message_writer() << tr("\"stake \" - stake SAL for 30 days to earn yield."); - message_writer() << tr("\"audit\" - audit your wallet main address (or subaddress if specified)."); + message_writer() << tr("\"audit\" - audit your wallet main address (or subaddress(es) if specified)."); message_writer() << tr("\"price_info\" - Display current pricing information for supported assets."); message_writer() << tr("\"supply_info\" - Display circulating supply information."); message_writer() << tr("\"yield_info\" - Display current stats on Salvium staking / yield."); @@ -3418,7 +3418,7 @@ simple_wallet::simple_wallet() m_cmd_binder.set_handler("audit", boost::bind(&simple_wallet::audit, this, _1), tr(USAGE_AUDIT), - tr("Sends your wallet balance for a single address (or subaddress) to audit (only available during AUDIT hard forks)")); + tr("Sends your wallet balance (or a single address or subaddress(es)) to audit (only available during AUDIT hard forks)")); m_cmd_binder.set_handler("price_info", boost::bind(&simple_wallet::price_info, this, _1), tr(USAGE_PRICE_INFO),