diff --git a/dap_chain_net.c b/dap_chain_net.c index 2bafaa11bbc6cdd5751ceb74be2c5ad57f811190..c5b23d2a10da93a920a8a26668ce36d702443ee0 100644 --- a/dap_chain_net.c +++ b/dap_chain_net.c @@ -828,6 +828,30 @@ static int s_cli_net( int argc, char **argv, char **a_str_reply) int arg_index = 1; dap_chain_net_t * l_net = NULL; + // command 'net list' + if(dap_chain_node_cli_find_option_val(argv, arg_index, argc, "list", NULL) == arg_index) { + + dap_string_t *l_string_ret = dap_string_new("list of nets: "); + // show list of nets + dap_chain_net_item_t * l_net_item, *l_net_item_tmp; + int l_net_i = 0; + HASH_ITER(hh, s_net_items, l_net_item, l_net_item_tmp) + { + if(l_net_i > 0) + dap_string_append(l_string_ret, ", "); + dap_string_append_printf(l_string_ret, "%s", l_net_item->name); + l_net_i++; + } + if(!l_net_i) + dap_string_append(l_string_ret, "-\n"); + else + dap_string_append(l_string_ret, "\n"); + + dap_chain_node_cli_set_reply_text(a_str_reply, l_string_ret->str); + dap_string_free(l_string_ret, true); + return 0; + } + int ret = dap_chain_node_cli_cmd_values_parse_net_chain( &arg_index, argc, argv, a_str_reply, NULL, &l_net ); if ( l_net ) {