mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-18 22:35:39 +01:00
Lower default policy limits
Reduce the default limits on maximum number of transactions and the cumulative size of those transactions in both ancestor and descendant packages to 25 txs and 101kb total size.
This commit is contained in:
@@ -11,6 +11,9 @@ from test_framework.util import *
|
||||
def satoshi_round(amount):
|
||||
return Decimal(amount).quantize(Decimal('0.00000001'), rounding=ROUND_DOWN)
|
||||
|
||||
MAX_ANCESTORS = 25
|
||||
MAX_DESCENDANTS = 25
|
||||
|
||||
class MempoolPackagesTest(BitcoinTestFramework):
|
||||
|
||||
def setup_network(self):
|
||||
@@ -45,17 +48,17 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
||||
value = utxo[0]['amount']
|
||||
|
||||
fee = Decimal("0.0001")
|
||||
# 100 transactions off a confirmed tx should be fine
|
||||
# MAX_ANCESTORS transactions off a confirmed tx should be fine
|
||||
chain = []
|
||||
for i in xrange(100):
|
||||
for i in xrange(MAX_ANCESTORS):
|
||||
(txid, sent_value) = self.chain_transaction(self.nodes[0], txid, 0, value, fee, 1)
|
||||
value = sent_value
|
||||
chain.append(txid)
|
||||
|
||||
# Check mempool has 100 transactions in it, and descendant
|
||||
# Check mempool has MAX_ANCESTORS transactions in it, and descendant
|
||||
# count and fees should look correct
|
||||
mempool = self.nodes[0].getrawmempool(True)
|
||||
assert_equal(len(mempool), 100)
|
||||
assert_equal(len(mempool), MAX_ANCESTORS)
|
||||
descendant_count = 1
|
||||
descendant_fees = 0
|
||||
descendant_size = 0
|
||||
@@ -91,18 +94,18 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
||||
for i in xrange(10):
|
||||
transaction_package.append({'txid': txid, 'vout': i, 'amount': sent_value})
|
||||
|
||||
for i in xrange(1000):
|
||||
for i in xrange(MAX_DESCENDANTS):
|
||||
utxo = transaction_package.pop(0)
|
||||
try:
|
||||
(txid, sent_value) = self.chain_transaction(self.nodes[0], utxo['txid'], utxo['vout'], utxo['amount'], fee, 10)
|
||||
for j in xrange(10):
|
||||
transaction_package.append({'txid': txid, 'vout': j, 'amount': sent_value})
|
||||
if i == 998:
|
||||
if i == MAX_DESCENDANTS - 2:
|
||||
mempool = self.nodes[0].getrawmempool(True)
|
||||
assert_equal(mempool[parent_transaction]['descendantcount'], 1000)
|
||||
assert_equal(mempool[parent_transaction]['descendantcount'], MAX_DESCENDANTS)
|
||||
except JSONRPCException as e:
|
||||
print e.error['message']
|
||||
assert_equal(i, 999)
|
||||
assert_equal(i, MAX_DESCENDANTS - 1)
|
||||
print "tx that would create too large descendant package successfully rejected"
|
||||
|
||||
# TODO: check that node1's mempool is as expected
|
||||
|
||||
Reference in New Issue
Block a user