aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-08-12 15:06:20 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2014-08-12 15:06:20 +0200
commit3b72fdfb86b08d80f5f790220137083b56f624d6 (patch)
tree4460ab2684d648646b5576af79c2f532184fd6ca
parent8ebe42435ab1deda622a7bbfc638b0b2393150ee (diff)
Revert "Reject transactions with excessive numbers of sigops"
This reverts commit 4fad8e6d831729efa1965fa2034e7e51d3d0a1be.
-rw-r--r--src/main.cpp15
-rw-r--r--src/main.h2
2 files changed, 3 insertions, 14 deletions
diff --git a/src/main.cpp b/src/main.cpp
index e135e93adb..55206600e2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -956,18 +956,9 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa
if (Params().RequireStandard() && !AreInputsStandard(tx, view))
return error("AcceptToMemoryPool: : nonstandard transaction input");
- // Check that the transaction doesn't have an excessive number of
- // sigops, making it impossible to mine. Since the coinbase transaction
- // itself can contain sigops MAX_TX_SIGOPS is less than
- // MAX_BLOCK_SIGOPS; we still consider this an invalid rather than
- // merely non-standard transaction.
- unsigned int nSigOps = GetLegacySigOpCount(tx);
- nSigOps += GetP2SHSigOpCount(tx, view);
- if (nSigOps > MAX_TX_SIGOPS)
- return state.DoS(0,
- error("AcceptToMemoryPool : too many sigops %s, %d > %d",
- hash.ToString(), nSigOps, MAX_TX_SIGOPS),
- REJECT_NONSTANDARD, "bad-txns-too-many-sigops");
+ // Note: if you modify this code to accept non-standard transactions, then
+ // you should add code here to check that the transaction does a
+ // reasonable number of ECDSA signature verifications.
int64_t nValueOut = tx.GetValueOut();
int64_t nFees = nValueIn-nValueOut;
diff --git a/src/main.h b/src/main.h
index 01d3f119e1..a27020459a 100644
--- a/src/main.h
+++ b/src/main.h
@@ -45,8 +45,6 @@ static const unsigned int MAX_STANDARD_TX_SIZE = 100000;
static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
/** Maxiumum number of signature check operations in an IsStandard() P2SH script */
static const unsigned int MAX_P2SH_SIGOPS = 15;
-/** The maximum number of sigops we're willing to relay/mine in a single tx */
-static const unsigned int MAX_TX_SIGOPS = MAX_BLOCK_SIGOPS/5;
/** The maximum number of orphan transactions kept in memory */
static const unsigned int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100;
/** Default for -maxorphanblocks, maximum number of orphan blocks kept in memory */