#ifndef BITCOIN_MAIN_H
#define BITCOIN_MAIN_H
-#include <algorithm>
-
#include "timestamps.h"
-#include "bignum.h"
#include "sync.h"
#include "net.h"
#include "script.h"
#include "scrypt.h"
+#include <algorithm>
#include <limits>
#include <list>
#include <map>
void PrintBlockTree();
CBlockIndex* FindBlockByHeight(int nHeight);
bool ProcessMessages(CNode* pfrom);
-bool SendMessages(CNode* pto, bool fSendTrickle);
+bool SendMessages(CNode* pto);
bool LoadExternalBlockFile(FILE* fileIn);
// Run an instance of the script checking thread
bool CheckProofOfWork(uint256 hash, unsigned int nBits);
unsigned int GetNextTargetRequired(const CBlockIndex* pindexLast, bool fProofOfStake);
-int64_t GetProofOfWorkReward(unsigned int nBits, int64_t nFees=0);
+int64_t GetProofOfWorkReward(unsigned int nBits);
int64_t GetProofOfStakeReward(int64_t nCoinAge, unsigned int nBits, int64_t nTime, bool bCoinYearOnly=false);
unsigned int ComputeMinWork(unsigned int nBase, int64_t nTime);
unsigned int ComputeMinStake(unsigned int nBase, int64_t nTime, unsigned int nBlockTime);
-
-
-
-bool GetWalletFile(CWallet* pwallet, std::string &strWalletFileOut);
-
/** Position on disk for a particular transaction. */
class CDiskTxPos
{
nBlockTime = GetAdjustedTime();
if ((int64_t)nLockTime < ((int64_t)nLockTime < LOCKTIME_THRESHOLD ? (int64_t)nBlockHeight : nBlockTime))
return true;
- BOOST_FOREACH(const CTxIn& txin, vin)
+ for (const CTxIn& txin : vin)
if (!txin.IsFinal())
return false;
return true;
int64_t GetValueOut() const
{
int64_t nValueOut = 0;
- BOOST_FOREACH(const CTxOut& txout, vout)
+ for (const CTxOut& txout : vout)
{
nValueOut += txout.nValue;
if (!MoneyRange(txout.nValue) || !MoneyRange(nValueOut))
int64_t GetMaxTransactionTime() const
{
int64_t maxTransactionTime = 0;
- BOOST_FOREACH(const CTransaction& tx, vtx)
+ for (const CTransaction& tx : vtx)
maxTransactionTime = std::max(maxTransactionTime, (int64_t)tx.nTime);
return maxTransactionTime;
}
uint256 BuildMerkleTree() const
{
vMerkleTree.clear();
- BOOST_FOREACH(const CTransaction& tx, vtx)
+ for (const CTransaction& tx : vtx)
vMerkleTree.push_back(tx.GetHash());
int j = 0;
for (int nSize = (int)vtx.size(); nSize > 1; nSize = (nSize + 1) / 2)
{
if (nIndex == -1)
return 0;
- BOOST_FOREACH(const uint256& otherside, vMerkleBranch)
+ for (const uint256& otherside : vMerkleBranch)
{
if (nIndex & 1)
hash = Hash(BEGIN(otherside), END(otherside), BEGIN(hash), END(hash));
// Retrace how far back it was in the sender's branch
int nDistance = 0;
int nStep = 1;
- BOOST_FOREACH(const uint256& hash, vHave)
+ for (const uint256& hash : vHave)
{
std::map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.find(hash);
if (mi != mapBlockIndex.end())
CBlockIndex* GetBlockIndex()
{
// Find the first block the caller has in the main chain
- BOOST_FOREACH(const uint256& hash, vHave)
+ for (const uint256& hash : vHave)
{
std::map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.find(hash);
if (mi != mapBlockIndex.end())
uint256 GetBlockHash()
{
// Find the first block the caller has in the main chain
- BOOST_FOREACH(const uint256& hash, vHave)
+ for (const uint256& hash : vHave)
{
std::map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.find(hash);
if (mi != mapBlockIndex.end())