diff --git a/libraries/chain/db_maint.cpp b/libraries/chain/db_maint.cpp index 0e9f0d97..2e945756 100644 --- a/libraries/chain/db_maint.cpp +++ b/libraries/chain/db_maint.cpp @@ -1955,7 +1955,7 @@ void database::perform_son_tasks() } } -void update_son_asset(database& db) +void update_son_params(database& db) { if( db.head_block_time() >= HARDFORK_SON2_TIME ) { @@ -1967,6 +1967,9 @@ void update_son_asset(database& db) asset_issuer_permission_flags::override_authority; }); } + db.modify( gpo, []( global_property_object& gpo ) { + gpo.parameters.extensions.value.maximum_son_count = 7; + }); } } @@ -1981,7 +1984,7 @@ void database::perform_chain_maintenance(const signed_block& next_block, const g rolling_period_start(*this); - update_son_asset(*this); + update_son_params(*this); struct vote_tally_helper { database& d; diff --git a/programs/witness_node/genesis.json b/programs/witness_node/genesis.json index 1e0610f4..d38f3e4e 100644 --- a/programs/witness_node/genesis.json +++ b/programs/witness_node/genesis.json @@ -392,7 +392,7 @@ "son_deregister_time": 43200, "son_heartbeat_frequency": 180, "son_down_time": 360, - "maximum_son_count": 15 + "maximum_son_count": 7 } }, "initial_bts_accounts": [], diff --git a/tests/cli/son.cpp b/tests/cli/son.cpp index 1d77608f..cf4fd8ed 100644 --- a/tests/cli/son.cpp +++ b/tests/cli/son.cpp @@ -345,7 +345,7 @@ BOOST_FIXTURE_TEST_CASE( select_top_fifteen_sons, cli_fixture ) BOOST_TEST_MESSAGE("gpo: " << gpo.active_sons.size()); BOOST_CHECK(generate_maintenance_block()); - BOOST_CHECK(gpo.active_sons.size() == 15); + BOOST_CHECK(gpo.active_sons.size() == gpo.parameters.maximum_son_count()); } catch( fc::exception& e ) { BOOST_TEST_MESSAGE("SON cli wallet tests exception");