提交 f7a17ee8 编写于 作者: K Khaled Al-Hassanieh

Delete savings field from eosio_global_state

上级 aecf0890
......@@ -258,7 +258,6 @@
{"name":"last_pervote_bucket_fill", "type":"uint64"},
{"name":"pervote_bucket", "type":"int64"},
{"name":"perblock_bucket", "type":"int64"},
{"name":"savings", "type":"int64"},
{"name":"total_unpaid_blocks", "type":"uint32"},
{"name":"total_activated_stake", "type":"int64"},
{"name":"thresh_activated_stake_time", "type":"uint64"},
......
......@@ -54,7 +54,6 @@ namespace eosiosystem {
uint64_t last_pervote_bucket_fill = 0;
int64_t pervote_bucket = 0;
int64_t perblock_bucket = 0;
int64_t savings = 0;
uint32_t total_unpaid_blocks = 0; /// all blocks which have been produced but not paid
int64_t total_activated_stake = 0;
uint64_t thresh_activated_stake_time = 0;
......@@ -66,7 +65,7 @@ namespace eosiosystem {
// explicit serialization macro is not necessary, used here only to improve compilation time
EOSLIB_SERIALIZE_DERIVED( eosio_global_state, eosio_parameters, (total_ram_bytes_reserved)(total_ram_stake)
(last_producer_schedule_update)(last_pervote_bucket_fill)
(pervote_bucket)(perblock_bucket)(savings)(total_unpaid_blocks)(total_activated_stake)(thresh_activated_stake_time)
(pervote_bucket)(perblock_bucket)(total_unpaid_blocks)(total_activated_stake)(thresh_activated_stake_time)
(last_producer_schedule_id)(last_producer_schedule_size)(total_producer_vote_weight)(last_name_close) )
};
......
......@@ -103,7 +103,6 @@ namespace eosiosystem {
_gstate.pervote_bucket += to_per_vote_pay;
_gstate.perblock_bucket += to_per_block_pay;
_gstate.savings += to_savings;
_gstate.last_pervote_bucket_fill = ct;
}
......
......@@ -1151,7 +1151,7 @@ BOOST_FIXTURE_TEST_CASE(producer_pay, eosio_system_tester, * boost::unit_test::t
const uint64_t initial_claim_time = initial_global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t initial_pervote_bucket = initial_global_state["pervote_bucket"].as<int64_t>();
const int64_t initial_perblock_bucket = initial_global_state["perblock_bucket"].as<int64_t>();
const int64_t initial_savings = initial_global_state["savings"].as<int64_t>();
const int64_t initial_savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t initial_tot_unpaid_blocks = initial_global_state["total_unpaid_blocks"].as<uint32_t>();
prod = get_producer_info("defproducera");
......@@ -1170,7 +1170,7 @@ BOOST_FIXTURE_TEST_CASE(producer_pay, eosio_system_tester, * boost::unit_test::t
const uint64_t claim_time = global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t pervote_bucket = global_state["pervote_bucket"].as<int64_t>();
const int64_t perblock_bucket = global_state["perblock_bucket"].as<int64_t>();
const int64_t savings = global_state["savings"].as<int64_t>();
const int64_t savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t tot_unpaid_blocks = global_state["total_unpaid_blocks"].as<uint32_t>();
......@@ -1229,7 +1229,7 @@ BOOST_FIXTURE_TEST_CASE(producer_pay, eosio_system_tester, * boost::unit_test::t
const uint64_t initial_claim_time = initial_global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t initial_pervote_bucket = initial_global_state["pervote_bucket"].as<int64_t>();
const int64_t initial_perblock_bucket = initial_global_state["perblock_bucket"].as<int64_t>();
const int64_t initial_savings = initial_global_state["savings"].as<int64_t>();
const int64_t initial_savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t initial_tot_unpaid_blocks = initial_global_state["total_unpaid_blocks"].as<uint32_t>();
const double initial_tot_vote_weight = initial_global_state["total_producer_vote_weight"].as<double>();
......@@ -1253,7 +1253,7 @@ BOOST_FIXTURE_TEST_CASE(producer_pay, eosio_system_tester, * boost::unit_test::t
const uint64_t claim_time = global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t pervote_bucket = global_state["pervote_bucket"].as<int64_t>();
const int64_t perblock_bucket = global_state["perblock_bucket"].as<int64_t>();
const int64_t savings = global_state["savings"].as<int64_t>();
const int64_t savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t tot_unpaid_blocks = global_state["total_unpaid_blocks"].as<uint32_t>();
......@@ -1295,7 +1295,7 @@ BOOST_FIXTURE_TEST_CASE(producer_pay, eosio_system_tester, * boost::unit_test::t
regproducer(N(defproducerb));
regproducer(N(defproducerc));
const asset initial_supply = get_token_supply();
const int64_t initial_savings = get_global_state()["savings"].as<int64_t>();
const int64_t initial_savings = get_balance(N(eosio.saving)).get_amount();
for (uint32_t i = 0; i < 7 * 52; ++i) {
produce_block(fc::seconds(8 * 3600));
BOOST_REQUIRE_EQUAL(success(), push_action(N(defproducerc), N(claimrewards), mvo()("owner", "defproducerc")));
......@@ -1305,7 +1305,7 @@ BOOST_FIXTURE_TEST_CASE(producer_pay, eosio_system_tester, * boost::unit_test::t
BOOST_REQUIRE_EQUAL(success(), push_action(N(defproducera), N(claimrewards), mvo()("owner", "defproducera")));
}
const asset supply = get_token_supply();
const int64_t savings = get_global_state()["savings"].as<int64_t>();
const int64_t savings = get_balance(N(eosio.saving)).get_amount();
// Amount issued per year is very close to the 5% inflation target. Small difference (500 tokens out of 50'000'000 issued)
// is due to compounding every 8 hours in this test as opposed to theoretical continuous compounding
BOOST_REQUIRE(500 * 10000 > int64_t(double(initial_supply.get_amount()) * double(0.05)) - (supply.get_amount() - initial_supply.get_amount()));
......@@ -1453,10 +1453,9 @@ BOOST_FIXTURE_TEST_CASE(multiple_producer_pay, eosio_system_tester, * boost::uni
const uint64_t initial_claim_time = initial_global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t initial_pervote_bucket = initial_global_state["pervote_bucket"].as<int64_t>();
const int64_t initial_perblock_bucket = initial_global_state["perblock_bucket"].as<int64_t>();
const int64_t initial_savings = initial_global_state["savings"].as<int64_t>();
const int64_t initial_savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t initial_tot_unpaid_blocks = initial_global_state["total_unpaid_blocks"].as<uint32_t>();
const asset initial_supply = get_token_supply();
const asset initial_saving_balance = get_balance(N(eosio.saving));
const asset initial_bpay_balance = get_balance(N(eosio.bpay));
const asset initial_vpay_balance = get_balance(N(eosio.vpay));
const asset initial_balance = get_balance(prod_name);
......@@ -1468,10 +1467,9 @@ BOOST_FIXTURE_TEST_CASE(multiple_producer_pay, eosio_system_tester, * boost::uni
const uint64_t claim_time = global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t pervote_bucket = global_state["pervote_bucket"].as<int64_t>();
const int64_t perblock_bucket = global_state["perblock_bucket"].as<int64_t>();
const int64_t savings = global_state["savings"].as<int64_t>();
const int64_t savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t tot_unpaid_blocks = global_state["total_unpaid_blocks"].as<uint32_t>();
const asset supply = get_token_supply();
const asset saving_balance = get_balance(N(eosio.saving));
const asset bpay_balance = get_balance(N(eosio.bpay));
const asset vpay_balance = get_balance(N(eosio.vpay));
const asset balance = get_balance(prod_name);
......@@ -1484,8 +1482,6 @@ BOOST_FIXTURE_TEST_CASE(multiple_producer_pay, eosio_system_tester, * boost::uni
BOOST_REQUIRE_EQUAL( int64_t(expected_supply_growth), supply.get_amount() - initial_supply.get_amount() );
BOOST_REQUIRE_EQUAL( int64_t(expected_supply_growth) - int64_t(expected_supply_growth)/5, savings - initial_savings );
BOOST_REQUIRE_EQUAL( int64_t(expected_supply_growth) - int64_t(expected_supply_growth)/5,
saving_balance.get_amount() - initial_saving_balance.get_amount() );
const int64_t expected_perblock_bucket = int64_t( double(initial_supply.get_amount()) * double(usecs_between_fills) * (0.25 * cont_rate/ 5.) / usecs_per_year );
const int64_t expected_pervote_bucket = int64_t( double(initial_supply.get_amount()) * double(usecs_between_fills) * (0.75 * cont_rate/ 5.) / usecs_per_year );
......@@ -1534,10 +1530,9 @@ BOOST_FIXTURE_TEST_CASE(multiple_producer_pay, eosio_system_tester, * boost::uni
const uint64_t initial_claim_time = initial_global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t initial_pervote_bucket = initial_global_state["pervote_bucket"].as<int64_t>();
const int64_t initial_perblock_bucket = initial_global_state["perblock_bucket"].as<int64_t>();
const int64_t initial_savings = initial_global_state["savings"].as<int64_t>();
const int64_t initial_savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t initial_tot_unpaid_blocks = initial_global_state["total_unpaid_blocks"].as<uint32_t>();
const asset initial_supply = get_token_supply();
const asset initial_saving_balance = get_balance(N(eosio.saving));
const asset initial_bpay_balance = get_balance(N(eosio.bpay));
const asset initial_vpay_balance = get_balance(N(eosio.vpay));
const asset initial_balance = get_balance(prod_name);
......@@ -1549,10 +1544,9 @@ BOOST_FIXTURE_TEST_CASE(multiple_producer_pay, eosio_system_tester, * boost::uni
const uint64_t claim_time = global_state["last_pervote_bucket_fill"].as_uint64();
const int64_t pervote_bucket = global_state["pervote_bucket"].as<int64_t>();
const int64_t perblock_bucket = global_state["perblock_bucket"].as<int64_t>();
const int64_t savings = global_state["savings"].as<int64_t>();
const int64_t savings = get_balance(N(eosio.saving)).get_amount();
const uint32_t tot_unpaid_blocks = global_state["total_unpaid_blocks"].as<uint32_t>();
const asset supply = get_token_supply();
const asset saving_balance = get_balance(N(eosio.saving));
const asset bpay_balance = get_balance(N(eosio.bpay));
const asset vpay_balance = get_balance(N(eosio.vpay));
const asset balance = get_balance(prod_name);
......@@ -1563,8 +1557,6 @@ BOOST_FIXTURE_TEST_CASE(multiple_producer_pay, eosio_system_tester, * boost::uni
const double expected_supply_growth = initial_supply.get_amount() * double(usecs_between_fills) * cont_rate / usecs_per_year;
BOOST_REQUIRE_EQUAL( int64_t(expected_supply_growth), supply.get_amount() - initial_supply.get_amount() );
BOOST_REQUIRE_EQUAL( int64_t(expected_supply_growth) - int64_t(expected_supply_growth)/5, savings - initial_savings );
BOOST_REQUIRE_EQUAL( int64_t(expected_supply_growth) - int64_t(expected_supply_growth)/5,
saving_balance.get_amount() - initial_saving_balance.get_amount() );
const int64_t expected_perblock_bucket = int64_t( double(initial_supply.get_amount()) * double(usecs_between_fills) * (0.25 * cont_rate/ 5.) / usecs_per_year )
+ initial_perblock_bucket;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册