From 50aad470672adb57f54c911b170984ab9a5accfa Mon Sep 17 00:00:00 2001 From: Todd Fleming Date: Tue, 20 Nov 2018 12:23:27 -0500 Subject: [PATCH] state history plugin --- .../include/eosio/state_history_plugin/state_history_log.hpp | 3 +++ plugins/state_history_plugin/state_history_plugin.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/state_history_plugin/include/eosio/state_history_plugin/state_history_log.hpp b/plugins/state_history_plugin/include/eosio/state_history_plugin/state_history_log.hpp index 833ab55bf25..5790bdefdfe 100644 --- a/plugins/state_history_plugin/include/eosio/state_history_plugin/state_history_log.hpp +++ b/plugins/state_history_plugin/include/eosio/state_history_plugin/state_history_log.hpp @@ -40,6 +40,9 @@ namespace eosio { * char[] deltas */ +// todo: look into switching this to serialization instead of memcpy +// todo: consider reworking versioning +// todo: consider dropping block_num since it's included in block_id struct state_history_log_header { uint32_t block_num = 0; chain::block_id_type block_id; diff --git a/plugins/state_history_plugin/state_history_plugin.cpp b/plugins/state_history_plugin/state_history_plugin.cpp index ee794a57084..e625af5052a 100644 --- a/plugins/state_history_plugin/state_history_plugin.cpp +++ b/plugins/state_history_plugin/state_history_plugin.cpp @@ -199,7 +199,7 @@ struct state_history_plugin_impl : std::enable_shared_from_thisget_block_id(cp.block_num); if (!id || *id != cp.block_id) - req.start_block_num = cp.block_num; + req.start_block_num = std::min(req.start_block_num, cp.block_num); } req.have_positions.clear(); current_request = req; @@ -508,7 +508,7 @@ void state_history_plugin::set_program_options(options_description& cli, options auto options = cfg.add_options(); options("state-history-dir", bpo::value()->default_value("state-history"), "the location of the state-history directory (absolute path or relative to application data dir)"); - options("delete-state-history", bpo::bool_switch()->default_value(false), "clear state history files"); + cli.add_options()("delete-state-history", bpo::bool_switch()->default_value(false), "clear state history files"); options("trace-history", bpo::bool_switch()->default_value(false), "enable trace history"); options("chain-state-history", bpo::bool_switch()->default_value(false), "enable chain state history"); options("state-history-endpoint", bpo::value()->default_value("0.0.0.0:8080"),