From 6756908d9feedc5852c60f7509c8515359c0eb2e Mon Sep 17 00:00:00 2001 From: "pavel.uhanov" <pavel.uhanov@demlabs.net> Date: Thu, 20 Mar 2025 08:09:33 +0300 Subject: [PATCH] [*] use dap_chain_node_cli_cmd_id_from_str --- .../consensus/dag-poa/dap_chain_cs_dag_poa.c | 2 +- .../consensus/esbocs/dap_chain_cs_esbocs.c | 2 +- modules/net/dap_chain_net.c | 2 +- modules/net/dap_chain_node_cli.c | 66 +++++++++---------- modules/net/dap_chain_node_cli_cmd.c | 52 +++++++++++++++ modules/net/dap_chain_node_rpc.c | 41 +++++++----- modules/net/include/dap_chain_node_cli.h | 49 -------------- modules/net/include/dap_chain_node_cli_cmd.h | 53 +++++++++++++++ modules/net/srv/dap_chain_net_srv.c | 2 +- .../service/datum/dap_chain_net_srv_datum.c | 2 +- .../dap_chain_net_srv_emit_delegate.c | 2 +- .../stake/dap_chain_net_srv_stake_lock.c | 3 +- .../dap_chain_net_srv_stake_pos_delegate.c | 3 +- .../service/voting/dap_chain_net_srv_voting.c | 3 +- modules/service/vpn/dap_chain_net_srv_vpn.c | 2 +- .../service/vpn/dap_chain_net_vpn_client.c | 2 +- .../xchange/dap_chain_net_srv_xchange.c | 3 +- modules/type/blocks/dap_chain_cs_blocks.c | 2 +- modules/type/dag/dap_chain_cs_dag.c | 2 +- 19 files changed, 180 insertions(+), 113 deletions(-) diff --git a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c index 1bfef5ffba..27519efd9b 100644 --- a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c +++ b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c @@ -109,7 +109,7 @@ int dap_chain_cs_dag_poa_init() // Add consensus constructor dap_chain_cs_add("dag_poa", s_callback_new); s_seed_mode = dap_config_get_item_bool_default(g_config,"general","seed_mode",false); - dap_cli_server_cmd_add ("dag_poa", s_cli_dag_poa, "DAG PoA commands", + dap_cli_server_cmd_add ("dag_poa", s_cli_dag_poa, "DAG PoA commands", dap_chain_node_cli_cmd_id_from_str("dag_poa"), "dag_poa event sign -net <net_name> [-chain <chain_name>] -event <event_hash> [-H {hex | base58(default)}]\n" "\tSign event <event hash> in the new round pool with its authorize certificate\n\n"); s_debug_more = dap_config_get_item_bool_default(g_config, "dag", "debug_more", s_debug_more); diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c index 29c1c01001..16d57a8bb0 100644 --- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c +++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c @@ -195,7 +195,7 @@ int dap_chain_cs_esbocs_init() NULL, s_stream_ch_packet_in, NULL); - dap_cli_server_cmd_add (DAP_CHAIN_ESBOCS_CS_TYPE_STR, s_cli_esbocs, "ESBOCS commands", + dap_cli_server_cmd_add (DAP_CHAIN_ESBOCS_CS_TYPE_STR, s_cli_esbocs, "ESBOCS commands", dap_chain_node_cli_cmd_id_from_str(DAP_CHAIN_ESBOCS_CS_TYPE_STR), "esbocs min_validators_count set -net <net_name> [-chain <chain_name>] -cert <poa_cert_name> -val_count <value>\n" "\tSets minimum validators count for ESBOCS consensus\n" "esbocs min_validators_count show -net <net_name> [-chain <chain_name>]\n" diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index a1950dc342..ae4ba5370a 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -253,7 +253,7 @@ int dap_chain_net_init() dap_http_ban_list_client_init(); dap_link_manager_init(&s_link_manager_callbacks); dap_chain_node_init(); - dap_cli_server_cmd_add ("net", s_cli_net, "Network commands", + dap_cli_server_cmd_add ("net", s_cli_net, "Network commands", dap_chain_node_cli_cmd_id_from_str("net"), "net list [chains -net <net_name>]\n" "\tList all networks or list all chains in selected network\n" "net -net <net_name> [-mode {update | all}] go {online | offline | sync}\n" diff --git a/modules/net/dap_chain_node_cli.c b/modules/net/dap_chain_node_cli.c index a5f19a24bf..dc230b60bf 100644 --- a/modules/net/dap_chain_node_cli.c +++ b/modules/net/dap_chain_node_cli.c @@ -69,7 +69,7 @@ int dap_chain_node_cli_init(dap_config_t * g_config) dap_chain_node_rpc_init(g_config); } - dap_cli_server_cmd_add("global_db", com_global_db, "Work with global database", + dap_cli_server_cmd_add("global_db", com_global_db, "Work with global database", dap_chain_node_cli_cmd_id_from_str("global_db"), "global_db flush\n" "\tFlushes the current state of the database to disk.\n\n" "global_db write -group <group_name> -key <key_name> -value <value>\n" @@ -87,11 +87,11 @@ int dap_chain_node_cli_init(dap_config_t * g_config) // "global_db wallet_info set -addr <wallet address> -cell <cell id> \n\n" ); - dap_cli_server_cmd_add("mempool", com_signer, "Sign operations", + dap_cli_server_cmd_add("mempool", com_signer, "Sign operations", dap_chain_node_cli_cmd_id_from_str("mempool"), "mempool sign -cert <priv_cert_name> -net <net_name> -chain <chain_name> -file <filename> [-mime {<SIGNER_FILENAME,SIGNER_FILENAME_SHORT,SIGNER_FILESIZE,SIGNER_DATE,SIGNER_MIME_MAGIC> | <SIGNER_ALL_FLAGS>}]\n" "mempool check -cert <priv_cert_name> -net <net_name> {-file <filename> | -hash <hash>} [-mime {<SIGNER_FILENAME,SIGNER_FILENAME_SHORT,SIGNER_FILESIZE,SIGNER_DATE,SIGNER_MIME_MAGIC> | <SIGNER_ALL_FLAGS>}]\n" ); - dap_cli_server_cmd_add("node", com_node, "Work with node", + dap_cli_server_cmd_add("node", com_node, "Work with node", dap_chain_node_cli_cmd_id_from_str("node"), "node add -net <net_name> [-port <port>]\n\n" "node del -net <net_name> {-addr <node_address> | -alias <node_alias>}\n\n" "node link {add | del} -net <net_name> {-addr <node_address> | -alias <node_alias>} -link <node_address>\n\n" @@ -106,20 +106,20 @@ int dap_chain_node_cli_init(dap_config_t * g_config) "node unban -net <net_name> -certs <certs_name> [-addr <node_address> | -host <ip_v4_or_v6_address>]\n" "node banlist\n\n"); - dap_cli_server_cmd_add ("version", com_version, "Return software version", + dap_cli_server_cmd_add ("version", com_version, "Return software version", dap_chain_node_cli_cmd_id_from_str("version"), "version\n" "\tReturn version number\n" ); - dap_cli_server_cmd_add ("help", com_help, "Description of command parameters", + dap_cli_server_cmd_add ("help", com_help, "Description of command parameters", dap_chain_node_cli_cmd_id_from_str("help"), "help [<command>]\n" "\tObtain help for <command> or get the total list of the commands\n" ); - dap_cli_server_cmd_add ("?", com_help, "Synonym for \"help\"", + dap_cli_server_cmd_add ("?", com_help, "Synonym for \"help\"", dap_chain_node_cli_cmd_id_from_str("help"), "? [<command>]\n" "\tObtain help for <command> or get the total list of the commands\n" ); - dap_cli_server_cmd_add ("token_update", com_token_update, "Token update", + dap_cli_server_cmd_add ("token_update", com_token_update, "Token update", dap_chain_node_cli_cmd_id_from_str("token_update"), "\nPrivate or CF20 token update\n" "token_update -net <net_name> [-chain <chain_name>] -token <existing_token_ticker> -type <CF20|private> [-total_supply_change <value>] " "-certs <name_certs> [-flag_set <flag>] [-flag_unset <flag>] [-total_signs_valid <value>] [-description <value>] " @@ -158,7 +158,7 @@ int dap_chain_node_cli_init(dap_config_t * g_config) "\t -tx_sender_blocked <wallet_addr>:\t Adds specified wallet address to the list of blocked senders.\n" "\n" ); - dap_cli_server_cmd_add ("wallet", com_tx_wallet, "Wallet operations", + dap_cli_server_cmd_add ("wallet", com_tx_wallet, "Wallet operations", dap_chain_node_cli_cmd_id_from_str("wallet"), "wallet list\n" "wallet new -w <wallet_name> [-sign <sign_type>] [-restore <hex_value> | -restore_legacy <restore_string>] [-net <net_name>] [-force] [-password <password>]\n" "wallet info {-addr <addr> | -w <wallet_name>} -net <net_name>\n" @@ -173,7 +173,7 @@ int dap_chain_node_cli_init(dap_config_t * g_config) // Token commands - dap_cli_server_cmd_add ("token_decl", com_token_decl, "Token declaration", + dap_cli_server_cmd_add ("token_decl", com_token_decl, "Token declaration", dap_chain_node_cli_cmd_id_from_str("token_decl"), "Simple token declaration:\n" "token_decl -net <net_name> [-chain <chain_name>] -token <token_ticker> -total_supply <total_supply> -signs_total <sign_total> -signs_emission <signs_for_emission> -certs <certs_list>\n" "\t Declare new simple token for <net_name>:<chain_name> with ticker <token_ticker>, maximum emission <total_supply> and <signs_for_emission> from <signs_total> signatures on valid emission\n" @@ -221,22 +221,22 @@ int dap_chain_node_cli_init(dap_config_t * g_config) "\n" ); - dap_cli_server_cmd_add("token_update_sign", com_token_decl_sign, "Token update add sign to datum", + dap_cli_server_cmd_add("token_update_sign", com_token_decl_sign, "Token update add sign to datum", dap_chain_node_cli_cmd_id_from_str("token_update_sign"), "token_update_sign -net <net_name> [-chain <chain_name>] -datum <datum_hash> -certs <cert_list>\n" "\t Sign existent <datum hash> in mempool with <certs_list>\n" ); // Token commands - dap_cli_server_cmd_add ("token_decl_sign", com_token_decl_sign, "Token declaration add sign", + dap_cli_server_cmd_add ("token_decl_sign", com_token_decl_sign, "Token declaration add sign", dap_chain_node_cli_cmd_id_from_str("token_decl_sign"), "token_decl_sign -net <net_name> [-chain <chain_name>] -datum <datum_hash> -certs <certs_list>\n" "\t Sign existent <datum_hash> in mempool with <certs_list>\n" ); - dap_cli_server_cmd_add ("token_emit", com_token_emit, "Token emission", + dap_cli_server_cmd_add ("token_emit", com_token_emit, "Token emission", dap_chain_node_cli_cmd_id_from_str("token_emit"), "token_emit { sign -emission <hash> | -token <mempool_token_ticker> -emission_value <value> -addr <addr> } " "[-chain_emission <chain_name>] -net <net_name> -certs <cert_list>\n"); - dap_cli_cmd_t *l_cmd_mempool = dap_cli_server_cmd_add("mempool", com_mempool, "Command for working with mempool", + dap_cli_cmd_t *l_cmd_mempool = dap_cli_server_cmd_add("mempool", com_mempool, "Command for working with mempool", dap_chain_node_cli_cmd_id_from_str("mempool"), "mempool list -net <net_name> [-chain <chain_name>] [-addr <addr>] [-brief] [-limit] [-offset]\n" "\tList mempool (entries or transaction) for (selected chain network or wallet)\n" "mempool check -net <net_name> [-chain <chain_name>] -datum <datum_hash>\n" @@ -263,68 +263,68 @@ int dap_chain_node_cli_init(dap_config_t * g_config) dap_cli_server_alias_add(l_cmd_mempool, "add_ca", "chain_ca_copy"); dap_cli_server_cmd_add ("chain_ca_pub", com_chain_ca_pub, - "Add pubic certificate into the mempool to prepare its way to chains", + "Add pubic certificate into the mempool to prepare its way to chains", dap_chain_node_cli_cmd_id_from_str("chain_ca_pub"), "chain_ca_pub -net <net_name> [-chain <chain_name>] -ca_name <priv_cert_name>\n"); // Transaction commands - dap_cli_server_cmd_add ("tx_create", com_tx_create, "Make transaction", + dap_cli_server_cmd_add ("tx_create", com_tx_create, "Make transaction", dap_chain_node_cli_cmd_id_from_str("tx_create"), "tx_create -net <net_name> [-chain <chain_name>] -value <value> -token <token_ticker> -to_addr <addr>" "{-from_wallet <wallet_name> | -from_emission <emission_hash> {-cert <cert_name> | -wallet_fee <wallet_name>}} -fee <value>\n"); - dap_cli_server_cmd_add ("tx_create_json", com_tx_create_json, "Make transaction", + dap_cli_server_cmd_add ("tx_create_json", com_tx_create_json, "Make transaction", dap_chain_node_cli_cmd_id_from_str("tx_create_json"), "tx_create_json -net <net_name> [-chain <chain_name>] -json <json_file_path>\n" ); - dap_cli_server_cmd_add ("tx_cond_create", com_tx_cond_create, "Make cond transaction", + dap_cli_server_cmd_add ("tx_cond_create", com_tx_cond_create, "Make cond transaction", dap_chain_node_cli_cmd_id_from_str("tx_cond_create"), "tx_cond_create -net <net_name> -token <token_ticker> -w <wallet_name>" " -cert <pub_cert_name> -value <value_datoshi> -fee <value> -unit {B | SEC} -srv_uid <numeric_uid>\n" ); - dap_cli_server_cmd_add ("tx_cond_remove", com_tx_cond_remove, "Remove cond transactions and return funds from condition outputs to wallet", + dap_cli_server_cmd_add ("tx_cond_remove", com_tx_cond_remove, "Remove cond transactions and return funds from condition outputs to wallet", dap_chain_node_cli_cmd_id_from_str("tx_cond_remove"), "tx_cond_remove -net <net_name> -hashes <hash1,hash2...> -w <wallet_name>" " -fee <value> -srv_uid <numeric_uid>\n" ); - dap_cli_server_cmd_add ("tx_cond_unspent_find", com_tx_cond_unspent_find, "Find cond transactions by wallet", + dap_cli_server_cmd_add ("tx_cond_unspent_find", com_tx_cond_unspent_find, "Find cond transactions by wallet", dap_chain_node_cli_cmd_id_from_str("tx_cond_unspent_find"), "tx_cond_unspent_find -net <net_name> -srv_uid <numeric_uid> -w <wallet_name> \n" ); - dap_cli_server_cmd_add ("tx_verify", com_tx_verify, "Verifing transaction in mempool", + dap_cli_server_cmd_add ("tx_verify", com_tx_verify, "Verifing transaction in mempool", dap_chain_node_cli_cmd_id_from_str("tx_verify"), "tx_verify -net <net_name> [-chain <chain_name>] -tx <tx_hash>\n" ); // Transaction history - dap_cli_server_cmd_add("tx_history", com_tx_history, "Transaction history (for address or by hash)", + dap_cli_server_cmd_add("tx_history", com_tx_history, "Transaction history (for address or by hash)", dap_chain_node_cli_cmd_id_from_str("tx_history"), "tx_history {-addr <addr> | {-w <wallet_name> | -tx <tx_hash>} -net <net_name>} [-chain <chain_name>] [-limit] [-offset] [-head]\n" "tx_history -all -net <net_name> [-chain <chain_name>] [-limit] [-offset] [-head]\n" "tx_history -count -net <net_name>\n"); // Ledger info - dap_cli_server_cmd_add("ledger", com_ledger, "Ledger information", + dap_cli_server_cmd_add("ledger", com_ledger, "Ledger information", dap_chain_node_cli_cmd_id_from_str("ledger"), "ledger list coins -net <net_name> [-limit] [-offset]\n" "ledger list threshold [-hash <tx_treshold_hash>] -net <net_name> [-limit] [-offset] [-head]\n" "ledger list balance -net <net_name> [-limit] [-offset] [-head]\n" "ledger info -hash <tx_hash> -net <net_name> [-unspent]\n"); // Token info - dap_cli_server_cmd_add("token", com_token, "Token info", + dap_cli_server_cmd_add("token", com_token, "Token info", dap_chain_node_cli_cmd_id_from_str("token"), "token list -net <net_name>\n" "token info -net <net_name> -name <token_ticker>\n"); // Log - dap_cli_server_cmd_add ("print_log", com_print_log, "Print log info", + dap_cli_server_cmd_add ("print_log", com_print_log, "Print log info", dap_chain_node_cli_cmd_id_from_str("print_log"), "print_log [ts_after <timestamp>] [limit <line_numbers>]\n" ); // Statisticss - dap_cli_server_cmd_add("stats", com_stats, "Print statistics", + dap_cli_server_cmd_add("stats", com_stats, "Print statistics", dap_chain_node_cli_cmd_id_from_str("stats"), "stats cpu"); // Export GDB to JSON - dap_cli_server_cmd_add("gdb_export", cmd_gdb_export, "Export gdb to JSON", + dap_cli_server_cmd_add("gdb_export", cmd_gdb_export, "Export gdb to JSON", dap_chain_node_cli_cmd_id_from_str("gdb_export"), "gdb_export filename <filename without extension> [-groups <group names list>]"); //Import GDB from JSON - dap_cli_server_cmd_add("gdb_import", cmd_gdb_import, "Import gdb from JSON", + dap_cli_server_cmd_add("gdb_import", cmd_gdb_import, "Import gdb from JSON", dap_chain_node_cli_cmd_id_from_str("gdb_import"), "gdb_import filename <filename_without_extension>"); - dap_cli_server_cmd_add ("remove", cmd_remove, "Delete chain files or global database", + dap_cli_server_cmd_add ("remove", cmd_remove, "Delete chain files or global database", dap_chain_node_cli_cmd_id_from_str("remove"), "remove -gdb\n" "remove -chains [-net <net_name> | -all]\n" "Be careful, the '-all' option for '-chains' will delete all chains and won't ask you for permission!"); // Decree create command - dap_cli_server_cmd_add ("decree", cmd_decree, "Work with decree", + dap_cli_server_cmd_add ("decree", cmd_decree, "Work with decree", dap_chain_node_cli_cmd_id_from_str("decree"), "decree create common -net <net_name> [-chain <chain_name>] -decree_chain <chain_name> -certs <certs_list> {-fee <net_fee_value> -to_addr <net_fee_wallet_addr> | -new_certs <new_owners_certs_list> | -signs_verify <value>}\n" "Creates common network decree in net <net_name>. Decree adds to chain -chain and applies to chain -decree_chain. If -chain and -decree_chain is different you must create anchor in -decree_chain that is connected to this decree." "\nCommon decree parameters:\n" @@ -343,11 +343,11 @@ int dap_chain_node_cli_init(dap_config_t * g_config) "decree info -net <net_name>\n" "Displays information about the parameters of the decrees in the network.\n"); - dap_cli_server_cmd_add ("exec_cmd", com_exec_cmd, "Execute command on remote node", + dap_cli_server_cmd_add ("exec_cmd", com_exec_cmd, "Execute command on remote node", dap_chain_node_cli_cmd_id_from_str("exec_cmd"), "exec_cmd -net <net_name> -addr <node_addr> -cmd <command,and,all,args,separated,by,commas>\n" ); //Find command - dap_cli_server_cmd_add("find", cmd_find, "The command searches for the specified elements by the specified attributes", + dap_cli_server_cmd_add("find", cmd_find, "The command searches for the specified elements by the specified attributes", dap_chain_node_cli_cmd_id_from_str("find"), "find datum -net <net_name> [-chain <chain_name>] -hash <datum_hash>\n" "\tSearches for datum by hash in the specified network in chains and mempool.\n" "find atom -net <net_name> [-chain <chain_name>] -hash <atom_hash>\n" @@ -358,7 +358,7 @@ int dap_chain_node_cli_init(dap_config_t * g_config) "min_validators_count, ban, unban, reward, validator_max_weight, emergency_validators, check_signs_structure\n"); - dap_cli_server_cmd_add ("policy", com_policy, "Policy commands", + dap_cli_server_cmd_add ("policy", com_policy, "Policy commands", dap_chain_node_cli_cmd_id_from_str("policy"), "policy activate - prepare policy activate decree\n" "\t[execute] - used to create policy decree, otherwise show policy decree draft\n" "\t-net <net_name>\n" @@ -378,7 +378,7 @@ int dap_chain_node_cli_init(dap_config_t * g_config) "policy list - show all policies from table in net\n" "\t-net <net_name>\n"); // Exit - always last! - dap_cli_server_cmd_add ("exit", com_exit, "Stop application and exit", + dap_cli_server_cmd_add ("exit", com_exit, "Stop application and exit", dap_chain_node_cli_cmd_id_from_str("exit"), "exit\n" ); dap_notify_srv_set_callback_new(dap_notify_new_client_send_info); return 0; diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 3300918974..830a736bf1 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -8538,3 +8538,55 @@ int com_policy(int argc, char **argv, void **reply) { return 0; } + +dap_chain_node_cli_cmd_t dap_chain_node_cli_cmd_id_from_str(const char *a_cmd_str) +{ + if(!a_cmd_str) return DAP_CHAIN_NODE_CLI_CMD_ID_UNKNOWN; + if (!strcmp(a_cmd_str, "tx_history")) return DAP_CHAIN_NODE_CLI_CMD_ID_TX_HISTORY; + if (!strcmp(a_cmd_str, "wallet")) return DAP_CHAIN_NODE_CLI_CMD_ID_WALLET; + if (!strcmp(a_cmd_str, "mempool")) return DAP_CHAIN_NODE_CLI_CMD_ID_MEMPOOL; + if (!strcmp(a_cmd_str, "ledger")) return DAP_CHAIN_NODE_CLI_CMD_ID_LEDGER; + if (!strcmp(a_cmd_str, "tx_create")) return DAP_CHAIN_NODE_CLI_CMD_ID_TX_CREATE; + if (!strcmp(a_cmd_str, "tx_create_json")) return DAP_CHAIN_NODE_CLI_CMD_ID_TX_CREATE_JSON; + if (!strcmp(a_cmd_str, "tx_verify")) return DAP_CHAIN_NODE_CLI_CMD_ID_TX_VERIFY; + if (!strcmp(a_cmd_str, "tx_cond_create")) return DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_CREATE; + if (!strcmp(a_cmd_str, "tx_cond_remove")) return DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_REMOVE; + if (!strcmp(a_cmd_str, "tx_cond_unspent_find")) return DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_UNSPENT_FIND; + if (!strcmp(a_cmd_str, "chain_ca_copy")) return DAP_CHAIN_NODE_CLI_CMD_ID_CHAIN_CA_COPY; + if (!strcmp(a_cmd_str, "dag")) return DAP_CHAIN_NODE_CLI_CMD_ID_DAG; + if (!strcmp(a_cmd_str, "dag_poa")) return DAP_CHAIN_NODE_CLI_CMD_ID_DAG_POA; + if (!strcmp(a_cmd_str, "block")) return DAP_CHAIN_NODE_CLI_CMD_ID_BLOCK; + if (!strcmp(a_cmd_str, "token")) return DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN; + if (!strcmp(a_cmd_str, "esbocs")) return DAP_CHAIN_NODE_CLI_CMD_ID_ESBOCS; + if (!strcmp(a_cmd_str, "net_srv")) return DAP_CHAIN_NODE_CLI_CMD_ID_NET_SRV; + if (!strcmp(a_cmd_str, "net")) return DAP_CHAIN_NODE_CLI_CMD_ID_NET; + if (!strcmp(a_cmd_str, "srv_stake")) return DAP_CHAIN_NODE_CLI_CMD_ID_SRV_STAKE; + if (!strcmp(a_cmd_str, "srv_datum")) return DAP_CHAIN_NODE_CLI_CMD_ID_SRV_DATUM; + if (!strcmp(a_cmd_str, "poll")) return DAP_CHAIN_NODE_CLI_CMD_ID_POLL; + if (!strcmp(a_cmd_str, "srv_xchange")) return DAP_CHAIN_NODE_CLI_CMD_ID_SRV_XCHANGE; + if (!strcmp(a_cmd_str, "emit_delegate")) return DAP_CHAIN_NODE_CLI_CMD_ID_EMIT_DELEGATE; + if (!strcmp(a_cmd_str, "token_decl")) return DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_DECL; + if (!strcmp(a_cmd_str, "token_update")) return DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_UPDATE; + if (!strcmp(a_cmd_str, "token_update_sign")) return DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_UPDATE_SIGN; + if (!strcmp(a_cmd_str, "token_decl_sign")) return DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_DECL_SIGN; + if (!strcmp(a_cmd_str, "chain_ca_pub")) return DAP_CHAIN_NODE_CLI_CMD_ID_CHAIN_CA_PUB; + if (!strcmp(a_cmd_str, "token_emit")) return DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_EMIT; + if (!strcmp(a_cmd_str, "find")) return DAP_CHAIN_NODE_CLI_CMD_ID_FIND; + if (!strcmp(a_cmd_str, "version")) return DAP_CHAIN_NODE_CLI_CMD_ID_VERSION; + if (!strcmp(a_cmd_str, "remove")) return DAP_CHAIN_NODE_CLI_CMD_ID_REMOVE; + if (!strcmp(a_cmd_str, "global_db")) return DAP_CHAIN_NODE_CLI_CMD_ID_GLOBAL_DB; + if (!strcmp(a_cmd_str, "gdb_import")) return DAP_CHAIN_NODE_CLI_CMD_ID_GDB_IMPORT; + if (!strcmp(a_cmd_str, "gdb_export")) return DAP_CHAIN_NODE_CLI_CMD_ID_GDB_EXPORT; + if (!strcmp(a_cmd_str, "stats")) return DAP_CHAIN_NODE_CLI_CMD_ID_STATS; + if (!strcmp(a_cmd_str, "print_log")) return DAP_CHAIN_NODE_CLI_CMD_ID_PRINT_LOG; + if (!strcmp(a_cmd_str, "stake_lock")) return DAP_CHAIN_NODE_CLI_CMD_ID_STAKE_LOCK; + if (!strcmp(a_cmd_str, "exec_cmd")) return DAP_CHAIN_NODE_CLI_CMD_ID_EXEC_CMD; + if (!strcmp(a_cmd_str, "policy")) return DAP_CHAIN_NODE_CLI_CMD_ID_POLICY; + if (!strcmp(a_cmd_str, "decree")) return DAP_CHAIN_NODE_CLI_CMD_ID_DECREE; + if (!strcmp(a_cmd_str, "node")) return DAP_CHAIN_NODE_CLI_CMD_ID_NODE; + if (!strcmp(a_cmd_str, "vpn_stat")) return DAP_CHAIN_NODE_CLI_CMD_ID_VPN_STAT; + if (!strcmp(a_cmd_str, "vpn_client")) return DAP_CHAIN_NODE_CLI_CMD_ID_VPN_CLIENT; + if (!strcmp(a_cmd_str, "help")) return DAP_CHAIN_NODE_CLI_CMD_ID_HELP; + if (!strcmp(a_cmd_str, "exit")) return DAP_CHAIN_NODE_CLI_CMD_ID_EXIT; + return DAP_CHAIN_NODE_CLI_CMD_ID_UNKNOWN; +} diff --git a/modules/net/dap_chain_node_rpc.c b/modules/net/dap_chain_node_rpc.c index 1bfc174a6c..0fec020f5a 100644 --- a/modules/net/dap_chain_node_rpc.c +++ b/modules/net/dap_chain_node_rpc.c @@ -30,6 +30,7 @@ typedef enum { RPC_ROLE_INVALID = 0, + RPC_ROLE_USER, RPC_ROLE_BALANCER, RPC_ROLE_SERVER, RPC_ROLE_ROOT @@ -44,6 +45,7 @@ static dap_global_db_cluster_t *s_rpc_node_list_cluster = NULL; DAP_STATIC_INLINE s_get_role_from_str(const char *a_str) { if (!a_str) return RPC_ROLE_INVALID; + if (!strcmp(a_str, "user")) return RPC_ROLE_USER; if (!strcmp(a_str, "balancer")) return RPC_ROLE_BALANCER; if (!strcmp(a_str, "server")) return RPC_ROLE_SERVER; if (!strcmp(a_str, "root")) return RPC_ROLE_SERVER; @@ -82,23 +84,6 @@ void dap_chain_node_rpc_init(dap_config_t *a_cfg) { rpc_role_t l_role = s_get_role_from_str(dap_config_get_item_str(a_cfg, "rpc", "role")); - if (l_role == RPC_ROLE_SERVER || l_role == RPC_ROLE_BALANCER) { - if (!(s_rpc_server_states_cluster = dap_global_db_cluster_add( - dap_global_db_instance_get_default(), DAP_STREAM_CLUSTER_GLOBAL, - *(dap_guuid_t *)&uint128_0, s_rpc_server_states_group, - 0, - true, DAP_GDB_MEMBER_ROLE_USER, DAP_CLUSTER_TYPE_EMBEDDED))) - { - log_it(L_ERROR, "Can't create rpc server states cluster"); - return; - } - if (l_role == RPC_ROLE_SERVER) { - if (dap_proc_thread_timer_add(NULL, s_update_node_rpc_states_info, NULL, s_timer_update_states_info)) - log_it(L_ERROR, "Can't activate timer on node states update"); - else - dap_cli_server_statistic_callback_add(s_collect_state_info); - } - } if (l_role != RPC_ROLE_INVALID) { if (!(s_rpc_node_list_cluster = dap_global_db_cluster_add( dap_global_db_instance_get_default(), DAP_STREAM_CLUSTER_GLOBAL, @@ -115,7 +100,29 @@ void dap_chain_node_rpc_init(dap_config_t *a_cfg) for (uint16_t i = 0; i < l_authorized_nodes_count; ++i) dap_global_db_cluster_member_add(s_rpc_node_list_cluster, l_authorized_nodes + i, DAP_GDB_MEMBER_ROLE_ROOT); DAP_DELETE(l_authorized_nodes); + } else { + log_it(L_ERROR, "Can't recognized rpc role, please check config"); + return; + } + if (l_role == RPC_ROLE_SERVER || l_role == RPC_ROLE_BALANCER || l_role == RPC_ROLE_USER) { + if (!(s_rpc_server_states_cluster = dap_global_db_cluster_add( + dap_global_db_instance_get_default(), DAP_STREAM_CLUSTER_GLOBAL, + *(dap_guuid_t *)&uint128_0, s_rpc_server_states_group, + 0, + true, DAP_GDB_MEMBER_ROLE_USER, DAP_CLUSTER_TYPE_EMBEDDED))) + { + log_it(L_ERROR, "Can't create rpc server states cluster"); + return; + } + if (l_role == RPC_ROLE_SERVER) { + if (dap_proc_thread_timer_add(NULL, s_update_node_rpc_states_info, NULL, s_timer_update_states_info)) + log_it(L_ERROR, "Can't activate timer on node states update"); + else + dap_cli_server_statistic_callback_add(s_collect_state_info); + } } + if (l_role == RPC_ROLE_ROOT && !dap_chain_node_rpc_is_my_node_authorized()) + log_it(L_WARNING, "Your addres not finded in authorized rpc node list"); } /** diff --git a/modules/net/include/dap_chain_node_cli.h b/modules/net/include/dap_chain_node_cli.h index 133530c0aa..1a13538cb5 100644 --- a/modules/net/include/dap_chain_node_cli.h +++ b/modules/net/include/dap_chain_node_cli.h @@ -36,55 +36,6 @@ extern "C" { #endif -typedef enum dap_chain_node_cli_cmd { - DAP_CHAIN_NODE_CLI_CMD_ID_EXIT, - DAP_CHAIN_NODE_CLI_CMD_ID_TX_HISTORY, - DAP_CHAIN_NODE_CLI_CMD_ID_WALLET, - DAP_CHAIN_NODE_CLI_CMD_ID_MEMPOOL, - DAP_CHAIN_NODE_CLI_CMD_ID_LEDGER, - DAP_CHAIN_NODE_CLI_CMD_ID_TX_CREATE, - DAP_CHAIN_NODE_CLI_CMD_ID_TX_CREATE_JSON, - DAP_CHAIN_NODE_CLI_CMD_ID_TX_VERIFY, - DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_CREATE, - DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_REMOVE, - DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_UNSPENT_FIND, - DAP_CHAIN_NODE_CLI_CMD_ID_CHAIN_CA_COPY, - DAP_CHAIN_NODE_CLI_CMD_ID_DAG, - DAP_CHAIN_NODE_CLI_CMD_ID_DAG_POA, - DAP_CHAIN_NODE_CLI_CMD_ID_BLOCK, - DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN, - DAP_CHAIN_NODE_CLI_CMD_ID_ESBOCS, - DAP_CHAIN_NODE_CLI_CMD_ID_GLOBAL_DB, - DAP_CHAIN_NODE_CLI_CMD_ID_NET_SRV, - DAP_CHAIN_NODE_CLI_CMD_ID_NET, - DAP_CHAIN_NODE_CLI_CMD_ID_SRV_STAKE, - DAP_CHAIN_NODE_CLI_CMD_ID_SRV_DATUM, - DAP_CHAIN_NODE_CLI_CMD_ID_POLL, - DAP_CHAIN_NODE_CLI_CMD_ID_SRV_XCHANGE, - DAP_CHAIN_NODE_CLI_CMD_ID_EMIT_DELEGATE, - DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_DECL, - DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_UPDATE, - DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_UPDATE_SIGN, - DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_DECL_SIGN, - DAP_CHAIN_NODE_CLI_CMD_ID_CHAIN_CA_PUB, - DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_EMIT, - DAP_CHAIN_NODE_CLI_CMD_ID_FIND, - DAP_CHAIN_NODE_CLI_CMD_ID_VERSION, - DAP_CHAIN_NODE_CLI_CMD_ID_REMOVE, - DAP_CHAIN_NODE_CLI_CMD_ID_GDB_IMPORT, - DAP_CHAIN_NODE_CLI_CMD_ID_GDB_EXPORT, - DAP_CHAIN_NODE_CLI_CMD_ID_STATS, - DAP_CHAIN_NODE_CLI_CMD_ID_PRINT_LOG, - DAP_CHAIN_NODE_CLI_CMD_ID_STAKE_LOCK, - DAP_CHAIN_NODE_CLI_CMD_ID_EXEC_CMD, - DAP_CHAIN_NODE_CLI_CMD_ID_POLICY, - DAP_CHAIN_NODE_CLI_CMD_ID_DECREE, - DAP_CHAIN_NODE_CLI_CMD_ID_NODE, - DAP_CHAIN_NODE_CLI_CMD_ID_VPN_STAT, - DAP_CHAIN_NODE_CLI_CMD_ID_VPN_CLIENT, - DAP_CHAIN_NODE_CLI_CMD_ID_HELP, - DAP_CHAIN_NODE_CLI_CMD_ID_TOTAL -} dap_chain_node_cli_cmd_t; /** * Initialization of the server side of the interaction diff --git a/modules/net/include/dap_chain_node_cli_cmd.h b/modules/net/include/dap_chain_node_cli_cmd.h index fba416a4c8..c7e6124436 100644 --- a/modules/net/include/dap_chain_node_cli_cmd.h +++ b/modules/net/include/dap_chain_node_cli_cmd.h @@ -417,6 +417,59 @@ typedef enum s_com_print_log_err{ DAP_CHAIN_NODE_CLI_COM_PRINT_LOG_NO_LOGS }s_com_print_log_err_t; +typedef enum dap_chain_node_cli_cmd { + DAP_CHAIN_NODE_CLI_CMD_ID_UNKNOWN, + DAP_CHAIN_NODE_CLI_CMD_ID_TX_HISTORY, + DAP_CHAIN_NODE_CLI_CMD_ID_WALLET, + DAP_CHAIN_NODE_CLI_CMD_ID_MEMPOOL, + DAP_CHAIN_NODE_CLI_CMD_ID_LEDGER, + DAP_CHAIN_NODE_CLI_CMD_ID_TX_CREATE, + DAP_CHAIN_NODE_CLI_CMD_ID_TX_CREATE_JSON, + DAP_CHAIN_NODE_CLI_CMD_ID_TX_VERIFY, + DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_CREATE, + DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_REMOVE, + DAP_CHAIN_NODE_CLI_CMD_ID_TX_COND_UNSPENT_FIND, + DAP_CHAIN_NODE_CLI_CMD_ID_CHAIN_CA_COPY, + DAP_CHAIN_NODE_CLI_CMD_ID_DAG, + DAP_CHAIN_NODE_CLI_CMD_ID_DAG_POA, + DAP_CHAIN_NODE_CLI_CMD_ID_BLOCK, + DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN, + DAP_CHAIN_NODE_CLI_CMD_ID_ESBOCS, + DAP_CHAIN_NODE_CLI_CMD_ID_GLOBAL_DB, + DAP_CHAIN_NODE_CLI_CMD_ID_NET_SRV, + DAP_CHAIN_NODE_CLI_CMD_ID_NET, + DAP_CHAIN_NODE_CLI_CMD_ID_SRV_STAKE, + DAP_CHAIN_NODE_CLI_CMD_ID_SRV_DATUM, + DAP_CHAIN_NODE_CLI_CMD_ID_POLL, + DAP_CHAIN_NODE_CLI_CMD_ID_SRV_XCHANGE, + DAP_CHAIN_NODE_CLI_CMD_ID_EMIT_DELEGATE, + DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_DECL, + DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_UPDATE, + DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_UPDATE_SIGN, + DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_DECL_SIGN, + DAP_CHAIN_NODE_CLI_CMD_ID_CHAIN_CA_PUB, + DAP_CHAIN_NODE_CLI_CMD_ID_TOKEN_EMIT, + DAP_CHAIN_NODE_CLI_CMD_ID_FIND, + DAP_CHAIN_NODE_CLI_CMD_ID_VERSION, + DAP_CHAIN_NODE_CLI_CMD_ID_REMOVE, + DAP_CHAIN_NODE_CLI_CMD_ID_GDB_IMPORT, + DAP_CHAIN_NODE_CLI_CMD_ID_GDB_EXPORT, + DAP_CHAIN_NODE_CLI_CMD_ID_STATS, + DAP_CHAIN_NODE_CLI_CMD_ID_PRINT_LOG, + DAP_CHAIN_NODE_CLI_CMD_ID_STAKE_LOCK, + DAP_CHAIN_NODE_CLI_CMD_ID_EXEC_CMD, + DAP_CHAIN_NODE_CLI_CMD_ID_POLICY, + DAP_CHAIN_NODE_CLI_CMD_ID_DECREE, + DAP_CHAIN_NODE_CLI_CMD_ID_NODE, + DAP_CHAIN_NODE_CLI_CMD_ID_VPN_STAT, + DAP_CHAIN_NODE_CLI_CMD_ID_VPN_CLIENT, + DAP_CHAIN_NODE_CLI_CMD_ID_HELP, + DAP_CHAIN_NODE_CLI_CMD_ID_EXIT, + DAP_CHAIN_NODE_CLI_CMD_ID_TOTAL +} dap_chain_node_cli_cmd_t; + +dap_chain_node_cli_cmd_t dap_chain_node_cli_cmd_id_from_str(const char *a_cmd_str); + int com_tx_cond_remove(int a_argc, char **a_argv, void **reply); int com_tx_cond_unspent_find(int a_argc, char **a_argv, void **reply); diff --git a/modules/net/srv/dap_chain_net_srv.c b/modules/net/srv/dap_chain_net_srv.c index f0a757bc49..58e78521ba 100644 --- a/modules/net/srv/dap_chain_net_srv.c +++ b/modules/net/srv/dap_chain_net_srv.c @@ -92,7 +92,7 @@ int dap_chain_net_srv_init() dap_ledger_verificator_add(DAP_CHAIN_TX_OUT_COND_SUBTYPE_SRV_PAY, s_pay_verificator_callback, NULL, NULL); dap_ledger_verificator_add(DAP_CHAIN_TX_OUT_COND_SUBTYPE_FEE, s_fee_verificator_callback, NULL, NULL); - dap_cli_server_cmd_add ("net_srv", s_cli_net_srv, "Network services managment", + dap_cli_server_cmd_add ("net_srv", s_cli_net_srv, "Network services managment", dap_chain_node_cli_cmd_id_from_str("net_srv"), "net_srv -net <net_name> order find [-direction {sell|buy}] [-srv_uid <service_UID>] [-price_unit <price_unit>]" " [-price_token <token_ticker>] [-price_min <price_minimum>] [-price_max <price_maximum>]\n" "\tOrders list, all or by UID and/or class\n" diff --git a/modules/service/datum/dap_chain_net_srv_datum.c b/modules/service/datum/dap_chain_net_srv_datum.c index 64e1dafd6c..ac77777177 100644 --- a/modules/service/datum/dap_chain_net_srv_datum.c +++ b/modules/service/datum/dap_chain_net_srv_datum.c @@ -46,7 +46,7 @@ static bool s_tag_check_datum(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx int dap_chain_net_srv_datum_init() { - dap_cli_server_cmd_add("srv_datum", s_srv_datum_cli, "Service Datum commands", + dap_cli_server_cmd_add("srv_datum", s_srv_datum_cli, "Service Datum commands", dap_chain_node_cli_cmd_id_from_str("srv_datum"), "srv_datum -net <net_name> -chain <chain_name> datum save -datum <datum_hash>\n" "\tSaving datum from mempool to file.\n\n" "srv_datum -net <net_name> -chain <chain_name> datum load -datum <datum_hash>\n" 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 4a16024466..a46c564b0b 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 @@ -1138,7 +1138,7 @@ static int s_cli_emit_delegate(int a_argc, char **a_argv, void **a_str_reply) int dap_chain_net_srv_emit_delegate_init() { dap_ledger_verificator_add(DAP_CHAIN_TX_OUT_COND_SUBTYPE_SRV_EMIT_DELEGATE, s_emit_delegate_verificator, NULL, NULL); - dap_cli_server_cmd_add("emit_delegate", s_cli_emit_delegate, "Emitting delegation service commands", + dap_cli_server_cmd_add("emit_delegate", s_cli_emit_delegate, "Emitting delegation service commands", dap_chain_node_cli_cmd_id_from_str("emit_delegate"), "emit_delegate hold - to create new delegation\n" "\t-net <net_name>\n" "\t-w <wallet_name> - wallet to writeoff value, pay fee and sign tx\n" diff --git a/modules/service/stake/dap_chain_net_srv_stake_lock.c b/modules/service/stake/dap_chain_net_srv_stake_lock.c index e3b3ccc2fc..7878c23e6c 100644 --- a/modules/service/stake/dap_chain_net_srv_stake_lock.c +++ b/modules/service/stake/dap_chain_net_srv_stake_lock.c @@ -33,6 +33,7 @@ #include "dap_chain_mempool.h" #include "dap_chain_net_srv.h" #include "dap_cli_server.h" +#include "dap_chain_node_cli.h" static bool s_debug_more = false; @@ -251,7 +252,7 @@ static bool s_tag_check_staking(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_ int dap_chain_net_srv_stake_lock_init() { dap_ledger_verificator_add(DAP_CHAIN_TX_OUT_COND_SUBTYPE_SRV_STAKE_LOCK, s_stake_lock_callback_verificator, s_stake_lock_callback_updater, NULL); - dap_cli_server_cmd_add("stake_lock", s_cli_stake_lock, "Stake lock service commands", + dap_cli_server_cmd_add("stake_lock", s_cli_stake_lock, "Stake lock service commands", dap_chain_node_cli_cmd_id_from_str("stake_lock"), "stake_lock hold -net <net_name> -w <wallet_name> -time_staking <YYMMDD> -token <ticker> -value <value> -fee <value>" "[-chain <chain_name>] [-reinvest <percentage>]\n" "stake_lock take -net <net_name> -w <wallet_name> -tx <transaction_hash> -fee <value>" diff --git a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c index 73fe463d10..977ba8118a 100644 --- a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c +++ b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c @@ -43,6 +43,7 @@ #include "dap_json_rpc_errors.h" #include "dap_cli_server.h" #include "dap_chain_net_srv_order.h" +#include "dap_chain_node_cli.h" #define LOG_TAG "dap_chain_net_srv_stake_pos_delegate" @@ -142,7 +143,7 @@ static bool s_tag_check_key_delegation(dap_ledger_t *a_ledger, dap_chain_datum_t int dap_chain_net_srv_stake_pos_delegate_init() { dap_ledger_verificator_add(DAP_CHAIN_TX_OUT_COND_SUBTYPE_SRV_STAKE_POS_DELEGATE, s_stake_verificator_callback, s_stake_updater_callback, s_stake_deleted_callback); - dap_cli_server_cmd_add("srv_stake", s_cli_srv_stake, "Delegated stake service commands", + dap_cli_server_cmd_add("srv_stake", s_cli_srv_stake, "Delegated stake service commands", dap_chain_node_cli_cmd_id_from_str("srv_stake"), "\t\t=== Commands for work with orders ===\n" "srv_stake order create [fee] -net <net_name> -value <value> -cert <priv_cert_name> [-H {hex(default) | base58}]\n" "\tCreates an order declaring the minimum fee that the validator agrees to for process a transaction.\n" diff --git a/modules/service/voting/dap_chain_net_srv_voting.c b/modules/service/voting/dap_chain_net_srv_voting.c index fb8f37c799..e5e7cd185f 100644 --- a/modules/service/voting/dap_chain_net_srv_voting.c +++ b/modules/service/voting/dap_chain_net_srv_voting.c @@ -38,6 +38,7 @@ #include "utlist.h" #include "dap_cli_server.h" #include "dap_chain_wallet_cache.h" +#include "dap_chain_node_cli.h" #define LOG_TAG "chain_net_voting" @@ -117,7 +118,7 @@ int dap_chain_net_srv_voting_init() pthread_rwlock_init(&s_votings_rwlock, NULL); dap_chain_ledger_voting_verificator_add(s_datum_tx_voting_verification_callback, s_datum_tx_voting_verification_delete_callback); dap_cli_cmd_t *l_poll_cmd = dap_cli_server_cmd_add( - "poll", s_cli_voting, "Voting/poll commands", + "poll", s_cli_voting, "Voting/poll commands", dap_chain_node_cli_cmd_id_from_str("poll"), "poll create -net <net_name> -question <\"Question_string\"> -options <\"Option0\", \"Option1\" ... \"OptionN\"> [-expire <poll_expire_time_in_RCF822>]" " [-max_votes_count <Votes_count>] [-delegated_key_required] [-vote_changing_allowed] -fee <value_datoshi> -w <fee_wallet_name> [-token <ticker>]\n" "poll vote -net <net_name> -hash <poll_hash> -option_idx <option_index> [-cert <delegate_cert_name>] -fee <value_datoshi> -w <fee_wallet_name>\n" diff --git a/modules/service/vpn/dap_chain_net_srv_vpn.c b/modules/service/vpn/dap_chain_net_srv_vpn.c index 2eb22a5d7a..a26ae18e37 100644 --- a/modules/service/vpn/dap_chain_net_srv_vpn.c +++ b/modules/service/vpn/dap_chain_net_srv_vpn.c @@ -920,7 +920,7 @@ int dap_chain_net_srv_vpn_init(dap_config_t * g_config) { s_ch_packet_out); // add console command to display vpn statistics - dap_cli_server_cmd_add ("vpn_stat", com_vpn_statistics, "VPN statistics", + dap_cli_server_cmd_add ("vpn_stat", com_vpn_statistics, "VPN statistics", dap_chain_node_cli_cmd_id_from_str("vpn_stat"), "vpn_stat -net <net_name> [-full]\n" ); diff --git a/modules/service/vpn/dap_chain_net_vpn_client.c b/modules/service/vpn/dap_chain_net_vpn_client.c index 753da5a726..723d209b8b 100644 --- a/modules/service/vpn/dap_chain_net_vpn_client.c +++ b/modules/service/vpn/dap_chain_net_vpn_client.c @@ -751,7 +751,7 @@ int dap_chain_net_vpn_client_init(dap_config_t * g_config) pthread_mutex_init(&sf_socks_mutex, NULL); // vpn client command - dap_cli_server_cmd_add ("vpn_client", com_vpn_client, "VPN client control", + dap_cli_server_cmd_add ("vpn_client", com_vpn_client, "VPN client control", dap_chain_node_cli_cmd_id_from_str("vpn_client"), "vpn_client [start -addr <server_address> -port <server_port>|stop|status] -net <net_name>\n" "vpn_client init -w <wallet_name> -token <token_name> -value <value> -net <net_name>\n" "vpn_client stop -net <net_name>\n" diff --git a/modules/service/xchange/dap_chain_net_srv_xchange.c b/modules/service/xchange/dap_chain_net_srv_xchange.c index 433f453f17..9d078b0cb2 100644 --- a/modules/service/xchange/dap_chain_net_srv_xchange.c +++ b/modules/service/xchange/dap_chain_net_srv_xchange.c @@ -47,6 +47,7 @@ #include "uthash.h" #include "dap_cli_server.h" #include "dap_chain_wallet_cache.h" +#include "dap_chain_node_cli.h" #define LOG_TAG "dap_chain_net_srv_xchange" @@ -218,7 +219,7 @@ static bool s_tag_check_xchange(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_ int dap_chain_net_srv_xchange_init() { dap_ledger_verificator_add(DAP_CHAIN_TX_OUT_COND_SUBTYPE_SRV_XCHANGE, s_xchange_verificator_callback, NULL, NULL); - dap_cli_server_cmd_add("srv_xchange", s_cli_srv_xchange, "eXchange service commands", + dap_cli_server_cmd_add("srv_xchange", s_cli_srv_xchange, "eXchange service commands", dap_chain_node_cli_cmd_id_from_str("srv_xchange"), "srv_xchange order create -net <net_name> -token_sell <token_ticker> -token_buy <token_ticker> -w <wallet_name>" " -value <value> -rate <value> -fee <value>\n" diff --git a/modules/type/blocks/dap_chain_cs_blocks.c b/modules/type/blocks/dap_chain_cs_blocks.c index b21899511e..3e33304d19 100644 --- a/modules/type/blocks/dap_chain_cs_blocks.c +++ b/modules/type/blocks/dap_chain_cs_blocks.c @@ -190,7 +190,7 @@ int dap_chain_cs_blocks_init() dap_chain_cs_type_add("blocks", s_chain_cs_blocks_new, NULL); s_seed_mode = dap_config_get_item_bool_default(g_config,"general","seed_mode",false); s_debug_more = dap_config_get_item_bool_default(g_config, "blocks", "debug_more", false); - dap_cli_server_cmd_add ("block", s_cli_blocks, "Create and explore blockchains", + dap_cli_server_cmd_add ("block", s_cli_blocks, "Create and explore blockchains", dap_chain_node_cli_cmd_id_from_str("block"), "New block create, fill and complete commands:\n" "block -net <net_name> [-chain <chain_name>] new\n" "\t\tCreate new block and flush memory if was smth formed before\n\n" diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c index c5abe99b23..8063dceb09 100644 --- a/modules/type/dag/dap_chain_cs_dag.c +++ b/modules/type/dag/dap_chain_cs_dag.c @@ -153,7 +153,7 @@ int dap_chain_cs_dag_init() s_debug_more = dap_config_get_item_bool_default(g_config, "dag", "debug_more", false); s_threshold_enabled = dap_config_get_item_bool_default(g_config, "dag", "threshold_enabled",false); debug_if(s_debug_more, L_DEBUG, "Thresholding %s", s_threshold_enabled ? "enabled" : "disabled"); - dap_cli_server_cmd_add ("dag", s_cli_dag, "DAG commands", + dap_cli_server_cmd_add ("dag", s_cli_dag, "DAG commands", dap_chain_node_cli_cmd_id_from_str("dag"), "dag event sign -net <net_name> [-chain <chain_name>] -event <event_hash>\n" "\tAdd sign to event <event hash> in round.new. Hash doesn't include other signs so event hash\n" "\tdoesn't changes after sign add to event. \n\n" -- GitLab