nimbus-eth1/nimbus/sync
Jordan Hrycaj 15d0ccb39c
Prepare snap server client test scenario cont4 (#1507)
* Add state root to node steps path register `RPath` or `XPath`

why:
  Typically, the first node in the path register is the state root. There
  are occasions, when the path register is empty (i.e. there are no node
  references) which typically applies to a zero node key.

  In order to find the next node key greater than zero, the state root is
  is needed which is now part of the `RPath` or `XPath` data types.

* Extracted hexary tree debugging functions into separate files

* Update empty path fringe case for left/right node neighbour

why:
  When starting at zero, the node steps path register would be empty. So
  will any path that is before the fist non-zero link of a state root (if
  it is a `Branch` node.)

  The `hexaryNearbyRight()` or `hexaryNearbyLeft()` function required a
  non-zero node steps path register.  Now the first node is to be advanced
  starting at the first state root link if necessary.

* Simplify/reorg neighbour node finder

why:
  There was too mach code repetition for the cases
  * persistent or in-memory database
  * left or right move

details:
  Most algorithms apply for persistent and in-memory alike. Using
  templates/generic functions most of these algorithms can be stated
  in a unified way

* Update storage slots snap/1 handler

details:
  Minor changes to be more debugging friendly.

* Fix detection of full database for snap sync

* Docu: Snap sync test & debugging scenario
2023-03-17 14:46:50 +00:00
..
full Prepare snap server client test scenario cont2 (#1487) 2023-03-07 14:23:22 +00:00
handlers Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
misc Prepare snap server client test scenario cont2 (#1487) 2023-03-07 14:23:22 +00:00
protocol Prepare snap server client test scenario cont3 (#1491) 2023-03-10 17:10:30 +00:00
snap Prepare snap server client test scenario cont4 (#1507) 2023-03-17 14:46:50 +00:00
full.nim Prepare snap server client test scenario cont1 (#1485) 2023-03-03 20:01:59 +00:00
handlers.nim Snap sync extractor and sub range proofs cont1 (#1468) 2023-02-15 10:14:40 +00:00
legacy.nim Silence some compiler gossip -- part 8, sync (#1467) 2023-02-14 23:38:33 +00:00
peers.nim Slightly change the static peer manager lookup behaviour (#1484) 2023-03-06 09:22:07 +00:00
protocol.nim initial wire protocol transformation 2022-10-15 19:48:21 +07:00
skeleton.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
snap.nim Prepare snap server client test scenario cont1 (#1485) 2023-03-03 20:01:59 +00:00
stateless.nim Sketching in "stateless mode". (#1495) 2023-03-13 14:18:30 -04:00
sync_desc.nim Prepare snap server client test scenario (#1483) 2023-03-02 09:57:58 +00:00
sync_sched.nim Prepare snap server client test scenario cont2 (#1487) 2023-03-07 14:23:22 +00:00
types.nim Silence compiler gossip after nim upgrade (#1454) 2023-01-30 22:10:23 +00:00