Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Commit

Permalink
Add new light_validation_mode method since skip_auth_check requires p…
Browse files Browse the repository at this point in the history
…ending
  • Loading branch information
heifner committed Feb 25, 2020
1 parent 7169e9a commit 7ad5cbd
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
6 changes: 4 additions & 2 deletions libraries/chain/controller.cpp
Expand Up @@ -3025,12 +3025,14 @@ bool controller::light_validation_allowed(bool replay_opts_disabled_by_policy) c
const bool consider_skipping_on_replay = (pb_status == block_status::irreversible || pb_status == block_status::validated) && !replay_opts_disabled_by_policy;

// OR in a signed block and in light validation mode
const bool consider_skipping_on_validate = (pb_status == block_status::complete &&
(my->conf.block_validation_mode == validation_mode::LIGHT || my->trusted_producer_light_validation));
const bool consider_skipping_on_validate = pb_status == block_status::complete && light_validation_mode();

return consider_skipping_on_replay || consider_skipping_on_validate;
}

bool controller::light_validation_mode() const {
return my->conf.block_validation_mode == validation_mode::LIGHT || my->trusted_producer_light_validation;
}

bool controller::skip_auth_check() const {
return light_validation_allowed(my->conf.force_all_checks);
Expand Down
1 change: 1 addition & 0 deletions libraries/chain/include/eosio/chain/controller.hpp
Expand Up @@ -273,6 +273,7 @@ namespace eosio { namespace chain {
int64_t set_proposed_producers( vector<producer_authority> producers );

bool light_validation_allowed(bool replay_opts_disabled_by_policy) const;
bool light_validation_mode() const;
bool skip_auth_check()const;
bool skip_db_sessions( )const;
bool skip_db_sessions( block_status bs )const;
Expand Down
4 changes: 2 additions & 2 deletions plugins/net_plugin/net_plugin.cpp
Expand Up @@ -3087,7 +3087,7 @@ namespace eosio {
void net_plugin_impl::on_accepted_block(const block_state_ptr& block) {
update_chain_info();
controller& cc = chain_plug->chain();
if( !cc.skip_auth_check() ) {
if( !cc.light_validation_mode() ) {
dispatcher->strand.post( [this, block]() {
fc_dlog( logger, "signaled accepted_block, blk num = ${num}, id = ${id}", ("num", block->block_num)("id", block->id) );
dispatcher->bcast_block( block );
Expand All @@ -3099,7 +3099,7 @@ namespace eosio {
void net_plugin_impl::on_accepted_block_header(const block_state_ptr& block) {
update_chain_info();
controller& cc = chain_plug->chain();
if( cc.skip_auth_check() ) {
if( cc.light_validation_mode() ) {
dispatcher->strand.post( [this, block]() {
fc_dlog( logger, "signaled accepted_block_header, blk num = ${num}, id = ${id}", ("num", block->block_num)("id", block->id) );
dispatcher->bcast_block( block );
Expand Down

0 comments on commit 7ad5cbd

Please sign in to comment.