lighthouse/beacon_node/beacon_chain
Paul Hauner 619ad106cf Restrict fork choice getters to finalized blocks (#1475)
## Issue Addressed

- Resolves #1451

## Proposed Changes

- Restricts the `contains_block` and `contains_block` so they only indicate a block is present if it descends from the finalized root. This helps to ensure that fork choice never points to a block that has been pruned from the database.
- Resolves #1451
- Before importing a block, double-check that its parent is known and a descendant of the finalized root.
- Split a big, monolithic block verification test into smaller tests. 

## Additional Notes

I suspect there would be a craftier way to do the `is_descendant_of_finalized` check, but we're a bit tight on time now and we can optimize later if it starts showing in benches.

## TODO

- [x] Tests
2020-08-14 06:36:38 +00:00
..
src Restrict fork choice getters to finalized blocks (#1475) 2020-08-14 06:36:38 +00:00
tests Restrict fork choice getters to finalized blocks (#1475) 2020-08-14 06:36:38 +00:00
Cargo.toml Lighthouse crate v0.2.0 bump (#1450) 2020-08-06 03:43:05 +00:00