Skip to content
Snippets Groups Projects
Commit 9fde9770 authored by Roman Khlopkov's avatar Roman Khlopkov 🔜
Browse files

Merge branch 'release-5.2' of gitlab.demlabs.net:cellframe/cellframe-sdk into release-5.2

parents 62276755 4a75f417
No related branches found
No related tags found
No related merge requests found
Pipeline #25069 passed with stage
in 8 minutes and 10 seconds
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "dap_enc_base58.h" #include "dap_enc_base58.h"
#include "dap_global_db.h" #include "dap_global_db.h"
#include "dap_chain_net_srv_countries.h" #include "dap_chain_net_srv_countries.h"
#include "dap_chain_net_srv_stake_pos_delegate.h"
#define LOG_TAG "dap_chain_net_srv_order" #define LOG_TAG "dap_chain_net_srv_order"
...@@ -617,6 +618,22 @@ static void s_srv_order_callback_notify(dap_global_db_context_t *a_context, dap_ ...@@ -617,6 +618,22 @@ static void s_srv_order_callback_notify(dap_global_db_context_t *a_context, dap_
log_it(L_ERROR, "Order unverified, err %d", l_verify); log_it(L_ERROR, "Order unverified, err %d", l_verify);
dap_global_db_del_unsafe(l_gdb_context, a_obj->group, a_obj->key); dap_global_db_del_unsafe(l_gdb_context, a_obj->group, a_obj->key);
} }
// Check new order is signs delegated key
for (size_t l_offset = 0; l_offset < l_max_size;) {
dap_sign_t *l_tmp_sign = (dap_sign_t*)(l_sign + l_offset);
l_offset += dap_sign_get_size(l_tmp_sign);
dap_hash_fast_t l_pkey_hash = {0};
dap_sign_get_pkey_hash(l_sign, &l_pkey_hash);
dap_chain_addr_t l_addr = {0};
dap_chain_addr_fill(&l_addr, l_tmp_sign->header.type, &l_pkey_hash, l_net->pub.id);
if (!dap_chain_net_srv_stake_key_delegated(&l_addr)) {
char *l_pkey_hash_str = dap_hash_fast_to_str_new(&l_pkey_hash);
log_it(L_ERROR, "Order %s signed by the non-delegated public key %s.", a_obj->key, l_pkey_hash_str);
DAP_DELETE(l_pkey_hash_str);
dap_global_db_del_unsafe(l_gdb_context, a_obj->group, a_obj->key);
break;
}
}
/*dap_chain_hash_fast_t l_pkey_hash; /*dap_chain_hash_fast_t l_pkey_hash;
if (!dap_sign_get_pkey_hash(l_sign, &l_pkey_hash)) { if (!dap_sign_get_pkey_hash(l_sign, &l_pkey_hash)) {
dap_global_db_gr_del(dap_strdup(a_key), a_group); dap_global_db_gr_del(dap_strdup(a_key), a_group);
......
...@@ -74,3 +74,4 @@ void dap_chain_net_srv_stake_get_fee_validators(dap_chain_net_t *a_net, dap_stri ...@@ -74,3 +74,4 @@ void dap_chain_net_srv_stake_get_fee_validators(dap_chain_net_t *a_net, dap_stri
int dap_chain_net_srv_stake_load_cache(dap_chain_net_t *a_net); int dap_chain_net_srv_stake_load_cache(dap_chain_net_t *a_net);
void dap_chain_net_srv_stake_cache_purge(dap_chain_net_t *a_net); void dap_chain_net_srv_stake_cache_purge(dap_chain_net_t *a_net);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment