61bbf40014
* Tighten `CoreDb` API for accounts why: Apart from cruft, the way to fetch the accounts state root via a `CoreDbColRef` record was unnecessarily complicated. * Extend `CoreDb` API for accounts to cover storage tries why: In future, this will make the notion of column objects obsolete. Storage trees will then be indexed by the account address rather than the vertex ID equivalent like a `CoreDbColRef`. * Apply new/extended accounts API to ledger and tests details: This makes the `distinct_ledger` module obsolete * Remove column object constructors why: They were needed as an abstraction of MPT sub-trees including storage trees. Now, storage trees are handled by the account (e.g. via address) they belong to and all other trees can be identified by a constant well known vertex ID. So there is no need for column objects anymore. Still there are some left-over column object methods wnich will be removed next. * Remove `serialise()` and `PayloadRef` from default Aristo API why: Not needed. `PayloadRef` was used for unstructured/unknown payload formats (account or blob) and `serialise()` was used for decodng `PayloadRef`. Now it is known in advance what the payload looks like. * Added query function `hasStorageData()` whether a storage area exists why: Useful for supporting `slotStateEmpty()` of the `CoreDb` API * In the `Ledger` replace `storage.stateEmpty()` by `slotStateEmpty()` * On Aristo, hide the storage root/vertex ID in the `PayloadRef` why: The storage vertex ID is fully controlled by Aristo while the `AristoAccount` object is controlled by the application. With the storage root part of the `AristoAccount` object, there was a useless administrative burden to keep that storage root field up to date. * Remove cruft, update comments etc. * Update changed MPT access paradigms why: Fixes verified proxy tests * Fluffy cosmetics |
||
---|---|---|
.. | ||
bootstrap | ||
customgenesis | ||
db | ||
fixtures | ||
graphql | ||
keystore | ||
merge | ||
replay | ||
rpc | ||
test_aristo | ||
test_beacon | ||
test_coredb | ||
test_jwt_auth | ||
test_txpool | ||
README.md | ||
all_tests.nim | ||
all_tests_macro.nim | ||
asynctest.nim | ||
evm_tests.nim | ||
macro_assembler.nim | ||
nim.cfg | ||
persistBlockTestGen.nim | ||
test_allowed_to_fail.nim | ||
test_aristo.nim | ||
test_block_fixture.nim | ||
test_blockchain_json.nim | ||
test_code_stream.nim | ||
test_config.nim | ||
test_configuration.nim | ||
test_coredb.nim | ||
test_difficulty.nim | ||
test_eip4844.nim | ||
test_filters.nim | ||
test_forkid.nim | ||
test_gas_meter.nim | ||
test_generalstate_json.nim | ||
test_genesis.nim | ||
test_getproof_json.nim | ||
test_graphql.nim | ||
test_helpers.nim | ||
test_jwt_auth.nim | ||
test_ledger.nim | ||
test_memory.nim | ||
test_merge.nim | ||
test_misc.nim | ||
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 | ||
test_persistblock_json.nim | ||
test_precompiles.nim | ||
test_rpc.nim | ||
test_rpc_experimental_json.nim | ||
test_rpc_getproofs_track_state_changes.nim | ||
test_stack.nim | ||
test_state_db.nim | ||
test_tools_build.nim | ||
test_tracer_json.nim | ||
test_transaction_json.nim | ||
test_txpool.nim | ||
test_txpool2.nim | ||
test_wire_protocol.nim | ||
tracerTestGen.nim |
README.md
tests
TODO: more GeneralStateTest fixtures!