nimbus-eth1/tests
Jordan Hrycaj 3e88589eb1
Optional accounts cache module for creating genesis (#1897)
* Split off `ReadOnlyStateDB` from `AccountStateDB` from `state_db.nim`

why:
  Apart from testing, applications use `ReadOnlyStateDB` as an easy
  way to access the accounts ledger. This is well supported by the
  `Aristo` db, but writable mode is only parially supported.

  The writable AccountStateDB` object for modifying accounts is not
  used by production code.

  So, for lecgacy and testing apps, the full support of the previous
  `AccountStateDB` is now enabled by `import db/state_db/read_write`
  and the `import db/state_db` provides read-only mode.

* Encapsulate `AccountStateDB` as `GenesisLedgerRef` or genesis creation

why:
  `AccountStateDB` has poor support for `Aristo` and is not widely used
   in favour of `AccountsLedger` (which will be abstracted as `ledger`.)

   Currently, using other than the `AccountStateDB` ledgers within the
   `GenesisLedgerRef` wrapper is experimental and test only. Eventually,
    the wrapper should disappear so that the `Ledger` object (which
    encapsulates `AccountsCache` and `AccountsLedger`) will prevail.

* For the `Ledger`, provide access to raw accounts `MPT`

why:
  This gives to the `CoreDbMptRef` descriptor from the `CoreDb` (which is
  the legacy version of 	CoreDxMptRef`.) For the new `ledger` API, the
  accounts are based on the `CoreDxMAccRef` descriptor which uses a
  particular sub-system for accounts while legacy applications use the
  `CoreDbPhkRef` equivalent of the `SecureHexaryTrie`.

  The only place where this feature will currently be used is the
 `genesis.nim` source file.

* Fix `Aristo` bugs, missing boundary checks, typos, etc.

* Verify root vertex in `MPT` and account constructors

why:
  Was missing so far, in particular the accounts constructor must
  verify `VertexID(1)

* Fix include file
2023-11-20 11:51:43 +00: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 Holesky testnet configuration 2023-10-25 14:06:36 +07:00
db Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
fixtures Bump eth-tests: Refill tests with Cancun spec 2023-10-21 20:11:19 +07:00
graphql Fix TxPool when handling EIP-4844 blob tx (#1831) 2023-10-20 15:30:05 +07: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 Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
rpcclient Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_aristo Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_beacon Beacon skeleton works with ttdPassed=true flag too (#1826) 2023-10-19 10:29:06 +07:00
test_clique Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_coredb Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_jwt_auth Enable JWT authentication for websockets (#1039) 2022-04-06 15:11:13 +01:00
test_rocksdb_timing Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_sync_snap Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_txpool Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
README.md
all_tests.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
all_tests_macro.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
asynctest.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
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 Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
nim.cfg Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
persistBlockTestGen.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_accounts_cache.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_allowed_to_fail.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_aristo.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_block_fixture.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_blockchain_json.nim Call processBeaconBlockRoot before processing txs(EIP-4788) (#1822) 2023-10-19 06:55:50 +07:00
test_clique.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_code_stream.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_config.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_configuration.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_coredb.nim Optional accounts cache module for creating genesis (#1897) 2023-11-20 11:51:43 +00:00
test_custom_network.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_difficulty.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_eip4844.nim EIP-4844: Fix excessBlobGas handling (#1771) 2023-09-24 22:25:41 +07:00
test_filters.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_forkid.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_gas_meter.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_generalstate_json.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_genesis.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_graphql.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_helpers.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_jwt_auth.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_keyed_queue_rlp.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_memory.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_merge.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_misc.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_op_arith.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_op_bit.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_op_custom.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_op_env.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_op_memory.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_op_misc.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_persistblock_json.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_pow.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_precompiles.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_rocksdb_timing.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_rpc.nim Change EthTime from std.Time to distinct uint64 (#1820) 2023-10-18 09:16:11 +07:00
test_stack.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_state_db.nim Optional accounts cache module for creating genesis (#1897) 2023-11-20 11:51:43 +00:00
test_sync_snap.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_tools_build.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_tracer_json.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
test_transaction_json.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_txpool.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_txpool2.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
test_wire_protocol.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
tracerTestGen.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00

README.md

tests

TODO: more GeneralStateTest fixtures!