diff --git a/libraries/chain/deep_mind.cpp b/libraries/chain/deep_mind.cpp index 4a78e8ff18..db20aa2de8 100644 --- a/libraries/chain/deep_mind.cpp +++ b/libraries/chain/deep_mind.cpp @@ -225,6 +225,23 @@ namespace eosio::chain { ("trx", fc::to_hex(gto.packed_trx.data(), gto.packed_trx.size())) ); } + void deep_mind_handler::on_create_deferred(operation_qualifier qual, const generated_transaction_object& gto, const packed_transaction& packed_trx) + { + auto packed_signed_trx = fc::raw::pack(packed_trx.get_signed_transaction()); + + fc_dlog(_logger, "DTRX_OP ${qual}CREATE ${action_id} ${sender} ${sender_id} ${payer} ${published} ${delay} ${expiration} ${trx_id} ${trx}", + ("qual", prefix(qual)) + ("action_id", _action_id) + ("sender", gto.sender) + ("sender_id", gto.sender_id) + ("payer", gto.payer) + ("published", gto.published) + ("delay", gto.delay_until) + ("expiration", gto.expiration) + ("trx_id", gto.trx_id) + ("trx", fc::to_hex(packed_signed_trx.data(), packed_signed_trx.size())) + ); + } void deep_mind_handler::on_fail_deferred() { fc_dlog(_logger, "DTRX_OP FAILED ${action_id}", diff --git a/libraries/chain/include/eosio/chain/deep_mind.hpp b/libraries/chain/include/eosio/chain/deep_mind.hpp index 7fa249fc66..6ea659e5e3 100644 --- a/libraries/chain/include/eosio/chain/deep_mind.hpp +++ b/libraries/chain/include/eosio/chain/deep_mind.hpp @@ -14,6 +14,7 @@ class permission_object; struct block_state; struct protocol_feature; struct signed_transaction; +struct packed_transaction; struct transaction_trace; struct ram_trace; namespace resource_limits { @@ -72,6 +73,7 @@ class deep_mind_handler void on_send_context_free_inline(); void on_cancel_deferred(operation_qualifier qual, const generated_transaction_object& gto); void on_send_deferred(operation_qualifier qual, const generated_transaction_object& gto); + void on_create_deferred(operation_qualifier qual, const generated_transaction_object& gto, const packed_transaction& packed_trx); void on_fail_deferred(); void on_create_table(const table_id_object& tid); void on_remove_table(const table_id_object& tid); diff --git a/libraries/chain/transaction_context.cpp b/libraries/chain/transaction_context.cpp index 7d28412e5c..593984e371 100644 --- a/libraries/chain/transaction_context.cpp +++ b/libraries/chain/transaction_context.cpp @@ -695,7 +695,7 @@ namespace eosio { namespace chain { if (auto dm_logger = control.get_deep_mind_logger()) { std::string event_id = RAM_EVENT_ID("${id}", ("id", gto.id)); - dm_logger->on_send_deferred(deep_mind_handler::operation_qualifier::push, gto); + dm_logger->on_create_deferred(deep_mind_handler::operation_qualifier::push, gto, packed_trx); dm_logger->on_ram_trace(std::move(event_id), "deferred_trx", "push", "deferred_trx_pushed"); } }); diff --git a/libraries/fc b/libraries/fc index 405778bd6a..c1c28ac260 160000 --- a/libraries/fc +++ b/libraries/fc @@ -1 +1 @@ -Subproject commit 405778bd6a10ba4383f7a1fb0b44217064aa6c3f +Subproject commit c1c28ac26082fa287ad8393ec489890bc9784f06