nimbus-eth1/nimbus/db
Jordan Hrycaj 657379f484
Aristo db update merkle hasher (#1925)
* Register paths for added leafs because of trie re-balancing

why:
  While the payload would not change, the prefix in the leaf vertex
  would. So it needs to be flagged for hash recompilation for the
  `hashify()` module.

also:
  Make sure that `Hike` paths which might have vertex links into the
  backend filter are replaced by vertex copies before manipulating.
  Otherwise the vertices on the immutable filter might be involuntarily
  changed.

* Also check for paths where the leaf vertex is on the backend, already

why:
  A a path can have dome vertices on the top layer cache with the
  `Leaf` vertex on  the backend.

* Re-define a void `HashLabel` type.

why:
  A `HashLabel` type is a pair `(root-vertex-ID, Keccak-hash)`. Previously,
  a valid `HashLabel` consisted of a non-empty hash and a non-zero vertex
  ID. This definition leads to a non-unique representation of a void
  `HashLabel` with either root-ID or has void. This has been changed to
  the unique void `HashLabel` exactly if the hash entry is void.

* Update consistency checkers

* Re-org `hashify()` procedure

why:
  Syncing against block chain showed serious deficiencies which produced
  wrong hashes or simply bailed out with error.

  So all fringe cases (mainly due to deleted entries) could be integrated
  into the labelling schedule rather than handling separate fringe cases.
2023-12-04 20:39:26 +00:00
..
aristo Aristo db update merkle hasher (#1925) 2023-12-04 20:39:26 +00:00
core_db Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
kvt Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
ledger Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
notused Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
state_db Core db fix legacy db root vertex fetcher (#1899) 2023-11-20 20:22:27 +00:00
access_list.nim implement EIP-1153: Transient storage 2023-06-23 14:04:36 +07:00
accounts_cache.nim Aristo and ledger small updates (#1888) 2023-11-08 16:52:25 +00:00
aristo.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
core_db.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
distinct_tries.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
geth_db.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
incomplete_db.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
kvstore_rocksdb.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
kvt.nim Core db aristo and kvt updates preparing for integration (#1760) 2023-09-18 21:20:28 +01:00
ledger.nim Fix default pruning for ledger and update core db and ledger logging (#1861) 2023-10-25 15:03:09 +01:00
select_backend.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
state_db.nim Core db fix legacy db root vertex fetcher (#1899) 2023-11-20 20:22:27 +00:00
storage_types.nim Refactor beacon skeleton (#1761) 2023-09-19 11:52:28 +07:00
transient_storage.nim implement EIP-1153: Transient storage 2023-06-23 14:04:36 +07:00
values_from_bytes.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00