nimbus-eth1/nimbus
Jordan Hrycaj c47f021596
Core db and aristo updates for destructor and tx logic (#1894)
* Disable `TransactionID` related functions from `state_db.nim`

why:
  Functions `getCommittedStorage()` and `updateOriginalRoot()` from
  the `state_db` module are nowhere used. The emulation of a legacy
  `TransactionID` type functionality is administratively expensive to
  provide by `Aristo` (the legacy DB version is only partially
  implemented, anyway).

  As there is no other place where `TransactionID`s are used, they will
  not be provided by the `Aristo` variant of the `CoreDb`. For the
  legacy DB API, nothing will change.

* Fix copyright headers in source code

* Get rid of compiler warning

* Update Aristo code, remove unused `merge()` variant, export `hashify()`

why:
  Adapt to upcoming `CoreDb` wrapper

* Remove synced tx feature from `Aristo`

why:
+ This feature allowed to synchronise transaction methods like begin,
  commit, and rollback for a group of descriptors.
+ The feature is over engineered and not needed for `CoreDb`, neither
  is it complete (some convergence features missing.)

* Add debugging helpers to `Kvt`

also:
  Update database iterator, add count variable yield argument similar
  to `Aristo`.

* Provide optional destructors for `CoreDb` API

why;
  For the upcoming Aristo wrapper, this allows to control when certain
  smart destruction and update can take place. The auto destructor works
  fine in general when the storage/cache strategy is known and acceptable
  when creating descriptors.

* Add update option for `CoreDb` API function `hash()`

why;
  The hash function is typically used to get the state root of the MPT.
  Due to lazy hashing, this might be not available on the `Aristo` DB.
  So the `update` function asks for re-hashing the gurrent state changes
  if needed.

* Update API tracking log mode: `info` => `debug

* Use shared `Kvt` descriptor in new Ledger API

why:
  No need to create a new descriptor all the time
2023-11-16 19:35:03 +00:00
..
beacon Engine API: Fix latestValidHash value when invalid timestamp detected 2023-11-05 10:52:27 +07:00
common Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
core Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
db Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
evm Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
graphql Fix TxPool when handling EIP-4844 blob tx (#1831) 2023-10-20 15:30:05 +07:00
rpc Add blobGasPrice and blobGasUsed to ReceiptObject of RPC 2023-11-02 11:38:07 +07:00
sync Aristo db update for short nodes key edge cases (#1887) 2023-11-08 12:18:32 +00:00
transaction More meaningful error message of processBlockBeaconRoot 2023-10-31 12:54:57 +07:00
utils Aristo db update for short nodes key edge cases (#1887) 2023-11-08 12:18:32 +00:00
common.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
config.nim ValidIpAddress -> IpAddress related vendor bumps and changes (#1892) 2023-11-10 19:38:11 +01:00
constants.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
errors.nim Core db update providing additional results code interface (#1776) 2023-09-26 10:21:13 +01:00
launcher.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
lightchain_shell.nim Some renames 2018-05-28 13:22:28 +03:00
makefile Snap sync fix trie interpolation fringe condition (#1457) 2023-02-01 18:56:06 +00:00
nim.cfg NAT port mapping 2019-04-17 03:56:28 +02:00
nimbus.nim Increase rpc server request limit to 2MB 2023-10-22 10:25:33 +07:00
rpc.nim Increase rpc server request limit to 2MB 2023-10-22 10:25:33 +07:00
stateless_runner.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
tracer.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
transaction.nim TxPool will not pack tx with invalid chainId 2023-11-01 08:56:57 +07:00
version.nim dist: precompiled binaries and Docker images (#1015) 2022-03-27 13:21:15 +02:00
vm_compile_info.nim Prepare snap server client test scenario (#1483) 2023-03-02 09:57:58 +00:00
vm_computation.nim EVM cleanup 2023-08-29 07:12:31 +07:00
vm_gas_costs.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
vm_internals.nim EVM cleanup 2023-08-29 07:12:31 +07:00
vm_precompiles.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
vm_state.nim EIP-4844: Fix excessBlobGas handling (#1771) 2023-09-24 22:25:41 +07:00
vm_state_transactions.nim EIP-4788: Make it clear what is an EVM system call 2023-09-22 17:21:09 +07:00
vm_types.nim Implement EIP-7516: BLOBBASEFEE opcode (#1791) 2023-10-01 14:24:15 +07:00