1.2 KiB
Forks
The aim of the fork tests is to ensure that a pre-fork state can be transformed
into a valid post-fork state, utilizing the upgrade
function found in the relevant fork.md
spec.
There is only one handler: fork
. Each fork (after genesis) is handled with the same format,
and the particular fork boundary being tested is noted in meta.yaml
.
Test case format
meta.yaml
A yaml file to signify which fork boundary is being tested.
fork: str -- Fork being transitioned to
Fork strings
Key of valid fork
strings that might be found in meta.yaml
String ID | Pre-fork | Post-fork | Function |
---|---|---|---|
altair |
Phase 0 | Altair | upgrade_to_altair |
bellatrix |
Altair | Bellatrix | upgrade_to_bellatrix |
pre.ssz_snappy
An SSZ-snappy encoded BeaconState
, the state before running the fork transition.
post.ssz_snappy
An SSZ-snappy encoded BeaconState
, the state after applying the fork transition.
Note: This type is the BeaconState
after the fork and is not the same type as pre
.
Processing
To process this test, pass pre
into the upgrade function defined by the fork
in meta.yaml
.
Condition
The resulting state should match the expected post
.