Changeset View
Changeset View
Standalone View
Standalone View
test/functional/invalidblockrequest.py
Show First 20 Lines • Show All 98 Lines • ▼ Show 20 Lines | def get_tests(self): | ||||
assert_equal(block2.hashMerkleRoot, block2.calc_merkle_root()) | assert_equal(block2.hashMerkleRoot, block2.calc_merkle_root()) | ||||
assert_equal(orig_hash, block2.rehash()) | assert_equal(orig_hash, block2.rehash()) | ||||
assert(block2_orig.vtx != block2.vtx) | assert(block2_orig.vtx != block2.vtx) | ||||
self.tip = block2.sha256 | self.tip = block2.sha256 | ||||
yield TestInstance([[block2, RejectResult(16, b'bad-txns-duplicate')], [block2_orig, True]]) | yield TestInstance([[block2, RejectResult(16, b'bad-txns-duplicate')], [block2_orig, True]]) | ||||
height += 1 | height += 1 | ||||
# Check transactions for duplicate inputs | |||||
self.log.info("Test duplicate input block.") | |||||
block2_orig.vtx[2].vin.append(block2_orig.vtx[2].vin[0]) | |||||
block2_orig.vtx[2].rehash() | |||||
block2_orig.hashMerkleRoot = block2_orig.calc_merkle_root() | |||||
block2_orig.rehash() | |||||
block2_orig.solve() | |||||
yield TestInstance([[block2_orig, RejectResult(16, b'bad-txns-inputs-duplicate')]]) | |||||
''' | ''' | ||||
Make sure that a totally screwed up block is not valid. | Make sure that a totally screwed up block is not valid. | ||||
''' | ''' | ||||
block3 = create_block( | block3 = create_block( | ||||
self.tip, create_coinbase(height), self.block_time) | self.tip, create_coinbase(height), self.block_time) | ||||
self.block_time += 1 | self.block_time += 1 | ||||
block3.vtx[0].vout[0].nValue = 100 * COIN # Too high! | block3.vtx[0].vout[0].nValue = 100 * COIN # Too high! | ||||
block3.vtx[0].sha256 = None | block3.vtx[0].sha256 = None | ||||
Show All 10 Lines |