Changeset View
Changeset View
Standalone View
Standalone View
test/functional/feature_block.py
Show First 20 Lines • Show All 281 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
# Attempt to spend a coinbase at depth too low | # Attempt to spend a coinbase at depth too low | ||||
# genesis -> b1 (0) -> b2 (1) -> b5 (2) -> b6 (3) | # genesis -> b1 (0) -> b2 (1) -> b5 (2) -> b6 (3) | ||||
# \-> b12 (3) -> b13 (4) -> b15 (5) -> b20 (7) | # \-> b12 (3) -> b13 (4) -> b15 (5) -> b20 (7) | ||||
# \-> b3 (1) -> b4 (2) | # \-> b3 (1) -> b4 (2) | ||||
self.log.info("Reject a block spending an immature coinbase.") | self.log.info("Reject a block spending an immature coinbase.") | ||||
self.move_tip(15) | self.move_tip(15) | ||||
b20 = self.next_block(20, spend=out[7]) | b20 = self.next_block(20, spend=out[7]) | ||||
self.send_blocks([b20], success=False, | self.send_blocks( | ||||
reject_reason='bad-txns-premature-spend-of-coinbase') | [b20], | ||||
success=False, | |||||
reject_reason='bad-txns-premature-spend-of-coinbase', | |||||
reconnect=True) | |||||
# Attempt to spend a coinbase at depth too low (on a fork this time) | # Attempt to spend a coinbase at depth too low (on a fork this time) | ||||
# genesis -> b1 (0) -> b2 (1) -> b5 (2) -> b6 (3) | # genesis -> b1 (0) -> b2 (1) -> b5 (2) -> b6 (3) | ||||
# \-> b12 (3) -> b13 (4) -> b15 (5) | # \-> b12 (3) -> b13 (4) -> b15 (5) | ||||
# \-> b21 (6) -> b22 (5) | # \-> b21 (6) -> b22 (5) | ||||
# \-> b3 (1) -> b4 (2) | # \-> b3 (1) -> b4 (2) | ||||
self.log.info( | self.log.info( | ||||
"Reject a block spending an immature coinbase (on a forked chain)") | "Reject a block spending an immature coinbase (on a forked chain)") | ||||
self.move_tip(13) | self.move_tip(13) | ||||
b21 = self.next_block(21, spend=out[6]) | b21 = self.next_block(21, spend=out[6]) | ||||
self.send_blocks([b21], False) | self.send_blocks([b21], False) | ||||
b22 = self.next_block(22, spend=out[5]) | b22 = self.next_block(22, spend=out[5]) | ||||
self.send_blocks([b22], success=False, | self.send_blocks( | ||||
reject_reason='bad-txns-premature-spend-of-coinbase') | [b22], | ||||
success=False, | |||||
reject_reason='bad-txns-premature-spend-of-coinbase', | |||||
reconnect=True) | |||||
# Create a block on either side of LEGACY_MAX_BLOCK_SIZE and make sure its accepted/rejected | # Create a block on either side of LEGACY_MAX_BLOCK_SIZE and make sure its accepted/rejected | ||||
# genesis -> b1 (0) -> b2 (1) -> b5 (2) -> b6 (3) | # genesis -> b1 (0) -> b2 (1) -> b5 (2) -> b6 (3) | ||||
# \-> b12 (3) -> b13 (4) -> b15 (5) -> b23 (6) | # \-> b12 (3) -> b13 (4) -> b15 (5) -> b23 (6) | ||||
# \-> b24 (6) -> b25 (7) | # \-> b24 (6) -> b25 (7) | ||||
# \-> b3 (1) -> b4 (2) | # \-> b3 (1) -> b4 (2) | ||||
self.log.info("Accept a block of size LEGACY_MAX_BLOCK_SIZE") | self.log.info("Accept a block of size LEGACY_MAX_BLOCK_SIZE") | ||||
self.move_tip(15) | self.move_tip(15) | ||||
▲ Show 20 Lines • Show All 943 Lines • Show Last 20 Lines |