aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2013-03-15 14:43:33 -0400
committerGavin Andresen <gavinandresen@gmail.com>2013-03-17 15:35:36 -0400
commitfc6deb5217e4c1dc6b6cac0ec16770a4ebebbfa2 (patch)
tree7ac689990d408c695b88016c64f0a251cebd749d
parent8bd02881899bbae2d8e5082081e02c7d577994e5 (diff)
Before 15 May, limit created block size to 500K
-rw-r--r--src/main.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index a7cd975d53..fd24597529 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2054,8 +2054,8 @@ bool CBlock::CheckBlock(CValidationState &state, bool fCheckPOW, bool fCheckMerk
return state.DoS(100, error("CheckBlock() : size limits failed"));
// Special short-term limits to avoid 10,000 BDB lock limit:
- if (GetBlockTime() > 1363039171 && // 11 March 2013, timestamp of block before the big fork
- GetBlockTime() < 1368576000) // 15 May 2013 00:00:00
+ if (GetBlockTime() >= 1363867200 && // start enforcing 21 March 2013, noon GMT
+ GetBlockTime() < 1368576000) // stop enforcing 15 May 2013 00:00:00
{
// Rule is: #unique txids referenced <= 4,500
// ... to prevent 10,000 BDB lock exhaustion on old clients
@@ -4152,6 +4152,10 @@ CBlockTemplate* CreateNewBlock(CReserveKey& reservekey)
// Limit to betweeen 1K and MAX_BLOCK_SIZE-1K for sanity:
nBlockMaxSize = std::max((unsigned int)1000, std::min((unsigned int)(MAX_BLOCK_SIZE-1000), nBlockMaxSize));
+ // Special compatibility rule before 15 May: limit size to 500,000 bytes:
+ if (GetAdjustedTime() < 1368576000)
+ nBlockMaxSize = std::min(nBlockMaxSize, (unsigned int)(MAX_BLOCK_SIZE_GEN));
+
// How much of the block should be dedicated to high-priority transactions,
// included regardless of the fees they pay
unsigned int nBlockPrioritySize = GetArg("-blockprioritysize", 27000);