Skip to content

Commit

Permalink
Merge pull request #3 from CryptoDev-Project/master
Browse files Browse the repository at this point in the history
Update block rewards, times and masternode collateral. Remove precomputes thread.
  • Loading branch information
CryptoDev-Project committed May 8, 2019
2 parents 246eb56 + 9d2f8a8 commit 0442556
Show file tree
Hide file tree
Showing 11 changed files with 81 additions and 168 deletions.
2 changes: 1 addition & 1 deletion src/activemasternode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ vector<COutput> CActiveMasternode::SelectCoinsMasternode()

// Filter
BOOST_FOREACH (const COutput& out, vCoins) {
if (out.tx->vout[out.i].nValue == 1000 * COIN) { //exactly
if (out.tx->vout[out.i].nValue == GetMNCollateral(chainActive.Height()) * COIN) { //exactly
filteredCoins.push_back(out);
}
}
Expand Down
7 changes: 4 additions & 3 deletions src/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,12 @@ static Checkpoints::MapCheckpoints mapCheckpoints =
( 0, uint256("000004281dc68d0720774902bf403ff14f3a869f8d89c940d096395d3304ade7"))
( 25, uint256("000001a71752ed5c366aeb6bfee472dfc6cba4a8e5f4c9b68335fba309f7075d"))
( 7930, uint256("1c82d1c780a0a957b7ec5a7729f7e9742de1f05477b10d6db51bbeebc392d00b"))
(62573, uint256("4d7ef4714094af9cca1c7d1c7642e2c2eb2d100bcd26287d8a4c2b2a20716755"));
(62573, uint256("4d7ef4714094af9cca1c7d1c7642e2c2eb2d100bcd26287d8a4c2b2a20716755"))
(87030, uint256("ef51785a4f1776c2f5c309e4ae52714ae86a8ecadddab1ed700cec72f2590f41"));
static const Checkpoints::CCheckpointData data = {
&mapCheckpoints,
1555932704, // * UNIX timestamp of last checkpoint block
126707, // * total number of transactions between genesis and last checkpoint
1557340922, // * UNIX timestamp of last checkpoint block
180606, // * total number of transactions between genesis and last checkpoint
// (the tx=... number in the SetBestChain debug.log lines)
2000 // * estimated number of transactions per day after checkpoint
};
Expand Down
16 changes: 12 additions & 4 deletions src/chainparamsseeds.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,28 @@
* IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.
*/
static SeedSpec6 pnSeed6_main[] = {
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd8,0xe2,0x4f}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xca,0x13,0x8c}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x74,0xca,0x1f,0x60}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb3,0xbf,0xf3}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8e,0x5d,0xe9,0x6c}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x57,0x3b,0x94}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x67,0x77,0xa8}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9d,0xe6,0xdc,0x6d}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x03,0x52,0xa7,0x40}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0xb6,0x71,0x5d}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9b,0x8a,0xe3,0x70}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9b,0x8a,0xe4,0x23}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9b,0x8a,0xe5,0x3c}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0x63,0x38}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb3,0x87,0xe2}, 12260},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8e,0x5d,0xe9,0x6c}, 12260}
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb3,0x87,0xe2}, 12260}
};

static SeedSpec6 pnSeed6_test[] = {
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9b,0x8a,0xe3,0x70}, 12262},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9b,0x8a,0xe4,0x23}, 12262},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9b,0x8a,0xe5,0x3c}, 12262},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0x63,0x38}, 12262},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb3,0x87,0xe2}, 12262},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8e,0x5d,0xe9,0x6c}, 12262}
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb3,0x87,0xe2}, 12262}
};
#endif // BITCOIN_CHAINPARAMSSEEDS_H
8 changes: 4 additions & 4 deletions src/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += HelpMessageOpt("-zeromintpercentage=<n>", strprintf(_("Percentage of automatically minted Zerocoin (1-100, default: %u)"), 10));
strUsage += HelpMessageOpt("-preferredDenom=<n>", strprintf(_("Preferred Denomination for automatically minted Zerocoin (1/5/10/50/100/500/1000/5000), 0 for no preference. default: %u)"), 0));
strUsage += HelpMessageOpt("-backupzchtc=<n>", strprintf(_("Enable automatic wallet backups triggered after each zCHTC minting (0-1, default: %u)"), 1));
strUsage += HelpMessageOpt("-precompute=<n>", strprintf(_("Enable precomputation of zCHTC spends and stakes (0-1, default %u)"), 1));
strUsage += HelpMessageOpt("-precompute=<n>", strprintf(_("Enable precomputation of zCHTC spends and stakes (0-1, default %u)"), 0));
strUsage += HelpMessageOpt("-precomputecachelength=<n>", strprintf(_("Set the number of included blocks to precompute per cycle. (minimum: %d) (maximum: %d) (default: %d)"), MIN_PRECOMPUTE_LENGTH, MAX_PRECOMPUTE_LENGTH, DEFAULT_PRECOMPUTE_LENGTH));
strUsage += HelpMessageOpt("-zchtcbackuppath=<dir|file>", _("Specify custom backup path to add a copy of any automatic zCHTC backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. If backuppath is set as well, 4 backups will happen"));
#endif // ENABLE_WALLET
Expand Down Expand Up @@ -2028,10 +2028,10 @@ bool AppInit2()
// Run a thread to flush wallet periodically
threadGroup.create_thread(boost::bind(&ThreadFlushWalletDB, boost::ref(pwalletMain->strWalletFile)));

