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 (2)
......@@ -72,6 +72,8 @@ typedef uint8_t byte_t;
// Extracts a size_t from a pointer
#define DAP_POINTER_TO_SIZE(p) ((size_t) (p))
#define DAP_END_OF_DAYS 4102444799
#if defined(__GNUC__) ||defined (__clang__)
#define DAP_ALIGN_PACKED __attribute__((aligned(1),packed))
#else
......
......@@ -1068,11 +1068,14 @@ void dap_usleep(time_t a_microseconds)
char* dap_ctime_r(time_t *a_time, char* a_buf){
struct tm *l_time = localtime(a_time);
char *l_str_time = asctime_r(l_time, a_buf);
if (*a_time > DAP_END_OF_DAYS) {
return "(null)\r\n";
}
struct tm l_time;
localtime_r(a_time, &l_time);
char *l_str_time = asctime_r(&l_time, a_buf);
if (l_str_time)
return l_str_time;
else
return "(null)\n";
// localtime_r()
return "(null)\r\n";
}
......@@ -31,20 +31,6 @@
#define LOG_TAG "dap_chain_datum"
const char * c_datum_type_str[]={
[DAP_CHAIN_DATUM_TX]="DATUM_TX",
[DAP_CHAIN_DATUM_TX_REQUEST]="DATUM_TX_REQUEST",
[DAP_CHAIN_DATUM_WASM_CODE]="DATUM_WASM_CODE",
[DAP_CHAIN_DATUM_WASM_DATA]="DATUM_WASM_DATA",
[DAP_CHAIN_DATUM_EVM_CODE]="DATUM_EVM_CODE",
[DAP_CHAIN_DATUM_EVM_DATA]="DATUM_EVM_DATA",
[DAP_CHAIN_DATUM_CA]="DATUM_CA",
[DAP_CHAIN_DATUM_CUSTOM]="DATUM_CUSTOM",
[DAP_CHAIN_DATUM_TOKEN_DECL]="DATUM_TOKEN_DECL",
[DAP_CHAIN_DATUM_TOKEN_EMISSION]="DATUM_TOKEN_EMISSION",
[DAP_CHAIN_DATUM_CUSTOM] = "DAP_CHAIN_DATUM_CUSTOM"
};
/**
* @brief dap_chain_datum_create
* @param a_type_id
......
......@@ -63,8 +63,31 @@
#define DAP_CHAIN_DATUM_CUSTOM 0xffff
extern const char * c_datum_type_str[];
#define DAP_DATUM_TYPE_STR(t, s) \
switch (t) { \
case DAP_CHAIN_DATUM_TX: \
s = "DATUM_TX"; break; \
case DAP_CHAIN_DATUM_TX_REQUEST: \
s = "DATUM_WASM_CODE"; break; \
case DAP_CHAIN_DATUM_WASM_CODE: \
s = "DATUM_WASM_CODE"; break; \
case DAP_CHAIN_DATUM_WASM_DATA: \
s = "DATUM_WASM_DATA"; break; \
case DAP_CHAIN_DATUM_EVM_CODE: \
s = "DATUM_EVM_CODE"; break; \
case DAP_CHAIN_DATUM_EVM_DATA: \
s = "DATUM_EVM_DATA"; break; \
case DAP_CHAIN_DATUM_CA: \
s = "DATUM_CA"; break; \
case DAP_CHAIN_DATUM_CUSTOM: \
s = "DATUM_CUSTOM"; break; \
case DAP_CHAIN_DATUM_TOKEN_DECL: \
s = "DATUM_TOKEN_DECL"; break; \
case DAP_CHAIN_DATUM_TOKEN_EMISSION:\
s = "DATUM_TOKEN_EMISSION"; break;\
default: \
s = "DATUM_UNKNOWN"; break; \
}
#define DAP_CHAIN_DATUM_ID_SIZE 2
......@@ -109,29 +132,6 @@ typedef dap_chain_datum_t* (*dap_chain_datum_callback_iter_get_first_t)(dap_chai
typedef dap_chain_datum_t* (*dap_chain_datum_callback_iter_get_next_t)(dap_chain_datum_iter_t * );
typedef void (*dap_chain_datum_callback_iter_delete_t)(dap_chain_datum_iter_t * );
/**
* @brief dap_chain_datum_typeid_to_str
* @param a_type_id
* @return
*/
static inline const char * dap_chain_datum_type_id_to_str(uint16_t a_type_id){
switch ( a_type_id ){
case DAP_CHAIN_DATUM_TX:
case DAP_CHAIN_DATUM_TX_REQUEST:
case DAP_CHAIN_DATUM_WASM_CODE:
case DAP_CHAIN_DATUM_WASM_DATA:
case DAP_CHAIN_DATUM_EVM_CODE:
case DAP_CHAIN_DATUM_EVM_DATA:
case DAP_CHAIN_DATUM_CA:
case DAP_CHAIN_DATUM_TOKEN_DECL:
case DAP_CHAIN_DATUM_TOKEN_EMISSION:
case DAP_CHAIN_DATUM_TOKEN_DISMISSAL:
case DAP_CHAIN_DATUM_CUSTOM:
return c_datum_type_str[a_type_id];
default:
return "(wrong datum type id)";
}
}
/**
* @brief dap_chain_datum_size
......
......@@ -2151,10 +2151,12 @@ void dap_chain_net_proc_mempool (dap_chain_net_t * a_net)
}else{
l_datums[i] = l_datum;
if(i < l_objs_size_tmp) {
char buf[50];
char buf[50] = { '\0' };
const char *l_type = NULL;
DAP_DATUM_TYPE_STR(l_datum->header.type_id, l_type)
time_t l_ts_create = (time_t) l_datum->header.ts_create;
log_it(L_INFO, "\t\t0x%s: type_id=%s ts_create=%s data_size=%u",
l_objs[i].key, c_datum_type_str[l_datum->header.type_id],
l_objs[i].key, l_type,
dap_ctime_r(&l_ts_create, buf), l_datum->header.data_size);
}
}
......
......@@ -1713,13 +1713,13 @@ int com_tx_wallet(int argc, char ** argv, void *arg_func, char **str_reply)
if(l_addr_tokens_size > 0)
dap_string_append_printf(l_string_ret, "balance:\n");
else
dap_string_append_printf(l_string_ret, "balance:\u00a00");
dap_string_append_printf(l_string_ret, "balance:\xA0""0");
for(size_t i = 0; i < l_addr_tokens_size; i++) {
if(l_addr_tokens[i]) {
uint128_t l_balance = dap_chain_ledger_calc_balance(l_ledger, l_addr, l_addr_tokens[i]);
char *l_balance_coins = dap_chain_balance_to_coins(l_balance);
char *l_balance_datoshi = dap_chain_balance_print(l_balance);
dap_string_append_printf(l_string_ret, "\t\u00a0%s (%s) %s", l_balance_coins,
dap_string_append_printf(l_string_ret, "\t\xA0""%s (%s) %s", l_balance_coins,
l_balance_datoshi, l_addr_tokens[i]);
if(i < l_addr_tokens_size - 1)
dap_string_append_printf(l_string_ret, "\n");
......@@ -2053,22 +2053,22 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a
for(size_t i = 0; i < l_objs_size; i++) {
dap_chain_datum_t * l_datum = (dap_chain_datum_t*) l_objs[i].value;
time_t l_ts_create = (time_t) l_datum->header.ts_create;
if (l_datum->header.data_size > l_objs[i].value_len) {
log_it(L_ERROR, "Trash datum in GDB %s.%s, key: %s", a_net->pub.name, a_chain->name, l_objs[i].key);
if (!l_datum->header.data_size || (l_datum->header.data_size > l_objs[i].value_len)) {
//log_it(L_ERROR, "Trash datum in GDB %s.%s, key: %s", a_net->pub.name, a_chain->name, l_objs[i].key);
continue;
}
char buf[50];
char buf[50] = {[0]='\0'};
dap_hash_fast_t l_data_hash;
char l_data_hash_str[70]={[0]='\0'};
char l_data_hash_str[70] = {[0]='\0'};
dap_hash_fast(l_datum->data,l_datum->header.data_size,&l_data_hash);
dap_hash_fast_to_str(&l_data_hash,l_data_hash_str,sizeof (l_data_hash_str)-1);
const char *l_type = NULL;
DAP_DATUM_TYPE_STR(l_datum->header.type_id, l_type)
dap_string_append_printf(a_str_tmp, "hash %s: type_id=%s data_size=%u data_hash=%s ts_create=%s", // \n included in timestamp
l_objs[i].key, c_datum_type_str[l_datum->header.type_id],
l_objs[i].key, l_type,
l_datum->header.data_size, l_data_hash_str, dap_ctime_r(&l_ts_create, buf));
dap_chain_net_dump_datum(a_str_tmp, l_datum, a_hash_out_type);
}
dap_chain_global_db_objs_delete(l_objs, l_objs_size);
}
......@@ -2277,8 +2277,10 @@ int com_mempool_proc(int argc, char ** argv, void *arg_func, char ** a_str_reply
if(l_datum) {
char buf[50];
time_t l_ts_create = (time_t) l_datum->header.ts_create;
const char *l_type = NULL;
DATUM_TYPE_STR(l_datum->header.type_id, l_type)
dap_string_append_printf(l_str_tmp, "hash %s: type_id=%s ts_create=%s data_size=%u\n",
l_datum_hash_out_str, c_datum_type_str[l_datum->header.type_id],
l_datum_hash_out_str, l_type,
dap_ctime_r(&l_ts_create, buf), l_datum->header.data_size);
int l_verify_datum= dap_chain_net_verify_datum_for_add( l_net, l_datum) ;
if (l_verify_datum != 0){
......
......@@ -470,7 +470,7 @@ void dap_chain_net_srv_order_dump_to_string(dap_chain_net_srv_order_t *a_order,d
}
dap_string_append_printf(a_str_out, " srv_uid: 0x%016llX\n", a_order->srv_uid.uint64 );
dap_string_append_printf(a_str_out, " price: \u00a0%.7Lf (%llu)\n", dap_chain_datoshi_to_coins(a_order->price) , a_order->price);
dap_string_append_printf(a_str_out, " price: \xA0""%.7Lf (%llu)\n", dap_chain_datoshi_to_coins(a_order->price) , a_order->price);
if( a_order->price_unit.uint32 )
dap_string_append_printf(a_str_out, " price_unit: %s\n", dap_chain_net_srv_price_unit_uid_to_str(a_order->price_unit) );
if ( a_order->node_addr.uint64)
......
......@@ -1509,9 +1509,11 @@ static int s_cli_dag(int argc, char ** argv, void *arg_func, char **a_str_reply)
time_t l_datum_ts_create = (time_t) l_datum->header.ts_create;
// Nested datum
const char *l_datum_type = NULL;
DAP_DATUM_TYPE_STR(l_datum->header.type_id, l_datum_type)
dap_string_append_printf(l_str_tmp,"\t\t\t\tdatum:\tdatum_size: %u\n",l_datum_size);
dap_string_append_printf(l_str_tmp,"\t\t\t\t\t\tversion:=0x%02X\n", l_datum->header.version_id);
dap_string_append_printf(l_str_tmp,"\t\t\t\t\t\ttype_id:=%s\n", c_datum_type_str[l_datum->header.type_id]);
dap_string_append_printf(l_str_tmp,"\t\t\t\t\t\ttype_id:=%s\n", l_datum_type);
dap_string_append_printf(l_str_tmp,"\t\t\t\t\t\tts_create=%s\n", dap_ctime_r( &l_datum_ts_create,buf ));
dap_string_append_printf(l_str_tmp,"\t\t\t\t\t\tdata_size=%u\n", l_datum->header.data_size);
......