mirror of
https://github.com/FlipsideCrypto/web3.py.git
synced 2026-02-06 10:56:47 +00:00
34 lines
848 B
Python
34 lines
848 B
Python
import random
|
|
|
|
from flaky import flaky
|
|
|
|
from web3.utils.encoding import decode_hex
|
|
from web3.utils.compat import (
|
|
Timeout,
|
|
)
|
|
|
|
|
|
@flaky(max_runs=3)
|
|
def test_miner_setExtra(web3_empty, wait_for_block):
|
|
web3 = web3_empty
|
|
|
|
initial_extra = decode_hex(web3.eth.getBlock(web3.eth.blockNumber)['extraData'])
|
|
|
|
new_extra_data = b'-this-is-32-bytes-of-extra-data-'
|
|
|
|
# sanity
|
|
assert initial_extra != new_extra_data
|
|
|
|
web3.miner.setExtra(new_extra_data)
|
|
|
|
with Timeout(60) as timeout:
|
|
while True:
|
|
extra_data = decode_hex(web3.eth.getBlock(web3.eth.blockNumber)['extraData'])
|
|
if extra_data == new_extra_data:
|
|
break
|
|
timeout.sleep(random.random())
|
|
|
|
after_extra = decode_hex(web3.eth.getBlock(web3.eth.blockNumber)['extraData'])
|
|
|
|
assert after_extra == new_extra_data
|