From a26412055e16b04e8088f55e5ef3bbc6a69dab80 Mon Sep 17 00:00:00 2001 From: Richard Holland Date: Mon, 20 Feb 2023 11:36:22 +0000 Subject: [PATCH] fix for #25 --- src/ripple/app/hook/impl/applyHook.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/ripple/app/hook/impl/applyHook.cpp b/src/ripple/app/hook/impl/applyHook.cpp index 73947ce80..274c7473b 100644 --- a/src/ripple/app/hook/impl/applyHook.cpp +++ b/src/ripple/app/hook/impl/applyHook.cpp @@ -3246,8 +3246,6 @@ DEFINE_HOOK_FUNCTION( return EMISSION_FAILURE; } - hookCtx.result.emittedTxn.push(tpTrans); - auto const& txID = tpTrans->getID(); @@ -3257,11 +3255,22 @@ DEFINE_HOOK_FUNCTION( if (NOT_IN_BOUNDS(write_ptr, txID.size(), memory_length)) return OUT_OF_BOUNDS; - WRITE_WASM_MEMORY_AND_RETURN( - write_ptr, txID.size(), - txID.data(), txID.size(), - memory, memory_length); + + auto const write_txid = [&]() -> int64_t + { + WRITE_WASM_MEMORY_AND_RETURN( + write_ptr, txID.size(), + txID.data(), txID.size(), + memory, memory_length); + }; + + int64_t result = write_txid(); + + if (result == 32) + hookCtx.result.emittedTxn.push(tpTrans); + + return result; HOOK_TEARDOWN(); }