diff --git a/libraries/chain/chain_controller.cpp b/libraries/chain/chain_controller.cpp index 79de4090045d6e6eaf03854a185803a2159ad7c4..5ace0162547be6c34648f9404e9e6be58640b86b 100644 --- a/libraries/chain/chain_controller.cpp +++ b/libraries/chain/chain_controller.cpp @@ -719,7 +719,7 @@ void chain_controller::update_global_properties(const signed_block& b) { gpo.configuration = std::move(config); }); - auto active_producers_authority = types::Authority(uint32_t(gpo.active_producers.size()*config::ProducersAuthorityThreshold), {}, {}); + auto active_producers_authority = types::Authority(config::ProducersAuthorityThreshold, {}, {}); for(auto& name : gpo.active_producers) { active_producers_authority.accounts.push_back({{name, config::ActiveName}, 1}); } diff --git a/libraries/chain/include/eos/chain/config.hpp b/libraries/chain/include/eos/chain/config.hpp index 7f7739639b8212bfff1149b1f496bfd97272884a..edd8ef5804ac8abfd9588855ee57047c56e52c49 100644 --- a/libraries/chain/include/eos/chain/config.hpp +++ b/libraries/chain/include/eos/chain/config.hpp @@ -61,7 +61,7 @@ const static ShareType DefaultElectedPay = Asset(100).amount; const static ShareType DefaultRunnerUpPay = Asset(75).amount; const static ShareType DefaultMinEosBalance = Asset(100).amount; const static UInt32 DefaultMaxTrxLifetime = 60*60; -const static double ProducersAuthorityThreshold = 2.0/3.0; +const static UInt32 ProducersAuthorityThreshold = 14; const static int BlocksPerRound = 21; const static int VotedProducersPerRound = 20; diff --git a/libraries/native_contract/native_contract_chain_initializer.cpp b/libraries/native_contract/native_contract_chain_initializer.cpp index 16d049731c1bbc88bf8a3dde98d28ef1e543cd18..2b97e5baee64f2d1a2dd3b3b5d675142e2996c9f 100644 --- a/libraries/native_contract/native_contract_chain_initializer.cpp +++ b/libraries/native_contract/native_contract_chain_initializer.cpp @@ -165,7 +165,7 @@ std::vector native_contract_chain_initializer::prepare_database( }; auto empty_authority = types::Authority(0, {}, {}); - auto active_producers_authority = types::Authority(uint32_t(genesis.initial_producers.size()*config::ProducersAuthorityThreshold), {}, {}); + auto active_producers_authority = types::Authority(config::ProducersAuthorityThreshold, {}, {}); for(auto& p : genesis.initial_producers) { active_producers_authority.accounts.push_back({{p.owner_name, config::ActiveName}, 1}); } diff --git a/tests/tests/special_accounts_tests.cpp b/tests/tests/special_accounts_tests.cpp index 479c4c8b4274ab7bc33ae4ab81d5b5a2f10d7727..31f554e1b1fa9246a2026cc0cd9409a7e36b35d0 100644 --- a/tests/tests/special_accounts_tests.cpp +++ b/tests/tests/special_accounts_tests.cpp @@ -52,10 +52,9 @@ BOOST_FIXTURE_TEST_CASE(accounts_exists, testing_fixture) BOOST_CHECK(producers != nullptr); auto& gpo = chain_db.get(); - auto threshold = uint32_t(gpo.active_producers.size()*config::ProducersAuthorityThreshold); const auto& producers_active_authority = chain_db.get(boost::make_tuple(config::ProducersAccountName, config::ActiveName)); - BOOST_CHECK_EQUAL(producers_active_authority.auth.threshold, threshold); + BOOST_CHECK_EQUAL(producers_active_authority.auth.threshold, config::ProducersAuthorityThreshold); BOOST_CHECK_EQUAL(producers_active_authority.auth.accounts.size(), gpo.active_producers.size()); BOOST_CHECK_EQUAL(producers_active_authority.auth.keys.size(), 0); @@ -109,10 +108,8 @@ BOOST_FIXTURE_TEST_CASE(producers_authority, testing_fixture) BOOST_REQUIRE(boost::find(gpo.active_producers, "newproducer2") != gpo.active_producers.end()); BOOST_REQUIRE(boost::find(gpo.active_producers, "newproducer3") != gpo.active_producers.end()); - auto threshold = uint32_t(gpo.active_producers.size()*config::ProducersAuthorityThreshold); - const auto& producers_active_authority = chain_db.get(boost::make_tuple(config::ProducersAccountName, config::ActiveName)); - BOOST_CHECK_EQUAL(producers_active_authority.auth.threshold, threshold); + BOOST_CHECK_EQUAL(producers_active_authority.auth.threshold, config::ProducersAuthorityThreshold); BOOST_CHECK_EQUAL(producers_active_authority.auth.accounts.size(), gpo.active_producers.size()); BOOST_CHECK_EQUAL(producers_active_authority.auth.keys.size(), 0);