Fix division by zero (#1310)
* Fix division by zero * Fixes based on code review comments * Fix nProjectedVotes value * Set nProjectedVotes to 2000
This commit is contained in:
parent
1486acfb99
commit
3840d97027
@ -996,9 +996,12 @@ void CGovernanceManager::RequestGovernanceObjectVotes(const std::vector<CNode*>&
|
|||||||
// Testnet is ~40 times smaller in masternode count, but only ~1000 masternodes usually vote,
|
// Testnet is ~40 times smaller in masternode count, but only ~1000 masternodes usually vote,
|
||||||
// so 1 obj on mainnet == ~10 objs or ~1000 votes on testnet. However we want to test a higher
|
// so 1 obj on mainnet == ~10 objs or ~1000 votes on testnet. However we want to test a higher
|
||||||
// number of votes to make sure it's robust enough, so aim at 2000 votes per masternode per request.
|
// number of votes to make sure it's robust enough, so aim at 2000 votes per masternode per request.
|
||||||
// On mainnet we have 4K+ masternodes, so nMaxObjRequestsPerNode always evaluates to `1`.
|
// On mainnet nMaxObjRequestsPerNode is always set to 1.
|
||||||
|
int nMaxObjRequestsPerNode = 1;
|
||||||
size_t nProjectedVotes = 2000;
|
size_t nProjectedVotes = 2000;
|
||||||
int nMaxObjRequestsPerNode = std::max(1, int(nProjectedVotes / mnodeman.size()));
|
if(Params().NetworkIDString() != CBaseChainParams::MAIN) {
|
||||||
|
nMaxObjRequestsPerNode = std::max(1, int(nProjectedVotes / std::max(1, mnodeman.size())));
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<CGovernanceObject*> vpGovObjsTmp;
|
std::vector<CGovernanceObject*> vpGovObjsTmp;
|
||||||
std::vector<CGovernanceObject*> vpGovObjsTriggersTmp;
|
std::vector<CGovernanceObject*> vpGovObjsTriggersTmp;
|
||||||
|
Loading…
Reference in New Issue
Block a user