nimbus-eth1/tests
Jordan Hrycaj 14c3772545
On demand mpt revisited (#2426)
* rebased from `github/on-demand-mpt`

ackn:
  wip: on-demand mpt construction

  Given that actual data is stored in the `Vertex` structure, it's useful
  to think of the MPT as a cache for computing roots rather than being a
  functional requirement on its own.

  This PR engenders this line of thinking by incrementally computing the
  MPT only when it's needed, ie when a state (or similar) root is needed.

  This has the effect of siginficantly reducing memory usage as well as
  improving performance:

  * no need for dirty-mpt-node book-keeping
  * no need to build complex forest of upcoming hashing work
  * only hashes that are functionally needed are ever computed -
  intermediate nodes whose MTP root is not observed are never computed /
  processed

* Unit test hot fixes

* Unit test hot fixes cont.

(somehow lost that part)

---------

Co-authored-by: Jacek Sieka <jacek@status.im>
2024-06-28 15:03:12 +00:00
..
bootstrap
customgenesis
db
fixtures
graphql
keystore
merge
replay
rpc
test_aristo On demand mpt revisited (#2426) 2024-06-28 15:03:12 +00:00
test_beacon
test_coredb Only use pre hashed addresses as account keys (#2424) 2024-06-27 19:21:01 +00:00
test_jwt_auth
test_txpool Enable test_txpool by disabling failing cases (#2421) 2024-06-28 11:53:25 +07:00
README.md
all_tests.nim Enable test_txpool by disabling failing cases (#2421) 2024-06-28 11:53:25 +07:00
all_tests_macro.nim Cache code and invalid jump destination tables (fixes #2268) (#2404) 2024-06-21 09:44:10 +02:00
asynctest.nim
evm_tests.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
macro_assembler.nim Only use pre hashed addresses as account keys (#2424) 2024-06-27 19:21:01 +00:00
nim.cfg
persistBlockTestGen.nim
test_allowed_to_fail.nim ForkedChain implementation (#2405) 2024-06-26 07:27:48 +07:00
test_aristo.nim Aristo use rocksdb cf instead of key pfx (#2332) 2024-06-10 12:04:22 +00:00
test_block_fixture.nim
test_blockchain_json.nim Update storage tree admin (#2419) 2024-06-27 09:01:26 +00:00
test_code_stream.nim Cache code and invalid jump destination tables (fixes #2268) (#2404) 2024-06-21 09:44:10 +02:00
test_config.nim
test_configuration.nim
test_coredb.nim Only use pre hashed addresses as account keys (#2424) 2024-06-27 19:21:01 +00:00
test_difficulty.nim
test_eip4844.nim
test_filters.nim
test_forkid.nim
test_gas_meter.nim
test_generalstate_json.nim
test_genesis.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
test_getproof_json.nim
test_graphql.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
test_helpers.nim Cache code and invalid jump destination tables (fixes #2268) (#2404) 2024-06-21 09:44:10 +02:00
test_jwt_auth.nim
test_ledger.nim Update storage tree admin (#2419) 2024-06-27 09:01:26 +00:00
test_memory.nim
test_merge.nim
test_misc.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
test_multi_keys.nim
test_op_arith.nim
test_op_bit.nim
test_op_custom.nim
test_op_env.nim
test_op_memory.nim
test_op_misc.nim
test_overflow.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
test_persistblock_json.nim
test_precompiles.nim
test_rpc.nim Update storage tree admin (#2419) 2024-06-27 09:01:26 +00:00
test_rpc_experimental_json.nim
test_rpc_getproofs_track_state_changes.nim
test_stack.nim Remove exceptions from EVM (#2314) 2024-06-07 15:24:32 +07:00
test_state_db.nim avoid initTable (#2328) 2024-06-10 11:05:30 +02:00
test_tools_build.nim
test_tracer_json.nim Update storage tree admin (#2419) 2024-06-27 09:01:26 +00:00
test_transaction_json.nim
test_txpool.nim Enable test_txpool by disabling failing cases (#2421) 2024-06-28 11:53:25 +07:00
test_txpool2.nim
test_wire_protocol.nim
tracerTestGen.nim

README.md

tests

TODO: more GeneralStateTest fixtures!