diff --git a/modules/common/dap_chain_datum_tx.c b/modules/common/dap_chain_datum_tx.c index b20f02a17ed5652fd71ae93a7f0508f3309277ea..fc0dcd4450dd9e8d2f682694b5e5d110e1d30dd7 100644 --- a/modules/common/dap_chain_datum_tx.c +++ b/modules/common/dap_chain_datum_tx.c @@ -39,10 +39,9 @@ */ dap_chain_datum_tx_t* dap_chain_datum_tx_create(void) { - dap_chain_datum_tx_t *tx = DAP_NEW_Z(dap_chain_datum_tx_t); - return tx - ? tx->header.ts_created = time(NULL), tx - : ( log_it(L_CRITICAL, "%s", c_error_memory_alloc), NULL ); + dap_chain_datum_tx_t *tx = DAP_NEW_Z_RET_VAL_IF_FAIL(dap_chain_datum_tx_t, NULL); + tx->header.ts_created = time(NULL); + return tx; } /** diff --git a/modules/common/dap_chain_datum_tx_items.c b/modules/common/dap_chain_datum_tx_items.c index 114b2dc345c2fbdebe83c641f4d69ff6d7f2c20f..df0278a320d3747629507b1d3c00fd74529b1c1c 100644 --- a/modules/common/dap_chain_datum_tx_items.c +++ b/modules/common/dap_chain_datum_tx_items.c @@ -192,17 +192,10 @@ dap_chain_tx_in_reward_t *dap_chain_datum_tx_item_in_reward_create(dap_chain_has * Create tsd section */ dap_chain_tx_tsd_t *dap_chain_datum_tx_item_tsd_create(void *a_data, int a_type, size_t a_size) { - if (!a_data || !a_size) { - return NULL; - } - dap_tsd_t *l_tsd = dap_tsd_create(a_type, a_data, a_size); - size_t l_tsd_sz = dap_tsd_size(l_tsd); - dap_chain_tx_tsd_t *l_item = DAP_NEW_Z_SIZE(dap_chain_tx_tsd_t, - sizeof(dap_chain_tx_tsd_t) + l_tsd_sz); - memcpy(l_item->tsd, l_tsd, l_tsd_sz); - DAP_DELETE(l_tsd); - l_item->header.type = TX_ITEM_TYPE_TSD; - l_item->header.size = l_tsd_sz; + dap_return_val_if_fail(a_data && a_size, NULL); + dap_chain_tx_tsd_t *l_item = DAP_NEW_SIZE(dap_chain_tx_tsd_t, sizeof(dap_chain_tx_tsd_t) + sizeof(dap_tsd_t) + a_size); + *l_item = (dap_chain_tx_tsd_t){ .header = { .type = TX_ITEM_TYPE_TSD, .size = sizeof(dap_tsd_t) + a_size }}; + dap_tsd_write(l_item->tsd, (uint16_t)a_type, a_data, a_size); return l_item; } diff --git a/modules/service/emit-delegate/dap_chain_net_srv_emit_delegate.c b/modules/service/emit-delegate/dap_chain_net_srv_emit_delegate.c index 72b36c1a9f4b167307c6119440f9b67e18088bd5..56ee6499627333c9b8311f41cb2a8120121c795e 100644 --- a/modules/service/emit-delegate/dap_chain_net_srv_emit_delegate.c +++ b/modules/service/emit-delegate/dap_chain_net_srv_emit_delegate.c @@ -369,13 +369,9 @@ dap_chain_datum_tx_t *dap_chain_net_srv_emit_delegate_taking_tx_create(json_obje DAP_DELETE(l_takeoff_tsd); //add other tsd if available - if (tsd_items) { - dap_list_t *l_tsd, *l_tmp; - DL_FOREACH_SAFE(tsd_items, l_tsd, l_tmp) { - if (dap_chain_datum_tx_add_item(&l_tx, l_tsd->data) != 1){ - m_tx_fail(ERROR_COMPOSE, "Can't add custom TSD section item "); - } - } + for ( dap_list_t *l_tsd = tsd_items; l_tsd; l_tsd = l_tsd->next ) { + if ( dap_chain_datum_tx_add_item(&l_tx, l_tsd->data) != 1 ) + m_tx_fail(ERROR_COMPOSE, "Can't add custom TSD section item "); } // add fee items