nimbus-eth1/nimbus/sync
Jordan Hrycaj 6d132811ba
Core db update providing additional results code interface (#1776)
* Split `core_db/base.nim` into several sources

* Rename `core_db/legacy.nim` => `core_db/legacy_db.nim`

* Update `CoreDb` API, dual methods returning `Result[]` or plain value

detail:
  Plain value methods implemet the legacy API, they defect on error results

* Redesign `CoreDB` direct backend access

why:
  Made the `backend` directive integral part of the API

* Discontinue providing unused or otherwise available functions

details:
+ setTransactionID() removed, not used and not easily replicable in Aristo
+ maybeGet() removed, available via direct backend access
+ newPhk() removed, never used & was experimental anyway

* Update/reorg backend API

why:
+ Added error print function `$$()`
+ General descriptor completion (and optional validation) via `bless()`

* Update `Aristo`/`Kvt` exception handling

why:
  Avoid `CatchableError` exceptions, rather pass them as error code where
  appropriate.

* More `CoreDB` compliant `Aristo` and `Kvt` methods

details:
+ Providing functions like `contains()`, `getVtxRc()` (returns `Result[]`).
+ Additional error code: `NotImplemented`

* Rewrite/reorg of Aristo DB constructor

why:
  Previously used global object `DefaultQidLayoutRef` as default
  initialiser. This object was created at compile time which lead to
  non-gc safe functions.

* Update nimbus/db/core_db/legacy_db.nim

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

* Update nimbus/db/aristo/aristo_transcode.nim

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

* Update nimbus/db/core_db/legacy_db.nim

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

---------

Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2023-09-26 10:21:13 +01:00
..
beacon Remove dead code from beacon skeleton 2023-09-25 17:21:59 +07:00
full Code reorg 4 snap sync suite (#1560) 2023-04-24 21:24:07 +01:00
handlers Core db update providing additional results code interface (#1776) 2023-09-26 10:21:13 +01:00
misc Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00
protocol implementation of EIP-4844: Shard Blob Transactions (#1440) 2023-06-24 20:56:44 +07:00
snap Core db update providing additional results code interface (#1776) 2023-09-26 10:21:13 +01:00
beacon.nim Implement beacon sync stub 2023-09-07 08:49:31 +07:00
full.nim Code reorg 4 snap sync suite (#1560) 2023-04-24 21:24:07 +01:00
handlers.nim When memory backend selected, no snap sync (#1738) 2023-09-08 15:21:59 +07:00
legacy.nim fix shanghai withdrawal validation 2023-06-26 07:46:09 +07: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
snap.nim Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00
stateless.nim bump submodules 2023-06-07 18:12:02 +07:00
sync_desc.nim Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00
sync_sched.nim Snap sync update pivot updating via rpc (#1583) 2023-05-16 14:52:44 +01:00
types.nim Bump nim-eth and remove unneeded Defect raises (#1575) 2023-05-10 18:04:35 +02:00