From a3b7c3a60eb9d67243036a13e77c37fa33f55c9b Mon Sep 17 00:00:00 2001 From: Matt Witherspoon <32485495+spoonincode@users.noreply.github.com> Date: Mon, 11 Jul 2022 20:00:28 -0400 Subject: [PATCH 1/3] bump fc submod for fc::read_file_contents() error check --- libraries/fc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/fc b/libraries/fc index 26cffa0ae4..825e1c61f1 160000 --- a/libraries/fc +++ b/libraries/fc @@ -1 +1 @@ -Subproject commit 26cffa0ae4118bd6cd01458d1d98efa702ed92b1 +Subproject commit 825e1c61f1551450b770e1a063efff35ce15ad53 From 556499543ac1dc2df381e691e80b574a350fbb7e Mon Sep 17 00:00:00 2001 From: Matt Witherspoon <32485495+spoonincode@users.noreply.github.com> Date: Tue, 12 Jul 2022 00:00:07 -0400 Subject: [PATCH 2/3] bump fc submod to 3.1.x w/ fc::read_file_contents() error check --- libraries/fc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/fc b/libraries/fc index 825e1c61f1..968cafe237 160000 --- a/libraries/fc +++ b/libraries/fc @@ -1 +1 @@ -Subproject commit 825e1c61f1551450b770e1a063efff35ce15ad53 +Subproject commit 968cafe237ae1c6b266ab38f1056ce732a59f47f From e726b77e65d33ac586ccb6c1ca62a21d872d4c8d Mon Sep 17 00:00:00 2001 From: Peter Oschwald Date: Tue, 12 Jul 2022 13:58:56 -0500 Subject: [PATCH 3/3] GH-651 Use signed trasaction for PUSH_CREATE action deep-mind logging. --- libraries/chain/deep_mind.cpp | 17 +++++++++++++++++ .../chain/include/eosio/chain/deep_mind.hpp | 2 ++ libraries/chain/transaction_context.cpp | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) 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 8e357777cf..af17e74c13 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"); } });