Skip to content

Commit

Permalink
Merge cebf133 into fb006d0
Browse files Browse the repository at this point in the history
  • Loading branch information
toxeus committed Aug 27, 2018
2 parents fb006d0 + cebf133 commit 34b432c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 22 deletions.
1 change: 1 addition & 0 deletions include/bitcoin/bitcoin/settings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class BC_API settings
//--------------------------------------------------------------------------

uint64_t bitcoin_to_satoshi(uint64_t bitcoin_units=1) const;
uint64_t max_money_recursive(uint64_t money) const;

uint32_t retargeting_factor;
uint32_t target_spacing_seconds;
Expand Down
8 changes: 7 additions & 1 deletion src/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ settings::settings()
bip9_version_base(0x20000000),
satoshi_per_bitcoin(100000000),
initial_block_subsidy_bitcoin(50),
recursive_money(9999999989u)
recursive_money(max_money_recursive(bitcoin_to_satoshi(
initial_block_subsidy_bitcoin)))
{
}

Expand Down Expand Up @@ -254,4 +255,9 @@ uint64_t settings::bitcoin_to_satoshi(uint64_t bitcoin_units) const
return bitcoin_units * satoshi_per_bitcoin;
}

uint64_t settings::max_money_recursive(uint64_t money) const
{
return money > 0 ? money + max_money_recursive(money >> 1) : 0;
}

} // namespace libbitcoin
21 changes: 0 additions & 21 deletions test/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ using namespace bc;

BOOST_AUTO_TEST_SUITE(settings_tests)

uint64_t max_money_recursive(uint64_t money)
{
return money > 0 ? money + max_money_recursive(money >> 1) : 0;
}

// constructors
//-----------------------------------------------------------------------------

Expand All @@ -52,10 +47,6 @@ BOOST_AUTO_TEST_CASE(settings__construct__default_context__expected)
BOOST_REQUIRE_EQUAL(configuration.satoshi_per_bitcoin, 100000000);
BOOST_REQUIRE_EQUAL(configuration.initial_block_subsidy_bitcoin, 50);
BOOST_REQUIRE_EQUAL(configuration.recursive_money, 9999999989u);
auto coin_subsidy = configuration.initial_block_subsidy_bitcoin;
coin_subsidy = configuration.bitcoin_to_satoshi(coin_subsidy);
const auto recursive_money = max_money_recursive(coin_subsidy);
BOOST_REQUIRE_EQUAL(recursive_money, configuration.recursive_money);
const auto satoshi_per_bitcoin = configuration.bitcoin_to_satoshi(1);
BOOST_REQUIRE_EQUAL(satoshi_per_bitcoin, configuration.satoshi_per_bitcoin);
}
Expand Down Expand Up @@ -140,10 +131,6 @@ BOOST_AUTO_TEST_CASE(settings__construct__mainnet_context__expected)
BOOST_REQUIRE_EQUAL(configuration.initial_block_subsidy_bitcoin, 50);
BOOST_REQUIRE_EQUAL(configuration.recursive_money, 9999999989u);
BOOST_REQUIRE_EQUAL(configuration.subsidy_interval, 210000);
auto coin_subsidy = configuration.initial_block_subsidy_bitcoin;
coin_subsidy = configuration.bitcoin_to_satoshi(coin_subsidy);
const auto recursive_money = max_money_recursive(coin_subsidy);
BOOST_REQUIRE_EQUAL(recursive_money, configuration.recursive_money);
const auto satoshi_per_bitcoin = configuration.bitcoin_to_satoshi(1);
BOOST_REQUIRE_EQUAL(satoshi_per_bitcoin, configuration.satoshi_per_bitcoin);
BOOST_REQUIRE_EQUAL(configuration.max_money, 2099999997690000);
Expand Down Expand Up @@ -229,10 +216,6 @@ BOOST_AUTO_TEST_CASE(settings__construct__testnet_context__expected)
BOOST_REQUIRE_EQUAL(configuration.initial_block_subsidy_bitcoin, 50);
BOOST_REQUIRE_EQUAL(configuration.recursive_money, 9999999989u);
BOOST_REQUIRE_EQUAL(configuration.subsidy_interval, 210000);
auto coin_subsidy = configuration.initial_block_subsidy_bitcoin;
coin_subsidy = configuration.bitcoin_to_satoshi(coin_subsidy);
const auto recursive_money = max_money_recursive(coin_subsidy);
BOOST_REQUIRE_EQUAL(recursive_money, configuration.recursive_money);
const auto satoshi_per_bitcoin = configuration.bitcoin_to_satoshi(1);
BOOST_REQUIRE_EQUAL(satoshi_per_bitcoin, configuration.satoshi_per_bitcoin);
BOOST_REQUIRE_EQUAL(configuration.max_money, 2099999997690000);
Expand Down Expand Up @@ -307,10 +290,6 @@ BOOST_AUTO_TEST_CASE(settings__construct__regtest_context__expected)
BOOST_REQUIRE_EQUAL(configuration.initial_block_subsidy_bitcoin, 50);
BOOST_REQUIRE_EQUAL(configuration.recursive_money, 9999999989u);
BOOST_REQUIRE_EQUAL(configuration.subsidy_interval, 150);
auto coin_subsidy = configuration.initial_block_subsidy_bitcoin;
coin_subsidy = configuration.bitcoin_to_satoshi(coin_subsidy);
const auto recursive_money = max_money_recursive(coin_subsidy);
BOOST_REQUIRE_EQUAL(recursive_money, configuration.recursive_money);
const auto satoshi_per_bitcoin = configuration.bitcoin_to_satoshi(1);
BOOST_REQUIRE_EQUAL(satoshi_per_bitcoin, configuration.satoshi_per_bitcoin);
BOOST_REQUIRE_EQUAL(configuration.max_money, 1499999998350);
Expand Down

0 comments on commit 34b432c

Please sign in to comment.