From dc7a9025a8c89d3dd86bb6549842a05524cc049f Mon Sep 17 00:00:00 2001
From: "alexey.stratulat" <alexey.stratulat@demlabs.net>
Date: Tue, 23 Jul 2024 08:14:01 +0000
Subject: [PATCH] Bugfix 12463

---
 modules/common/dap_chain_datum.c          |  5 -----
 modules/common/dap_chain_datum_token.c    | 10 ++++------
 modules/type/blocks/dap_chain_cs_blocks.c |  2 +-
 3 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/modules/common/dap_chain_datum.c b/modules/common/dap_chain_datum.c
index f70b98db1c..ff45ed0b7a 100644
--- a/modules/common/dap_chain_datum.c
+++ b/modules/common/dap_chain_datum.c
@@ -1246,7 +1246,6 @@ void dap_chain_datum_dump_json(json_object  *a_obj_out, dap_chain_datum_t *a_dat
                             json_object_object_add(json_obj_datum,"auth signs valid",json_object_new_uint64(l_token->signs_valid));
                             json_object_object_add(json_obj_datum,"auth signs total",json_object_new_uint64(l_token->signs_total));
                             json_object_object_add(json_obj_datum,"total_supply",json_object_new_string(dap_uint256_to_char(l_token->total_supply, NULL)));
-                            json_object_object_add(json_obj_datum,"Flags",json_object_new_string(""));
 
                             dap_chain_datum_token_flags_dump_to_json(json_obj_datum,l_token->header_private_update.flags);
                             dap_datum_token_dump_tsd_to_json(json_obj_datum,l_token, l_token_size, a_hash_out_type);               
@@ -1260,7 +1259,6 @@ void dap_chain_datum_dump_json(json_object  *a_obj_out, dap_chain_datum_t *a_dat
                             json_object_object_add(json_obj_datum,"auth signs valid",json_object_new_uint64(l_token->signs_valid));
                             json_object_object_add(json_obj_datum,"auth signs total",json_object_new_uint64(l_token->signs_total));
                             json_object_object_add(json_obj_datum,"total_supply",json_object_new_string(dap_uint256_to_char(l_token->total_supply, NULL)));
-                            json_object_object_add(json_obj_datum,"Flags",json_object_new_string(""));
 
                             dap_chain_datum_token_flags_dump_to_json(json_obj_datum, l_token->header_native_decl.flags);
                             dap_datum_token_dump_tsd_to_json(json_obj_datum, l_token, l_token_size, a_hash_out_type);
@@ -1274,7 +1272,6 @@ void dap_chain_datum_dump_json(json_object  *a_obj_out, dap_chain_datum_t *a_dat
                             json_object_object_add(json_obj_datum,"premine_supply", json_object_new_string(dap_uint256_to_char(l_token->header_public.premine_supply, NULL)));
                             json_object_object_add(json_obj_datum,"premine_address", json_object_new_string(dap_chain_addr_to_str(&l_premine_addr)));
 
-                            json_object_object_add(json_obj_datum,"Flags",json_object_new_string(""));
                             dap_chain_datum_token_flags_dump_to_json(json_obj_datum, l_token->header_public.flags);
                         } break;
                     }
@@ -1289,7 +1286,6 @@ void dap_chain_datum_dump_json(json_object  *a_obj_out, dap_chain_datum_t *a_dat
                             json_object_object_add(json_obj_datum,"auth signs total",json_object_new_uint64(l_token->signs_total));
                             json_object_object_add(json_obj_datum,"total_supply",json_object_new_string(dap_uint256_to_char(l_token->total_supply, NULL)));
                             
-                            json_object_object_add(json_obj_datum,"Flags",json_object_new_string(""));
                             dap_chain_datum_token_flags_dump_to_json(json_obj_datum, l_token->header_private_update.flags);
                             dap_datum_token_dump_tsd_to_json(json_obj_datum, l_token, l_token_size, a_hash_out_type);
                             size_t l_certs_field_size = l_token_size - sizeof(*l_token) - l_token->header_private_update.tsd_total_size;
@@ -1303,7 +1299,6 @@ void dap_chain_datum_dump_json(json_object  *a_obj_out, dap_chain_datum_t *a_dat
                             json_object_object_add(json_obj_datum,"auth signs total",json_object_new_uint64(l_token->signs_total));
                             json_object_object_add(json_obj_datum,"total_supply",json_object_new_string(dap_uint256_to_char(l_token->total_supply, NULL)));
                             
-                            json_object_object_add(json_obj_datum,"Flags",json_object_new_string(""));
                             dap_chain_datum_token_flags_dump_to_json(json_obj_datum, l_token->header_native_update.flags);
                             dap_datum_token_dump_tsd_to_json(json_obj_datum, l_token, l_token_size, a_hash_out_type);
                             size_t l_certs_field_size = l_token_size - sizeof(*l_token) - l_token->header_native_update.tsd_total_size;
diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c
index 33e053fda5..31ede3cbfd 100644
--- a/modules/common/dap_chain_datum_token.c
+++ b/modules/common/dap_chain_datum_token.c
@@ -252,20 +252,18 @@ void dap_chain_datum_token_flags_dump(dap_string_t * a_str_out, uint16_t a_flags
 void dap_chain_datum_token_flags_dump_to_json(json_object * json_obj_out, uint16_t a_flags)
 {
     if(!a_flags){
-        json_object_object_add(json_obj_out, "flags:", json_object_new_string(c_dap_chain_datum_token_flag_str[DAP_CHAIN_DATUM_TOKEN_FLAG_NONE]));
+        json_object_object_add(json_obj_out, "flags", json_object_new_string(c_dap_chain_datum_token_flag_str[DAP_CHAIN_DATUM_TOKEN_FLAG_NONE]));
 
         return;
     }
-    bool is_first = true;
+    json_object *l_array_flags = json_object_new_array();
     for ( uint16_t i = 0;  BIT(i) <= DAP_CHAIN_DATUM_TOKEN_FLAG_MAX; i++){
         if(   a_flags &  (1 << i) ){
-            if(is_first)
-                is_first = false;
-
-            json_object_object_add(json_obj_out, "flags:", json_object_new_string(c_dap_chain_datum_token_flag_str[BIT(i)]));
+            json_object_array_add(l_array_flags, json_object_new_string(c_dap_chain_datum_token_flag_str[BIT(i)]));
 
         }
     }
+    json_object_object_add(json_obj_out, "flags", l_array_flags);
 }
 
 
diff --git a/modules/type/blocks/dap_chain_cs_blocks.c b/modules/type/blocks/dap_chain_cs_blocks.c
index ec33832dbd..d2fc935816 100644
--- a/modules/type/blocks/dap_chain_cs_blocks.c
+++ b/modules/type/blocks/dap_chain_cs_blocks.c
@@ -193,7 +193,7 @@ int dap_chain_cs_blocks_init()
 
             "block -net <net_name> [-chain <chain_name>] list [{signed | first_signed}] [-limit] [-offset]"
             " [-from_hash <block_hash>] [-to_hash <block_hash>] [-from_date <YYMMDD>] [-to_date <YYMMDD>]"
-            " [{-cert <signing_cert_name> | -pkey_hash <signing_cert_pkey_hash>} [-unspent]]\n"
+            " [{-cert <signing_cert_name> | -pkey_hash <signing_cert_pkey_hash>}] [-unspent]]\n"
                 "\t\t List blocks\n\n"
 
             "block -net <net_name> [-chain <chain_name>] count\n"
-- 
GitLab