Commit Graph

17 Commits

Author SHA1 Message Date
Paul Hauner
7458022fcf Fork choice bug fixes (#449)
* Change reduced tree for adding weightless node

* Add more comments for reduced tree fork choice

* Small refactor on reduced tree for readability

* Move test_harness forking logic into itself

* Add new `AncestorIter` trait to store

* Add unfinished tests to fork choice

* Make `beacon_state.genesis_block_root` public

* Add failing lmd_ghost fork choice tests

* Extend fork_choice tests, create failing test

* Implement Debug for generic ReducedTree

* Add lazy_static to fork choice tests

* Add verify_integrity fn to reduced tree

* Fix bugs in reduced tree

* Ensure all reduced tree tests verify integrity

* Slightly alter reduce tree test params

* Add (failing) reduced tree test

* Fix bug in fork choice

Iter ancestors was not working well with skip slots

* Put maximum depth for common ancestor search

Ensures that we don't search back past the finalized root.

* Add basic finalization tests for reduced tree

* Change fork choice to use beacon_block_root

Previously it was using target_root, which was wrong

* Make ancestor iter return option

* Disable fork choice test when !debug_assertions

* Fix type, removed code fragment

* Tidy some borrow-checker evading

* Lower reduced tree random test iterations
2019-07-29 12:08:52 +10:00
John Adler
fec7168512 Fix lots of typos. 2019-07-26 15:26:06 -04:00
Kirk Baird
0513559252 Fix syncing bugs by recursively attempting to process parents in the … (#429)
* Fix syncing bugs by recursively attempting to process parents in the import queue, change BlockRootsIterator

* Swap from crossbeam channel to tokio mpsc

* Recursion fix

* Remove exess block processing

* Fix network lag, correct attestation topic

* Correct network poll logic

* Overhaul of SimpleSync and modify BlockRootsIterator to return start_slot

* Fix bug in tests relating to StateRootsIterator

* Remove old, commented-out heartbeat code.

* Tidy docs on import queue enum

* Change source logging msg in simple sync

* Rename function parameter in simple sync

* Use `BestBlockRootsIterator` in `reduced_tree`

* Update comments for `BestBlockRootsIterator`

* Fix duplicate dep in cargo.toml
2019-07-16 17:28:15 +10:00
Paul Hauner
3a196f3fdc Tidy, fix clippy lints 2019-06-24 09:34:56 +10:00
Paul Hauner
77fba0b98e Fix bugs in fork choice, add more tests 2019-06-24 09:34:56 +10:00
Paul Hauner
7a4c3e26ac Fix bug in reduced tree fork choice 2019-06-24 09:34:54 +10:00
Paul Hauner
0b2ad4d0a1 Mark reduced_tree fork choice as incomplete 2019-06-24 09:34:54 +10:00
Paul Hauner
d0037f49d8 Add progress on debugging fork choice 2019-06-24 09:34:54 +10:00
Paul Hauner
e485f3ee75 Fix bug in reduced tree fork choice 2019-06-24 09:34:54 +10:00
Paul Hauner
55196dff64 Remove iter mod from beacon chain
Now the iter mod in store is the only implementation
2019-06-24 09:34:53 +10:00
Paul Hauner
2b5c70711d Cover edge case in reduced tree 2019-06-24 09:34:53 +10:00
Paul Hauner
fd384e54f4 Add weightless blocks to reduced tree, fix bugs 2019-06-24 09:34:53 +10:00
Paul Hauner
9c2bbb6c05 Add stubbed-out block processing to fork choice 2019-06-24 09:34:52 +10:00
Paul Hauner
f4621a9f1a Improve reduced tree fork choice 2019-06-24 09:34:52 +10:00
Paul Hauner
7756a658a7 Update fork choice find head fn 2019-06-24 09:34:51 +10:00
Paul Hauner
2ee71aa808 Add new fork choice struct to beacon chain 2019-06-24 09:34:51 +10:00
Paul Hauner
c43bbfe183 Rename fork_choice_2 to lmd_ghost 2019-06-24 09:34:51 +10:00