bool proposal_object::is_authorized_to_execute(database& db) const { transaction_evaluation_state dry_run_eval(&db); try { bool allow_non_immediate_owner = ( db.head_block_time() >= HARDFORK_CORE_584_TIME ); verify_authority( proposed_transaction.operations, available_key_approvals, [&]( account_id_type id ){ return &id(db).active; }, [&]( account_id_type id ){ return &id(db).owner; }, allow_non_immediate_owner, db.get_global_properties().parameters.max_authority_depth, true, /* allow committeee */ available_active_approvals, available_owner_approvals ); } catch ( const fc::exception& e ) { return false; } return true; }
bool proposal_object::is_authorized_to_execute(database& db) const { transaction_evaluation_state dry_run_eval(&db); try { verify_authority( proposed_transaction.operations, available_key_approvals, [&]( account_id_type id ){ return &id(db).active; }, [&]( account_id_type id ){ return &id(db).owner; }, db.get_global_properties().parameters.max_authority_depth, true, /* allow committeee */ available_active_approvals, available_owner_approvals ); } catch ( const fc::exception& e ) { //idump((available_active_approvals)); //wlog((e.to_detail_string())); return false; } return true; }