nimbus-eth1/tests
Jordan Hrycaj d53eacb854
Prep for full sync after snap (#1253)
* Split fetch accounts into sub-modules

details:
  There will be separated modules for accounts snapshot, storage snapshot,
  and healing for either.

* Allow to rebase pivot before negotiated header

why:
  Peers seem to have not too many snapshots available. By setting back the
  pivot block header slightly, the chances might be higher to find more
  peers to serve this pivot. Experiment on mainnet showed that setting back
  too much (tested with 1024), the chances to find matching snapshot peers
  seem to decrease.

* Add accounts healing

* Update variable/field naming in `worker_desc` for readability

* Handle leaf nodes in accounts healing

why:
  There is no need to fetch accounts when they had been added by the
  healing process. On the flip side, these accounts must be checked for
  storage data and the batch queue updated, accordingly.

* Reorganising accounts hash ranges batch queue

why:
  The aim is to formally cover as many accounts as possible for different
  pivot state root environments. Formerly, this was tried by starting the
  accounts batch queue at a random value for each pivot (and wrapping
  around.)

  Now, each pivot environment starts with an interval set mutually
  disjunct from any interval set retrieved with other pivot state roots.

also:
  Stop fishing for more pivots in `worker` if 100% download is reached

* Reorganise/update accounts healing

why:
  Error handling was wrong and the (math. complexity of) whole process
  could be better managed.

details:
  Much of the algorithm is now documented at the top of the file
  `heal_accounts.nim`
2022-10-08 18:20:50 +01:00
..
amphora Migrate to Engine API spec version v1.0.0-alpha.5; More progress towards working M1 2022-01-25 12:52:50 +02:00
bootstrap config: fix new config based on input from jamie and zahary 2021-09-18 17:34:51 +07:00
customgenesis add beacon sync skeleton test 2022-09-17 09:08:55 +07:00
db move rocksdb support to eth1 (#927) 2022-04-06 07:28:19 +02:00
fixtures bump ethereum tests 2022-02-10 15:48:26 +07:00
graphql Activate wire protocol eth/66 (#993) 2022-03-21 17:12:07 +00:00
keystore implement more eth rpc and keystore management 2020-07-23 14:54:32 +07:00
merge reenable testEngineAPI in test_merge 2022-03-17 12:54:04 +07:00
replay Snap sync accounts healing (#1225) 2022-09-16 08:24:12 +01:00
rpcclient Add eth_chainId rpc to Nimbus and Fluffy (#1219) 2022-09-10 15:05:32 +02:00
test_clique Clique snapshots reorg (#1169) 2022-07-21 19:16:28 +01:00
test_jwt_auth Enable JWT authentication for websockets (#1039) 2022-04-06 15:11:13 +01:00
test_sync_snap Snap sync accounts healing (#1225) 2022-09-16 08:24:12 +01:00
test_txpool Update snap offline tests (#1199) 2022-08-24 14:44:18 +01:00
README.md
all_tests.nim Clique snapshots reorg (#1169) 2022-07-21 19:16:28 +01:00
asynctest.nim replace all unittest usage with unittest2 2021-06-21 20:30:01 +07:00
macro_assembler.nim EIP 4399 changes: random -> prevRandao 2022-02-27 14:37:35 +07:00
nim.cfg unittest2 (parallelism disabled) 2019-10-31 06:17:01 +01:00
persistBlockTestGen.nim fix markCanonicalChain bug 2022-07-04 19:32:14 +07:00
test_accounts_cache.nim Update snap offline tests (#1199) 2022-08-24 14:44:18 +01:00
test_allowed_to_fail.nim Tests: Add loopMul.json and loopExp.json to skipped, slow tests 2021-08-03 15:03:05 +01:00
test_block_fixture.nim eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
test_blockchain_json.nim reduce imported but not used warning when evmc enabled 2022-10-03 16:41:33 +07:00
test_clique.nim Update snap offline tests (#1199) 2022-08-24 14:44:18 +01:00
test_code_stream.nim merge vm_memory, vm_interpreter, and vm_utils_numeric => vm_internals 2021-03-31 18:15:27 +01:00
test_config.nim EVM: Remove `vm_types2` everywhere, use common forks list instead 2021-06-08 15:36:31 +01:00
test_configuration.nim fix chain config parser regression 2022-08-02 16:41:53 +07:00
test_custom_network.nim eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
test_difficulty.nim config: fix new config based on input from jamie and zahary 2021-09-18 17:34:51 +07:00
test_filters.nim Add getLogs implementation (#1143) 2022-06-29 17:44:08 +02:00
test_forkid.nim Arrow Glacier fork 2021-12-10 13:40:51 +00:00
test_gas_meter.nim merge vm_memory, vm_interpreter, and vm_utils_numeric => vm_internals 2021-03-31 18:15:27 +01:00
test_generalstate_json.nim reduce imported but not used warning when evmc enabled 2022-10-03 16:41:33 +07:00
test_genesis.nim eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
test_graphql.nim reduce imported but not used warning when evmc enabled 2022-10-03 16:41:33 +07:00
test_helpers.nim update EF test fixtures and fixes to pass all tests 2022-10-03 16:41:32 +07:00
test_jwt_auth.nim apply jwt auth to rpcHttpServer and update jwt auth of rpcWebsocketServer 2022-07-18 16:56:44 +07:00
test_keyed_queue_rlp.nim update ec_recover 2022-01-22 08:26:57 +02:00
test_memory.nim merge vm_memory, vm_interpreter, and vm_utils_numeric => vm_internals 2021-03-31 18:15:27 +01:00
test_merge.nim bump json-rpc, secp256k1, blscurve, and accompanying fixes 2022-07-12 20:01:02 +07:00
test_misc.nim config: replace stdlib parseOpt with nim-confutils 2021-09-18 17:34:46 +07:00
test_op_arith.nim make macro_assembler to use the same testEvmCall 2021-10-14 15:10:12 +07:00
test_op_bit.nim make macro_assembler to use the same testEvmCall 2021-10-14 15:10:12 +07:00
test_op_custom.nim make macro_assembler to use the same testEvmCall 2021-10-14 15:10:12 +07:00
test_op_env.nim fix EVM stack.[] bug 2022-05-25 12:04:47 +07:00
test_op_memory.nim make macro_assembler to use the same testEvmCall 2021-10-14 15:10:12 +07:00
test_op_misc.nim make macro_assembler to use the same testEvmCall 2021-10-14 15:10:12 +07:00
test_persistblock_json.nim fix markCanonicalChain bug 2022-07-04 19:32:14 +07:00
test_pow.nim Exported blobs and some scripts to parallel project nimbus-eth1-blobs (#995) 2022-03-16 09:13:17 +00:00
test_precompiles.nim first step into styleCheck fixes 2022-04-14 08:39:50 +07:00
test_rpc.nim Add eth_chainId rpc to Nimbus and Fluffy (#1219) 2022-09-10 15:05:32 +02:00
test_skeleton.nim add beacon sync skeleton test 2022-09-17 09:08:55 +07:00
test_stack.nim first step into styleCheck fixes 2022-04-14 08:39:50 +07:00
test_state_db.nim eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
test_sync_snap.nim Prep for full sync after snap (#1253) 2022-10-08 18:20:50 +01:00
test_tools_build.nim bump nim eth 2022-08-22 20:11:36 +07:00
test_tracer_json.nim reduce unused import warnings 2020-04-15 19:05:57 +07:00
test_transaction_json.nim fixes test codes to deal with eth_tests submodule 2021-01-06 17:02:19 +07:00
test_txpool.nim Jordan/remove unit tests txpool legacy stuff (#1048) 2022-04-08 15:05:30 +01:00
test_txpool2.nim eth: adapt to smaller eth_types (#1210) 2022-09-03 20:15:35 +02:00
tracerTestGen.nim first step into styleCheck fixes 2022-04-14 08:39:50 +07:00

README.md

tests

TODO: more GeneralStateTest fixtures!