Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • cellframe/cellframe-sdk
  • MIKA83/cellframe-sdk
2 results
Show changes
Commits on Source (5)
......@@ -929,8 +929,8 @@ 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_chain_node_cli_cmd_item_create("mempool", com_signer, "Sign operations",
"mempool sign -net <net name> -chain <chain name> -file <filename> [-mime <(SIGNER_FILENAME,SIGNER_FILENAME_SHORT,SIGNER_FILESIZE,SIGNER_DATE,SIGNER_MIME_MAGIC) or (SIGNER_ALL_FLAGS)>]\n"
"mempool check -net <net name> ((-file <filename>) or (-hash <hash>)) [-mime <(SIGNER_FILENAME,SIGNER_FILENAME_SHORT,SIGNER_FILESIZE,SIGNER_DATE,SIGNER_MIME_MAGIC) or (SIGNER_ALL_FLAGS)>]\n"
"mempool sign -cert <cert name> -net <net name> -chain <chain name> -file <filename> [-mime <(SIGNER_FILENAME,SIGNER_FILENAME_SHORT,SIGNER_FILESIZE,SIGNER_DATE,SIGNER_MIME_MAGIC) or (SIGNER_ALL_FLAGS)>]\n"
"mempool check -cert <cert name> -net <net name> ((-file <filename>) or (-hash <hash>)) [-mime <(SIGNER_FILENAME,SIGNER_FILENAME_SHORT,SIGNER_FILESIZE,SIGNER_DATE,SIGNER_MIME_MAGIC) or (SIGNER_ALL_FLAGS)>]\n"
);
dap_chain_node_cli_cmd_item_create("node", com_node, "Work with node",
"node add -net <net name> -addr {<node address> | -alias <node alias>} {-port <port>} -cell <cell id> {-ipv4 <ipv4 external address> | -ipv6 <ipv6 external address>}\n\n"
......
......@@ -4449,6 +4449,7 @@ static int s_get_key_from_file(const char *a_file, const char *a_mime, const cha
static int s_check_cmd(int a_arg_index, int a_argc, char **a_argv, char **a_str_reply)
{
int l_ret = 0;
enum {OPT_FILE, OPT_HASH, OPT_NET, OPT_MIME, OPT_CERT,
OPT_COUNT};
struct opts l_opts_check[] = {
......@@ -4487,6 +4488,7 @@ static int s_check_cmd(int a_arg_index, int a_argc, char **a_argv, char **a_str_
dap_chain_node_cli_set_reply_text(a_str_reply, "Not found datum signer in network %s", l_str_opts_check[OPT_NET]);
return -1;
}
int found = 0;
dap_sign_t *l_sign = NULL;
dap_chain_datum_t *l_datum = NULL;
......@@ -4495,73 +4497,64 @@ static int s_check_cmd(int a_arg_index, int a_argc, char **a_argv, char **a_str_
l_gdb_group = dap_chain_net_get_gdb_group_mempool(l_chain);
if (!l_gdb_group) {
dap_chain_node_cli_set_reply_text(a_str_reply, "Not found network group for chain: %s", l_chain->name);
l_ret = -1;
goto end;
}
printf("....%p\n", l_chain->cells);
dap_chain_hash_fast_t l_hash_tmp;
if (l_str_opts_check[OPT_HASH]) {
#if 0
size_t l_size_store_datum = 0;
dap_store_obj_t *l_store_datum = dap_chain_global_db_obj_gr_get(l_str_opts_check[OPT_HASH], &l_size_store_datum, l_gdb_group);
dap_chain_node_cli_set_reply_text(a_str_reply, "%s datum by hash: %s",
l_size_store_datum ? "found" : "not found",
l_str_opts_check[OPT_HASH]);
#endif
dap_chain_hash_fast_from_str(l_str_opts_check[OPT_HASH], &l_hash_tmp);
}
if (l_str_opts_check[OPT_FILE]) {
l_ret = s_get_key_from_file(l_str_opts_check[OPT_FILE], l_str_opts_check[OPT_MIME], l_str_opts_check[OPT_CERT], &l_sign);
if (!l_ret) {
l_ret = -1;
goto end;
}
#if 0
dap_chain_hash_fast_t l_key_hash;
dap_hash_fast(l_sign->pkey_n_sign, l_sign->header.sign_size, &l_key_hash);
char *l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash);
if (l_key_str) {
size_t l_size_store_datum = 0;
dap_store_obj_t *l_store_datum = dap_chain_global_db_obj_gr_get(l_key_str, &l_size_store_datum, l_gdb_group);
dap_chain_node_cli_set_reply_text(a_str_reply, "%s datum by file: %s",
l_size_store_datum ? "found" : "not found",
l_str_opts_check[OPT_FILE]);
DAP_FREE(l_key_str);
l_datum = dap_chain_datum_create(DAP_CHAIN_DATUM_SIGNER, l_sign->pkey_n_sign, l_sign->header.sign_size);
if (!l_datum) {
dap_chain_node_cli_set_reply_text(a_str_reply, "not created datum");
l_ret = -1;
goto end;
}
#endif
#if 0
dap_chain_cell_id_t l_cell_id = {0};
dap_chain_atom_iter_t *l_iter = NULL;
for (uint64_t i = 0; i >= 0; i++) {
l_iter = l_chain->callback_atom_iter_create(l_chain, l_cell_id);
if (l_iter) {
size_t l_size = 0;
dap_chain_datum_t *l_datum = l_chain->callback_atom_iter_get_next(l_iter, &l_size);
if (l_datum) {
printf("l_size: %ld\n", l_size);
for (size_t i = 0; i < l_size; i++) {
dap_hash_fast_t l_hash;
dap_chain_hash_fast_from_str(l_datum[i].data, &l_hash);
char *l_key = dap_hash_fast_to_str_new(&l_hash);
printf("key: %s\n", l_key);
}
dap_hash_fast(l_datum->data, l_datum->header.data_size, &l_hash_tmp);
}
}
} else break;
l_cell_id.uint64++;
dap_chain_cell_id_t l_cell_id = {0};
dap_chain_atom_iter_t *l_iter = NULL;
dap_chain_cell_t *l_cell_tmp = NULL;
dap_chain_cell_t *l_cell = NULL;
dap_chain_datum_t *l_datum_tmp = NULL;
size_t l_size = 0;
HASH_ITER(hh, l_chain->cells, l_cell, l_cell_tmp) {
l_iter = l_cell->chain->callback_atom_iter_create(l_cell->chain, l_cell->id);
dap_chain_datum_t *l_datum = l_cell->chain->callback_atom_find_by_hash(l_iter, &l_hash_tmp, &l_size);
if (l_datum) {
dap_hash_fast_t l_hash;
dap_hash_fast(l_datum->data, l_datum->header.data_size, &l_hash);
if (!memcmp(l_hash_tmp.raw, l_hash.raw, DAP_CHAIN_HASH_FAST_SIZE)) {
dap_chain_node_cli_set_reply_text(a_str_reply, "found!");
found = 1;
break;
}
}
#endif
}
end:
if (l_gdb_group) DAP_FREE(l_gdb_group);
if (!found) {
dap_chain_node_cli_set_reply_text(a_str_reply, "not found!");
}
return 0;
}
......@@ -4661,7 +4654,6 @@ static int s_signer_cmd(int a_arg_index, int a_argc, char **a_argv, char **a_str
dap_chain_datum_t *l_datum = NULL;
dap_global_db_obj_t *l_objs = NULL;
printf("#\n");
l_ret = s_get_key_from_file(l_opts_sign[OPT_FILE], l_opts_sign[OPT_MIME], l_opts_sign[OPT_CERT], &l_sign);
if (!l_ret) {
dap_chain_node_cli_set_reply_text(a_str_reply, "%s cert not found", l_opts_sign[OPT_CERT]);
......@@ -4670,7 +4662,6 @@ static int s_signer_cmd(int a_arg_index, int a_argc, char **a_argv, char **a_str
}
printf("##\n");
l_datum = dap_chain_datum_create(DAP_CHAIN_DATUM_SIGNER, l_sign->pkey_n_sign, l_sign->header.sign_size);
if (!l_datum) {
......@@ -4679,24 +4670,16 @@ static int s_signer_cmd(int a_arg_index, int a_argc, char **a_argv, char **a_str
goto end;
}
printf("###\n");
#if 0
char *l_hash_str = dap_chain_mempool_datum_add(l_datum, l_chain);
dap_chain_node_cli_set_reply_text(a_str_reply, "%s by certificate is signed %s", l_opts_sign[OPT_FILE],
l_hash_str ? "successfull": "not successfull");
if (l_hash_str) {
l_ret = 0;
DAP_FREE(l_hash_str);
}
printf("####\n");
#endif
dap_chain_cell_id_t l_cell_id = {0};
dap_chain_cell_create_fill(l_chain, l_cell_id);
l_ret = l_chain->callback_add_datums(l_chain, &l_datum, 1);
printf("l_ret datum: %d\n", l_ret);
dap_hash_fast_t l_hash;
dap_hash_fast(l_datum->data, l_datum->header.data_size, &l_hash);
char *l_key_str = dap_chain_hash_fast_to_str_new(&l_hash);
dap_chain_node_cli_set_reply_text(a_str_reply, "hash: %s", l_key_str);
DAP_FREE(l_key_str);
end:
if (l_datum) DAP_FREE(l_datum);
......@@ -4823,15 +4806,14 @@ static byte_t *s_concat_meta (dap_list_t *a_meta, int a_index_meta, size_t *a_fu
for ( dap_list_t* l_iter = dap_list_first(a_meta); l_iter; l_iter = l_iter->next){
if (!l_iter->data) continue;
dap_tsd_t * l_tsd = (dap_tsd_t *) l_iter->data;
size_t l_tsd_size = dap_tsd_size(l_tsd);
l_index = l_counter;
l_counter += l_tsd_size;
l_counter += strlen(l_tsd->data);
if (l_counter >= l_part_power) {
l_part_power = l_part * l_power++;
l_buf = (byte_t *) DAP_REALLOC(l_buf, l_part_power);
}
memcpy (&l_buf[l_index], l_tsd->data, l_tsd_size);
memcpy (&l_buf[l_index], l_tsd->data, strlen(l_tsd->data));
}
if (a_fullsize)
......@@ -4890,7 +4872,9 @@ static dap_tsd_t *s_alloc_metadata (const char *a_file, const int a_meta)
{
struct stat l_st;
stat (a_file, &l_st);
return dap_tsd_create_scalar(SIGNER_FILESIZE, l_st.st_size);
char l_size[513];
snprintf(l_size, 513, "%ld", l_st.st_size);
return dap_tsd_create_string(SIGNER_FILESIZE, l_size);
}
break;
case SIGNER_DATE:
......
......@@ -332,7 +332,7 @@ static int s_dap_chain_add_atom_to_ledger(dap_chain_cs_dag_t * a_dag, dap_ledger
}
break;
case DAP_CHAIN_DATUM_SIGNER: {
return DAP_CHAIN_DATUM_SIGNER;
return 0;
}
default:
return -1;
......