From a03a23aec19625c954d3dddcc262131bce888e27 Mon Sep 17 00:00:00 2001
From: "daniil.frolov" <daniil.frolov@demlabs.net>
Date: Mon, 27 Jan 2025 07:00:18 +0000
Subject: [PATCH] Hotfix 15232

---
 modules/mempool/dap_chain_mempool.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c
index 53e3c90f6c..840450708c 100644
--- a/modules/mempool/dap_chain_mempool.c
+++ b/modules/mempool/dap_chain_mempool.c
@@ -884,13 +884,9 @@ char* dap_chain_mempool_tx_create_cond_input(dap_chain_net_t *a_net, dap_chain_h
     uint256_t l_new_val = {};
     uint256_t l_value_cond = l_out_cond->header.value;
     SUBTRACT_256_256(l_value_cond, l_value_send, &l_new_val);
-    if (!!IS_ZERO_256(l_new_val)){
-        dap_chain_tx_out_cond_t *l_new_out_cond = DAP_NEW_Z_SIZE(dap_chain_tx_out_cond_t, sizeof(dap_chain_tx_out_cond_t) + l_out_cond->tsd_size);
-        l_new_out_cond->header = l_out_cond->header;
+    if (!IS_ZERO_256(l_new_val)){
+        dap_chain_tx_out_cond_t *l_new_out_cond = DAP_DUP_SIZE(l_out_cond, sizeof(dap_chain_tx_out_cond_t) + l_out_cond->tsd_size);
         l_new_out_cond->header.value = l_new_val;
-        l_new_out_cond->subtype.srv_pay = l_out_cond->subtype.srv_pay;
-        l_new_out_cond->tsd_size = l_out_cond->tsd_size;
-        memcpy(l_new_out_cond->tsd, l_out_cond->tsd, l_out_cond->tsd_size);
         dap_chain_datum_tx_add_item(&l_tx, (const uint8_t *)l_new_out_cond);
         DAP_DELETE(l_new_out_cond);
     }
-- 
GitLab