Add EIP-6110 to the pytest scope

This commit is contained in:
Hsiao-Wei Wang 2023-03-27 20:58:43 +08:00
parent c46c3945fd
commit d0839dfec4
No known key found for this signature in database
GPG Key ID: AE3D6B174F971DE4
7 changed files with 37 additions and 9 deletions

View File

@ -50,8 +50,9 @@ CAPELLA_FORK_EPOCH: 194048 # April 12, 2023, 10:27:35pm UTC
# Deneb # Deneb
DENEB_FORK_VERSION: 0x04000000 DENEB_FORK_VERSION: 0x04000000
DENEB_FORK_EPOCH: 18446744073709551615 DENEB_FORK_EPOCH: 18446744073709551615
# EIP6110
EIP6110_FORK_VERSION: 0x04000001
EIP6110_FORK_EPOCH: 18446744073709551615
# Time parameters # Time parameters

View File

@ -49,6 +49,9 @@ CAPELLA_FORK_EPOCH: 18446744073709551615
# DENEB # DENEB
DENEB_FORK_VERSION: 0x04000001 DENEB_FORK_VERSION: 0x04000001
DENEB_FORK_EPOCH: 18446744073709551615 DENEB_FORK_EPOCH: 18446744073709551615
# EIP6110
EIP6110_FORK_VERSION: 0x04000001
EIP6110_FORK_EPOCH: 18446744073709551615
# Time parameters # Time parameters

View File

@ -0,0 +1,6 @@
# Mainnet preset - EIP6110
# Execution
# ---------------------------------------------------------------
# 2**13 (= 8192) receipts
MAX_DEPOSIT_RECEIPTS_PER_PAYLOAD: 8192

View File

@ -0,0 +1,6 @@
# Minimal preset - EIP6110
# Execution
# ---------------------------------------------------------------
# [customized]
MAX_DEPOSIT_RECEIPTS_PER_PAYLOAD: 4

View File

@ -8,11 +8,13 @@ from eth2spec.altair import mainnet as spec_altair_mainnet, minimal as spec_alta
from eth2spec.bellatrix import mainnet as spec_bellatrix_mainnet, minimal as spec_bellatrix_minimal from eth2spec.bellatrix import mainnet as spec_bellatrix_mainnet, minimal as spec_bellatrix_minimal
from eth2spec.capella import mainnet as spec_capella_mainnet, minimal as spec_capella_minimal from eth2spec.capella import mainnet as spec_capella_mainnet, minimal as spec_capella_minimal
from eth2spec.deneb import mainnet as spec_deneb_mainnet, minimal as spec_deneb_minimal from eth2spec.deneb import mainnet as spec_deneb_mainnet, minimal as spec_deneb_minimal
from eth2spec.eip6110 import mainnet as spec_eip6110_mainnet, minimal as spec_eip6110_minimal
from eth2spec.utils import bls from eth2spec.utils import bls
from .exceptions import SkippedTest from .exceptions import SkippedTest
from .helpers.constants import ( from .helpers.constants import (
PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB, PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB,
EIP6110,
MINIMAL, MAINNET, MINIMAL, MAINNET,
ALL_PHASES, ALL_PHASES,
ALL_FORK_UPGRADES, ALL_FORK_UPGRADES,
@ -79,13 +81,15 @@ spec_targets: Dict[PresetBaseName, Dict[SpecForkName, Spec]] = {
BELLATRIX: spec_bellatrix_minimal, BELLATRIX: spec_bellatrix_minimal,
CAPELLA: spec_capella_minimal, CAPELLA: spec_capella_minimal,
DENEB: spec_deneb_minimal, DENEB: spec_deneb_minimal,
EIP6110: spec_eip6110_minimal,
}, },
MAINNET: { MAINNET: {
PHASE0: spec_phase0_mainnet, PHASE0: spec_phase0_mainnet,
ALTAIR: spec_altair_mainnet, ALTAIR: spec_altair_mainnet,
BELLATRIX: spec_bellatrix_mainnet, BELLATRIX: spec_bellatrix_mainnet,
CAPELLA: spec_capella_mainnet, CAPELLA: spec_capella_mainnet,
DENEB: spec_deneb_mainnet DENEB: spec_deneb_mainnet,
EIP6110: spec_eip6110_mainnet,
}, },
} }

