diff --git a/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c b/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c index 61d0f90390b568ec90778c59d937b3604bb84b6d..51974801211a61428a4392d0d34c77deb4b995ed 100644 --- a/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c +++ b/modules/json_rpc/common/dap_json_rpc_chain_datum_tx.c @@ -9,6 +9,7 @@ #include "dap_json_rpc_chain_datum_tx_items.h" #include "dap_json_rpc_chain_datum_tx_receipt.h" #include "json.h" +#include "dap_chain_datum_tx_voting.h" #define LOG_TAG "dap_json_rpc_chain_datum_tx" @@ -107,6 +108,14 @@ json_object *dap_chain_datum_tx_to_json(dap_chain_datum_tx_t *a_tx,dap_chain_net l_obj_item_type = json_object_new_string("TX_ITEM_TYPE_TSD"); l_obj_item_data = dap_chain_datum_tx_item_tsd_to_json((dap_chain_tx_tsd_t*)item); break; + case TX_ITEM_TYPE_VOTE: + l_obj_item_type = json_object_new_string("TX_ITEM_TYPE_VOTE"); + l_obj_item_data = dap_chain_datum_tx_item_vote_to_json((dap_chain_tx_vote_t*)item); + break; + case TX_ITEM_TYPE_VOTING: + l_obj_item_type = json_object_new_string("TX_ITEM_TYPE_VOTING"); + l_obj_item_data = dap_chain_datum_tx_item_voting_tsd_to_json(a_tx); + break; default: { char *l_hash_str; dap_get_data_hash_str_static(a_tx, dap_chain_datum_tx_get_size(a_tx), l_hash_str); diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index be2c6285b442ababf14fd8af21bd8751f0cf5d8c..c19bf22feec983f7ce1d665f543efef52996a589 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -110,6 +110,7 @@ #include "dap_json_rpc_errors.h" #include "dap_json_rpc_chain_datum.h" +#include "dap_chain_datum_tx_voting.h" #define LOG_TAG "chain_node_cli_cmd" @@ -3123,6 +3124,8 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a json_object *l_jobj_xchange_list = json_object_new_array(); json_object *l_jobj_stake_pos_delegate_list = json_object_new_array(); json_object *l_jobj_pay_list = json_object_new_array(); + json_object *l_jobj_tx_vote = json_object_new_array(); + json_object *l_jobj_tx_voting = json_object_new_array(); if (!l_jobj_to_list || !l_jobj_change_list || !l_jobj_fee_list || !l_jobj_stake_lock_list || !l_jobj_xchange_list || !l_jobj_stake_pos_delegate_list || !l_jobj_pay_list) { json_object_put(l_jobj_to_list); @@ -3133,6 +3136,8 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a json_object_put(l_jobj_xchange_list); json_object_put(l_jobj_stake_pos_delegate_list); json_object_put(l_jobj_pay_list); + json_object_put(l_jobj_tx_vote); + json_object_put(l_jobj_tx_voting); json_object_put(l_jobj_datum); json_object_put(l_jobj_datums); json_object_put(l_obj_chain); @@ -3195,6 +3200,14 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a } } break; + case TX_ITEM_TYPE_VOTE: { + json_object *l_jobj_vote = dap_chain_datum_tx_item_vote_to_json((dap_chain_tx_vote_t*)it->data); + json_object_array_add(l_jobj_tx_vote, l_jobj_vote); + } break; + case TX_ITEM_TYPE_VOTING: { + json_object *l_jobj_voting = dap_chain_datum_tx_item_voting_tsd_to_json(l_tx); + json_object_array_add(l_jobj_tx_voting, l_jobj_voting); + } break; default: break; } @@ -3339,6 +3352,10 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a json_object_object_add(l_jobj_datum, "srv_stake_pos_delegate", l_jobj_stake_pos_delegate_list) : json_object_put(l_jobj_stake_pos_delegate_list); json_object_array_length(l_jobj_to_from_emi) > 0 ? json_object_object_add(l_jobj_datum, "from_emission", l_jobj_to_from_emi) : json_object_put(l_jobj_to_from_emi); + json_object_array_length(l_jobj_tx_vote) > 0 ? + json_object_object_add(l_jobj_datum, "vote", l_jobj_tx_vote) : json_object_put(l_jobj_tx_vote); + json_object_array_length(l_jobj_tx_voting) > 0 ? + json_object_object_add(l_jobj_datum, "voting", l_jobj_tx_voting) : json_object_put(l_jobj_tx_voting); dap_list_free(l_list_out_items); } break;