nimbus-eth1/nimbus
Jordan Hrycaj 44a57496d9
Snap sync interval complement method to speed up trie perusal (#1328)
* Add quick hexary trie inspector, called `dismantle()`

why:
+ Full hexary trie perusal is slow if running down leaf nodes
+ For known range of leaf nodes, work out the UInt126-complement of
  partial sub-trie paths (for existing nodes). The result should cover
  no (or only a few) sub-tries with leaf nodes.

* Extract common healing methods => `sub_tries_helper.nim`

details:
  Also apply quick hexary trie inspection tool `dismantle()`
  Replace `inspectAccountsTrie()` wrapper by `hexaryInspectTrie()`

* Re-arrange task dispatching in main peer worker

* Refactor accounts and storage slots downloaders

* Rename `HexaryDbError` => `HexaryError`
2022-11-28 09:03:23 +00:00
..
accounts Initial implementation of the merge spec 2022-01-24 09:44:39 +02:00
db Snap sync state save (#1302) 2022-11-16 23:51:06 +00:00
docs.static Kludge for 'make docs' to produce pretty nim manuals 2022-01-22 08:26:57 +02:00
graphql add CORS support for HTTP local services(json-rpc, engine-api, graphql) 2022-07-19 16:12:36 +07:00
merge disable NewBlockHashes and NewBlock of eth wire handler after POS transition 2022-11-14 16:17:34 +07:00
p2p bump `nim-eth` for `withdrawalsRoot` support (#1326) 2022-11-26 15:59:19 +01:00
rpc disable NewBlockHashes and NewBlock of eth wire handler after POS transition 2022-11-14 16:17:34 +07:00
sync Snap sync interval complement method to speed up trie perusal (#1328) 2022-11-28 09:03:23 +00:00
transaction Added basic async capabilities for vm2. (#1260) 2022-11-01 11:35:46 -04:00
utils eth wire handlers: implement transactions exchange 2022-11-11 09:24:32 +07:00
vm2 Added basic async capabilities for vm2. (#1260) 2022-11-01 11:35:46 -04:00
block_types.nim reduce compiler warnings 2019-11-13 21:49:39 +07:00
chain_config.nim unify chain config parser of t8n, bc test, and consensus simulator 2022-11-25 12:26:29 +07:00
conf_utils.nim modify hive simulators to run in CI 2022-04-21 12:01:18 +07:00
config.nim Snap sync can start on saved checkpoint (#1327) 2022-11-25 14:56:42 +00:00
constants.nim eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
context.nim enhance net-key command line option to accept random, hex, and path 2022-07-30 08:46:11 +07:00
debug.nim bump `nim-eth` for `withdrawalsRoot` support (#1326) 2022-11-26 15:59:19 +01:00
errors.nim Redesign of BaseVMState descriptor (#923) 2022-01-18 16:19:32 +00:00
forks.nim upgrade evmc to v10.0.0 2022-10-03 16:38:32 +07:00
genesis.nim Bump nim-eth and remove all now unneeded p2p related imports (#1273) 2022-10-20 10:34:59 +02:00
genesis_alloc.nim Added sepolia specs (#1148) 2022-07-01 21:16:26 +01:00
launcher.nim Premix-related changes 2019-01-28 12:38:23 +02:00
lightchain_shell.nim Some renames 2018-05-28 13:22:28 +03:00
makefile wire evmc to vm2 and drop legacy vm 2022-09-26 15:16:28 +07:00
nim.cfg NAT port mapping 2019-04-17 03:56:28 +02:00
nimbus.nim Snap sync can start on saved checkpoint (#1327) 2022-11-25 14:56:42 +00:00
peers.nim simple peer manager to handle static peers reconnection 2022-08-26 22:07:56 +07:00
sealer.nim move sealing engine gaslimit calculator to txpool 2022-08-29 16:54:59 +07:00
tracer.nim eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
transaction.nim Cleanup some imports and fix some warnings in the process (#1096) 2022-05-22 22:44:15 +02:00
utils.nim initial beacon sync skeleton implementation 2022-09-17 09:08:55 +07:00
validation.nim first step into styleCheck fixes 2022-04-14 08:39:50 +07:00
version.nim dist: precompiled binaries and Docker images (#1015) 2022-03-27 13:21:15 +02:00
vm_compile_info.nim wire evmc to vm2 and drop legacy vm 2022-09-26 15:16:28 +07:00
vm_computation.nim wire evmc to vm2 and drop legacy vm 2022-09-26 15:16:28 +07:00
vm_gas_costs.nim upgrade evmc to v10.0.0 2022-10-03 16:38:32 +07:00
vm_internals.nim wire evmc to vm2 and drop legacy vm 2022-09-26 15:16:28 +07:00
vm_precompiles.nim wire evmc to vm2 and drop legacy vm 2022-09-26 15:16:28 +07:00
vm_state.nim add enabledTracing accessor to BaseVMState 2022-10-25 11:01:31 +07:00
vm_state_transactions.nim Added basic async capabilities for vm2. (#1260) 2022-11-01 11:35:46 -04:00
vm_types.nim wire evmc to vm2 and drop legacy vm 2022-09-26 15:16:28 +07:00