0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-07 10:27:47 -05:00
This commit is contained in:
tdb3 2025-02-01 00:05:25 +01:00 committed by GitHub
commit 754b0bea9f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -156,10 +156,11 @@ class MiningTest(BitcoinTestFramework):
# mintime and curtime should match
assert_equal(tmpl['mintime'], tmpl['curtime'])
self.log.info("Test timewarp protection boundary")
block = CBlock()
block.nVersion = tmpl["version"]
block.hashPrevBlock = int(tmpl["previousblockhash"], 16)
block.nTime = tmpl["curtime"]
block.nTime = t + MAX_FUTURE_BLOCK_TIME - MAX_TIMEWARP
block.nBits = int(tmpl["bits"], 16)
block.nNonce = 0
block.vtx = [create_coinbase(height=int(tmpl["height"]))]
@ -167,18 +168,12 @@ class MiningTest(BitcoinTestFramework):
assert_template(node, block, None)
bad_block = copy.deepcopy(block)
bad_block.nTime = t
bad_block.solve()
assert_raises_rpc_error(-25, 'time-timewarp-attack', lambda: node.submitheader(hexdata=CBlockHeader(bad_block).serialize().hex()))
self.log.info("Test timewarp protection boundary")
bad_block.nTime = t + MAX_FUTURE_BLOCK_TIME - MAX_TIMEWARP - 1
bad_block.solve()
assert_raises_rpc_error(-25, 'time-timewarp-attack', lambda: node.submitheader(hexdata=CBlockHeader(bad_block).serialize().hex()))
bad_block.nTime = t + MAX_FUTURE_BLOCK_TIME - MAX_TIMEWARP
bad_block.solve()
node.submitheader(hexdata=CBlockHeader(bad_block).serialize().hex())
block.solve()
node.submitheader(hexdata=CBlockHeader(block).serialize().hex())
def test_pruning(self):
self.log.info("Test that submitblock stores previously pruned block")