#include "net.h"
#include "script.h"
#include "scrypt.h"
+#include "ui_interface.h"
#include <limits>
#include <list>
extern int64_t nTimeBestReceived;
extern CCriticalSection cs_setpwalletRegistered;
extern set<CWallet*> setpwalletRegistered;
-extern unsigned char pchMessageStart[4];
+extern uint32_t nNetworkID;
extern map<uint256, CBlock*> mapOrphanBlocks;
// Settings
CBlockIndex* FindBlockByHeight(int nHeight);
bool ProcessMessages(CNode* pfrom);
bool SendMessages(CNode* pto);
-bool LoadExternalBlockFile(FILE* fileIn);
+bool LoadExternalBlockFile(FILE* fileIn, CClientUIInterface& uiInterface);
// Run an instance of the script checking thread
void ThreadScriptCheck(void* parg);
if (IsNull())
return "null";
else
- return strprintf("(nFile=%u, nBlockPos=%u, nTxPos=%u)", nFile, nBlockPos, nTxPos);
+ return strprintf("(nFile=%" PRIu32 ", nBlockPos=%" PRIu32 ", nTxPos=%" PRIu32 ")", nFile, nBlockPos, nTxPos);
}
void print() const
string ToString() const
{
- return strprintf("COutPoint(%s, %u)", hash.ToString().substr(0,10).c_str(), n);
+ return strprintf("COutPoint(%s, %" PRIu32 ")", hash.ToString().substr(0,10).c_str(), n);
}
void print() const
else
str += strprintf(", scriptSig=%s", scriptSig.ToString().substr(0,24).c_str());
if (nSequence != numeric_limits<unsigned int>::max())
- str += strprintf(", nSequence=%u", nSequence);
+ str += strprintf(", nSequence=%" PRIu32, nSequence);
str += ")";
return str;
}
{
private:
CScript scriptPubKey;
- const CTransaction *ptxTo;
- unsigned int nIn;
- unsigned int nFlags;
- int nHashType;
+ const CTransaction *ptxTo = nullptr;
+ unsigned int nIn = 0;
+ unsigned int nFlags = 0;
+ int nHashType = 0;
public:
CScriptCheck() {}
if (nHeight >= 9689 || fTestNet)
{
// Take last bit of block hash as entropy bit
- unsigned int nEntropyBit = (GetHash().Get64()) & (uint64_t)1;
+ auto nEntropyBit = (GetHash().Get32()) & (uint32_t)1;
if (fDebug && GetBoolArg("-printstakemodifier"))
- printf("GetStakeEntropyBit: nTime=%u hashBlock=%s nEntropyBit=%u\n", nTime, GetHash().ToString().c_str(), nEntropyBit);
+ printf("GetStakeEntropyBit: nTime=%" PRIu32 " hashBlock=%s nEntropyBit=%" PRIu32 "\n", nTime, GetHash().ToString().c_str(), nEntropyBit);
return nEntropyBit;
}
int nBitNum = nHeight & 0xFF;
int nItemNum = nHeight / 0xFF;
- unsigned int nEntropyBit = (unsigned int) ((entropyStore[nItemNum] & (uint256(1) << nBitNum)) >> nBitNum).Get64();
+ auto nEntropyBit = ((entropyStore[nItemNum] & (uint256(1) << nBitNum)) >> nBitNum).Get32();
if (fDebug && GetBoolArg("-printstakemodifier"))
- printf("GetStakeEntropyBit: from pregenerated table, nHeight=%d nEntropyBit=%u\n", nHeight, nEntropyBit);
+ printf("GetStakeEntropyBit: from pregenerated table, nHeight=%" PRIu32 " nEntropyBit=%" PRIu32 "\n", nHeight, nEntropyBit);
return nEntropyBit;
}
{
if (IsProofOfStake())
return { vtx[1].vin[0].prevout, vtx[1].nTime };
-
return { COutPoint(), (unsigned int)0 };
}
int64_t GetMaxTransactionTime() const
{
int64_t maxTransactionTime = 0;
- for(const auto& tx : vtx)
+ for(const auto& tx : vtx)
maxTransactionTime = max(maxTransactionTime, (int64_t)tx.nTime);
return maxTransactionTime;
}
for (int i = 0; i < nSize; i += 2)
{
int i2 = min(i+1, nSize-1);
- vMerkleTree.push_back(Hash(BEGIN(vMerkleTree[j+i]), END(vMerkleTree[j+i]),
- BEGIN(vMerkleTree[j+i2]), END(vMerkleTree[j+i2])));
+ vMerkleTree.push_back(Hash(vMerkleTree[j+i].begin(), vMerkleTree[j+i].end(),
+ vMerkleTree[j+i2].begin(), vMerkleTree[j+i2].end()));
}
j += nSize;
}
for(const uint256& otherside : vMerkleBranch)
{
if (nIndex & 1)
- hash = Hash(BEGIN(otherside), END(otherside), BEGIN(hash), END(hash));
+ hash = Hash(otherside.begin(), otherside.end(), hash.begin(), hash.end());
else
- hash = Hash(BEGIN(hash), END(hash), BEGIN(otherside), END(otherside));
+ hash = Hash(hash.begin(), hash.end(), otherside.begin(), otherside.end());
nIndex >>= 1;
}
return hash;
// Write index header
unsigned int nSize = fileout.GetSerializeSize(*this);
- fileout << FLATDATA(pchMessageStart) << nSize;
+ fileout << nNetworkID << nSize;
// Write block
long fileOutPos = ftell(fileout);
void print() const
{
- printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%" PRIszu ", vchBlockSig=%s)\n",
+ printf("CBlock(hash=%s, ver=%" PRId32 ", hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%" PRIu32 ", nBits=%08x, nNonce=%" PRIu32 ", vtx=%" PRIszu ", vchBlockSig=%s)\n",
GetHash().ToString().c_str(),
nVersion,
hashPrevBlock.ToString().c_str(),
uint256 GetBlockHash() const
{
- if (fUseFastIndex && (nTime < GetAdjustedTime() - nOneDay) && blockHash != 0)
+ if (fUseFastIndex && blockHash != 0)
return blockHash;
CBlock block;
return mapTx.size();
}
- bool exists(uint256 hash)
+ bool exists(const uint256 &hash)
{
return (mapTx.count(hash) != 0);
}
- CTransaction& lookup(uint256 hash)
+ CTransaction& lookup(const uint256 &hash)
{
return mapTx[hash];
}