Skip to content

Commit 0d15754

Browse files
spencer-tbmarioevz
andcommitted
chore: update hive ruleset and add osaka.
Co-authored-by: Mario Vega <marioevz@gmail.com>
1 parent b4e09b1 commit 0d15754

File tree

2 files changed

+72
-25
lines changed

2 files changed

+72
-25
lines changed

docs/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ consume cache --help
3535
- 🐞 Fix the the hive command printed in test reports to reproduce tests in isolation by prefixing the `--sim.limit` flag value with `id:` ([#1333](https://github.com/ethereum/execution-spec-tests/pull/1333)).
3636
- 🐞 Improve index generation of [ethereum/tests](https://github.com/ethereum/tests) fixtures: Allow generation at any directory level and include `generatedTestHash` in the index file for the `fixture_hash` ([#1303](https://github.com/ethereum/execution-spec-tests/pull/1303)).
3737
- 🐞 Fix loading of [ethereum/tests](https://github.com/ethereum/tests) and [ethereum/legacytests](https://github.com/ethereum/legacytests) fixtures for the case of mixed `0x0` and `0x1` transaction types in multi-index (`data`, `gas`, `value`) state test fixtures ([#1330](https://github.com/ethereum/execution-spec-tests/pull/1330)).
38+
- ✨ Add Osaka to the hive ruleset, includes a small ruleset refactor ([#1355](https://github.com/ethereum/execution-spec-tests/pull/1355)).
3839

3940
#### `fill`
4041

src/pytest_plugins/consume/hive_simulators/ruleset.py

Lines changed: 71 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,37 @@
55
Remove this file afterwards.
66
"""
77

8+
from typing import Dict, List
9+
10+
from ethereum_test_forks import Cancun, Fork, Osaka, Prague
11+
12+
13+
def get_blob_schedule_entries(fork: Fork) -> Dict[str, int]:
14+
"""
15+
Generate blob schedule entries for each fork (and respective parent forks).
16+
17+
Adds the following entries to the ruleset for the given fork (and parent forks):
18+
HIVE_{FORK}_BLOB_TARGET: target_blobs_per_block()
19+
HIVE_{FORK}_BLOB_MAX: max_blobs_per_block()
20+
HIVE_{FORK}_BLOB_BASE_FEE_UPDATE_FRACTION: blob_base_fee_update_fraction()
21+
"""
22+
entries: Dict = {}
23+
forks_with_blobs: List[Fork] = []
24+
current_fork = fork
25+
while current_fork.supports_blobs():
26+
forks_with_blobs.append(current_fork)
27+
current_fork = current_fork.parent()
28+
29+
for fork_to_process in forks_with_blobs:
30+
prefix = fork_to_process.__name__.upper()
31+
entries[f"HIVE_{prefix}_BLOB_TARGET"] = fork_to_process.target_blobs_per_block()
32+
entries[f"HIVE_{prefix}_BLOB_MAX"] = fork_to_process.max_blobs_per_block()
33+
entries[f"HIVE_{prefix}_BLOB_BASE_FEE_UPDATE_FRACTION"] = (
34+
fork_to_process.blob_base_fee_update_fraction()
35+
)
36+
return entries
37+
38+
839
ruleset = {
940
"Frontier": {
1041
"HIVE_FORK_HOMESTEAD": 2000,
@@ -121,7 +152,6 @@
121152
},
122153
"HomesteadToEIP150At5": {
123154
"HIVE_FORK_HOMESTEAD": 0,
124-
# "HIVE_FORK_DAO_BLOCK": 2000,
125155
"HIVE_FORK_TANGERINE": 5,
126156
"HIVE_FORK_SPURIOUS": 2000,
127157
"HIVE_FORK_BYZANTIUM": 2000,
@@ -145,7 +175,6 @@
145175
},
146176
"EIP158ToByzantiumAt5": {
147177
"HIVE_FORK_HOMESTEAD": 0,
148-
# "HIVE_FORK_DAO_BLOCK": 2000,
149178
"HIVE_FORK_TANGERINE": 0,
150179
"HIVE_FORK_SPURIOUS": 0,
151180
"HIVE_FORK_BYZANTIUM": 5,
@@ -157,7 +186,6 @@
157186
},
158187
"ByzantiumToConstantinopleAt5": {
159188
"HIVE_FORK_HOMESTEAD": 0,
160-
# "HIVE_FORK_DAO_BLOCK": 2000,
161189
"HIVE_FORK_TANGERINE": 0,
162190
"HIVE_FORK_SPURIOUS": 0,
163191
"HIVE_FORK_BYZANTIUM": 0,
@@ -169,7 +197,6 @@
169197
},
170198
"ByzantiumToConstantinopleFixAt5": {
171199
"HIVE_FORK_HOMESTEAD": 0,
172-
# "HIVE_FORK_DAO_BLOCK": 2000,
173200
"HIVE_FORK_TANGERINE": 0,
174201
"HIVE_FORK_SPURIOUS": 0,
175202
"HIVE_FORK_BYZANTIUM": 0,
@@ -181,7 +208,6 @@
181208
},
182209
"ConstantinopleFixToIstanbulAt5": {
183210
"HIVE_FORK_HOMESTEAD": 0,
184-
# "HIVE_FORK_DAO_BLOCK": 2000,
185211
"HIVE_FORK_TANGERINE": 0,
186212
"HIVE_FORK_SPURIOUS": 0,
187213
"HIVE_FORK_BYZANTIUM": 0,
@@ -193,7 +219,6 @@
193219
},
194220
"IstanbulToBerlinAt5": {
195221
"HIVE_FORK_HOMESTEAD": 0,
196-
# "HIVE_FORK_DAO_BLOCK": 2000,
197222
"HIVE_FORK_TANGERINE": 0,
198223
"HIVE_FORK_SPURIOUS": 0,
199224
"HIVE_FORK_BYZANTIUM": 0,
@@ -205,7 +230,6 @@
205230
},
206231
"BerlinToLondonAt5": {
207232
"HIVE_FORK_HOMESTEAD": 0,
208-
# "HIVE_FORK_DAO_BLOCK": 2000,
209233
"HIVE_FORK_TANGERINE": 0,
210234
"HIVE_FORK_SPURIOUS": 0,
211235
"HIVE_FORK_BYZANTIUM": 0,
@@ -306,9 +330,7 @@
306330
"HIVE_TERMINAL_TOTAL_DIFFICULTY": 0,
307331
"HIVE_SHANGHAI_TIMESTAMP": 0,
308332
"HIVE_CANCUN_TIMESTAMP": 0,
309-
"HIVE_CANCUN_BLOB_TARGET": 3,
310-
"HIVE_CANCUN_BLOB_MAX": 6,
311-
"HIVE_CANCUN_BLOB_BASE_FEE_UPDATE_FRACTION": 3338477,
333+
**get_blob_schedule_entries(Cancun),
312334
},
313335
"ShanghaiToCancunAtTime15k": {
314336
"HIVE_FORK_HOMESTEAD": 0,
@@ -324,9 +346,7 @@
324346
"HIVE_TERMINAL_TOTAL_DIFFICULTY": 0,
325347
"HIVE_SHANGHAI_TIMESTAMP": 0,
326348
"HIVE_CANCUN_TIMESTAMP": 15000,
327-
"HIVE_CANCUN_BLOB_TARGET": 3,
328-
"HIVE_CANCUN_BLOB_MAX": 6,
329-
"HIVE_CANCUN_BLOB_BASE_FEE_UPDATE_FRACTION": 3338477,
349+
**get_blob_schedule_entries(Cancun),
330350
},
331351
"Prague": {
332352
"HIVE_FORK_HOMESTEAD": 0,
@@ -342,13 +362,8 @@
342362
"HIVE_TERMINAL_TOTAL_DIFFICULTY": 0,
343363
"HIVE_SHANGHAI_TIMESTAMP": 0,
344364
"HIVE_CANCUN_TIMESTAMP": 0,
345-
"HIVE_CANCUN_BLOB_TARGET": 3,
346-
"HIVE_CANCUN_BLOB_MAX": 6,
347-
"HIVE_CANCUN_BLOB_BASE_FEE_UPDATE_FRACTION": 3338477,
348365
"HIVE_PRAGUE_TIMESTAMP": 0,
349-
"HIVE_PRAGUE_BLOB_TARGET": 6,
350-
"HIVE_PRAGUE_BLOB_MAX": 9,
351-
"HIVE_PRAGUE_BLOB_BASE_FEE_UPDATE_FRACTION": 5007716,
366+
**get_blob_schedule_entries(Prague),
352367
},
353368
"CancunToPragueAtTime15k": {
354369
"HIVE_FORK_HOMESTEAD": 0,
@@ -364,12 +379,43 @@
364379
"HIVE_TERMINAL_TOTAL_DIFFICULTY": 0,
365380
"HIVE_SHANGHAI_TIMESTAMP": 0,
366381
"HIVE_CANCUN_TIMESTAMP": 0,
367-
"HIVE_CANCUN_BLOB_TARGET": 3,
368-
"HIVE_CANCUN_BLOB_MAX": 6,
369-
"HIVE_CANCUN_BLOB_BASE_FEE_UPDATE_FRACTION": 3338477,
370382
"HIVE_PRAGUE_TIMESTAMP": 15000,
371-
"HIVE_PRAGUE_BLOB_TARGET": 6,
372-
"HIVE_PRAGUE_BLOB_MAX": 9,
373-
"HIVE_PRAGUE_BLOB_BASE_FEE_UPDATE_FRACTION": 5007716,
383+
**get_blob_schedule_entries(Prague),
384+
},
385+
"Osaka": {
386+
"HIVE_FORK_HOMESTEAD": 0,
387+
"HIVE_FORK_TANGERINE": 0,
388+
"HIVE_FORK_SPURIOUS": 0,
389+
"HIVE_FORK_BYZANTIUM": 0,
390+
"HIVE_FORK_CONSTANTINOPLE": 0,
391+
"HIVE_FORK_PETERSBURG": 0,
392+
"HIVE_FORK_ISTANBUL": 0,
393+
"HIVE_FORK_BERLIN": 0,
394+
"HIVE_FORK_LONDON": 0,
395+
"HIVE_FORK_MERGE": 0,
396+
"HIVE_TERMINAL_TOTAL_DIFFICULTY": 0,
397+
"HIVE_SHANGHAI_TIMESTAMP": 0,
398+
"HIVE_CANCUN_TIMESTAMP": 0,
399+
"HIVE_PRAGUE_TIMESTAMP": 0,
400+
"HIVE_OSAKA_TIMESTAMP": 0,
401+
**get_blob_schedule_entries(Osaka),
402+
},
403+
"PragueToOsakaAtTime15k": {
404+
"HIVE_FORK_HOMESTEAD": 0,
405+
"HIVE_FORK_TANGERINE": 0,
406+
"HIVE_FORK_SPURIOUS": 0,
407+
"HIVE_FORK_BYZANTIUM": 0,
408+
"HIVE_FORK_CONSTANTINOPLE": 0,
409+
"HIVE_FORK_PETERSBURG": 0,
410+
"HIVE_FORK_ISTANBUL": 0,
411+
"HIVE_FORK_BERLIN": 0,
412+
"HIVE_FORK_LONDON": 0,
413+
"HIVE_FORK_MERGE": 0,
414+
"HIVE_TERMINAL_TOTAL_DIFFICULTY": 0,
415+
"HIVE_SHANGHAI_TIMESTAMP": 0,
416+
"HIVE_CANCUN_TIMESTAMP": 0,
417+
"HIVE_PRAGUE_TIMESTAMP": 0,
418+
"HIVE_OSAKA_TIMESTAMP": 15000,
419+
**get_blob_schedule_entries(Osaka),
374420
},
375421
}

0 commit comments

Comments
 (0)