View File

@ -9,24 +9,25 @@ PHASE0 = SpecForkName('phase0')
ALTAIR = SpecForkName('altair') ALTAIR = SpecForkName('altair')
BELLATRIX = SpecForkName('bellatrix') BELLATRIX = SpecForkName('bellatrix')
CAPELLA = SpecForkName('capella') CAPELLA = SpecForkName('capella')
DENEB = SpecForkName('deneb')
# Experimental phases (not included in default "ALL_PHASES"): # Experimental phases (not included in default "ALL_PHASES"):
SHARDING = SpecForkName('sharding') SHARDING = SpecForkName('sharding')
CUSTODY_GAME = SpecForkName('custody_game') CUSTODY_GAME = SpecForkName('custody_game')
DAS = SpecForkName('das') DAS = SpecForkName('das')
DENEB = SpecForkName('deneb') EIP6110 = SpecForkName('eip6110')
# The forks that pytest can run with. # The forks that pytest can run with.
ALL_PHASES = ( ALL_PHASES = (
# Formal forks # Formal forks
PHASE0, ALTAIR, BELLATRIX, CAPELLA, PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB,
# Experimental patches # Experimental patches
DENEB, EIP6110,
) )
# The forks that output to the test vectors. # The forks that output to the test vectors.
TESTGEN_FORKS = (PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB) TESTGEN_FORKS = (PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB, EIP6110)
# TODO: no DENEB fork tests now. Should add when we figure out the content of Capella. # TODO: no EIP6110 fork tests now.
ALL_FORK_UPGRADES = { ALL_FORK_UPGRADES = {
# pre_fork_name: post_fork_name # pre_fork_name: post_fork_name
PHASE0: ALTAIR, PHASE0: ALTAIR,
@ -41,7 +42,7 @@ AFTER_CAPELLA_UPGRADES = {key: value for key, value in ALL_FORK_UPGRADES.items()
if key not in [PHASE0, ALTAIR]} if key not in [PHASE0, ALTAIR]}
AFTER_CAPELLA_PRE_POST_FORKS = AFTER_CAPELLA_UPGRADES.items() AFTER_CAPELLA_PRE_POST_FORKS = AFTER_CAPELLA_UPGRADES.items()
AFTER_DENEB_UPGRADES = {key: value for key, value in ALL_FORK_UPGRADES.items() AFTER_DENEB_UPGRADES = {key: value for key, value in ALL_FORK_UPGRADES.items()
if key not in [PHASE0, ALTAIR, BELLATRIX]} if key not in [PHASE0, ALTAIR, BELLATRIX, EIP6110]}
AFTER_DENEB_PRE_POST_FORKS = AFTER_DENEB_UPGRADES.items() AFTER_DENEB_PRE_POST_FORKS = AFTER_DENEB_UPGRADES.items()
# #

View File

@ -1,9 +1,12 @@
from .constants import ( from .constants import (
PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB, PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB,
EIP6110,
) )
def is_post_fork(a, b): def is_post_fork(a, b):
if a == EIP6110:
return b in [PHASE0, ALTAIR, BELLATRIX, CAPELLA, EIP6110]
if a == DENEB: if a == DENEB:
return b in [PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB] return b in [PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB]
if a == CAPELLA: if a == CAPELLA:
@ -31,3 +34,7 @@ def is_post_capella(spec):
def is_post_deneb(spec): def is_post_deneb(spec):
return is_post_fork(spec.fork, DENEB) return is_post_fork(spec.fork, DENEB)
def is_post_eip6110(spec):
return is_post_fork(spec.fork, EIP6110)