Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/chainparams.cpp
Original file line numberDiff line numberDiff line change
Expand Up@@ -102,7 +102,7 @@ class CMainParams : public CChainParams {

nPoolMaxTransactions = 9;
strMNenginePoolDummyAddress = "dUnVN6zz2apaoWkb5krGoBCwwo8ZD3axue";
strDevOpsAddress = "dHy3LZvqX5B2rAAoLiA7Y7rpvkLXKTkD18";
strDevOpsAddress = "dSCXLHTZJJqTej8ZRszZxbLrS6dDGVJhw7";
nEndPoWBlock = 0x7fffffff;
nStartPoSBlock = 0;
}
Expand Down
4 changes: 2 additions & 2 deletions src/chainparams.h
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,9 +72,9 @@ class CChainParams
int StartPoSBlock() const { return nStartPoSBlock; }
int PoolMaxTransactions() const { return nPoolMaxTransactions; }
std::string MNenginePoolDummyAddress() const { return strMNenginePoolDummyAddress; }
std::string DevOpsAddress() const { return strDevOpsAddress; }
std::string DevOpsAddress() { return strDevOpsAddress; }
protected:
CChainParams() {};
CChainParams() {/* Do Nothing */;}

uint256 hashGenesisBlock;
MessageStartChars pchMessageStart;
Expand Down
28 changes: 12 additions & 16 deletions src/main.cpp
Original file line numberDiff line numberDiff line change
Expand Up@@ -2634,6 +2634,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot, bool fCheckSig) c
const CBlockIndex* pindexPrev = pindexBest->pprev;
bool isProofOfStake = !IsProofOfWork();
bool fBlockHasPayments = true;
std::string strVfyDevopsAddress;
// Define primitives depending if PoW/PoS
if (isProofOfStake) {
nProofOfIndexMasternode = 2;
Expand DownExpand Up@@ -2667,6 +2668,9 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot, bool fCheckSig) c
} else {
nMasterNodeChecksEngageTime = nMasterNodeChecksDelayBaseTime + nMasterNodeChecksDelay;
}
// Devops Address Set and Updates
strVfyDevopsAddress = "dHy3LZvqX5B2rAAoLiA7Y7rpvkLXKTkD18";
if(pindexBest->GetBlockTime() < nPaymentUpdate_2) { strVfyDevopsAddress = Params().DevOpsAddress(); }
// Check PoW or PoS payments for current block
for (unsigned int i=0; i < vtx[isProofOfStake].vout.size(); i++) {
// Define values
Expand All@@ -2684,7 +2688,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot, bool fCheckSig) c
if (i == nProofOfIndexMasternode) {
if (mnodeman.IsPayeeAValidMasternode(rawPayee)) {
LogPrintf("CheckBlock() : PoS Recipient masternode address validity succesfully verified\n");
} else if (addressOut.ToString() == Params().DevOpsAddress()) {
} else if (addressOut.ToString() == strVfyDevopsAddress) {
LogPrintf("CheckBlock() : PoS Recipient masternode address validity succesfully verified\n");
} else {
if (nMasterNodeChecksEngageTime != 0) {
Expand All@@ -2707,15 +2711,11 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot, bool fCheckSig) c
}
// Check for PoS devops payment
if (i == nProofOfIndexDevops) {
if (addressOut.ToString() == Params().DevOpsAddress()) {
if (addressOut.ToString() == strVfyDevopsAddress) {
LogPrintf("CheckBlock() : PoS Recipient devops address validity succesfully verified\n");
} else {
if (pindexBest->GetBlockTime() > nPaymentUpdate_2) {
LogPrintf("CheckBlock() : PoS Recipient devops address validity could not be verified\n");
fBlockHasPayments = false;
} else {
LogPrintf("CheckBlock() : PoS Recipient devops address validity skipped, pre-enforcement phase\n");
}
LogPrintf("CheckBlock() : PoS Recipient devops address validity could not be verified\n");
fBlockHasPayments = false;
}
if (nIndexedDevopsPayment == nDevopsPayment) {
LogPrintf("CheckBlock() : PoS Recipient devops amount validity succesfully verified\n");
Expand All@@ -2740,7 +2740,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot, bool fCheckSig) c
if (i == nProofOfIndexMasternode) {
if (mnodeman.IsPayeeAValidMasternode(rawPayee)) {
LogPrintf("CheckBlock() : PoW Recipient masternode address validity succesfully verified\n");
} else if (addressOut.ToString() == Params().DevOpsAddress()) {
} else if (addressOut.ToString() == strVfyDevopsAddress) {
LogPrintf("CheckBlock() : PoW Recipient masternode address validity succesfully verified\n");
} else {
if (nMasterNodeChecksEngageTime != 0) {
Expand All@@ -2763,15 +2763,11 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot, bool fCheckSig) c
}
// Check for PoW devops payment
if (i == nProofOfIndexDevops) {
if (addressOut.ToString() == Params().DevOpsAddress()) {
if (addressOut.ToString() == strVfyDevopsAddress) {
LogPrintf("CheckBlock() : PoW Recipient devops address validity succesfully verified\n");
} else {
if (pindexBest->GetBlockTime() > nPaymentUpdate_2) {
LogPrintf("CheckBlock() : PoW Recipient devops address validity could not be verified\n");
fBlockHasPayments = false;
} else {
LogPrintf("CheckBlock() : PoW Recipient devops address validity skipped, pre-enforcement phase\n");
}
LogPrintf("CheckBlock() : PoW Recipient devops address validity could not be verified\n");
fBlockHasPayments = false;
}
if (nAmount == nDevopsPayment) {
LogPrintf("CheckBlock() : PoW Recipient devops amount validity succesfully verified\n");
Expand Down