nimbus-eth1/nimbus/db/core_db/backend/aristo_db
Jordan Hrycaj 6dc2773957
Only use pre hashed addresses as account keys (#2424)
* Normalised storage tree addressing in function prototypes

detail:
  Argument list is always `<db> <account-path> <slot-path> ..` with
  both path arguments as `openArray[]`

* Remove cruft

* CoreDb internally Use full account paths rather than addresses

* Update API logging

* Use hashed account address only in prototypes

why:
  This avoids unnecessary repeated hashing of the same account address.
  The burden of doing that is upon the application. In the case here,
  the ledger caches all kinds of stuff anyway so it is common sense to
  exploit that for account address hashes.

caveat:
  Using `openArray[byte]` argument types for hashed accounts is inherently
  fragile. In non-release mode, a length verification `doAssert` is
  enabled by default.

* No accPath in data record (use `AristoAccount` as `CoreDbAccount`)

* Remove now unused `eAddr` field from ledger `AccountRef` type

why:
  Is duplicate of lookup key

* Avoid merging the account record/statement in the ledger twice.
2024-06-27 19:21:01 +00:00
..
TODO.md Aristo uses pre classified tree types (#2385) 2024-06-18 11:14:02 +00:00
aristo_replicate.nim Coredb maintenance (#2398) 2024-06-19 14:13:12 +00:00
common_desc.nim Misc updates for full sync (#2140) 2024-04-19 18:37:27 +00:00
handlers_aristo.nim Only use pre hashed addresses as account keys (#2424) 2024-06-27 19:21:01 +00:00
handlers_kvt.nim Cache code and invalid jump destination tables (fixes #2268) (#2404) 2024-06-21 09:44:10 +02:00
handlers_trace.nim Coeredb related clean up and maint fixes (#2360) 2024-06-14 11:19:48 +00:00