Skip to content

Commit

Permalink
Masternode reward
Browse files Browse the repository at this point in the history
Final determination of block reward split between miner and masternode
  • Loading branch information
Krekeler committed May 15, 2019
1 parent daa8dbd commit a2a07be
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 17 deletions.
4 changes: 2 additions & 2 deletions src/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ class CMainParams : public CChainParams {
strNetworkID = "main";
//consensus.nSubsidyHalvingInterval = 210000; DMS does not use Halving, see validation.cpp GetBlockSubsidy
consensus.nMasternodePaymentsStartBlock = 5000; // Dash=100000;
consensus.nMasternodePaymentsIncreaseBlock = 158000; // Dash: actual historical value
consensus.nMasternodePaymentsIncreasePeriod = 576*30; // 17280 - actual historical value
consensus.nMasternodePaymentsIncreaseBlock = 60000; // Dash: 158000
consensus.nMasternodePaymentsIncreasePeriod = 7000; // ~29 days, Dash: 17280
consensus.nInstantSendConfirmationsRequired = 6;
consensus.nInstantSendKeepLock = 24;
consensus.nBudgetPaymentsStartBlock = 100000000; // >1000 years: DMS does not use this yet
Expand Down
2 changes: 1 addition & 1 deletion src/governance-object.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ static const int GOVERNANCE_OBJECT_PROPOSAL = 1;
static const int GOVERNANCE_OBJECT_TRIGGER = 2;
static const int GOVERNANCE_OBJECT_WATCHDOG = 3;

static const CAmount GOVERNANCE_PROPOSAL_FEE_TX = (5.0*COIN);
static const CAmount GOVERNANCE_PROPOSAL_FEE_TX = (50.0*COIN); // Dash: 5*Coin

static const int64_t GOVERNANCE_FEE_CONFIRMATIONS = 6;
static const int64_t GOVERNANCE_MIN_RELAY_FEE_CONFIRMATIONS = 1;
Expand Down
10 changes: 6 additions & 4 deletions src/rpc/governance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -934,9 +934,9 @@ UniValue getgovernanceinfo(const JSONRPCRequest& request)
" \"masternodewatchdogmaxseconds\": xxxxx, (numeric) sentinel watchdog expiration time in seconds (DEPRECATED)\n"
" \"sentinelpingmaxseconds\": xxxxx, (numeric) sentinel ping expiration time in seconds\n"
" \"proposalfee\": xxx.xx, (numeric) the collateral transaction fee which must be paid to create a proposal in " + CURRENCY_UNIT + "\n"
" \"superblockcycle\": xxxxx, (numeric) the number of blocks between superblocks\n"
/*" \"superblockcycle\": xxxxx, (numeric) the number of blocks between superblocks\n"
" \"lastsuperblock\": xxxxx, (numeric) the block number of the last superblock\n"
" \"nextsuperblock\": xxxxx, (numeric) the block number of the next superblock\n"
" \"nextsuperblock\": xxxxx, (numeric) the block number of the next superblock\n"*/
" \"maxgovobjdatasize\": xxxxx, (numeric) maximum governance object data size in bytes\n"
"}\n"
"\nExamples:\n"
Expand All @@ -957,9 +957,10 @@ UniValue getgovernanceinfo(const JSONRPCRequest& request)
obj.push_back(Pair("masternodewatchdogmaxseconds", MASTERNODE_SENTINEL_PING_MAX_SECONDS));
obj.push_back(Pair("sentinelpingmaxseconds", MASTERNODE_SENTINEL_PING_MAX_SECONDS));
obj.push_back(Pair("proposalfee", ValueFromAmount(GOVERNANCE_PROPOSAL_FEE_TX)));
/*DMS does not use superblocks (see params.h struct Params)
obj.push_back(Pair("superblockcycle", Params().GetConsensus().nSuperblockCycle));
obj.push_back(Pair("lastsuperblock", nLastSuperblock));
obj.push_back(Pair("nextsuperblock", nNextSuperblock));
obj.push_back(Pair("nextsuperblock", nNextSuperblock));*/
obj.push_back(Pair("maxgovobjdatasize", MAX_GOVERNANCE_OBJECT_DATA_SIZE));

return obj;
Expand Down Expand Up @@ -997,7 +998,8 @@ static const CRPCCommand commands[] =
// --------------------- ------------------------ ----------------------- ------ ----------
/* DMS features */
{ "dms", "getgovernanceinfo", &getgovernanceinfo, true, {} },
{ "dms", "getsuperblockbudget", &getsuperblockbudget, true, {"index"} },
/*DMS does not use superblocks (see params.h struct Params)
{ "dms", "getsuperblockbudget", &getsuperblockbudget, true, {"index"} },*/
{ "dms", "gobject", &gobject, true, {} },
{ "dms", "voteraw", &voteraw, true, {} },

Expand Down
26 changes: 16 additions & 10 deletions src/validation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1322,16 +1322,22 @@ CAmount GetMasternodePayment(int nHeight, CAmount blockValue)
int nMNPIBlock = Params().GetConsensus().nMasternodePaymentsIncreaseBlock;
int nMNPIPeriod = Params().GetConsensus().nMasternodePaymentsIncreasePeriod;

// mainnet:
if(nHeight > nMNPIBlock) ret += blockValue / 20; // 158000 - 25.0% - 2014-10-24
if(nHeight > nMNPIBlock+(nMNPIPeriod* 1)) ret += blockValue / 20; // 175280 - 30.0% - 2014-11-25
if(nHeight > nMNPIBlock+(nMNPIPeriod* 2)) ret += blockValue / 20; // 192560 - 35.0% - 2014-12-26
if(nHeight > nMNPIBlock+(nMNPIPeriod* 3)) ret += blockValue / 40; // 209840 - 37.5% - 2015-01-26
if(nHeight > nMNPIBlock+(nMNPIPeriod* 4)) ret += blockValue / 40; // 227120 - 40.0% - 2015-02-27
if(nHeight > nMNPIBlock+(nMNPIPeriod* 5)) ret += blockValue / 40; // 244400 - 42.5% - 2015-03-30
if(nHeight > nMNPIBlock+(nMNPIPeriod* 6)) ret += blockValue / 40; // 261680 - 45.0% - 2015-05-01
if(nHeight > nMNPIBlock+(nMNPIPeriod* 7)) ret += blockValue / 40; // 278960 - 47.5% - 2015-06-01
if(nHeight > nMNPIBlock+(nMNPIPeriod* 9)) ret += blockValue / 40; // 313520 - 50.0% - 2015-08-03
// DMS mainnet:
if(nHeight > nMNPIBlock) ret += blockValue / 20; // 60000 - 25.0% ~ 2019-05-19
if(nHeight > nMNPIBlock+(nMNPIPeriod* 1)) ret += blockValue / 20; // 67000 - 30.0% ~ 2019-06
if(nHeight > nMNPIBlock+(nMNPIPeriod* 2)) ret += blockValue / 20; // 74000 - 35.0% ~ 2019-07
if(nHeight > nMNPIBlock+(nMNPIPeriod* 3)) ret += blockValue / 40; // 81000 - 37.5% ~ 2019-08
if(nHeight > nMNPIBlock+(nMNPIPeriod* 4)) ret += blockValue / 40; // 88000 - 40.0% ~ 2019-09
if(nHeight > nMNPIBlock+(nMNPIPeriod* 5)) ret += blockValue /100; // 95000 - 41.0% ~ 2019-10
if(nHeight > nMNPIBlock+(nMNPIPeriod* 6)) ret += blockValue /100; // 102000 - 42.0% ~ 2019-11
if(nHeight > nMNPIBlock+(nMNPIPeriod* 7)) ret += blockValue /100; // 109000 - 43.0% ~ 2019-12
if(nHeight > nMNPIBlock+(nMNPIPeriod* 8)) ret += blockValue /100; // 116000 - 44.0% ~ 2020-01
if(nHeight > nMNPIBlock+(nMNPIPeriod* 9)) ret += blockValue /100; // 123000 - 45.0% ~ 2020-02
if(nHeight > nMNPIBlock+(nMNPIPeriod*10)) ret += blockValue /100; // 130000 - 46.0% ~ 2020-03
if(nHeight > nMNPIBlock+(nMNPIPeriod*11)) ret += blockValue /100; // 137000 - 47.0% ~ 2020-04
if(nHeight > nMNPIBlock+(nMNPIPeriod*12)) ret += blockValue /100; // 144000 - 48.0% ~ 2020-05
if(nHeight > nMNPIBlock+(nMNPIPeriod*13)) ret += blockValue /100; // 151000 - 49.0% ~ 2020-06
if(nHeight > nMNPIBlock+(nMNPIPeriod*14)) ret += blockValue /100; // 158000 - 50.0% ~ 2020-07

return ret;
}
Expand Down

0 comments on commit a2a07be

Please sign in to comment.