Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts: src/main.cpp
This commit is contained in:
24
src/main.cpp
24
src/main.cpp
@@ -22,15 +22,15 @@ set<CWallet*> setpwalletRegistered;
|
||||
|
||||
CCriticalSection cs_main;
|
||||
|
||||
map<uint256, CTransaction> mapTransactions;
|
||||
static map<uint256, CTransaction> mapTransactions;
|
||||
CCriticalSection cs_mapTransactions;
|
||||
unsigned int nTransactionsUpdated = 0;
|
||||
map<COutPoint, CInPoint> mapNextTx;
|
||||
|
||||
map<uint256, CBlockIndex*> mapBlockIndex;
|
||||
uint256 hashGenesisBlock("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f");
|
||||
CBigNum bnProofOfWorkLimit(~uint256(0) >> 32);
|
||||
int nTotalBlocksEstimate = 134444; // Conservative estimate of total nr of blocks on main chain
|
||||
static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32);
|
||||
const int nTotalBlocksEstimate = 140700; // Conservative estimate of total nr of blocks on main chain
|
||||
const int nInitialBlockThreshold = 120; // Regard blocks up until N-threshold as "initial download"
|
||||
CBlockIndex* pindexGenesisBlock = NULL;
|
||||
int nBestHeight = -1;
|
||||
@@ -295,9 +295,10 @@ int CMerkleTx::SetMerkleBranch(const CBlock* pblock)
|
||||
bool CTransaction::CheckTransaction() const
|
||||
{
|
||||
// Basic checks that don't depend on any context
|
||||
if (vin.empty() || vout.empty())
|
||||
return error("CTransaction::CheckTransaction() : vin or vout empty");
|
||||
|
||||
if (vin.empty())
|
||||
return error("CTransaction::CheckTransaction() : vin empty");
|
||||
if (vout.empty())
|
||||
return error("CTransaction::CheckTransaction() : vout empty");
|
||||
// Size limits
|
||||
if (::GetSerializeSize(*this, SER_NETWORK) > MAX_BLOCK_SIZE)
|
||||
return error("CTransaction::CheckTransaction() : size limits failed");
|
||||
@@ -1301,7 +1302,8 @@ bool CBlock::AcceptBlock()
|
||||
(nHeight == 74000 && hash != uint256("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20")) ||
|
||||
(nHeight == 105000 && hash != uint256("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97")) ||
|
||||
(nHeight == 118000 && hash != uint256("0x000000000000774a7f8a7a12dc906ddb9e17e75d684f15e00f8767f9e8f36553")) ||
|
||||
(nHeight == 134444 && hash != uint256("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")))
|
||||
(nHeight == 134444 && hash != uint256("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")) ||
|
||||
(nHeight == 140700 && hash != uint256("0x000000000000033b512028abb90e1626d8b346fd0ed598ac0a3c371138dce2bd")))
|
||||
return error("AcceptBlock() : rejected by checkpoint lockin at %d", nHeight);
|
||||
|
||||
// Write block to history file
|
||||
@@ -1318,7 +1320,7 @@ bool CBlock::AcceptBlock()
|
||||
if (hashBestChain == hash)
|
||||
CRITICAL_BLOCK(cs_vNodes)
|
||||
BOOST_FOREACH(CNode* pnode, vNodes)
|
||||
if (nBestHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : 134444))
|
||||
if (nBestHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : 140700))
|
||||
pnode->PushInventory(CInv(MSG_BLOCK, hash));
|
||||
|
||||
return true;
|
||||
@@ -2185,7 +2187,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
|
||||
|
||||
// Keep giving the same key to the same ip until they use it
|
||||
if (!mapReuseKey.count(pfrom->addr.ip))
|
||||
mapReuseKey[pfrom->addr.ip] = pwalletMain->GetOrReuseKeyFromPool();
|
||||
pwalletMain->GetKeyFromPool(mapReuseKey[pfrom->addr.ip], true);
|
||||
|
||||
// Send back approval of order and pubkey to use
|
||||
CScript scriptPubKey;
|
||||
@@ -2627,7 +2629,7 @@ unsigned int static ScanHash_CryptoPP(char* pmidstate, char* pdata, char* phash1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Some explaining would be appreciated
|
||||
class COrphan
|
||||
{
|
||||
public:
|
||||
@@ -2883,7 +2885,7 @@ bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey)
|
||||
reservekey.KeepKey();
|
||||
|
||||
// Track how many getdata requests this block gets
|
||||
CRITICAL_BLOCK(wallet.cs_mapRequestCount)
|
||||
CRITICAL_BLOCK(wallet.cs_wallet)
|
||||
wallet.mapRequestCount[pblock->GetHash()] = 0;
|
||||
|
||||
// Process this block the same as if we had received it from another node
|
||||
|
||||
Reference in New Issue
Block a user