lighthouse/beacon_node/store
Mac L 406e3921d9 Use forwards iterator for state root lookups (#2422)
## Issue Addressed

#2377 

## Proposed Changes

Implement the same code used for block root lookups (from #2376) to state root lookups in order to improve performance and reduce associated memory spikes (e.g. from certain HTTP API requests).

## Additional Changes

- Tests using `rev_iter_state_roots` and `rev_iter_block_roots` have been refactored to use their `forwards` versions instead.
- The `rev_iter_state_roots` and `rev_iter_block_roots` functions are now unused and have been removed.
- The `state_at_slot` function has been changed to use the `forwards` iterator.

## Additional Info

- Some tests still need to be refactored to use their `forwards_iter` versions. These tests start their iteration from a specific beacon state and thus use the `rev_iter_state_roots_from` and `rev_iter_block_roots_from` functions. If they can be refactored, those functions can also be removed.
2021-07-06 02:38:53 +00:00
..
benches Update to the latest libp2p (#2239) 2021-03-02 05:59:49 +00:00
examples Fix clippy warnings (#813) 2020-01-21 18:38:56 +11:00
src Use forwards iterator for state root lookups (#2422) 2021-07-06 02:38:53 +00:00
Cargo.toml Disable snappy in LevelDB to fix build issues (#1983) 2020-11-27 03:01:57 +00:00