From 10a79eae240753e4e63b9b5ac1b55bbc06da45d3 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sat, 22 Oct 2016 20:47:31 +0100 Subject: [PATCH] daemon: report transaction relay status in print_pool* commands --- src/cryptonote_core/tx_pool.cpp | 2 ++ src/daemon/rpc_command_executor.cpp | 2 ++ src/rpc/core_rpc_server_commands_defs.h | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index 644ad472..dba05a53 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -425,6 +425,8 @@ namespace cryptonote txi.last_failed_height = txd.last_failed_height; txi.last_failed_id_hash = epee::string_tools::pod_to_hex(txd.last_failed_id); txi.receive_time = txd.receive_time; + txi.relayed = txd.relayed; + txi.last_relayed_time = txd.last_relayed_time; tx_infos.push_back(txi); } diff --git a/src/daemon/rpc_command_executor.cpp b/src/daemon/rpc_command_executor.cpp index bed10715..c239e2bd 100644 --- a/src/daemon/rpc_command_executor.cpp +++ b/src/daemon/rpc_command_executor.cpp @@ -734,6 +734,7 @@ bool t_rpc_command_executor::print_transaction_pool_long() { << "blob_size: " << tx_info.blob_size << std::endl << "fee: " << cryptonote::print_money(tx_info.fee) << std::endl << "receive_time: " << tx_info.receive_time << " (" << get_human_time_ago(tx_info.receive_time, now) << ")" << std::endl + << "relayed: " << [&](const cryptonote::tx_info &tx_info)->std::string { if (!tx_info.relayed) return "no"; return boost::lexical_cast(tx_info.last_relayed_time) + " (" + get_human_time_ago(tx_info.last_relayed_time, now) + ")"; } (tx_info) << std::endl << "kept_by_block: " << (tx_info.kept_by_block ? 'T' : 'F') << std::endl << "max_used_block_height: " << tx_info.max_used_block_height << std::endl << "max_used_block_id: " << tx_info.max_used_block_id_hash << std::endl @@ -813,6 +814,7 @@ bool t_rpc_command_executor::print_transaction_pool_short() { << "blob_size: " << tx_info.blob_size << std::endl << "fee: " << cryptonote::print_money(tx_info.fee) << std::endl << "receive_time: " << tx_info.receive_time << " (" << get_human_time_ago(tx_info.receive_time, now) << ")" << std::endl + << "relayed: " << [&](const cryptonote::tx_info &tx_info)->std::string { if (!tx_info.relayed) return "no"; return boost::lexical_cast(tx_info.last_relayed_time) + " (" + get_human_time_ago(tx_info.last_relayed_time, now) + ")"; } (tx_info) << std::endl << "kept_by_block: " << (tx_info.kept_by_block ? 'T' : 'F') << std::endl << "max_used_block_height: " << tx_info.max_used_block_height << std::endl << "max_used_block_id: " << tx_info.max_used_block_id_hash << std::endl diff --git a/src/rpc/core_rpc_server_commands_defs.h b/src/rpc/core_rpc_server_commands_defs.h index 135cf1fe..cb58d0d0 100644 --- a/src/rpc/core_rpc_server_commands_defs.h +++ b/src/rpc/core_rpc_server_commands_defs.h @@ -855,6 +855,8 @@ namespace cryptonote uint64_t last_failed_height; std::string last_failed_id_hash; uint64_t receive_time; + bool relayed; + uint64_t last_relayed_time; BEGIN_KV_SERIALIZE_MAP() KV_SERIALIZE(id_hash) @@ -867,6 +869,8 @@ namespace cryptonote KV_SERIALIZE(last_failed_height) KV_SERIALIZE(last_failed_id_hash) KV_SERIALIZE(receive_time) + KV_SERIALIZE(relayed) + KV_SERIALIZE(last_failed_id_hash) END_KV_SERIALIZE_MAP() };