# Packages
Package doublylinkedtree implements eth2 LMD GHOST fork choice using the doubly linked proto array node structure.
# Functions
NewROForkChoice returns an ROForkChoice that delegates forkchoice.Getter calls to the given value after first using its Locker methods to make sure it is correctly locked.
# Structs
ROForkChoice is an implementation of forkchoice.Getter which calls `Rlock`/`RUnlock` around a delegated method call to the underlying Getter implementation.
# Interfaces
AttestationProcessor processes the attestation that's used for accounting fork choice.
BlockProcessor processes the block that's used for accounting fork choice.
ForkChoicer represents the full fork choice interface composed of all the sub-interfaces.
Getter returns fork choice related information.
HeadRetriever retrieves head root and optimistic info of the current chain.
RLocker represents forkchoice's internal RWMutex read-only lock/unlock methods.
ROWrappable represents the subset of ForkChoicer a type needs to support in order for ROForkChoice to wrap it.
Setter allows to set forkchoice information.
# Type aliases
BalancesByRooter is a handler to obtain the effective balances of the state with the given block root.