@ -564,7 +564,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs,
// Continuously rate-limit free transactions
// Continuously rate-limit free transactions
// This mitigates 'penny-flooding' -- sending thousands of free transactions just to
// This mitigates 'penny-flooding' -- sending thousands of free transactions just to
// be annoying or make other's transactions take longer to confirm.
// be annoying or make others ' transactions take longer to confirm.
if ( nFees < MIN_RELAY_TX_FEE )
if ( nFees < MIN_RELAY_TX_FEE )
{
{
static CCriticalSection cs ;
static CCriticalSection cs ;
@ -1039,7 +1039,7 @@ bool CTransaction::DisconnectInputs(CTxDB& txdb)
// Remove transaction from index
// Remove transaction from index
// This can fail if a duplicate of this transaction was in a chain that got
// This can fail if a duplicate of this transaction was in a chain that got
// reorganized away. This is only possible if this transaction was completely
// reorganized away. This is only possible if this transaction was completely
// spent, so erasing it would be a no-op anway.
// spent, so erasing it would be a no-op any way.
txdb . EraseTxIndex ( * this ) ;
txdb . EraseTxIndex ( * this ) ;
return true ;
return true ;
@ -1102,7 +1102,7 @@ bool CTransaction::FetchInputs(CTxDB& txdb, const map<uint256, CTxIndex>& mapTes
}
}
}
}
// Make sure all prevout.n' s are valid:
// Make sure all prevout.n indexe s are valid:
for ( unsigned int i = 0 ; i < vin . size ( ) ; i + + )
for ( unsigned int i = 0 ; i < vin . size ( ) ; i + + )
{
{
const COutPoint prevout = vin [ i ] . prevout ;
const COutPoint prevout = vin [ i ] . prevout ;
@ -1338,7 +1338,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck)
// being sent to another address.
// being sent to another address.
// See BIP30 and http://r6.ca/blog/20120206T005236Z.html for more information.
// See BIP30 and http://r6.ca/blog/20120206T005236Z.html for more information.
// This logic is not necessary for memory pool transactions, as AcceptToMemoryPool
// This logic is not necessary for memory pool transactions, as AcceptToMemoryPool
// already refuses previously-known transaction id' s entirely.
// already refuses previously-known transaction ids entirely.
// This rule applies to all blocks whose timestamp is after March 15, 2012, 0:00 UTC.
// This rule applies to all blocks whose timestamp is after March 15, 2012, 0:00 UTC.
int64 nBIP30SwitchTime = 1331769600 ;
int64 nBIP30SwitchTime = 1331769600 ;
bool fEnforceBIP30 = ( pindex - > nTime > nBIP30SwitchTime ) ;
bool fEnforceBIP30 = ( pindex - > nTime > nBIP30SwitchTime ) ;
@ -1604,7 +1604,7 @@ bool CBlock::SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew)
return error ( " SetBestChain() : Reorganize failed " ) ;
return error ( " SetBestChain() : Reorganize failed " ) ;
}
}
// Connect futher blocks
// Connect fur ther blocks
BOOST_REVERSE_FOREACH ( CBlockIndex * pindex , vpindexSecondary )
BOOST_REVERSE_FOREACH ( CBlockIndex * pindex , vpindexSecondary )
{
{
CBlock block ;
CBlock block ;
@ -1769,7 +1769,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const
if ( nSigOps > MAX_BLOCK_SIGOPS )
if ( nSigOps > MAX_BLOCK_SIGOPS )
return DoS ( 100 , error ( " CheckBlock() : out - of - bounds SigOpCount " )) ;
return DoS ( 100 , error ( " CheckBlock() : out - of - bounds SigOpCount " )) ;
// Check merkleroot
// Check merkle root
if ( fCheckMerkleRoot & & hashMerkleRoot ! = BuildMerkleTree ( ) )
if ( fCheckMerkleRoot & & hashMerkleRoot ! = BuildMerkleTree ( ) )
return DoS ( 100 , error ( " CheckBlock() : hashMerkleRoot mismatch " )) ;
return DoS ( 100 , error ( " CheckBlock() : hashMerkleRoot mismatch " )) ;
@ -1805,7 +1805,7 @@ bool CBlock::AcceptBlock()
// Check that the block chain matches the known block chain up to a checkpoint
// Check that the block chain matches the known block chain up to a checkpoint
if ( ! Checkpoints : : CheckBlock ( nHeight , hash ) )
if ( ! Checkpoints : : CheckBlock ( nHeight , hash ) )
return DoS ( 100 , error ( " AcceptBlock() : rejected by checkpoint lockin at % d " , nHeight)) ;
return DoS ( 100 , error ( " AcceptBlock() : rejected by checkpoint lock - in at % d " , nHeight)) ;
// Write block to history file
// Write block to history file
if ( ! CheckDiskSpace ( : : GetSerializeSize ( * this , SER_DISK , CLIENT_VERSION ) ) )
if ( ! CheckDiskSpace ( : : GetSerializeSize ( * this , SER_DISK , CLIENT_VERSION ) ) )
@ -1963,7 +1963,7 @@ FILE* AppendBlockFile(unsigned int& nFileRet)
return NULL ;
return NULL ;
if ( fseek ( file , 0 , SEEK_END ) ! = 0 )
if ( fseek ( file , 0 , SEEK_END ) ! = 0 )
return NULL ;
return NULL ;
// FAT32 filesize max 4GB, fseek and ftell max 2GB, so we must stay under 2GB
// FAT32 file size max 4GB, fseek and ftell max 2GB, so we must stay under 2GB
if ( ftell ( file ) < 0x7F000000 - MAX_SIZE )
if ( ftell ( file ) < 0x7F000000 - MAX_SIZE )
{
{
nFileRet = nCurrentBlockFile ;
nFileRet = nCurrentBlockFile ;
@ -2055,7 +2055,7 @@ bool LoadBlockIndex(bool fAllowNew)
void PrintBlockTree ( )
void PrintBlockTree ( )
{
{
// precompute tree structure
// pre- compute tree structure
map < CBlockIndex * , vector < CBlockIndex * > > mapNext ;
map < CBlockIndex * , vector < CBlockIndex * > > mapNext ;
for ( map < uint256 , CBlockIndex * > : : iterator mi = mapBlockIndex . begin ( ) ; mi ! = mapBlockIndex . end ( ) ; + + mi )
for ( map < uint256 , CBlockIndex * > : : iterator mi = mapBlockIndex . begin ( ) ; mi ! = mapBlockIndex . end ( ) ; + + mi )
{
{
@ -2108,7 +2108,7 @@ void PrintBlockTree()
PrintWallets ( block ) ;
PrintWallets ( block ) ;
// put the main timechain first
// put the main time- chain first
vector < CBlockIndex * > & vNext = mapNext [ pindex ] ;
vector < CBlockIndex * > & vNext = mapNext [ pindex ] ;
for ( unsigned int i = 0 ; i < vNext . size ( ) ; i + + )
for ( unsigned int i = 0 ; i < vNext . size ( ) ; i + + )
{
{
@ -2347,7 +2347,7 @@ bool static AlreadyHave(CTxDB& txdb, const CInv& inv)
// The message start string is designed to be unlikely to occur in normal data.
// The message start string is designed to be unlikely to occur in normal data.
// The characters are rarely used upper ascii , not valid as UTF-8, and produce
// The characters are rarely used upper ASCII , not valid as UTF-8, and produce
// a large 4-byte int at any alignment.
// a large 4-byte int at any alignment.
unsigned char pchMessageStart [ 4 ] = { 0xf9 , 0xbe , 0xb4 , 0xd9 } ;
unsigned char pchMessageStart [ 4 ] = { 0xf9 , 0xbe , 0xb4 , 0xd9 } ;
@ -3030,12 +3030,12 @@ bool ProcessMessages(CNode* pfrom)
{
{
if ( strstr ( e . what ( ) , " end of data " ) )
if ( strstr ( e . what ( ) , " end of data " ) )
{
{
// Allow exceptions from underlength message on vRecv
// Allow exceptions from under- length message on vRecv
printf ( " ProcessMessages(%s, %u bytes) : Exception '%s' caught, normally caused by a message being shorter than its stated length \n " , strCommand . c_str ( ) , nMessageSize , e . what ( ) ) ;
printf ( " ProcessMessages(%s, %u bytes) : Exception '%s' caught, normally caused by a message being shorter than its stated length \n " , strCommand . c_str ( ) , nMessageSize , e . what ( ) ) ;
}
}
else if ( strstr ( e . what ( ) , " size too large " ) )
else if ( strstr ( e . what ( ) , " size too large " ) )
{
{
// Allow exceptions from overlong size
// Allow exceptions from over- long size
printf ( " ProcessMessages(%s, %u bytes) : Exception '%s' caught \n " , strCommand . c_str ( ) , nMessageSize , e . what ( ) ) ;
printf ( " ProcessMessages(%s, %u bytes) : Exception '%s' caught \n " , strCommand . c_str ( ) , nMessageSize , e . what ( ) ) ;
}
}
else
else
@ -3284,9 +3284,9 @@ unsigned int static ScanHash_CryptoPP(char* pmidstate, char* pdata, char* phash1
unsigned int & nNonce = * ( unsigned int * ) ( pdata + 12 ) ;
unsigned int & nNonce = * ( unsigned int * ) ( pdata + 12 ) ;
for ( ; ; )
for ( ; ; )
{
{
// Crypto++ SHA- 256
// Crypto++ SHA256
// Hash pdata using pmidstate as the starting state into
// Hash pdata using pmidstate as the starting state into
// preformatted buffer phash1, then hash phash1 into phash
// pre- formatted buffer phash1, then hash phash1 into phash
nNonce + + ;
nNonce + + ;
SHA256Transform ( phash1 , pdata , pmidstate ) ;
SHA256Transform ( phash1 , pdata , pmidstate ) ;
SHA256Transform ( phash , phash1 , pSHA256InitState ) ;
SHA256Transform ( phash , phash1 , pSHA256InitState ) ;
@ -3623,7 +3623,7 @@ void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int&
void FormatHashBuffers ( CBlock * pblock , char * pmidstate , char * pdata , char * phash1 )
void FormatHashBuffers ( CBlock * pblock , char * pmidstate , char * pdata , char * phash1 )
{
{
//
//
// Prebuild hash buffers
// Pre- build hash buffers
//
//
struct
struct
{
{
@ -3751,7 +3751,7 @@ void static BitcoinMiner(CWallet *pwallet)
//
//
// Prebuild hash buffers
// Pre- build hash buffers
//
//
char pmidstatebuf [ 32 + 16 ] ; char * pmidstate = alignup < 16 > ( pmidstatebuf ) ;
char pmidstatebuf [ 32 + 16 ] ; char * pmidstate = alignup < 16 > ( pmidstatebuf ) ;
char pdatabuf [ 128 + 16 ] ; char * pdata = alignup < 16 > ( pdatabuf ) ;
char pdatabuf [ 128 + 16 ] ; char * pdata = alignup < 16 > ( pdatabuf ) ;
@ -3776,7 +3776,7 @@ void static BitcoinMiner(CWallet *pwallet)
unsigned int nHashesDone = 0 ;
unsigned int nHashesDone = 0 ;
unsigned int nNonceFound ;
unsigned int nNonceFound ;
// Crypto++ SHA- 256
// Crypto++ SHA256
nNonceFound = ScanHash_CryptoPP ( pmidstate , pdata + 64 , phash1 ,
nNonceFound = ScanHash_CryptoPP ( pmidstate , pdata + 64 , phash1 ,
( char * ) & hash , nHashesDone ) ;
( char * ) & hash , nHashesDone ) ;