return false;
}
}
+
+ void AskForPendingSyncCheckpoint(CNode* pfrom)
+ {
+ CRITICAL_BLOCK(cs_hashSyncCheckpoint)
+ if (pfrom && hashPendingCheckpoint != 0 && (!mapBlockIndex.count(hashPendingCheckpoint)) && (!mapOrphanBlocks.count(hashPendingCheckpoint)))
+ pfrom->AskFor(CInv(MSG_BLOCK, hashPendingCheckpoint));
+ }
}
// ppcoin: sync-checkpoint master key
bool CheckSync(const uint256& hashBlock, const CBlockIndex* pindexPrev);
bool WantedByPendingSyncCheckpoint(uint256 hashBlock);
bool ResetSyncCheckpoint();
+ void AskForPendingSyncCheckpoint(CNode* pfrom);
}
// ppcoin: synchronized checkpoint
}
}
+ // ppcoin: ask for pending sync-checkpoint if any
+ if (!IsInitialBlockDownload())
+ Checkpoints::AskForPendingSyncCheckpoint(pfrom);
// If don't already have its previous block, shunt it off to holding area until we get it
if (!mapBlockIndex.count(pblock->hashPrevBlock))
printf("version message: version %d, blocks=%d\n", pfrom->nVersion, pfrom->nStartingHeight);
cPeerBlockCounts.input(pfrom->nStartingHeight);
+
+ // ppcoin: ask for pending sync-checkpoint if any
+ if (!IsInitialBlockDownload())
+ Checkpoints::AskForPendingSyncCheckpoint(pfrom);
}