Founders reward: Refactor test and formatting per review.
This commit is contained in:
parent
3b30d8361a
commit
241867b115
|
@ -341,10 +341,9 @@ bool SelectParamsFromCommandLine()
|
||||||
|
|
||||||
// Block height must be >0 and <=last founders reward block height
|
// Block height must be >0 and <=last founders reward block height
|
||||||
// Index variable i ranges from 0 - (vFoundersRewardAddress.size()-1)
|
// Index variable i ranges from 0 - (vFoundersRewardAddress.size()-1)
|
||||||
std::string CChainParams::GetFoundersRewardAddressAtHeight(int nHeight) const
|
std::string CChainParams::GetFoundersRewardAddressAtHeight(int nHeight) const {
|
||||||
{
|
|
||||||
int maxHeight = consensus.GetLastFoundersRewardBlockHeight();
|
int maxHeight = consensus.GetLastFoundersRewardBlockHeight();
|
||||||
assert(nHeight>0 && nHeight<=maxHeight);
|
assert(nHeight > 0 && nHeight <= maxHeight);
|
||||||
|
|
||||||
size_t addressChangeInterval = (maxHeight + vFoundersRewardAddress.size()) / vFoundersRewardAddress.size();
|
size_t addressChangeInterval = (maxHeight + vFoundersRewardAddress.size()) / vFoundersRewardAddress.size();
|
||||||
size_t i = nHeight / addressChangeInterval;
|
size_t i = nHeight / addressChangeInterval;
|
||||||
|
@ -353,8 +352,7 @@ std::string CChainParams::GetFoundersRewardAddressAtHeight(int nHeight) const
|
||||||
|
|
||||||
// Block height must be >0 and <=last founders reward block height
|
// Block height must be >0 and <=last founders reward block height
|
||||||
// The founders reward address is expected to be a multisig (P2SH) address
|
// The founders reward address is expected to be a multisig (P2SH) address
|
||||||
CScript CChainParams::GetFoundersRewardScriptAtHeight(int nHeight) const
|
CScript CChainParams::GetFoundersRewardScriptAtHeight(int nHeight) const {
|
||||||
{
|
|
||||||
assert(nHeight > 0 && nHeight <= consensus.GetLastFoundersRewardBlockHeight());
|
assert(nHeight > 0 && nHeight <= consensus.GetLastFoundersRewardBlockHeight());
|
||||||
|
|
||||||
CBitcoinAddress address(GetFoundersRewardAddressAtHeight(nHeight).c_str());
|
CBitcoinAddress address(GetFoundersRewardAddressAtHeight(nHeight).c_str());
|
||||||
|
@ -366,6 +364,6 @@ CScript CChainParams::GetFoundersRewardScriptAtHeight(int nHeight) const
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CChainParams::GetFoundersRewardAddressAtIndex(int i) const {
|
std::string CChainParams::GetFoundersRewardAddressAtIndex(int i) const {
|
||||||
assert(i>=0 && i<vFoundersRewardAddress.size());
|
assert(i >= 0 && i < vFoundersRewardAddress.size());
|
||||||
return vFoundersRewardAddress[i];
|
return vFoundersRewardAddress[i];
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ TEST(founders_reward_test, create_testnet_2of3multisig) {
|
||||||
pubkeys.resize(3);
|
pubkeys.resize(3);
|
||||||
CPubKey newKey;
|
CPubKey newKey;
|
||||||
std::vector<std::string> addresses;
|
std::vector<std::string> addresses;
|
||||||
for (int i=0; i<numKeys; i++) {
|
for (int i = 0; i < numKeys; i++) {
|
||||||
ASSERT_TRUE(pWallet->GetKeyFromPool(newKey));
|
ASSERT_TRUE(pWallet->GetKeyFromPool(newKey));
|
||||||
pubkeys[0] = newKey;
|
pubkeys[0] = newKey;
|
||||||
ASSERT_TRUE(pWallet->GetKeyFromPool(newKey));
|
ASSERT_TRUE(pWallet->GetKeyFromPool(newKey));
|
||||||
|
@ -70,12 +70,13 @@ TEST(founders_reward_test, create_testnet_2of3multisig) {
|
||||||
|
|
||||||
|
|
||||||
// Utility method to check the number of unique addresses from height 1 to maxHeight
|
// Utility method to check the number of unique addresses from height 1 to maxHeight
|
||||||
void checkNumberOfUniqueAddresses(int maxHeight, int nUnique) {
|
void checkNumberOfUniqueAddresses(int nUnique) {
|
||||||
|
int maxHeight = Params().GetConsensus().GetLastFoundersRewardBlockHeight();
|
||||||
std::set<std::string> addresses;
|
std::set<std::string> addresses;
|
||||||
for (int i=1; i<=maxHeight; i++) {
|
for (int i = 1; i <= maxHeight; i++) {
|
||||||
addresses.insert(Params().GetFoundersRewardAddressAtHeight(i));
|
addresses.insert(Params().GetFoundersRewardAddressAtHeight(i));
|
||||||
}
|
}
|
||||||
ASSERT_TRUE(addresses.size()==nUnique);
|
ASSERT_TRUE(addresses.size() == nUnique);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -104,10 +105,7 @@ TEST(founders_reward_test, general) {
|
||||||
|
|
||||||
TEST(founders_reward_test, mainnet) {
|
TEST(founders_reward_test, mainnet) {
|
||||||
SelectParams(CBaseChainParams::MAIN);
|
SelectParams(CBaseChainParams::MAIN);
|
||||||
CChainParams params = Params();
|
checkNumberOfUniqueAddresses(NUM_MAINNET_FOUNDER_ADDRESSES);
|
||||||
|
|
||||||
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
|
|
||||||
checkNumberOfUniqueAddresses(maxHeight, NUM_MAINNET_FOUNDER_ADDRESSES);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -115,10 +113,7 @@ TEST(founders_reward_test, mainnet) {
|
||||||
|
|
||||||
TEST(founders_reward_test, testnet) {
|
TEST(founders_reward_test, testnet) {
|
||||||
SelectParams(CBaseChainParams::TESTNET);
|
SelectParams(CBaseChainParams::TESTNET);
|
||||||
CChainParams params = Params();
|
checkNumberOfUniqueAddresses(NUM_TESTNET_FOUNDER_ADDRESSES);
|
||||||
|
|
||||||
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
|
|
||||||
checkNumberOfUniqueAddresses(maxHeight, NUM_TESTNET_FOUNDER_ADDRESSES);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,10 +121,7 @@ TEST(founders_reward_test, testnet) {
|
||||||
|
|
||||||
TEST(founders_reward_test, regtest) {
|
TEST(founders_reward_test, regtest) {
|
||||||
SelectParams(CBaseChainParams::REGTEST);
|
SelectParams(CBaseChainParams::REGTEST);
|
||||||
CChainParams params = Params();
|
checkNumberOfUniqueAddresses(NUM_REGTEST_FOUNDER_ADDRESSES);
|
||||||
|
|
||||||
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
|
|
||||||
checkNumberOfUniqueAddresses(maxHeight, NUM_REGTEST_FOUNDER_ADDRESSES);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -142,8 +134,8 @@ TEST(founders_reward_test, slow_start_subsidy) {
|
||||||
|
|
||||||
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
|
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
|
||||||
CAmount totalSubsidy = 0;
|
CAmount totalSubsidy = 0;
|
||||||
for (int nHeight=1; nHeight<=maxHeight; nHeight++) {
|
for (int nHeight = 1; nHeight <= maxHeight; nHeight++) {
|
||||||
CAmount nSubsidy = GetBlockSubsidy(nHeight, params.GetConsensus())/ 5;
|
CAmount nSubsidy = GetBlockSubsidy(nHeight, params.GetConsensus()) / 5;
|
||||||
totalSubsidy += nSubsidy;
|
totalSubsidy += nSubsidy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,9 +148,9 @@ TEST(founders_reward_test, per_address_reward) {
|
||||||
SelectParams(CBaseChainParams::TESTNET);
|
SelectParams(CBaseChainParams::TESTNET);
|
||||||
CChainParams params = Params();
|
CChainParams params = Params();
|
||||||
|
|
||||||
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
|
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
|
||||||
std::multiset<std::string> ms;
|
std::multiset<std::string> ms;
|
||||||
for (int nHeight=1; nHeight<=maxHeight; nHeight++) {
|
for (int nHeight = 1; nHeight <= maxHeight; nHeight++) {
|
||||||
ms.insert(params.GetFoundersRewardAddressAtHeight(nHeight));
|
ms.insert(params.GetFoundersRewardAddressAtHeight(nHeight));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,6 +159,5 @@ TEST(founders_reward_test, per_address_reward) {
|
||||||
ASSERT_TRUE(ms.count(params.GetFoundersRewardAddressAtIndex(i)) == 17709);
|
ASSERT_TRUE(ms.count(params.GetFoundersRewardAddressAtIndex(i)) == 17709);
|
||||||
}
|
}
|
||||||
ASSERT_TRUE(ms.count(params.GetFoundersRewardAddressAtIndex(47)) == 17677);
|
ASSERT_TRUE(ms.count(params.GetFoundersRewardAddressAtIndex(47)) == 17677);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue