unit-e icon indicating copy to clipboard operation
unit-e copied to clipboard

Fork choice and commits-based sync enchantments

Open frolosofsky opened this issue 6 years ago • 0 comments

It's a TODO list after #525

  • [ ] fork choice: prefer forks with votes instead of insta finalized
  • [x] fork_choice: more tests (like two chains started from the same finalized checkpoint but with different justified checkpoints later)
  • [x] add commits merkle root to the header
  • [ ] forbid invalidating behind the last finalized checkpoint
  • [ ] add tests (fixes?) for forkchoice + invalidateblock scenario
  • [ ] detect whether peer is trying to send more than one dynasty
  • [x] ~DoS commits sender if state processed from the full block differs from one given from commits.~ Not relevant anymore, we trust commits.
  • [x] Integrate with net_processing better (inflight, limits, etc.)
  • [x] Detect message overflow when sending commits.
  • [x] Update validation (in CheckBlockIndex we need to take into account disconnected indexes with greater work) -- @kostyantyn addressed this in #525.
  • [x] Get rid of esperanza::FInalizationState::GetState, Init, Reset.
  • [ ] Use const in function parameters
  • [x] Change the cache in Dependecy injector style -- #634.
  • [x] Split StateStorage into two components: storage and manager -- #634.

frolosofsky avatar Feb 06 '19 15:02 frolosofsky