Skip to content

Commit 4de323c

Browse files
authored
Merge pull request #35 from ethereum/genesis-rlp-difficulty-fix
spec,filler: Fix `difficulty>0` on post merge fixtures, add `genesisRLP`
2 parents 1b5c61c + cb28984 commit 4de323c

File tree

10 files changed

+18
-11
lines changed

10 files changed

+18
-11
lines changed

src/ethereum_test_tools/common/types.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -843,6 +843,7 @@ class Fixture:
843843

844844
blocks: List[FixtureBlock]
845845
genesis: FixtureHeader
846+
genesis_rlp: str
846847
head: str
847848
fork: str
848849
pre_state: Mapping[str, Account]
@@ -990,6 +991,7 @@ def default(self, obj):
990991
for b in obj.blocks
991992
],
992993
"genesisBlockHeader": self.default(obj.genesis),
994+
"genesisRLP": obj.genesis_rlp,
993995
"lastblockhash": obj.head,
994996
"network": obj.fork,
995997
"pre": json.loads(json.dumps(obj.pre_state, cls=JSONEncoder)),

src/ethereum_test_tools/filling/fill.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def fill_test(
3939

4040
t8n.reset_traces()
4141

42-
genesis = test.make_genesis(b11r, t8n, fork)
42+
genesis_rlp, genesis = test.make_genesis(b11r, t8n, fork)
4343

4444
try:
4545
(blocks, head, alloc) = test.make_blocks(
@@ -57,6 +57,7 @@ def fill_test(
5757
fixture = Fixture(
5858
blocks=blocks,
5959
genesis=genesis,
60+
genesis_rlp=genesis_rlp,
6061
head=head,
6162
fork="+".join([fork] + [str(eip) for eip in eips])
6263
if eips is not None

src/ethereum_test_tools/spec/base_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def make_genesis(
9494
b11r: BlockBuilder,
9595
t8n: TransitionTool,
9696
fork: str,
97-
) -> FixtureHeader:
97+
) -> Tuple[str, FixtureHeader]:
9898
"""
9999
Create a genesis block from the test definition.
100100
"""

src/ethereum_test_tools/spec/blockchain_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def make_genesis(
5050
b11r: BlockBuilder,
5151
t8n: TransitionTool,
5252
fork: str,
53-
) -> FixtureHeader:
53+
) -> Tuple[str, FixtureHeader]:
5454
"""
5555
Create a genesis block from the state test definition.
5656
"""
@@ -67,7 +67,7 @@ def make_genesis(
6767
transactions_root=EmptyTrieRoot,
6868
receipt_root=EmptyTrieRoot,
6969
bloom="0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501
70-
difficulty=0x20000,
70+
difficulty=0x20000 if env.difficulty is None else env.difficulty,
7171
number=0,
7272
gas_limit=env.gas_limit,
7373
gas_used=0,
@@ -81,10 +81,10 @@ def make_genesis(
8181
else None,
8282
)
8383

84-
(_, h) = b11r.build(genesis.to_geth_dict(), "", [])
84+
(genesis_rlp, h) = b11r.build(genesis.to_geth_dict(), "", [])
8585
genesis.hash = h
8686

87-
return genesis
87+
return genesis_rlp, genesis
8888

8989
def make_block(
9090
self,

src/ethereum_test_tools/spec/state_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def make_genesis(
4949
b11r: BlockBuilder,
5050
t8n: TransitionTool,
5151
fork: str,
52-
) -> FixtureHeader:
52+
) -> Tuple[str, FixtureHeader]:
5353
"""
5454
Create a genesis block from the state test definition.
5555
"""
@@ -66,7 +66,7 @@ def make_genesis(
6666
transactions_root=EmptyTrieRoot,
6767
receipt_root=EmptyTrieRoot,
6868
bloom="0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", # noqa: E501
69-
difficulty=0x20000,
69+
difficulty=0x20000 if env.difficulty is None else env.difficulty,
7070
number=env.number - 1,
7171
gas_limit=env.gas_limit,
7272
# We need the base fee to remain unchanged from the genesis
@@ -84,10 +84,10 @@ def make_genesis(
8484
else None,
8585
)
8686

87-
(_, h) = b11r.build(genesis.to_geth_dict(), "", [])
87+
(genesis_rlp, h) = b11r.build(genesis.to_geth_dict(), "", [])
8888
genesis.hash = h
8989

90-
return genesis
90+
return genesis_rlp, genesis
9191

9292
def make_blocks(
9393
self,

src/ethereum_test_tools/tests/test_filler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def test_make_genesis(fork: str, hash: str):
5858
b11r = EvmBlockBuilder()
5959
t8n = EvmTransitionTool()
6060

61-
genesis = StateTest(
61+
_, genesis = StateTest(
6262
env=env, pre=pre, post={}, txs=[], name="some_state_test"
6363
).make_genesis(b11r, t8n, fork)
6464
assert genesis.hash is not None

src/ethereum_test_tools/tests/test_fixtures/blockchain_london_invalid_filled.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@
123123
"baseFeePerGas": "0x3e8",
124124
"hash": "0x6241b4534da26b654ec5bb30d29b1d5202454af544b05828433354da7471957c"
125125
},
126+
"genesisRLP": "0xf90200f901fba00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a089a5be1d3306f6f05b42678ef13ac3dbc37bef9a2a80862c21eb22eee29194c2a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008088016345785d8a0000808000a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0",
126127
"lastblockhash": "0xf5e2f23d9a212edbb35a07bc9f582f4a632b694bd4ef8742de8ad6c6acacf72c",
127128
"network": "London",
128129
"pre": {

src/ethereum_test_tools/tests/test_fixtures/blockchain_london_valid_filled.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
"baseFeePerGas": "0x3e8",
114114
"hash": "0x6241b4534da26b654ec5bb30d29b1d5202454af544b05828433354da7471957c"
115115
},
116+
"genesisRLP": "0xf90200f901fba00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a089a5be1d3306f6f05b42678ef13ac3dbc37bef9a2a80862c21eb22eee29194c2a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200008088016345785d8a0000808000a000000000000000000000000000000000000000000000000000000000000000008800000000000000008203e8c0c0",
116117
"lastblockhash": "0xf5e2f23d9a212edbb35a07bc9f582f4a632b694bd4ef8742de8ad6c6acacf72c",
117118
"network": "London",
118119
"pre": {

src/ethereum_test_tools/tests/test_fixtures/chainid_istanbul_filled.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"nonce": "0x0000000000000000",
4242
"hash": "0x07a0192766c62d9bdb9e357ebdffd4d8c1d12c15b467c453772c3f8027f02886"
4343
},
44+
"genesisRLP": "0xf901fff901faa00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0aff9f63320a482f8c4e4f15f659e6a7ac382138fbbb6919243b0cba4c5988a5aa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000808502540be40085012a05f2008000a00000000000000000000000000000000000000000000000000000000000000000880000000000000000c0c0",
4445
"lastblockhash": "0xe1eaa067c6bc24e4dd3dc7e2a8cff9d7dcc8783548228b1e0f85bdff2bfd087c",
4546
"network": "Istanbul",
4647
"pre": {

src/ethereum_test_tools/tests/test_fixtures/chainid_london_filled.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"baseFeePerGas": "0x7",
4444
"hash": "0xc23ec9a992cd009c20de66b8b0b54f358f1b684ed55f841d71aa5031e1c11b5f"
4545
},
46+
"genesisRLP": "0xf90200f901fba00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0aff9f63320a482f8c4e4f15f659e6a7ac382138fbbb6919243b0cba4c5988a5aa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000808502540be40085012a05f2008000a0000000000000000000000000000000000000000000000000000000000000000088000000000000000007c0c0",
4647
"lastblockhash": "0x1efac4df8d7cb16ef204132c796dba20ecda56a5bcd60be83eddd22330a0402a",
4748
"network": "London",
4849
"pre": {

0 commit comments

Comments
 (0)