* 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 |
||
|---|---|---|
| .. | ||
| lmd_ghost | ||
| operation_pool | ||
| state_processing | ||
| types | ||
| utils | ||
| validator_change | ||
| README.md | ||
Ethereum 2.0 Common Crates
Rust crates containing logic common across the Lighthouse project.
Per-Crate Summary
attester/: Core logic for attesting to beacon and shard blocks.block_proposer/: Core logic for proposing beacon blocks.fork_choice/: A collection of fork-choice algorithms for the Beacon Chain.state_processing/: Provides per-slot, per-block, and per-epoch state processing.types/: Defines base Ethereum 2.0 types (e.g.,BeaconBlock,BeaconState, etc).utils/:bls: A wrapper for an external BLS encryption library.boolean-bitfield: Provides an expandable vector of bools, specifically for use in Eth2.fisher-yates-shuffle: shuffles a list pseudo-randomly.hashing: A wrapper for external hashing libraries.honey-badger-split: Splits a list innparts without giving AF about the length of the list,n, or anything else.int-to-bytes: Simple library which converts ints into byte-strings of various lengths.slot_clock: translates the system time into Beacon Chain "slots". (Also provides another slot clock that's useful during testing.)ssz: an implementation of the SimpleSerialize serialization/deserialization protocol used by Eth 2.0.ssz_derive: provides procedural macros for deriving SSZEncode,Decode, andTreeHashmethods.swap_or_not_shuffle: a list-shuffling method which is slow, but allows for a subset of indices to be shuffled.test_random_derive: provides procedural macros for deriving theTestRandomtrait defined intypes.