32547373e5
The `latest_block_root` input argument was unnecessary as we were always setting it to something almost equivalent to `state.latest_block_root` anyway, and more importantly, it was messing up the caching of the state root. Previously it was possible for the function to update the state's latest block root, and then hash the outdated block root that was passed in as an argument. |
||
---|---|---|
.. | ||
attester | ||
block_proposer | ||
fork_choice | ||
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 inn
parts 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 SSZEncodable
,Decodable
, andTreeHash
methods.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 theTestRandom
trait defined intypes
.