diff --git a/dap-sdk b/dap-sdk
index c052ecc8c04e336f65d73a9707515612103c81f2..754df56779ce39a14b31f8d513852e6e40e26bf0 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit c052ecc8c04e336f65d73a9707515612103c81f2
+Subproject commit 754df56779ce39a14b31f8d513852e6e40e26bf0
diff --git a/modules/net/srv/dap_chain_net_srv.c b/modules/net/srv/dap_chain_net_srv.c
index d6beac323fa5e5d39d64ab36032f91c049bf1c95..c93b17324afedfea9c2f40dfe6d3a256422995b0 100644
--- a/modules/net/srv/dap_chain_net_srv.c
+++ b/modules/net/srv/dap_chain_net_srv.c
@@ -196,7 +196,7 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
         return -1;
     }
 
-    int ret = dap_chain_node_cli_cmd_values_parse_net_chain( &arg_index, argc, argv, a_str_reply, NULL, &l_net );
+    int l_ret = dap_chain_node_cli_cmd_values_parse_net_chain( &arg_index, argc, argv, a_str_reply, NULL, &l_net );
     if ( l_net ) {
         //char * l_orders_group = dap_chain_net_srv_order_get_gdb_group( l_net );
 
@@ -276,19 +276,19 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
             }
             dap_string_append_printf(l_string_ret, "%s\n", l_string_err->str);
             dap_string_free(l_string_err, true);
-            ret = -1;
+            l_ret = -1;
         }
         // Update order
