|
|
|
@ -119,7 +119,7 @@ class FullBlockTest(BitcoinTestFramework):
|
|
|
|
|
# Allow the block to mature
|
|
|
|
|
blocks = []
|
|
|
|
|
for i in range(NUM_BUFFER_BLOCKS_TO_GENERATE):
|
|
|
|
|
blocks.append(self.next_block("maturitybuffer.{}".format(i)))
|
|
|
|
|
blocks.append(self.next_block(f"maturitybuffer.{i}"))
|
|
|
|
|
self.save_spendable_output()
|
|
|
|
|
self.send_blocks(blocks)
|
|
|
|
|
|
|
|
|
@ -151,8 +151,8 @@ class FullBlockTest(BitcoinTestFramework):
|
|
|
|
|
if template.valid_in_block:
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
self.log.info("Reject block with invalid tx: %s", TxTemplate.__name__)
|
|
|
|
|
blockname = "for_invalid.%s" % TxTemplate.__name__
|
|
|
|
|
self.log.info(f"Reject block with invalid tx: {TxTemplate.__name__}")
|
|
|
|
|
blockname = f"for_invalid.{TxTemplate.__name__}"
|
|
|
|
|
badblock = self.next_block(blockname)
|
|
|
|
|
badtx = template.get_tx()
|
|
|
|
|
if TxTemplate != invalid_txs.InputMissing:
|
|
|
|
@ -1355,12 +1355,12 @@ class FullBlockTest(BitcoinTestFramework):
|
|
|
|
|
|
|
|
|
|
# save the current tip so it can be spent by a later block
|
|
|
|
|
def save_spendable_output(self):
|
|
|
|
|
self.log.debug("saving spendable output %s" % self.tip.vtx[0])
|
|
|
|
|
self.log.debug(f"saving spendable output {self.tip.vtx[0]}")
|
|
|
|
|
self.spendable_outputs.append(self.tip)
|
|
|
|
|
|
|
|
|
|
# get an output that we previously marked as spendable
|
|
|
|
|
def get_spendable_output(self):
|
|
|
|
|
self.log.debug("getting spendable output %s" % self.spendable_outputs[0].vtx[0])
|
|
|
|
|
self.log.debug(f"getting spendable output {self.spendable_outputs[0].vtx[0]}")
|
|
|
|
|
return self.spendable_outputs.pop(0).vtx[0]
|
|
|
|
|
|
|
|
|
|
# move the tip back to a previous block
|
|
|
|
|