Fix build & some cosmetic changes

This commit is contained in:
serkixenos 2022-09-05 00:38:00 +02:00
parent 35943b4f9c
commit 21c9a84971
5 changed files with 31 additions and 36 deletions

View file

@ -1101,28 +1101,6 @@ void database::init_genesis(const genesis_state_type& genesis_state)
// Initialize witness schedule // Initialize witness schedule
#ifndef NDEBUG
const son_schedule_object& ssohive =
#endif
create<son_schedule_object>([&](son_schedule_object& _sso)
{
// for scheduled
memset(_sso.rng_seed.begin(), 0, _sso.rng_seed.size());
witness_scheduler_rng rng(_sso.rng_seed.begin(), GRAPHENE_NEAR_SCHEDULE_CTR_IV);
auto init_witnesses = get_global_properties().active_witnesses;
_sso.scheduler = son_scheduler();
_sso.scheduler._min_token_count = std::max(int(init_witnesses.size()) / 2, 1);
_sso.last_scheduling_block = 0;
_sso.recent_slots_filled = fc::uint128::max_value();
});
assert( ssohive.id == son_schedule_id_type(get_son_schedule_id(sidechain_type::hive)) );
#ifndef NDEBUG #ifndef NDEBUG
const son_schedule_object& ssobitcoin = const son_schedule_object& ssobitcoin =
#endif #endif
@ -1133,11 +1111,11 @@ void database::init_genesis(const genesis_state_type& genesis_state)
witness_scheduler_rng rng(_sso.rng_seed.begin(), GRAPHENE_NEAR_SCHEDULE_CTR_IV); witness_scheduler_rng rng(_sso.rng_seed.begin(), GRAPHENE_NEAR_SCHEDULE_CTR_IV);
auto init_witnesses = get_global_properties().active_witnesses; auto init_bitcoin_sons = get_global_properties().active_sons.at(sidechain_type::bitcoin);
_sso.scheduler = son_scheduler(); _sso.scheduler = son_scheduler();
_sso.scheduler._min_token_count = std::max(int(init_witnesses.size()) / 2, 1); _sso.scheduler._min_token_count = std::max(int(init_bitcoin_sons.size()) / 2, 1);
//_sso.scheduler.update(init_bitcoin_sons);
_sso.last_scheduling_block = 0; _sso.last_scheduling_block = 0;
@ -1155,11 +1133,11 @@ void database::init_genesis(const genesis_state_type& genesis_state)
witness_scheduler_rng rng(_sso.rng_seed.begin(), GRAPHENE_NEAR_SCHEDULE_CTR_IV); witness_scheduler_rng rng(_sso.rng_seed.begin(), GRAPHENE_NEAR_SCHEDULE_CTR_IV);
auto init_witnesses = get_global_properties().active_witnesses; auto init_ethereum_sons = get_global_properties().active_sons.at(sidechain_type::ethereum);
_sso.scheduler = son_scheduler(); _sso.scheduler = son_scheduler();
_sso.scheduler._min_token_count = std::max(int(init_witnesses.size()) / 2, 1); _sso.scheduler._min_token_count = std::max(int(init_ethereum_sons.size()) / 2, 1);
//_sso.scheduler.update(init_ethereum_sons);
_sso.last_scheduling_block = 0; _sso.last_scheduling_block = 0;
@ -1167,11 +1145,27 @@ void database::init_genesis(const genesis_state_type& genesis_state)
}); });
assert( ssoethereum.id == son_schedule_id_type(get_son_schedule_id(sidechain_type::ethereum)) ); assert( ssoethereum.id == son_schedule_id_type(get_son_schedule_id(sidechain_type::ethereum)) );
#ifndef NDEBUG
const son_schedule_object& ssohive =
#endif
create<son_schedule_object>([&](son_schedule_object& _sso)
{
// for scheduled
memset(_sso.rng_seed.begin(), 0, _sso.rng_seed.size());
witness_scheduler_rng rng(_sso.rng_seed.begin(), GRAPHENE_NEAR_SCHEDULE_CTR_IV);
auto init_hive_sons = get_global_properties().active_sons.at(sidechain_type::hive);
_sso.scheduler = son_scheduler();
_sso.scheduler._min_token_count = std::max(int(init_hive_sons.size()) / 2, 1);
//_sso.scheduler.update(init_hive_sons);
_sso.last_scheduling_block = 0; _sso.last_scheduling_block = 0;
_sso.recent_slots_filled = fc::uint128::max_value(); _sso.recent_slots_filled = fc::uint128::max_value();
}); });
assert( ssobitcoin.id == son_schedule_id_type(get_son_schedule_id(sidechain_type::bitcoin)) ); assert( ssohive.id == son_schedule_id_type(get_son_schedule_id(sidechain_type::hive)) );
// Create FBA counters // Create FBA counters
create<fba_accumulator_object>([&]( fba_accumulator_object& acc ) create<fba_accumulator_object>([&]( fba_accumulator_object& acc )

View file

@ -92,7 +92,10 @@ vector<std::reference_wrapper<const son_object>> database::sort_votable_objects<
count = std::min(count, refs.size()); count = std::min(count, refs.size());
std::partial_sort(refs.begin(), refs.begin() + count, refs.end(), std::partial_sort(refs.begin(), refs.begin() + count, refs.end(),
[this, sidechain](const son_object& a, const son_object& b)->bool { [this, sidechain](const son_object& a, const son_object& b)->bool {
FC_ASSERT(sidechain == sidechain_type::bitcoin || sidechain == sidechain_type::hive || sidechain == sidechain_type::ethereum, "Unexpected sidechain type"); FC_ASSERT(sidechain == sidechain_type::bitcoin ||
sidechain == sidechain_type::ethereum ||
sidechain == sidechain_type::hive,
"Unexpected sidechain type");
const share_type oa_vote = _vote_tally_buffer[a.get_sidechain_vote_id(sidechain)]; const share_type oa_vote = _vote_tally_buffer[a.get_sidechain_vote_id(sidechain)];
const share_type ob_vote = _vote_tally_buffer[b.get_sidechain_vote_id(sidechain)]; const share_type ob_vote = _vote_tally_buffer[b.get_sidechain_vote_id(sidechain)];
@ -2044,7 +2047,7 @@ void database::perform_son_tasks()
}); });
} }
// create BTC asset here because son_account is the issuer of the BTC // create BTC asset here because son_account is the issuer of the BTC
if (gpo.parameters.btc_asset() == asset_id_type() && head_block_time() >= HARDFORK_SON_TIME) if (gpo.parameters.btc_asset() == asset_id_type() && head_block_time() >= HARDFORK_SON_TIME)
{ {
const asset_dynamic_data_object& dyn_asset = const asset_dynamic_data_object& dyn_asset =
create<asset_dynamic_data_object>([](asset_dynamic_data_object& a) { create<asset_dynamic_data_object>([](asset_dynamic_data_object& a) {
@ -2078,7 +2081,7 @@ void database::perform_son_tasks()
}); });
} }
// create ETH asset here because son_account is the issuer of the ETH // create ETH asset here because son_account is the issuer of the ETH
if (gpo.parameters.eth_asset() == asset_id_type() && head_block_time() >= HARDFORK_SON_FOR_ETHEREUM_TIME) if (gpo.parameters.eth_asset() == asset_id_type() && head_block_time() >= HARDFORK_SON_FOR_ETHEREUM_TIME)
{ {
const asset_dynamic_data_object& dyn_asset = const asset_dynamic_data_object& dyn_asset =
create<asset_dynamic_data_object>([](asset_dynamic_data_object& a) { create<asset_dynamic_data_object>([](asset_dynamic_data_object& a) {
@ -2112,7 +2115,7 @@ void database::perform_son_tasks()
}); });
} }
// create HBD asset here because son_account is the issuer of the HBD // create HBD asset here because son_account is the issuer of the HBD
if (gpo.parameters.hbd_asset() == asset_id_type() && head_block_time() >= HARDFORK_SON_FOR_HIVE_TIME) if (gpo.parameters.hbd_asset() == asset_id_type() && head_block_time() >= HARDFORK_SON_FOR_HIVE_TIME)
{ {
const asset_dynamic_data_object& dyn_asset = const asset_dynamic_data_object& dyn_asset =
create<asset_dynamic_data_object>([](asset_dynamic_data_object& a) { create<asset_dynamic_data_object>([](asset_dynamic_data_object& a) {

View file

@ -324,7 +324,6 @@ void database::update_son_schedule(const signed_block& next_block)
{ {
auto start = fc::time_point::now(); auto start = fc::time_point::now();
const global_property_object& gpo = get_global_properties(); const global_property_object& gpo = get_global_properties();
const son_schedule_object& sso = get(son_schedule_id_type());
const flat_map<sidechain_type, uint32_t> schedule_needs_filled = [&gpo]() const flat_map<sidechain_type, uint32_t> schedule_needs_filled = [&gpo]()
{ {
flat_map<sidechain_type, uint32_t> schedule_needs_filled; flat_map<sidechain_type, uint32_t> schedule_needs_filled;

View file

@ -14,7 +14,7 @@ enum class sidechain_type {
hive hive
}; };
static const std::set<sidechain_type> active_sidechain_types = {sidechain_type::bitcoin, sidechain_type::hive, sidechain_type::ethereum}; static const std::set<sidechain_type> active_sidechain_types = {sidechain_type::bitcoin, sidechain_type::ethereum, sidechain_type::hive};
} } } }

View file

@ -2,7 +2,6 @@
#include <boost/archive/iterators/base64_from_binary.hpp> #include <boost/archive/iterators/base64_from_binary.hpp>
#include <boost/archive/iterators/binary_from_base64.hpp> #include <boost/archive/iterators/binary_from_base64.hpp>
//#include <boost/archive/iterators/ostream_iterator.hpp>
#include <boost/archive/iterators/transform_width.hpp> #include <boost/archive/iterators/transform_width.hpp>
namespace graphene { namespace peerplays_sidechain { namespace graphene { namespace peerplays_sidechain {