// Block height must be >0 and <=last founders reward block height
// 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();
- assert(nHeight>0 && nHeight<=maxHeight);
+ assert(nHeight > 0 && nHeight <= maxHeight);
size_t addressChangeInterval = (maxHeight + vFoundersRewardAddress.size()) / vFoundersRewardAddress.size();
size_t i = nHeight / addressChangeInterval;
// Block height must be >0 and <=last founders reward block height
// 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());
CBitcoinAddress address(GetFoundersRewardAddressAtHeight(nHeight).c_str());
}
std::string CChainParams::GetFoundersRewardAddressAtIndex(int i) const {
- assert(i>=0 && i<vFoundersRewardAddress.size());
+ assert(i >= 0 && i < vFoundersRewardAddress.size());
return vFoundersRewardAddress[i];
}
pubkeys.resize(3);
CPubKey newKey;
std::vector<std::string> addresses;
- for (int i=0; i<numKeys; i++) {
+ for (int i = 0; i < numKeys; i++) {
ASSERT_TRUE(pWallet->GetKeyFromPool(newKey));
pubkeys[0] = newKey;
ASSERT_TRUE(pWallet->GetKeyFromPool(newKey));
// 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;
- for (int i=1; i<=maxHeight; i++) {
+ for (int i = 1; i <= maxHeight; i++) {
addresses.insert(Params().GetFoundersRewardAddressAtHeight(i));
}
- ASSERT_TRUE(addresses.size()==nUnique);
+ ASSERT_TRUE(addresses.size() == nUnique);
}
TEST(founders_reward_test, mainnet) {
SelectParams(CBaseChainParams::MAIN);
- CChainParams params = Params();
-
- int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
- checkNumberOfUniqueAddresses(maxHeight, NUM_MAINNET_FOUNDER_ADDRESSES);
+ checkNumberOfUniqueAddresses(NUM_MAINNET_FOUNDER_ADDRESSES);
}
TEST(founders_reward_test, testnet) {
SelectParams(CBaseChainParams::TESTNET);
- CChainParams params = Params();
-
- int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
- checkNumberOfUniqueAddresses(maxHeight, NUM_TESTNET_FOUNDER_ADDRESSES);
+ checkNumberOfUniqueAddresses(NUM_TESTNET_FOUNDER_ADDRESSES);
}
TEST(founders_reward_test, regtest) {
SelectParams(CBaseChainParams::REGTEST);
- CChainParams params = Params();
-
- int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
- checkNumberOfUniqueAddresses(maxHeight, NUM_REGTEST_FOUNDER_ADDRESSES);
+ checkNumberOfUniqueAddresses(NUM_REGTEST_FOUNDER_ADDRESSES);
}
int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
CAmount totalSubsidy = 0;
- for (int nHeight=1; nHeight<=maxHeight; nHeight++) {
- CAmount nSubsidy = GetBlockSubsidy(nHeight, params.GetConsensus())/ 5;
+ for (int nHeight = 1; nHeight <= maxHeight; nHeight++) {
+ CAmount nSubsidy = GetBlockSubsidy(nHeight, params.GetConsensus()) / 5;
totalSubsidy += nSubsidy;
}
SelectParams(CBaseChainParams::TESTNET);
CChainParams params = Params();
- int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
+ int maxHeight = params.GetConsensus().GetLastFoundersRewardBlockHeight();
std::multiset<std::string> ms;
- for (int nHeight=1; nHeight<=maxHeight; nHeight++) {
+ for (int nHeight = 1; nHeight <= maxHeight; nHeight++) {
ms.insert(params.GetFoundersRewardAddressAtHeight(nHeight));
}
ASSERT_TRUE(ms.count(params.GetFoundersRewardAddressAtIndex(i)) == 17709);
}
ASSERT_TRUE(ms.count(params.GetFoundersRewardAddressAtIndex(47)) == 17677);
-
}