diff --git a/src/ripple/app/hook/impl/applyHook.cpp b/src/ripple/app/hook/impl/applyHook.cpp index f8b1ccc8c..810701d9d 100644 --- a/src/ripple/app/hook/impl/applyHook.cpp +++ b/src/ripple/app/hook/impl/applyHook.cpp @@ -1756,10 +1756,6 @@ finalizeHookResult( std::shared_ptr ptr = tpTrans->getSTransaction(); - ripple::Serializer s; - ptr->add(s); - SerialIter sit(s.slice()); - auto emittedId = keylet::emittedTxn(id); auto sleEmitted = applyCtx.view().peek(emittedId); @@ -1767,6 +1763,12 @@ finalizeHookResult( { ++emission_count; sleEmitted = std::make_shared(emittedId); + + // RH TODO: add a new constructor to STObject to avoid this serder thing + ripple::Serializer s; + ptr->add(s); + SerialIter sit(s.slice()); + sleEmitted->emplace_back( ripple::STObject(sit, sfEmittedTxn) );