-        else if(dap_strcmp(l_order_str, "update") == 0) {
+        else if(!dap_strcmp(l_order_str, "update")) {
 
             if(!l_order_hash_str) {
-                ret = -1;
+                l_ret = -1;
                 dap_string_append(l_string_ret, "Can't find option '-hash'\n");
             }
             else {
                 dap_chain_net_srv_order_t * l_order = dap_chain_net_srv_order_find_by_hash_str(l_net, l_order_hash_hex_str);
                 if(!l_order) {
-                    ret = -2;
+                    l_ret = -2;
                     if(!dap_strcmp(l_hash_out_type,"hex"))
                         dap_string_append_printf(l_string_ret, "Can't find order with hash %s\n", l_order_hash_hex_str);
                     else
@@ -321,7 +321,7 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
             }
 
         }
-        else if ( dap_strcmp( l_order_str, "find" ) == 0 ){
+        else if (!dap_strcmp( l_order_str, "find" )) {
 
             // Order direction
             const char *l_direction_str = NULL;
@@ -355,9 +355,9 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
             dap_chain_net_srv_price_unit_uid_t l_price_unit={{0}};
 
             if ( l_direction_str ){
-                if ( strcmp(l_direction_str, "sell")==0)
+                if (!strcmp(l_direction_str, "sell"))
                     l_direction = SERV_DIR_SELL;
-                else if ( strcmp(l_direction_str, "buy")==0)
+                else if (!strcmp(l_direction_str, "buy"))
                     l_direction = SERV_DIR_BUY;
                 else {
                     dap_string_free(l_string_ret, true);
@@ -389,22 +389,22 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
                     l_orders_size += dap_chain_net_srv_order_get_size(l_order);
                     dap_string_append(l_string_ret,"\n");
                 }
-                ret = 0;
+                l_ret = 0;
                 if (l_orders_num)
                     DAP_DELETE(l_orders);
              }else{
-                ret = -5 ;
+                l_ret = -5 ;
                 dap_string_append(l_string_ret,"Can't get orders: some internal error or wrong params\n");
             }
-        }else if( dap_strcmp( l_order_str, "dump" ) == 0 ){
+        } else if(!dap_strcmp( l_order_str, "dump" )) {
             // Select with specified service uid
             if ( l_order_hash_str ){
                 dap_chain_net_srv_order_t * l_order = dap_chain_net_srv_order_find_by_hash_str( l_net, l_order_hash_hex_str );
                 if (l_order){
                     dap_chain_net_srv_order_dump_to_string(l_order,l_string_ret, l_hash_out_type);
-                    ret = 0;
+                    l_ret = 0;
                 }else{
-                    ret = -7 ;
+                    l_ret = -7 ;
                     if(!dap_strcmp(l_hash_out_type,"hex"))
                         dap_string_append_printf(l_string_ret,"Can't find order with hash %s\n", l_order_hash_hex_str );
                     else
@@ -429,27 +429,27 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
                         l_orders_size += dap_chain_net_srv_order_get_size(l_order);
                         dap_string_append(l_string_ret, "\n");
                     }
-                    ret = 0;
+                    l_ret = 0;
                 }else{
-                    ret = -5 ;
+                    l_ret = -5 ;
                     dap_string_append(l_string_ret,"Can't get orders: some internal error or wrong params\n");
                 }
                 DAP_DELETE(l_orders);
             }
-        }else if( dap_strcmp( l_order_str, "delete" ) == 0 ){
+        } else if(!dap_strcmp( l_order_str, "delete" )) {
             // Select with specified service uid
             //const char *l_order_hash_str = NULL;
             //dap_cli_server_cmd_find_option_val(argv, arg_index, argc, "-hash", &l_order_hash_str);
             if ( l_order_hash_str ){
                 dap_chain_net_srv_order_t * l_order = dap_chain_net_srv_order_find_by_hash_str( l_net, l_order_hash_hex_str );
                 if (l_order && dap_chain_net_srv_order_delete_by_hash_str_sync(l_net,l_order_hash_hex_str) == 0){
-                    ret = 0 ;
+                    l_ret = 0 ;
                     if(!dap_strcmp(l_hash_out_type,"hex"))
                         dap_string_append_printf(l_string_ret, "Deleted order %s\n", l_order_hash_hex_str);
                     else
                         dap_string_append_printf(l_string_ret, "Deleted order %s\n", l_order_hash_base58_str);
                 }else{
-                    ret = -8 ;
+                    l_ret = -8 ;
                     if(!dap_strcmp(l_hash_out_type,"hex"))
                         dap_string_append_printf(l_string_ret, "Can't find order with hash %s\n", l_order_hash_hex_str);
                     else
@@ -457,10 +457,14 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
                 }
                 DAP_DELETE(l_order);
             } else{
-                ret = -9 ;
+                l_ret = -9 ;
                 dap_string_append(l_string_ret,"need -hash param to obtain what the order we need to dump\n");
             }
-        }else if( dap_strcmp( l_order_str, "create" ) == 0 ){
+        } else if(!dap_strcmp( l_order_str, "create" )) {
+            if (dap_chain_net_get_role(l_net).enums < NODE_ROLE_MASTER) {
+                dap_cli_server_cmd_set_reply_text(a_str_reply, "Node role should be not lower than master\n");
+                return -4;
+            }
             const char *l_order_cert_name = NULL;
             dap_cli_server_cmd_find_option_val(argv, arg_index, argc, "-cert", &l_order_cert_name);
             if ( l_srv_uid_str && l_price_str && l_price_token_str && l_price_unit_str && l_units_str) {
@@ -473,10 +477,10 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
                 dap_chain_net_srv_price_unit_uid_t l_price_unit={{0}};
                 dap_chain_net_srv_order_direction_t l_direction = SERV_DIR_UNDEFINED;
                 if ( l_direction_str ){
-                    if ( strcmp(l_direction_str, "sell") == 0 ) {
+                    if (!strcmp(l_direction_str, "sell")) {
                         l_direction = SERV_DIR_SELL;
                         log_it(L_DEBUG, "Created order to sell");
-                    } else if ( strcmp(l_direction_str, "buy")==0) {
+                    } else if (!strcmp(l_direction_str, "buy")) {
                         l_direction = SERV_DIR_BUY;
                         log_it(L_DEBUG, "Created order to buy");
                     } else {
@@ -564,27 +568,27 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
                     dap_string_append_printf( l_string_ret, "Created order %s\n", l_order_new_hash_str);
                 else{
                     dap_string_append_printf( l_string_ret, "Error! Can't created order\n");
-                    ret = -4;
+                    l_ret = -4;
                 }
             } else {
                 dap_string_append_printf( l_string_ret, "Missed some required params\n");
-                ret=-5;
+                l_ret=-5;
             }
         }
 #ifdef DAP_MODULES_DYNAMIC
-        else if( dap_strcmp( l_order_str, "recheck" ) == 0 ){
+        else if(!dap_strcmp( l_order_str, "recheck" )) {
             int (*dap_chain_net_srv_vpn_cdb_server_list_check_orders)(dap_chain_net_t *a_net);
             dap_chain_net_srv_vpn_cdb_server_list_check_orders = dap_modules_dynamic_get_cdb_func("dap_chain_net_srv_vpn_cdb_server_list_check_orders");
             int l_init_res = dap_chain_net_srv_vpn_cdb_server_list_check_orders ? dap_chain_net_srv_vpn_cdb_server_list_check_orders(l_net) : -5;
             if (l_init_res >= 0) {
                 dap_string_append_printf(l_string_ret, "Orders recheck started\n");
-                ret = 0;
+                l_ret = 0;
             } else {
                 dap_string_append_printf(l_string_ret, "Orders recheck not started, code %d\n", l_init_res);
-                ret = -10;
+                l_ret = -10;
             }
 
-        }else if( dap_strcmp( l_order_str, "static" ) == 0 ){
+        } else if(!dap_strcmp( l_order_str, "static" )) {
             // find the subcommand directly after the 'order' command
             int l_subcmd_save = dap_cli_server_cmd_find_option_val(argv, l_order_arg_pos + 1, l_order_arg_pos + 2, "save", NULL);
             int l_subcmd_del = dap_cli_server_cmd_find_option_val(argv, l_order_arg_pos + 1, l_order_arg_pos + 2, "delete", NULL) |
@@ -601,43 +605,43 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply)
                 int l_init_res = dap_chain_net_srv_vpn_cdb_server_list_static_create ? dap_chain_net_srv_vpn_cdb_server_list_static_create(l_net) : -5;
                 if(l_init_res >= 0){
                     dap_string_append_printf(l_string_ret, "Static node list saved, %d orders in list\n", l_init_res);
-                    ret = 0;
+                    l_ret = 0;
                 }
                 else{
                     dap_string_append_printf(l_string_ret, "Static node list not saved, error code %d\n", l_init_res);
-                    ret = -11;
+                    l_ret = -11;
                 }
 
             } else if(l_subcmd_del) {
                 int l_init_res = dap_chain_net_srv_vpn_cdb_server_list_static_delete ? dap_chain_net_srv_vpn_cdb_server_list_static_delete(l_net) : -5;
                 if(!l_init_res){
                     dap_string_append_printf(l_string_ret, "Static node list deleted\n");
-                    ret = 0;
+                    l_ret = 0;
                 }
                 else if(l_init_res > 0){
                     dap_string_append_printf(l_string_ret, "Static node list already deleted\n");
-                    ret = -12;
+                    l_ret = -12;
                 }
                 else
                     dap_string_append_printf(l_string_ret, "Static node list not deleted, error code %d\n", l_init_res);
             } else {
                 dap_string_append(l_string_ret, "not found subcommand 'save' or 'delete'\n");
-                ret = -13;
+                l_ret = -13;
             }
         }
 #endif
         else if (l_order_str) {
             dap_string_append_printf(l_string_ret, "Unrecognized subcommand '%s'", l_order_str);
-            ret = -14;
+            l_ret = -14;
         } else {
             dap_string_append_printf(l_string_ret, "Command 'net_srv' requires subcommand 'order'");
-            ret = -3;
+            l_ret = -3;
         }
         dap_cli_server_cmd_set_reply_text(a_str_reply, "%s", l_string_ret->str);
         dap_string_free(l_string_ret, true);
     }
 
-    return ret;
+    return l_ret;
 }
 
 /**