if (GetBoolArg("-precompute", true)) {
//if (GetBoolArg("-precompute", true)) {
// Run a thread to precompute any zCHTC spends
threadGroup.create_thread(boost::bind(&ThreadPrecomputeSpends));
}
// threadGroup.create_thread(boost::bind(&ThreadPrecomputeSpends));
//}
}
#endif

Expand Down
174 changes: 32 additions & 142 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1895,154 +1895,44 @@ int64_t GetBlockValue(int nHeight)
{
int64_t nSubsidy = 0;

if (nHeight == 0) {
nSubsidy = 200000 * COIN;
if (nHeight == 0) {
nSubsidy = 200000 * COIN;
} else if (nHeight <= 10000 && nHeight > 0) {
nSubsidy = 1 * COIN;
nSubsidy = 1 * COIN;
} else if (nHeight <= 20000 && nHeight > 10000) {
nSubsidy = 1.25 * COIN;
nSubsidy = 1.25 * COIN;
} else if (nHeight <= 40000 && nHeight > 20000) {
nSubsidy = 1.5 * COIN;
nSubsidy = 1.5 * COIN;
} else if (nHeight <= 60000 && nHeight > 40000) {
nSubsidy = 1.75 * COIN;
nSubsidy = 1.75 * COIN;
} else if (nHeight <= 80000 && nHeight > 60000) {
nSubsidy = 2 * COIN;
nSubsidy = 2 * COIN;
} else if (nHeight <= 100000 && nHeight > 80000) {
nSubsidy = 2.25 * COIN;
} else if (nHeight <= 110000 && nHeight > 100000) {
nSubsidy = 2.5 * COIN;
} else if (nHeight <= 120000 && nHeight > 110000) {
nSubsidy = 2.75 * COIN;
} else if (nHeight <= 130000 && nHeight > 120000) {
nSubsidy = 3 * COIN;
} else if (nHeight <= 140000 && nHeight > 130000) {
nSubsidy = 3.25 * COIN;
} else if (nHeight <= 150000 && nHeight > 140000) {
nSubsidy = 3.5 * COIN;
} else if (nHeight <= 160000 && nHeight > 150000) {
nSubsidy = 3.75 * COIN;
} else if (nHeight <= 170000 && nHeight > 160000) {
nSubsidy = 4 * COIN;
} else if (nHeight <= 180000 && nHeight > 170000) {
nSubsidy = 4.25 * COIN;
} else if (nHeight <= 190000 && nHeight > 180000) {
nSubsidy = 4.5 * COIN;
} else if (nHeight <= 200000 && nHeight > 190000) {
nSubsidy = 4.75 * COIN;
} else if (nHeight <= 210000 && nHeight > 200000) {
nSubsidy = 5 * COIN;
} else if (nHeight <= 220000 && nHeight > 210000) {
nSubsidy = 5.25 * COIN;
} else if (nHeight <= 230000 && nHeight > 220000) {
nSubsidy = 5.5 * COIN;
} else if (nHeight <= 240000 && nHeight > 230000) {
nSubsidy = 5.75 * COIN;
} else if (nHeight <= 250000 && nHeight > 240000) {
nSubsidy = 6 * COIN;
} else if (nHeight <= 260000 && nHeight > 250000) {
nSubsidy = 6.25 * COIN;
} else if (nHeight <= 270000 && nHeight > 260000) {
nSubsidy = 6.5 * COIN;
} else if (nHeight <= 280000 && nHeight > 270000) {
nSubsidy = 6.75 * COIN;
} else if (nHeight <= 290000 && nHeight > 280000) {
nSubsidy = 7 * COIN;
} else if (nHeight <= 300000 && nHeight > 290000) {
nSubsidy = 7.25 * COIN;
} else if (nHeight <= 310000 && nHeight > 300000) {
nSubsidy = 7.5 * COIN;
} else if (nHeight <= 320000 && nHeight > 310000) {
nSubsidy = 7.75 * COIN;
} else if (nHeight <= 330000 && nHeight > 320000) {
nSubsidy = 8 * COIN;
} else if (nHeight <= 340000 && nHeight > 330000) {
nSubsidy = 8.25 * COIN;
} else if (nHeight <= 350000 && nHeight > 340000) {
nSubsidy = 8.5 * COIN;
} else if (nHeight <= 360000 && nHeight > 350000) {
nSubsidy = 8.75 * COIN;
} else if (nHeight <= 370000 && nHeight > 360000) {
nSubsidy = 9 * COIN;
} else if (nHeight <= 380000 && nHeight > 370000) {
nSubsidy = 9.25 * COIN;
} else if (nHeight <= 390000 && nHeight > 380000) {
nSubsidy = 9.5 * COIN;
} else if (nHeight <= 400000 && nHeight > 390000) {
nSubsidy = 9.75 * COIN;
} else if (nHeight <= 410000 && nHeight > 400000) {
nSubsidy = 10 * COIN;
} else if (nHeight <= 450000 && nHeight > 410000) {
nSubsidy = 9.75 * COIN;
} else if (nHeight <= 500000 && nHeight > 450000) {
nSubsidy = 9.5 * COIN;
} else if (nHeight <= 550000 && nHeight > 500000) {
nSubsidy = 9.25 * COIN;
} else if (nHeight <= 600000 && nHeight > 550000) {
nSubsidy = 9 * COIN;
} else if (nHeight <= 650000 && nHeight > 600000) {
nSubsidy = 8.75 * COIN;
} else if (nHeight <= 700000 && nHeight > 650000) {
nSubsidy = 8.5 * COIN;
} else if (nHeight <= 750000 && nHeight > 700000) {
nSubsidy = 8.25 * COIN;
} else if (nHeight <= 800000 && nHeight > 750000) {
nSubsidy = 8 * COIN;
} else if (nHeight <= 850000 && nHeight > 800000) {
nSubsidy = 7.75 * COIN;
} else if (nHeight <= 900000 && nHeight > 850000) {
nSubsidy = 7.5 * COIN;
} else if (nHeight <= 950000 && nHeight > 900000) {
nSubsidy = 7.25 * COIN;
} else if (nHeight <= 1000000 && nHeight > 950000) {
nSubsidy = 7 * COIN;
} else if (nHeight <= 1050000 && nHeight > 1000000) {
nSubsidy = 6.75 * COIN;
} else if (nHeight <= 1100000 && nHeight > 1050000) {
nSubsidy = 6.5 * COIN;
} else if (nHeight <= 1150000 && nHeight > 1100000) {
nSubsidy = 6.25 * COIN;
} else if (nHeight <= 1200000 && nHeight > 1150000) {
nSubsidy = 6 * COIN;
} else if (nHeight <= 1250000 && nHeight > 1200000) {
nSubsidy = 5.75 * COIN;
} else if (nHeight <= 1300000 && nHeight > 1250000) {
nSubsidy = 5.5 * COIN;
} else if (nHeight <= 1350000 && nHeight > 1300000) {
nSubsidy = 5.25 * COIN;
} else if (nHeight <= 1400000 && nHeight > 1350000) {
nSubsidy = 5 * COIN;
} else if (nHeight <= 1450000 && nHeight > 1400000) {
nSubsidy = 4.75 * COIN;
} else if (nHeight <= 1500000 && nHeight > 1450000) {
nSubsidy = 4.5 * COIN;
} else if (nHeight <= 1550000 && nHeight > 1500000) {
nSubsidy = 4.25 * COIN;
} else if (nHeight <= 1600000 && nHeight > 1550000) {
nSubsidy = 4 * COIN;
} else if (nHeight <= 1650000 && nHeight > 1600000) {
nSubsidy = 3.75 * COIN;
} else if (nHeight <= 1700000 && nHeight > 1650000) {
nSubsidy = 3.5 * COIN;
} else if (nHeight <= 1750000 && nHeight > 1700000) {
nSubsidy = 3.25 * COIN;
} else if (nHeight <= 1800000 && nHeight > 1750000) {
nSubsidy = 3 * COIN;
} else if (nHeight <= 1850000 && nHeight > 1800000) {
nSubsidy = 2.75 * COIN;
} else if (nHeight <= 1900000 && nHeight > 1850000) {
nSubsidy = 2.5 * COIN;
} else if (nHeight <= 1950000 && nHeight > 1900000) {
nSubsidy = 2.25 * COIN;
} else if (nHeight <= 2000000 && nHeight > 1950000) {
nSubsidy = 2 * COIN;
} else if (nHeight <= 2050000 && nHeight > 2000000) {
nSubsidy = 1.75 * COIN;
} else if (nHeight <= 2100000 && nHeight > 2050000) {
nSubsidy = 1.5 * COIN;
} else if (nHeight <= 2150000 && nHeight > 2100000) {
nSubsidy = 1.25 * COIN;
} else if (nHeight <= 5550000 && nHeight > 2150000) {
nSubsidy = 1 * COIN;
nSubsidy = 2.25 * COIN;
} else if (nHeight <= 200000 && nHeight > 100000) {
nSubsidy = 1 * COIN;
} else if (nHeight <= 400000 && nHeight > 200000) {
nSubsidy = 1.25 * COIN;
} else if (nHeight <= 600000 && nHeight > 400000) {
nSubsidy = 1.5 * COIN;
} else if (nHeight <= 1000000 && nHeight > 600000) {
nSubsidy = 1.75 * COIN;
} else if (nHeight <= 1500000 && nHeight > 1000000) {
nSubsidy = 2 * COIN;
} else if (nHeight <= 2000000 && nHeight > 1500000) {
nSubsidy = 2.25 * COIN;
} else if (nHeight <= 2500000 && nHeight > 2000000) {
nSubsidy = 2.5 * COIN;
} else if (nHeight <= 3000000 && nHeight > 2500000) {
nSubsidy = 2.25 * COIN;
} else if (nHeight <= 3500000 && nHeight > 3000000) {
nSubsidy = 2 * COIN;
} else if (nHeight <= 4000000 && nHeight > 3500000) {
nSubsidy = 1 * COIN;
} else if (nHeight <= 4500000 && nHeight > 4000000) {
nSubsidy = 0.5 * COIN;
} else {
nSubsidy = 0.25 * COIN;
}

// Check if we reached the coin max supply.
Expand Down
9 changes: 9 additions & 0 deletions src/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,15 @@ class CValidationState;
struct CBlockTemplate;
struct CNodeStateStats;

inline int64_t GetMNCollateral(int nHeight) {

if (nHeight < 100000 ) {
return 1000;
} else {
return 5000;
}
}

/** Default for -blockmaxsize and -blockminsize, which control the range of sizes the mining code will create **/
static const unsigned int DEFAULT_BLOCK_MAX_SIZE = 750000;
static const unsigned int DEFAULT_BLOCK_MIN_SIZE = 0;
Expand Down
4 changes: 2 additions & 2 deletions src/masternode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ void CMasternode::Check(bool forceCheck)
if (!unitTest) {
CValidationState state;
CMutableTransaction tx = CMutableTransaction();
CTxOut vout = CTxOut(999.99 * COIN, obfuScationPool.collateralPubKey);
CTxOut vout = CTxOut((GetMNCollateral(chainActive.Height()) - 0.01) * COIN, obfuScationPool.collateralPubKey);
tx.vin.push_back(vin);
tx.vout.push_back(vout);

Expand Down Expand Up @@ -587,7 +587,7 @@ bool CMasternodeBroadcast::CheckInputsAndAdd(int& nDoS)

CValidationState state;
CMutableTransaction tx = CMutableTransaction();
CTxOut vout = CTxOut(999.99 * COIN, obfuScationPool.collateralPubKey);
CTxOut vout = CTxOut((GetMNCollateral(chainActive.Height()) - 0.01) * COIN, obfuScationPool.collateralPubKey);
tx.vin.push_back(vin);
tx.vout.push_back(vout);

Expand Down
2 changes: 1 addition & 1 deletion src/masternodeman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -987,7 +987,7 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData

CValidationState state;
CMutableTransaction tx = CMutableTransaction();
CTxOut vout = CTxOut(999.99 * COIN, obfuScationPool.collateralPubKey);
CTxOut vout = CTxOut((GetMNCollateral(chainActive.Height()) - 0.01) * COIN, obfuScationPool.collateralPubKey);
tx.vin.push_back(vin);
tx.vout.push_back(vout);

Expand Down
2 changes: 1 addition & 1 deletion src/obfuscation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2113,7 +2113,7 @@ bool CObfuScationSigner::IsVinAssociatedWithPubkey(CTxIn& vin, CPubKey& pubkey)
uint256 hash;
if (GetTransaction(vin.prevout.hash, txVin, hash, true)) {
BOOST_FOREACH (CTxOut out, txVin.vout) {
if (out.nValue == 1000 * COIN) {
if (out.nValue == GetMNCollateral(chainActive.Height()) * COIN) {
if (out.scriptPubKey == payee2) return true;
}
}
Expand Down
5 changes: 5 additions & 0 deletions src/pow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead
int64_t nTargetSpacing = 60;
int64_t nTargetTimespan = 60 * 40;

if(pindexLast->nHeight > 100000) {
nTargetSpacing = 120;
nTargetTimespan = 120 * 40;
}

int64_t nActualSpacing = 0;
if (pindexLast->nHeight != 0)
nActualSpacing = pindexLast->GetBlockTime() - pindexLast->pprev->GetBlockTime();
Expand Down
Loading

0 comments on commit 0442556

Please sign in to comment.