Skip to content
Snippets Groups Projects
Commit a98b114b authored by alexey.stratulat's avatar alexey.stratulat Committed by Roman Khlopkov
Browse files

Features 8375

parent c52f7145
No related branches found
No related tags found
1 merge request!1040Features 8375
......@@ -30,6 +30,7 @@
#include "dap_enc_base58.h"
#include "dap_global_db.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"
......@@ -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);
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;
if (!dap_sign_get_pkey_hash(l_sign, &l_pkey_hash)) {
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
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);
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