nimbus-eth1/tests
Jordan Hrycaj a1161b537b
Core db update storage root management for sub tries (#1964)
* Aristo: Re-phrase `LayerDelta` and `LayerFinal` as object references

why:
  Avoids copying in some cases

* Fix copyright header

* Aristo: Verify `leafTie.root` function argument for `merge()` proc

why:
  Zero root will lead to inconsistent DB entry

* Aristo: Update failure condition for hash labels compiler `hashify()`

why:
  Node need not be rejected as long as links are on the schedule. In
  that case, `redo[]` is to become `wff.base[]` at a later stage.

  This amends an earlier fix, part of #1952 by also testing against
  the target nodes of the `wff.base[]` sets.

* Aristo: Add storage root glue record to `hashify()` schedule

why:
  An account leaf node might refer to a non-resolvable storage root ID.
  Storage root node chains will end up at the storage root. So the link
  `storage-root->account-leaf` needs an extra item in the schedule.

* Aristo: fix error code returned by `fetchPayload()`

details:
  Final error code is implied by the error code form the `hikeUp()`
  function.

* CoreDb: Discard `createOk` argument in API `getRoot()` function

why:
  Not needed for the legacy DB. For the `Arsto` DB, a lazy approach is
  implemented where a stprage root node is created on-the-fly.

* CoreDb: Prevent `$$` logging in some cases

why:
  Logging the function `$$` is not useful when it is used for internal
  use, i.e. retrieving an an error text for logging.

* CoreDb: Add `tryHashFn()` to API for pretty printing

why:
  Pretty printing must not change the hashification status for the
  `Aristo` DB. So there is an independent API wrapper for getting the
  node hash which never updated the hashes.

* CoreDb: Discard `update` argument in API `hash()` function

why:
  When calling the API function `hash()`, the latest state is always
  wanted. For a version that uses the current state as-is without checking,
  the function `tryHash()` was added to the backend.

* CoreDb: Update opaque vertex ID objects for the `Aristo` backend

why:
  For `Aristo`, vID objects encapsulate a numeric `VertexID`
  referencing a vertex (rather than a node hash as used on the
  legacy backend.) For storage sub-tries, there might be no initial
  vertex known when the descriptor is created. So opaque vertex ID
  objects are supported without a valid `VertexID` which will be
  initalised on-the-fly when the first item is merged.

* CoreDb: Add pretty printer for opaque vertex ID objects

* Cosmetics, printing profiling data

* CoreDb: Fix segfault in `Aristo` backend when creating MPT descriptor

why:
  Missing initialisation  error

* CoreDb: Allow MPT to inherit shared context on `Aristo` backend

why:
  Creates descriptors with different storage roots for the same
  shared `Aristo` DB descriptor.

* Cosmetics, update diagnostic message items for `Aristo` backend

* Fix Copyright year
2024-01-11 19:11:38 +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 geth compatibility to genesis config parser 2023-11-29 16:15:31 +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 aristo hasher profiling and timing improvement (#1938) 2023-12-12 17:47:41 +00:00
test_aristo Aristo db kvt maintenance update (#1952) 2023-12-20 16:19:00 +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 update storage root management for sub tries (#1964) 2024-01-11 19:11:38 +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 Fix unhandled overflow exception in gasCall 2023-12-04 14:10:56 +07:00
all_tests_macro.nim Fix unhandled overflow exception in gasCall 2023-12-04 14:10:56 +07: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 Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +00: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 Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +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 Fix vmflags for witness generation 1934. (#1961) 2024-01-09 23:15:19 +08: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 geth compatibility to genesis config parser 2023-11-29 16:15:31 +07:00
test_coredb.nim Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +00:00
test_custom_network.nim Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +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 Bump nim-web3: remove rpc types duplicates 2023-12-13 07:58:12 +07: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 Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +00:00
test_genesis.nim Add geth compatibility to genesis config parser 2023-11-29 16:15:31 +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 Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +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 Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +00: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_overflow.nim Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +00: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 Implementation of Nimbus eth_getProof RPC Endpoint. (#1960) 2024-01-09 10:05:52 +08: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 Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +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!