73 lines
2.1 KiB
Markdown
73 lines
2.1 KiB
Markdown
|
# state_transition_vectors
|
||
|
|
||
|
This crate contains test vectors for Lighthouse state transition functions.
|
||
|
|
||
|
This crate serves two purposes:
|
||
|
|
||
|
- Outputting the test vectors to disk via `make`.
|
||
|
- Running the vectors against our code via `make test`.
|
||
|
|
||
|
|
||
|
## Outputting vectors to disk
|
||
|
|
||
|
Whilst we don't actually need to write the vectors to disk to test them, we
|
||
|
provide this functionality so we can generate corpra for the fuzzer and also so
|
||
|
they can be of use to other clients.
|
||
|
|
||
|
To create the files in `./vectors` (directory relative to this crate), run:
|
||
|
|
||
|
```bash
|
||
|
make
|
||
|
```
|
||
|
|
||
|
This will produce a directory structure that looks roughly like this:
|
||
|
|
||
|
```
|
||
|
vectors
|
||
|
└── exit
|
||
|
├── invalid_bad_signature
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_duplicate
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_exit_already_initiated
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_future_exit_epoch
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_not_active_after_exit_epoch
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_not_active_before_activation_epoch
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_too_young_by_a_lot
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_too_young_by_one_epoch
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── invalid_validator_unknown
|
||
|
│ ├── block.ssz
|
||
|
│ ├── error.txt
|
||
|
│ └── pre.ssz
|
||
|
├── valid_genesis_epoch
|
||
|
│ ├── block.ssz
|
||
|
│ ├── post.ssz
|
||
|
│ └── pre.ssz
|
||
|
└── valid_previous_epoch
|
||
|
├── block.ssz
|
||
|
├── post.ssz
|
||
|
└── pre.ssz
|
||
|
```
|