From 07024880b7700782c87a244a950b22e6712e19ed Mon Sep 17 00:00:00 2001 From: Semen Medvedev Date: Wed, 30 Jan 2019 19:52:32 +0700 Subject: [PATCH] Send action and events in ordered list instead of tree #259 --- plugins/event_engine_plugin/event_engine_plugin.cpp | 11 ++++++----- .../include/eosio/event_engine_plugin/messages.hpp | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/event_engine_plugin/event_engine_plugin.cpp b/plugins/event_engine_plugin/event_engine_plugin.cpp index 471dfe44b8d..54091e84867 100644 --- a/plugins/event_engine_plugin/event_engine_plugin.cpp +++ b/plugins/event_engine_plugin/event_engine_plugin.cpp @@ -205,8 +205,8 @@ void event_engine_plugin_impl::accepted_transaction(const chain::transaction_met void event_engine_plugin_impl::applied_transaction(const chain::transaction_trace_ptr& trx_trace) { ilog("Applied trx: ${block_num}, ${id}", ("block_num", trx_trace->block_num)("id", trx_trace->id)); - std::function &msg, const chain::action_trace&)> process_action_trace = - [&](std::vector &msg, const chain::action_trace& trace) { + std::function process_action_trace = + [&](ApplyTrxMessage &msg, const chain::action_trace& trace) { ActionData actData; actData.receiver = trace.receipt.receiver; actData.code = trace.act.account; @@ -228,16 +228,17 @@ void event_engine_plugin_impl::applied_transaction(const chain::transaction_trac } actData.events.push_back(evData); } + msg.actions.push_back(std::move(actData)); ilog(" action: ${contract}:${action} ${events}", ("contract", trace.act.account)("action", trace.act.name)("events", events)); + for(auto &inline_trace: trace.inline_traces) { - process_action_trace(actData.inlines, inline_trace); + process_action_trace(msg, inline_trace); } - msg.push_back(std::move(actData)); }; ApplyTrxMessage msg(BaseMessage::ApplyTrx, trx_trace); for(auto &trace: trx_trace->action_traces) { - process_action_trace(msg.actions, trace); + process_action_trace(msg, trace); } send_message(msg); } diff --git a/plugins/event_engine_plugin/include/eosio/event_engine_plugin/messages.hpp b/plugins/event_engine_plugin/include/eosio/event_engine_plugin/messages.hpp index 38132c434b6..7bff24331f1 100644 --- a/plugins/event_engine_plugin/include/eosio/event_engine_plugin/messages.hpp +++ b/plugins/event_engine_plugin/include/eosio/event_engine_plugin/messages.hpp @@ -21,7 +21,6 @@ namespace eosio { fc::variant args; chain::bytes data; std::vector events; - std::vector inlines; }; struct TrxMetadata { @@ -110,7 +109,7 @@ namespace eosio { } // namespace eosio FC_REFLECT(eosio::EventData, (code)(event)(data)(args)) -FC_REFLECT(eosio::ActionData, (receiver)(code)(action)(data)(args)(events)(inlines)) +FC_REFLECT(eosio::ActionData, (receiver)(code)(action)(data)(args)(events)) FC_REFLECT(eosio::TrxMetadata, (id)(accepted)(implicit)(scheduled)) FC_REFLECT_ENUM(eosio::BaseMessage::MsgType, (Unknown)(AcceptBlock)(CommitBlock)(AcceptTrx)(ApplyTrx))