fine-tune sync conditions in getblocktemplate (#1739)
This commit is contained in:
parent
70cb2a4af5
commit
3280097495
@ -27,6 +27,9 @@
|
|||||||
#include "utilstrencodings.h"
|
#include "utilstrencodings.h"
|
||||||
#include "validationinterface.h"
|
#include "validationinterface.h"
|
||||||
|
|
||||||
|
#include "masternode-payments.h"
|
||||||
|
#include "governance-classes.h"
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include <boost/assign/list_of.hpp>
|
#include <boost/assign/list_of.hpp>
|
||||||
@ -498,8 +501,18 @@ UniValue getblocktemplate(const UniValue& params, bool fHelp)
|
|||||||
if (IsInitialBlockDownload())
|
if (IsInitialBlockDownload())
|
||||||
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Dash Core is downloading blocks...");
|
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Dash Core is downloading blocks...");
|
||||||
|
|
||||||
if (!masternodeSync.IsSynced())
|
// when enforcement is on we need information about a masternode payee or otherwise our block is going to be orphaned by the network
|
||||||
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Dash Core is syncing with network...");
|
CScript payee;
|
||||||
|
if (sporkManager.IsSporkActive(SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT)
|
||||||
|
&& !masternodeSync.IsWinnersListSynced()
|
||||||
|
&& !mnpayments.GetBlockPayee(chainActive.Height() + 1, payee))
|
||||||
|
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Dash Core is downloading masternode winners...");
|
||||||
|
|
||||||
|
// next bock is a superblock and we need governance info to correctly construct it
|
||||||
|
if (sporkManager.IsSporkActive(SPORK_9_SUPERBLOCKS_ENABLED)
|
||||||
|
&& !masternodeSync.IsSynced()
|
||||||
|
&& CSuperblock::IsValidBlockHeight(chainActive.Height() + 1))
|
||||||
|
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Dash Core is syncing with network...");
|
||||||
|
|
||||||
static unsigned int nTransactionsUpdatedLast;
|
static unsigned int nTransactionsUpdatedLast;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user