nimbus-eth1/nimbus
Jordan Hrycaj 8727307ef4
Aristo uses pre classified tree types cont1 (#2389)
* Provide dedicated functions for deleteing accounts and storage trees

why:
  Storage trees are always linked to an account, so there is no need
  for an application to fiddle about (e.g. re-cycling, unlinking)
  storage tree vertex IDs.

* Remove `delete()` and other cruft from API, `aristo_delete`, etc.

* clean up delete functions

details:
  The delete implementations `deleteImpl()` and `delTreeImpl()` do not
  need to be super generic anymore as all the edge cases are covered by
  the specialised `deleteAccountPayload()`, `deleteGenericData()`, etc.

* Avoid unnecessary re-calculations of account keys

why:
  The function `registerAccountForUpdate()` did extract the storage ID
  (if any) and automatically marked the Merkle keys along the account
  path for re-hashing.

  This would also apply if there was later detected that the account
  or the storage tree did not need to be updated.

  So the `registerAccountForUpdate()` function was split into a part
  which retrieved the storage ID, and another one which marked the
  Merkle keys for re-calculation to be applied only when needed.
2024-06-18 19:30:01 +00:00
..
beacon Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
common rm PoW hash function and validation support (#2372) 2024-06-16 10:22:06 +07:00
core Avoid creating database transaction for every block (#2379) 2024-06-17 15:28:44 +02:00
db Aristo uses pre classified tree types cont1 (#2389) 2024-06-18 19:30:01 +00:00
evm Fix lowest-hanging fruit in VM (#2382) 2024-06-18 07:55:35 +07:00
graphql Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
rpc Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
stateless Cleanup stateless and block witness code. (#2295) 2024-06-08 15:05:00 +07:00
sync Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
transaction Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
utils Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
TODO-TRACER.md Aristo uses pre classified tree types (#2385) 2024-06-18 11:14:02 +00:00
common.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
compile_info.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
config.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
constants.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
errors.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
launcher.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
makefile Snap sync fix trie interpolation fringe condition (#1457) 2023-02-01 18:56:06 +00:00
nim.cfg import: read from era files (#2254) 2024-05-31 09:13:56 +02:00
nimbus.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
nimbus_desc.nim rm full sync (#2324) 2024-06-08 07:41:44 +07:00
nimbus_import.nim Light verification and storage mode for import (#2367) 2024-06-15 11:22:37 +02:00
no-tracer.nim Aristo uses pre classified tree types (#2385) 2024-06-18 11:14:02 +00:00
rpc.nim Aristo uses pre classified tree types (#2385) 2024-06-18 11:14:02 +00:00
transaction.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
version.nim Add startup banner (#2354) 2024-06-14 10:08:44 +02:00