gitextract_1pxu9kf7/ ├── .circleci/ │ └── config.yml ├── .clang-format ├── .clang-tidy ├── .dockerignore ├── .editorconfig ├── .git-blame-ignore-revs ├── .github/ │ ├── actions/ │ │ ├── fuzzer-common-steps/ │ │ │ └── action.yml │ │ └── perf-common-steps/ │ │ └── action.yml │ └── workflows/ │ ├── execution-test.yml │ ├── macOS.yml │ ├── rpc-fuzzer-tests.yml │ ├── rpc-integration-tests.yml │ ├── rpc-performance-tests-light.yml │ ├── rpc-performance-tests.yml │ ├── run_integration_tests.sh │ ├── snapshot-test.yml │ ├── start_integration_rpcdaemon.sh │ ├── stop_integration_rpcdaemon.sh │ └── windows.yml ├── .gitignore ├── .gitmodules ├── AUTHORS ├── CMakeLists.txt ├── CMakeSettings.json ├── LICENSE ├── Makefile ├── README.md ├── cmake/ │ ├── cmake_format.cmake │ ├── cmake_format.yaml │ ├── common/ │ │ ├── get_all_targets.cmake │ │ └── targets.cmake │ ├── compiler_settings.cmake │ ├── compiler_settings_sanitize.cmake │ ├── compiler_warnings.cmake │ ├── conan.cmake │ ├── conan_quiet.cmake │ ├── conan_quiet.sh │ ├── copyright.cmake │ ├── format.cmake │ ├── parallel_jobs_count.sh │ ├── profiles/ │ │ ├── experimental/ │ │ │ ├── linux_arm64_gcc_12_debug │ │ │ ├── linux_arm64_gcc_12_release │ │ │ ├── linux_x64_gcc_12_debug │ │ │ ├── linux_x64_gcc_12_release │ │ │ ├── macos_arm64_clang_14_debug │ │ │ ├── macos_arm64_clang_14_release │ │ │ ├── macos_x64_clang_14_debug │ │ │ ├── macos_x64_clang_14_release │ │ │ └── readme.txt │ │ ├── linux_x64_clang_16_debug │ │ ├── linux_x64_clang_16_release │ │ ├── linux_x64_gcc_11_debug │ │ ├── linux_x64_gcc_11_release │ │ ├── macos_arm64_clang_13_debug │ │ ├── macos_arm64_clang_13_release │ │ ├── macos_x64_clang_13_debug │ │ ├── macos_x64_clang_13_release │ │ ├── wasi_release │ │ ├── windows_msvc_193_debug │ │ └── windows_msvc_193_release │ ├── run_smoke_tests.cmake │ ├── run_smoke_tests.sh │ ├── run_unit_tests.cmake │ ├── run_unit_tests.sh │ ├── setup/ │ │ └── compiler_install.sh │ └── toolchain/ │ ├── clang_libcxx.cmake │ ├── cxx20.cmake │ └── wasi.cmake ├── cmd/ │ ├── CMakeLists.txt │ ├── benchmark/ │ │ ├── CMakeLists.txt │ │ └── benchmark_test.cpp │ ├── rpcdaemon.cpp │ ├── sentry.cpp │ ├── silkworm.cpp │ └── test/ │ ├── CMakeLists.txt │ ├── address_sanitizer_fix.hpp │ ├── backend_kv_test.cpp │ ├── ethereum.cpp │ ├── fuzzer_diagnostics.cpp │ ├── fuzzer_test.cpp │ └── sentry_client_test.cpp ├── codecov.yml ├── conanfile.py ├── docs/ │ ├── CONTRIBUTING.md │ ├── JSON-RPC-API.md │ ├── code_style.md │ ├── conan.md │ ├── db_toolbox.md │ ├── dev_tools.md │ └── fuzzer.md ├── examples/ │ ├── CMakeLists.txt │ └── get_latest_block.cpp ├── silkworm/ │ ├── CMakeLists.txt │ ├── capi/ │ │ ├── CMakeLists.txt │ │ ├── cli/ │ │ │ ├── CMakeLists.txt │ │ │ ├── execute.cpp │ │ │ ├── main.c │ │ │ └── sample-go-client/ │ │ │ ├── README.md │ │ │ └── main.go │ │ ├── common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── common_component.hpp │ │ │ ├── errors.h │ │ │ ├── instance.hpp │ │ │ ├── parse_path.cpp │ │ │ ├── parse_path.hpp │ │ │ └── preamble.h │ │ ├── init.cpp │ │ ├── init.h │ │ ├── instance.cpp │ │ ├── instance.hpp │ │ ├── log_level.h │ │ ├── make_log_settings.cpp │ │ ├── make_log_settings.hpp │ │ ├── silkworm.cpp │ │ ├── silkworm.h │ │ └── silkworm_test.cpp │ ├── core/ │ │ ├── CMakeLists.txt │ │ ├── chain/ │ │ │ ├── config.cpp │ │ │ ├── config.hpp │ │ │ ├── config_test.cpp │ │ │ ├── dao.cpp │ │ │ ├── dao.hpp │ │ │ ├── genesis.cpp │ │ │ ├── genesis.hpp │ │ │ ├── genesis_amoy.cpp │ │ │ ├── genesis_amoy.hpp │ │ │ ├── genesis_amoy.json │ │ │ ├── genesis_bor_mainnet.cpp │ │ │ ├── genesis_bor_mainnet.hpp │ │ │ ├── genesis_bor_mainnet.json │ │ │ ├── genesis_holesky.cpp │ │ │ ├── genesis_holesky.hpp │ │ │ ├── genesis_holesky.json │ │ │ ├── genesis_mainnet.cpp │ │ │ ├── genesis_mainnet.hpp │ │ │ ├── genesis_mainnet.json │ │ │ ├── genesis_sepolia.cpp │ │ │ ├── genesis_sepolia.hpp │ │ │ ├── genesis_sepolia.json │ │ │ └── genesis_test.cpp │ │ ├── common/ │ │ │ ├── assert.cpp │ │ │ ├── assert.hpp │ │ │ ├── base.hpp │ │ │ ├── block_cache.hpp │ │ │ ├── block_cache_test.cpp │ │ │ ├── bytes.hpp │ │ │ ├── bytes_test.cpp │ │ │ ├── bytes_to_string.hpp │ │ │ ├── decoding_result.hpp │ │ │ ├── empty_hashes.hpp │ │ │ ├── empty_hashes_test.cpp │ │ │ ├── endian.cpp │ │ │ ├── endian.hpp │ │ │ ├── endian_test.cpp │ │ │ ├── hash_maps.hpp │ │ │ ├── lru_cache.hpp │ │ │ ├── lru_cache_test.cpp │ │ │ ├── math.hpp │ │ │ ├── math_test.cpp │ │ │ ├── object_pool.hpp │ │ │ ├── overloaded.hpp │ │ │ ├── random_number.hpp │ │ │ ├── random_number_test.cpp │ │ │ ├── small_map.hpp │ │ │ ├── small_map_test.cpp │ │ │ ├── test_util.cpp │ │ │ ├── test_util.hpp │ │ │ ├── util.cpp │ │ │ ├── util.hpp │ │ │ └── util_test.cpp │ │ ├── concurrency/ │ │ │ └── resettable_once_flag.hpp │ │ ├── crypto/ │ │ │ ├── ecdsa.c │ │ │ ├── ecdsa.h │ │ │ ├── secp256k1n.cpp │ │ │ ├── secp256k1n.hpp │ │ │ └── secp256k1n_test.cpp │ │ ├── execution/ │ │ │ ├── call_tracer.cpp │ │ │ ├── call_tracer.hpp │ │ │ ├── evm.cpp │ │ │ ├── evm.hpp │ │ │ ├── evm_test.cpp │ │ │ ├── execution.hpp │ │ │ ├── execution_test.cpp │ │ │ ├── precompile.cpp │ │ │ ├── precompile.hpp │ │ │ ├── precompile_benchmark.cpp │ │ │ ├── precompile_test.cpp │ │ │ ├── processor.cpp │ │ │ ├── processor.hpp │ │ │ └── processor_test.cpp │ │ ├── protocol/ │ │ │ ├── blockchain.cpp │ │ │ ├── blockchain.hpp │ │ │ ├── bor/ │ │ │ │ ├── config.cpp │ │ │ │ ├── config.hpp │ │ │ │ ├── config_test.cpp │ │ │ │ ├── span.cpp │ │ │ │ ├── span.hpp │ │ │ │ └── span_test.cpp │ │ │ ├── bor_rule_set.cpp │ │ │ ├── bor_rule_set.hpp │ │ │ ├── ethash_config.cpp │ │ │ ├── ethash_config.hpp │ │ │ ├── ethash_rule_set.cpp │ │ │ ├── ethash_rule_set.hpp │ │ │ ├── ethash_rule_set_test.cpp │ │ │ ├── intrinsic_gas.cpp │ │ │ ├── intrinsic_gas.hpp │ │ │ ├── intrinsic_gas_test.cpp │ │ │ ├── merge_rule_set.cpp │ │ │ ├── merge_rule_set.hpp │ │ │ ├── merge_rule_set_test.cpp │ │ │ ├── param.hpp │ │ │ ├── rule_set.cpp │ │ │ ├── rule_set.hpp │ │ │ ├── rule_set_test.cpp │ │ │ ├── validation.cpp │ │ │ ├── validation.hpp │ │ │ └── validation_test.cpp │ │ ├── rlp/ │ │ │ ├── decode.cpp │ │ │ ├── decode.hpp │ │ │ ├── decode_test.cpp │ │ │ ├── decode_vector.hpp │ │ │ ├── encode.cpp │ │ │ ├── encode.hpp │ │ │ ├── encode_test.cpp │ │ │ └── encode_vector.hpp │ │ ├── state/ │ │ │ ├── block_state.hpp │ │ │ ├── delta.cpp │ │ │ ├── delta.hpp │ │ │ ├── in_memory_state.cpp │ │ │ ├── in_memory_state.hpp │ │ │ ├── intra_block_state.cpp │ │ │ ├── intra_block_state.hpp │ │ │ ├── intra_block_state_test.cpp │ │ │ ├── object.hpp │ │ │ └── state.hpp │ │ ├── test_util/ │ │ │ ├── null_stream.hpp │ │ │ └── sample_blocks.hpp │ │ ├── trie/ │ │ │ ├── hash_builder.cpp │ │ │ ├── hash_builder.hpp │ │ │ ├── hash_builder_test.cpp │ │ │ ├── nibbles.cpp │ │ │ ├── nibbles.hpp │ │ │ ├── nibbles_test.cpp │ │ │ ├── node.cpp │ │ │ ├── node.hpp │ │ │ ├── node_test.cpp │ │ │ ├── prefix_set.cpp │ │ │ ├── prefix_set.hpp │ │ │ ├── prefix_set_test.cpp │ │ │ ├── vector_root.hpp │ │ │ └── vector_root_test.cpp │ │ └── types/ │ │ ├── account.cpp │ │ ├── account.hpp │ │ ├── address.cpp │ │ ├── address.hpp │ │ ├── address_test.cpp │ │ ├── block.cpp │ │ ├── block.hpp │ │ ├── block_body_for_storage.hpp │ │ ├── block_body_for_storage_test.cpp │ │ ├── block_id.hpp │ │ ├── block_test.cpp │ │ ├── bloom.cpp │ │ ├── bloom.hpp │ │ ├── bloom_test.cpp │ │ ├── call_traces.hpp │ │ ├── chain_head.hpp │ │ ├── eip_7685_requests.cpp │ │ ├── eip_7685_requests.hpp │ │ ├── eip_7685_requests_test.cpp │ │ ├── evmc_bytes32.cpp │ │ ├── evmc_bytes32.hpp │ │ ├── hash.hpp │ │ ├── hash_test.cpp │ │ ├── log.cpp │ │ ├── log.hpp │ │ ├── log_test.cpp │ │ ├── receipt.cpp │ │ ├── receipt.hpp │ │ ├── transaction.cpp │ │ ├── transaction.hpp │ │ ├── transaction_test.cpp │ │ ├── withdrawal.cpp │ │ ├── withdrawal.hpp │ │ ├── withdrawal_test.cpp │ │ ├── y_parity_and_chain_id.cpp │ │ ├── y_parity_and_chain_id.hpp │ │ └── y_parity_and_chain_id_test.cpp │ ├── db/ │ │ ├── CMakeLists.txt │ │ ├── access_layer.cpp │ │ ├── access_layer.hpp │ │ ├── access_layer_test.cpp │ │ ├── bitmap_test.cpp │ │ ├── blocks/ │ │ │ ├── blocks_index_builders_factory.cpp │ │ │ ├── blocks_index_builders_factory.hpp │ │ │ ├── bodies/ │ │ │ │ ├── body_index.cpp │ │ │ │ ├── body_index.hpp │ │ │ │ ├── body_queries.hpp │ │ │ │ ├── body_segment.cpp │ │ │ │ ├── body_segment.hpp │ │ │ │ ├── body_segment_collation.cpp │ │ │ │ ├── body_segment_collation.hpp │ │ │ │ ├── body_txs_amount_query.cpp │ │ │ │ ├── body_txs_amount_query.hpp │ │ │ │ └── body_txs_amount_query_test.cpp │ │ │ ├── headers/ │ │ │ │ ├── header_index.cpp │ │ │ │ ├── header_index.hpp │ │ │ │ ├── header_queries.hpp │ │ │ │ ├── header_segment.cpp │ │ │ │ ├── header_segment.hpp │ │ │ │ ├── header_segment_collation.cpp │ │ │ │ └── header_segment_collation.hpp │ │ │ ├── schema_config.cpp │ │ │ ├── schema_config.hpp │ │ │ ├── step_block_num_converter.hpp │ │ │ └── transactions/ │ │ │ ├── txn_index.cpp │ │ │ ├── txn_index.hpp │ │ │ ├── txn_queries.hpp │ │ │ ├── txn_segment.hpp │ │ │ ├── txn_segment_collation.cpp │ │ │ ├── txn_segment_collation.hpp │ │ │ ├── txn_segment_word_codec.cpp │ │ │ ├── txn_segment_word_codec.hpp │ │ │ ├── txn_to_block_index.cpp │ │ │ ├── txn_to_block_index.hpp │ │ │ ├── txs_and_bodies_query.cpp │ │ │ └── txs_and_bodies_query.hpp │ │ ├── buffer.cpp │ │ ├── buffer.hpp │ │ ├── buffer_test.cpp │ │ ├── capi/ │ │ │ ├── component.hpp │ │ │ ├── db.cpp │ │ │ └── db.h │ │ ├── chain/ │ │ │ ├── chain_storage.hpp │ │ │ ├── local_chain_storage.cpp │ │ │ ├── local_chain_storage.hpp │ │ │ ├── providers.hpp │ │ │ ├── remote_chain_storage.cpp │ │ │ ├── remote_chain_storage.hpp │ │ │ └── remote_chain_storage_test.cpp │ │ ├── chain_data_init.cpp │ │ ├── chain_data_init.hpp │ │ ├── chain_head.cpp │ │ ├── chain_head.hpp │ │ ├── cli/ │ │ │ ├── CMakeLists.txt │ │ │ ├── check_blockhashes.cpp │ │ │ ├── check_changes.cpp │ │ │ ├── check_hashstate.cpp │ │ │ ├── check_log_indices.cpp │ │ │ ├── check_senders.cpp │ │ │ ├── check_tx_lookup.cpp │ │ │ ├── db_max_readers_option.cpp │ │ │ ├── db_max_readers_option.hpp │ │ │ ├── db_toolbox.cpp │ │ │ ├── scan_txs.cpp │ │ │ ├── snapshot_options.cpp │ │ │ ├── snapshot_options.hpp │ │ │ └── snapshots.cpp │ │ ├── data_store.cpp │ │ ├── data_store.hpp │ │ ├── datastore/ │ │ │ ├── CMakeLists.txt │ │ │ ├── common/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── dummy.cpp │ │ │ │ ├── entity_name.cpp │ │ │ │ ├── entity_name.hpp │ │ │ │ ├── pair_get.hpp │ │ │ │ ├── ranges/ │ │ │ │ │ ├── caching_view.hpp │ │ │ │ │ ├── concat_view.hpp │ │ │ │ │ ├── concat_view_test.cpp │ │ │ │ │ ├── if_view.hpp │ │ │ │ │ ├── lazy_view.hpp │ │ │ │ │ ├── merge_compare_func.hpp │ │ │ │ │ ├── merge_many_view.hpp │ │ │ │ │ ├── merge_many_view_test.cpp │ │ │ │ │ ├── merge_unique_view.hpp │ │ │ │ │ ├── merge_unique_view_test.cpp │ │ │ │ │ ├── merge_view.hpp │ │ │ │ │ ├── merge_view_test.cpp │ │ │ │ │ ├── owning_view.hpp │ │ │ │ │ ├── unique_view.hpp │ │ │ │ │ └── vector_from_range.hpp │ │ │ │ ├── step.hpp │ │ │ │ ├── step_test.cpp │ │ │ │ ├── step_timestamp_converter.cpp │ │ │ │ ├── step_timestamp_converter.hpp │ │ │ │ ├── step_timestamp_converter_test.cpp │ │ │ │ └── timestamp.hpp │ │ │ ├── data_migration.cpp │ │ │ ├── data_migration.hpp │ │ │ ├── data_migration_command.hpp │ │ │ ├── data_store.hpp │ │ │ ├── domain_get_as_of_query.hpp │ │ │ ├── domain_get_latest_query.hpp │ │ │ ├── domain_range_as_of_query.hpp │ │ │ ├── domain_range_latest_query.hpp │ │ │ ├── etl/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── buffer.hpp │ │ │ │ ├── collector.cpp │ │ │ │ ├── collector.hpp │ │ │ │ ├── collector_settings.hpp │ │ │ │ ├── file_provider.cpp │ │ │ │ ├── file_provider.hpp │ │ │ │ ├── in_memory_collector.hpp │ │ │ │ ├── util.hpp │ │ │ │ └── util_test.cpp │ │ │ ├── history_get_query.hpp │ │ │ ├── history_range_by_keys_query.hpp │ │ │ ├── history_range_in_period_query.hpp │ │ │ ├── inverted_index_range_by_key_query.hpp │ │ │ ├── kvdb/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── big_endian_codec.cpp │ │ │ │ ├── big_endian_codec.hpp │ │ │ │ ├── bitmap.cpp │ │ │ │ ├── bitmap.hpp │ │ │ │ ├── codec.hpp │ │ │ │ ├── cursor_iterator.cpp │ │ │ │ ├── cursor_iterator.hpp │ │ │ │ ├── database.cpp │ │ │ │ ├── database.hpp │ │ │ │ ├── domain.hpp │ │ │ │ ├── domain_codecs.hpp │ │ │ │ ├── domain_delete_query.hpp │ │ │ │ ├── domain_get_latest_query.hpp │ │ │ │ ├── domain_get_latest_query_test.cpp │ │ │ │ ├── domain_put_latest_query.hpp │ │ │ │ ├── domain_put_query.hpp │ │ │ │ ├── domain_queries.hpp │ │ │ │ ├── domain_range_latest_query.hpp │ │ │ │ ├── domain_range_latest_query_test.cpp │ │ │ │ ├── etl_mdbx_collector.hpp │ │ │ │ ├── history.hpp │ │ │ │ ├── history_codecs.hpp │ │ │ │ ├── history_delete_query.hpp │ │ │ │ ├── history_get_query.hpp │ │ │ │ ├── history_get_query_test.cpp │ │ │ │ ├── history_put_query.hpp │ │ │ │ ├── history_queries.hpp │ │ │ │ ├── history_range_by_keys_query.hpp │ │ │ │ ├── history_range_by_keys_query_test.cpp │ │ │ │ ├── history_range_in_period_query.hpp │ │ │ │ ├── history_range_in_period_query_test.cpp │ │ │ │ ├── inverted_index.hpp │ │ │ │ ├── inverted_index_put_query.hpp │ │ │ │ ├── inverted_index_queries.hpp │ │ │ │ ├── inverted_index_range_by_key_query.hpp │ │ │ │ ├── inverted_index_range_by_key_query_test.cpp │ │ │ │ ├── kvts_codec.hpp │ │ │ │ ├── mdbx.cpp │ │ │ │ ├── mdbx.hpp │ │ │ │ ├── mdbx_test.cpp │ │ │ │ ├── mdbx_version.cpp │ │ │ │ ├── mdbx_version.hpp │ │ │ │ ├── memory_mutation.cpp │ │ │ │ ├── memory_mutation.hpp │ │ │ │ ├── memory_mutation_cursor.cpp │ │ │ │ ├── memory_mutation_cursor.hpp │ │ │ │ ├── memory_mutation_test.cpp │ │ │ │ ├── query_test.hpp │ │ │ │ ├── raw_codec.hpp │ │ │ │ ├── schema.cpp │ │ │ │ ├── schema.hpp │ │ │ │ └── timestamp_codec.hpp │ │ │ ├── schema.hpp │ │ │ ├── segment_collation.hpp │ │ │ ├── snapshot_merger.cpp │ │ │ ├── snapshot_merger.hpp │ │ │ ├── snapshots/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── basic_queries.hpp │ │ │ │ ├── bittorrent/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── client.cpp │ │ │ │ │ ├── client.hpp │ │ │ │ │ ├── client_test.cpp │ │ │ │ │ ├── root_certificates.hpp │ │ │ │ │ ├── root_certificates_test.cpp │ │ │ │ │ ├── settings.hpp │ │ │ │ │ ├── torrent_file.cpp │ │ │ │ │ ├── torrent_file.hpp │ │ │ │ │ ├── torrent_file_test.cpp │ │ │ │ │ ├── trackers.cpp │ │ │ │ │ ├── trackers.hpp │ │ │ │ │ ├── web_seed_client.cpp │ │ │ │ │ ├── web_seed_client.hpp │ │ │ │ │ ├── web_seed_client_test.cpp │ │ │ │ │ ├── web_session.cpp │ │ │ │ │ ├── web_session.hpp │ │ │ │ │ └── web_session_test.cpp │ │ │ │ ├── bloom_filter/ │ │ │ │ │ ├── bloom_filter.cpp │ │ │ │ │ ├── bloom_filter.hpp │ │ │ │ │ └── bloom_filter_test.cpp │ │ │ │ ├── btree/ │ │ │ │ │ ├── btree.cpp │ │ │ │ │ ├── btree.hpp │ │ │ │ │ ├── btree_index.cpp │ │ │ │ │ ├── btree_index.hpp │ │ │ │ │ └── btree_index_test.cpp │ │ │ │ ├── common/ │ │ │ │ │ ├── codec.hpp │ │ │ │ │ ├── encoding/ │ │ │ │ │ │ ├── murmur_hash3.cpp │ │ │ │ │ │ ├── murmur_hash3.hpp │ │ │ │ │ │ ├── murmur_hash3_test.cpp │ │ │ │ │ │ ├── sequence.hpp │ │ │ │ │ │ ├── sequence_test.cpp │ │ │ │ │ │ └── util.hpp │ │ │ │ │ ├── key_hasher.cpp │ │ │ │ │ ├── key_hasher.hpp │ │ │ │ │ ├── key_hasher_test.cpp │ │ │ │ │ ├── raw_codec.hpp │ │ │ │ │ ├── snapshot_path.cpp │ │ │ │ │ ├── snapshot_path.hpp │ │ │ │ │ ├── snapshot_path_test.cpp │ │ │ │ │ └── util/ │ │ │ │ │ ├── bitmask_operators.hpp │ │ │ │ │ └── iterator/ │ │ │ │ │ ├── index_range.hpp │ │ │ │ │ ├── iterator_read_into_vector.hpp │ │ │ │ │ ├── list_iterator.hpp │ │ │ │ │ └── map_values_view.hpp │ │ │ │ ├── config/ │ │ │ │ │ ├── chains/ │ │ │ │ │ │ ├── amoy.hpp │ │ │ │ │ │ ├── bor_mainnet.hpp │ │ │ │ │ │ ├── holesky.hpp │ │ │ │ │ │ ├── mainnet.hpp │ │ │ │ │ │ └── sepolia.hpp │ │ │ │ │ ├── config.cpp │ │ │ │ │ ├── config.hpp │ │ │ │ │ ├── config_test.cpp │ │ │ │ │ └── entry.hpp │ │ │ │ ├── domain.hpp │ │ │ │ ├── domain_get_latest_query.hpp │ │ │ │ ├── domain_queries.hpp │ │ │ │ ├── domain_range_latest_query.hpp │ │ │ │ ├── elias_fano/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── double_elias_fano_list.cpp │ │ │ │ │ ├── double_elias_fano_list.hpp │ │ │ │ │ ├── double_elias_fano_list_test.cpp │ │ │ │ │ ├── elias_fano_common.hpp │ │ │ │ │ ├── elias_fano_list.cpp │ │ │ │ │ ├── elias_fano_list.hpp │ │ │ │ │ ├── elias_fano_list_test.cpp │ │ │ │ │ └── list_iterator.hpp │ │ │ │ ├── history.hpp │ │ │ │ ├── history_accessor_index.hpp │ │ │ │ ├── history_get_query.hpp │ │ │ │ ├── history_queries.hpp │ │ │ │ ├── history_range_by_keys_query.hpp │ │ │ │ ├── history_range_in_period_query.hpp │ │ │ │ ├── index_builder.cpp │ │ │ │ ├── index_builder.hpp │ │ │ │ ├── index_builders_factory.cpp │ │ │ │ ├── index_builders_factory.hpp │ │ │ │ ├── index_salt_file.cpp │ │ │ │ ├── index_salt_file.hpp │ │ │ │ ├── inverted_index.hpp │ │ │ │ ├── inverted_index_find_by_key_segment_query.hpp │ │ │ │ ├── inverted_index_lower_bound_key_offset_segment_query.cpp │ │ │ │ ├── inverted_index_lower_bound_key_offset_segment_query.hpp │ │ │ │ ├── inverted_index_queries.hpp │ │ │ │ ├── inverted_index_range_by_key_query.hpp │ │ │ │ ├── inverted_index_seek_query.hpp │ │ │ │ ├── inverted_index_ts_list.cpp │ │ │ │ ├── inverted_index_ts_list.hpp │ │ │ │ ├── inverted_index_ts_list_codec.cpp │ │ │ │ ├── inverted_index_ts_list_codec.hpp │ │ │ │ ├── query_cache.hpp │ │ │ │ ├── query_caches.cpp │ │ │ │ ├── query_caches.hpp │ │ │ │ ├── query_caches_schema.hpp │ │ │ │ ├── rec_split/ │ │ │ │ │ ├── accessor_index.hpp │ │ │ │ │ ├── golomb_rice.hpp │ │ │ │ │ ├── golomb_rice_test.cpp │ │ │ │ │ ├── rec_split.cpp │ │ │ │ │ ├── rec_split.hpp │ │ │ │ │ ├── rec_split_par.hpp │ │ │ │ │ ├── rec_split_par_test.cpp │ │ │ │ │ ├── rec_split_seq.hpp │ │ │ │ │ ├── rec_split_seq_test.cpp │ │ │ │ │ └── test_util/ │ │ │ │ │ └── xoroshiro128pp.hpp │ │ │ │ ├── schema.cpp │ │ │ │ ├── schema.hpp │ │ │ │ ├── segment/ │ │ │ │ │ ├── kv_segment_reader.cpp │ │ │ │ │ ├── kv_segment_reader.hpp │ │ │ │ │ ├── kv_segment_test.cpp │ │ │ │ │ ├── kv_segment_writer.cpp │ │ │ │ │ ├── kv_segment_writer.hpp │ │ │ │ │ ├── seg/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ ├── varint.cpp │ │ │ │ │ │ │ ├── varint.hpp │ │ │ │ │ │ │ └── varint_test.cpp │ │ │ │ │ │ ├── compression_kind.hpp │ │ │ │ │ │ ├── compressor/ │ │ │ │ │ │ │ ├── bit_stream.cpp │ │ │ │ │ │ │ ├── bit_stream.hpp │ │ │ │ │ │ │ ├── bit_stream_test.cpp │ │ │ │ │ │ │ ├── huffman_code.cpp │ │ │ │ │ │ │ ├── huffman_code.hpp │ │ │ │ │ │ │ ├── huffman_code_test.cpp │ │ │ │ │ │ │ ├── intermediate_compressed_stream.cpp │ │ │ │ │ │ │ ├── intermediate_compressed_stream.hpp │ │ │ │ │ │ │ ├── intermediate_compressed_stream_test.cpp │ │ │ │ │ │ │ ├── lcp_kasai.cpp │ │ │ │ │ │ │ ├── lcp_kasai.hpp │ │ │ │ │ │ │ ├── output_file_transaction.cpp │ │ │ │ │ │ │ ├── output_file_transaction.hpp │ │ │ │ │ │ │ ├── patricia_tree.cpp │ │ │ │ │ │ │ ├── patricia_tree.hpp │ │ │ │ │ │ │ ├── patricia_tree_test.cpp │ │ │ │ │ │ │ ├── pattern_aggregator.cpp │ │ │ │ │ │ │ ├── pattern_aggregator.hpp │ │ │ │ │ │ │ ├── pattern_aggregator_test.cpp │ │ │ │ │ │ │ ├── pattern_covering.cpp │ │ │ │ │ │ │ ├── pattern_covering.hpp │ │ │ │ │ │ │ ├── pattern_covering_test.cpp │ │ │ │ │ │ │ ├── pattern_extractor.cpp │ │ │ │ │ │ │ ├── pattern_extractor.hpp │ │ │ │ │ │ │ ├── pattern_extractor_test.cpp │ │ │ │ │ │ │ ├── positions_map.cpp │ │ │ │ │ │ │ ├── positions_map.hpp │ │ │ │ │ │ │ ├── raw_words_stream.cpp │ │ │ │ │ │ │ ├── raw_words_stream.hpp │ │ │ │ │ │ │ ├── raw_words_stream_test.cpp │ │ │ │ │ │ │ ├── seg_stream.cpp │ │ │ │ │ │ │ └── seg_stream.hpp │ │ │ │ │ │ ├── compressor.cpp │ │ │ │ │ │ ├── compressor.hpp │ │ │ │ │ │ ├── decompressor.cpp │ │ │ │ │ │ ├── decompressor.hpp │ │ │ │ │ │ ├── seg_zip.cpp │ │ │ │ │ │ └── seg_zip.hpp │ │ │ │ │ ├── segment_reader.cpp │ │ │ │ │ ├── segment_reader.hpp │ │ │ │ │ ├── segment_test.cpp │ │ │ │ │ ├── segment_writer.cpp │ │ │ │ │ └── segment_writer.hpp │ │ │ │ ├── segment_and_accessor_index.hpp │ │ │ │ ├── snapshot_bundle.cpp │ │ │ │ ├── snapshot_bundle.hpp │ │ │ │ ├── snapshot_repository.cpp │ │ │ │ ├── snapshot_repository.hpp │ │ │ │ ├── snapshot_repository_ro_access.hpp │ │ │ │ ├── snapshot_settings.hpp │ │ │ │ ├── snapshot_size.hpp │ │ │ │ └── test_util/ │ │ │ │ ├── sample_bloom_filter_data.hpp │ │ │ │ └── string_codec.hpp │ │ │ └── stage_scheduler.hpp │ │ ├── db_utils.cpp │ │ ├── db_utils.hpp │ │ ├── db_utils_test.cpp │ │ ├── etl_collector_test.cpp │ │ ├── etl_in_memory_collector_test.cpp │ │ ├── freezer.cpp │ │ ├── freezer.hpp │ │ ├── genesis.cpp │ │ ├── genesis.hpp │ │ ├── genesis_test.cpp │ │ ├── kv/ │ │ │ ├── api/ │ │ │ │ ├── as_datastore_ts_range.cpp │ │ │ │ ├── as_datastore_ts_range.hpp │ │ │ │ ├── as_datastore_ts_range_test.cpp │ │ │ │ ├── base_transaction.cpp │ │ │ │ ├── base_transaction.hpp │ │ │ │ ├── client.hpp │ │ │ │ ├── cursor.hpp │ │ │ │ ├── direct_client.cpp │ │ │ │ ├── direct_client.hpp │ │ │ │ ├── direct_service.cpp │ │ │ │ ├── direct_service.hpp │ │ │ │ ├── direct_service_test.cpp │ │ │ │ ├── endpoint/ │ │ │ │ │ ├── common.hpp │ │ │ │ │ ├── key_value.hpp │ │ │ │ │ ├── paginated_sequence.hpp │ │ │ │ │ ├── paginated_sequence_benchmark.cpp │ │ │ │ │ ├── paginated_sequence_test.cpp │ │ │ │ │ ├── sequence.hpp │ │ │ │ │ ├── state_change.hpp │ │ │ │ │ ├── state_changes_call.hpp │ │ │ │ │ ├── state_changes_call_test.cpp │ │ │ │ │ ├── temporal_point.hpp │ │ │ │ │ ├── temporal_range.hpp │ │ │ │ │ └── version.hpp │ │ │ │ ├── local_cursor.cpp │ │ │ │ ├── local_cursor.hpp │ │ │ │ ├── local_cursor_test.cpp │ │ │ │ ├── local_transaction.cpp │ │ │ │ ├── local_transaction.hpp │ │ │ │ ├── service.hpp │ │ │ │ ├── service_router.cpp │ │ │ │ ├── service_router.hpp │ │ │ │ ├── state_cache.cpp │ │ │ │ ├── state_cache.hpp │ │ │ │ ├── state_cache_test.cpp │ │ │ │ └── transaction.hpp │ │ │ ├── grpc/ │ │ │ │ ├── client/ │ │ │ │ │ ├── endpoint/ │ │ │ │ │ │ ├── state_change.cpp │ │ │ │ │ │ ├── state_change.hpp │ │ │ │ │ │ ├── temporal_point.cpp │ │ │ │ │ │ ├── temporal_point.hpp │ │ │ │ │ │ ├── temporal_point_test.cpp │ │ │ │ │ │ ├── temporal_range.cpp │ │ │ │ │ │ ├── temporal_range.hpp │ │ │ │ │ │ └── temporal_range_test.cpp │ │ │ │ │ ├── remote_client.cpp │ │ │ │ │ ├── remote_client.hpp │ │ │ │ │ ├── remote_client_test.cpp │ │ │ │ │ ├── remote_cursor.cpp │ │ │ │ │ ├── remote_cursor.hpp │ │ │ │ │ ├── remote_cursor_test.cpp │ │ │ │ │ ├── remote_transaction.cpp │ │ │ │ │ ├── remote_transaction.hpp │ │ │ │ │ ├── remote_transaction_test.cpp │ │ │ │ │ └── rpc.hpp │ │ │ │ ├── server/ │ │ │ │ │ ├── kv_calls.cpp │ │ │ │ │ ├── kv_calls.hpp │ │ │ │ │ ├── kv_calls_test.cpp │ │ │ │ │ ├── kv_server.cpp │ │ │ │ │ ├── kv_server.hpp │ │ │ │ │ ├── kv_server_test.cpp │ │ │ │ │ ├── state_change_collection.cpp │ │ │ │ │ ├── state_change_collection.hpp │ │ │ │ │ └── state_change_collection_test.cpp │ │ │ │ └── test_util/ │ │ │ │ └── sample_protos.hpp │ │ │ ├── state_changes_stream.cpp │ │ │ ├── state_changes_stream.hpp │ │ │ ├── state_changes_stream_test.cpp │ │ │ ├── state_reader.cpp │ │ │ ├── state_reader.hpp │ │ │ ├── state_reader_test.cpp │ │ │ ├── txn_num.cpp │ │ │ ├── txn_num.hpp │ │ │ └── txn_num_test.cpp │ │ ├── log_cbor.cpp │ │ ├── log_cbor.hpp │ │ ├── log_cbor_test.cpp │ │ ├── mdbx_test.cpp │ │ ├── memory_mutation_cursor_test.cpp │ │ ├── prune_mode.cpp │ │ ├── prune_mode.hpp │ │ ├── receipt_cbor.cpp │ │ ├── receipt_cbor.hpp │ │ ├── receipt_cbor_test.cpp │ │ ├── snapshot_benchmark.cpp │ │ ├── snapshot_decompressor_test.cpp │ │ ├── snapshot_index_builder_test.cpp │ │ ├── snapshot_recompress.cpp │ │ ├── snapshot_recompress.hpp │ │ ├── snapshot_repository_test.cpp │ │ ├── snapshot_sync.cpp │ │ ├── snapshot_sync.hpp │ │ ├── snapshot_sync_test.cpp │ │ ├── snapshot_test.cpp │ │ ├── stage.cpp │ │ ├── stage.hpp │ │ ├── stages.cpp │ │ ├── stages.hpp │ │ ├── state/ │ │ │ ├── account_codec.cpp │ │ │ ├── account_codec.hpp │ │ │ ├── account_codec_test.cpp │ │ │ ├── account_codecs.hpp │ │ │ ├── account_codecs_test.cpp │ │ │ ├── accounts_domain.hpp │ │ │ ├── address_codecs.hpp │ │ │ ├── address_codecs_test.cpp │ │ │ ├── code_domain.hpp │ │ │ ├── commitment_domain.hpp │ │ │ ├── hash_decoder.hpp │ │ │ ├── hash_decoder_test.cpp │ │ │ ├── log_address_inverted_index.hpp │ │ │ ├── log_topics_inverted_index.hpp │ │ │ ├── receipts_domain.hpp │ │ │ ├── receipts_domain_test.cpp │ │ │ ├── schema_config.cpp │ │ │ ├── schema_config.hpp │ │ │ ├── state_index_builders_factory.cpp │ │ │ ├── state_index_builders_factory.hpp │ │ │ ├── step_txn_id_converter.hpp │ │ │ ├── storage_codecs.cpp │ │ │ ├── storage_codecs.hpp │ │ │ ├── storage_codecs_benchmark.cpp │ │ │ ├── storage_domain.hpp │ │ │ ├── storage_domain_test.cpp │ │ │ ├── traces_from_inverted_index.hpp │ │ │ └── traces_to_inverted_index.hpp │ │ ├── tables.cpp │ │ ├── tables.hpp │ │ ├── test_util/ │ │ │ ├── CMakeLists.txt │ │ │ ├── kv_test_base.hpp │ │ │ ├── mock_chain_storage.hpp │ │ │ ├── mock_cursor.hpp │ │ │ ├── mock_ro_cursor.hpp │ │ │ ├── mock_state_cache.hpp │ │ │ ├── mock_transaction.hpp │ │ │ ├── mock_txn.hpp │ │ │ ├── temp_chain_data.cpp │ │ │ ├── temp_chain_data.hpp │ │ │ ├── temp_snapshots.hpp │ │ │ ├── test_database_context.cpp │ │ │ └── test_database_context.hpp │ │ ├── util.cpp │ │ ├── util.hpp │ │ └── util_test.cpp │ ├── dev/ │ │ ├── CMakeLists.txt │ │ ├── cli/ │ │ │ ├── CMakeLists.txt │ │ │ ├── embed_json.cpp │ │ │ ├── embed_toml.cpp │ │ │ ├── kzg_g2_uncompress.cpp │ │ │ ├── runner.cpp │ │ │ ├── state_transition_sample1.json │ │ │ ├── state_transition_sample2.json │ │ │ ├── state_transition_sample3.json │ │ │ └── state_transition_sample4.json │ │ ├── expected_state.cpp │ │ ├── expected_state.hpp │ │ ├── state_transition.cpp │ │ └── state_transition.hpp │ ├── execution/ │ │ ├── CMakeLists.txt │ │ ├── api/ │ │ │ ├── active_direct_service.cpp │ │ │ ├── active_direct_service.hpp │ │ │ ├── client.hpp │ │ │ ├── direct_client.cpp │ │ │ ├── direct_client.hpp │ │ │ ├── direct_service.cpp │ │ │ ├── direct_service.hpp │ │ │ ├── endpoint/ │ │ │ │ ├── assembly.hpp │ │ │ │ ├── block.hpp │ │ │ │ ├── checkers.hpp │ │ │ │ ├── getters.hpp │ │ │ │ ├── insertion.hpp │ │ │ │ ├── range.hpp │ │ │ │ ├── status.hpp │ │ │ │ └── validation.hpp │ │ │ ├── execution_engine.hpp │ │ │ └── service.hpp │ │ ├── block_executor.cpp │ │ ├── block_executor.hpp │ │ ├── domain_state.cpp │ │ ├── domain_state.hpp │ │ ├── domain_state_test.cpp │ │ ├── grpc/ │ │ │ ├── client/ │ │ │ │ ├── endpoint/ │ │ │ │ │ ├── assembly.cpp │ │ │ │ │ ├── assembly.hpp │ │ │ │ │ ├── checkers.cpp │ │ │ │ │ ├── checkers.hpp │ │ │ │ │ ├── checkers_test.cpp │ │ │ │ │ ├── getters.cpp │ │ │ │ │ ├── getters.hpp │ │ │ │ │ ├── getters_test.cpp │ │ │ │ │ ├── insertion.cpp │ │ │ │ │ ├── insertion.hpp │ │ │ │ │ ├── insertion_test.cpp │ │ │ │ │ ├── range.cpp │ │ │ │ │ ├── range.hpp │ │ │ │ │ ├── status.cpp │ │ │ │ │ ├── status.hpp │ │ │ │ │ ├── validation.cpp │ │ │ │ │ └── validation.hpp │ │ │ │ ├── remote_client.cpp │ │ │ │ └── remote_client.hpp │ │ │ ├── common/ │ │ │ │ ├── block.cpp │ │ │ │ ├── block.hpp │ │ │ │ └── block_test.cpp │ │ │ ├── server/ │ │ │ │ ├── endpoint/ │ │ │ │ │ ├── assembly.cpp │ │ │ │ │ ├── assembly.hpp │ │ │ │ │ ├── checkers.cpp │ │ │ │ │ ├── checkers.hpp │ │ │ │ │ ├── checkers_test.cpp │ │ │ │ │ ├── getters.cpp │ │ │ │ │ ├── getters.hpp │ │ │ │ │ ├── getters_test.cpp │ │ │ │ │ ├── insertion.cpp │ │ │ │ │ ├── insertion.hpp │ │ │ │ │ ├── insertion_test.cpp │ │ │ │ │ ├── range.cpp │ │ │ │ │ ├── range.hpp │ │ │ │ │ ├── status.cpp │ │ │ │ │ ├── status.hpp │ │ │ │ │ ├── validation.cpp │ │ │ │ │ └── validation.hpp │ │ │ │ ├── server.cpp │ │ │ │ ├── server.hpp │ │ │ │ ├── server_calls.cpp │ │ │ │ └── server_calls.hpp │ │ │ └── test_util/ │ │ │ └── sample_protos.hpp │ │ ├── local_state.cpp │ │ ├── local_state.hpp │ │ ├── remote_state.cpp │ │ ├── remote_state.hpp │ │ ├── remote_state_test.cpp │ │ ├── state_factory.cpp │ │ └── state_factory.hpp │ ├── infra/ │ │ ├── CMakeLists.txt │ │ ├── cli/ │ │ │ ├── CMakeLists.txt │ │ │ ├── common.cpp │ │ │ ├── common.hpp │ │ │ ├── human_size_option.cpp │ │ │ ├── human_size_option.hpp │ │ │ ├── ip_endpoint_option.cpp │ │ │ ├── ip_endpoint_option.hpp │ │ │ ├── shutdown_signal.cpp │ │ │ └── shutdown_signal.hpp │ │ ├── common/ │ │ │ ├── application_info.cpp │ │ │ ├── application_info.hpp │ │ │ ├── async_binary_search.cpp │ │ │ ├── async_binary_search.hpp │ │ │ ├── async_binary_search_test.cpp │ │ │ ├── binary_search.cpp │ │ │ ├── binary_search.hpp │ │ │ ├── binary_search_test.cpp │ │ │ ├── bounded_buffer.hpp │ │ │ ├── bounded_buffer_test.cpp │ │ │ ├── clock_time.cpp │ │ │ ├── clock_time.hpp │ │ │ ├── clock_time_test.cpp │ │ │ ├── decoding_exception.cpp │ │ │ ├── decoding_exception.hpp │ │ │ ├── directories.cpp │ │ │ ├── directories.hpp │ │ │ ├── directories_test.cpp │ │ │ ├── ensure.hpp │ │ │ ├── ensure_test.cpp │ │ │ ├── environment.cpp │ │ │ ├── environment.hpp │ │ │ ├── environment_test.cpp │ │ │ ├── filesystem.cpp │ │ │ ├── filesystem.hpp │ │ │ ├── log.cpp │ │ │ ├── log.hpp │ │ │ ├── log_test.cpp │ │ │ ├── measure.hpp │ │ │ ├── mem_usage.cpp │ │ │ ├── mem_usage.hpp │ │ │ ├── memory_mapped_file.cpp │ │ │ ├── memory_mapped_file.hpp │ │ │ ├── memory_mapped_file_benchmark.cpp │ │ │ ├── memory_mapped_file_test.cpp │ │ │ ├── os.cpp │ │ │ ├── os.hpp │ │ │ ├── os_test.cpp │ │ │ ├── safe_strerror.cpp │ │ │ ├── safe_strerror.hpp │ │ │ ├── secp256k1_context.cpp │ │ │ ├── secp256k1_context.hpp │ │ │ ├── stopwatch.cpp │ │ │ ├── stopwatch.hpp │ │ │ ├── stopwatch_test.cpp │ │ │ ├── terminal.cpp │ │ │ ├── terminal.hpp │ │ │ ├── timer.cpp │ │ │ ├── timer.hpp │ │ │ ├── timer_test.cpp │ │ │ ├── unix_timestamp.cpp │ │ │ └── unix_timestamp.hpp │ │ ├── concurrency/ │ │ │ ├── active_component.hpp │ │ │ ├── async_thread.cpp │ │ │ ├── async_thread.hpp │ │ │ ├── awaitable_condition_variable.cpp │ │ │ ├── awaitable_condition_variable.hpp │ │ │ ├── awaitable_condition_variable_test.cpp │ │ │ ├── awaitable_future.hpp │ │ │ ├── awaitable_future_test.cpp │ │ │ ├── awaitable_wait_for_all.hpp │ │ │ ├── awaitable_wait_for_one.hpp │ │ │ ├── base_service.hpp │ │ │ ├── cancellation_token.hpp │ │ │ ├── channel.hpp │ │ │ ├── channel_test.cpp │ │ │ ├── containers.hpp │ │ │ ├── context_pool.cpp │ │ │ ├── context_pool.hpp │ │ │ ├── context_pool_settings.hpp │ │ │ ├── context_pool_test.cpp │ │ │ ├── coroutine.hpp │ │ │ ├── coroutine_test.cpp │ │ │ ├── event_notifier.hpp │ │ │ ├── executor_pool.hpp │ │ │ ├── parallel_group_test.cpp │ │ │ ├── parallel_group_utils.cpp │ │ │ ├── parallel_group_utils.hpp │ │ │ ├── private_service.hpp │ │ │ ├── private_service_test.cpp │ │ │ ├── shared_service.hpp │ │ │ ├── shared_service_test.cpp │ │ │ ├── signal_handler.cpp │ │ │ ├── signal_handler.hpp │ │ │ ├── signal_handler_test.cpp │ │ │ ├── sleep.cpp │ │ │ ├── sleep.hpp │ │ │ ├── spawn.hpp │ │ │ ├── spawn_test.cpp │ │ │ ├── stoppable.hpp │ │ │ ├── stoppable_test.cpp │ │ │ ├── task.hpp │ │ │ ├── task_group.cpp │ │ │ ├── task_group.hpp │ │ │ ├── task_group_test.cpp │ │ │ ├── thread_pool.hpp │ │ │ ├── thread_safe_queue.hpp │ │ │ ├── timeout.cpp │ │ │ ├── timeout.hpp │ │ │ └── timeout_test.cpp │ │ ├── grpc/ │ │ │ ├── client/ │ │ │ │ ├── call.hpp │ │ │ │ ├── call_test.cpp │ │ │ │ ├── client_context_pool.cpp │ │ │ │ ├── client_context_pool.hpp │ │ │ │ ├── client_context_pool_test.cpp │ │ │ │ ├── dispatcher.hpp │ │ │ │ ├── error.cpp │ │ │ │ ├── error.hpp │ │ │ │ ├── error_test.cpp │ │ │ │ ├── reconnect.cpp │ │ │ │ └── reconnect.hpp │ │ │ ├── common/ │ │ │ │ ├── bytes.hpp │ │ │ │ ├── completion_tag.hpp │ │ │ │ ├── conversion.cpp │ │ │ │ ├── conversion.hpp │ │ │ │ ├── conversion_test.cpp │ │ │ │ ├── errors.cpp │ │ │ │ ├── errors.hpp │ │ │ │ ├── grpc_context_pool.hpp │ │ │ │ ├── util.hpp │ │ │ │ ├── util_test.cpp │ │ │ │ ├── version.cpp │ │ │ │ ├── version.hpp │ │ │ │ └── version_test.cpp │ │ │ ├── server/ │ │ │ │ ├── call.hpp │ │ │ │ ├── call_test.cpp │ │ │ │ ├── server.hpp │ │ │ │ ├── server_callbacks.hpp │ │ │ │ ├── server_context_pool.cpp │ │ │ │ ├── server_context_pool.hpp │ │ │ │ ├── server_context_pool_test.cpp │ │ │ │ ├── server_settings.hpp │ │ │ │ ├── server_settings_test.cpp │ │ │ │ └── server_test.cpp │ │ │ └── test_util/ │ │ │ ├── grpc_actions.hpp │ │ │ ├── grpc_matcher.hpp │ │ │ ├── grpc_responder.hpp │ │ │ ├── interfaces/ │ │ │ │ ├── ethbackend_mock_fix24351.grpc.pb.h │ │ │ │ ├── kv_mock_fix24351.grpc.pb.h │ │ │ │ ├── mining_mock_fix24351.grpc.pb.h │ │ │ │ └── txpool_mock_fix24351.grpc.pb.h │ │ │ └── test_runner.hpp │ │ └── test_util/ │ │ ├── CMakeLists.txt │ │ ├── context_test_base.cpp │ │ ├── context_test_base.hpp │ │ ├── fixture.hpp │ │ ├── hex.cpp │ │ ├── hex.hpp │ │ ├── log.hpp │ │ ├── task_runner.hpp │ │ └── temporary_file.hpp │ ├── interfaces/ │ │ ├── .gitignore │ │ ├── 27.0/ │ │ │ ├── execution/ │ │ │ │ ├── execution.grpc.pb.cc │ │ │ │ ├── execution.grpc.pb.h │ │ │ │ ├── execution.pb.cc │ │ │ │ ├── execution.pb.h │ │ │ │ └── execution_mock.grpc.pb.h │ │ │ ├── p2psentry/ │ │ │ │ ├── sentry.grpc.pb.cc │ │ │ │ ├── sentry.grpc.pb.h │ │ │ │ ├── sentry.pb.cc │ │ │ │ ├── sentry.pb.h │ │ │ │ └── sentry_mock.grpc.pb.h │ │ │ ├── remote/ │ │ │ │ ├── bor.grpc.pb.cc │ │ │ │ ├── bor.grpc.pb.h │ │ │ │ ├── bor.pb.cc │ │ │ │ ├── bor.pb.h │ │ │ │ ├── bor_mock.grpc.pb.h │ │ │ │ ├── ethbackend.grpc.pb.cc │ │ │ │ ├── ethbackend.grpc.pb.h │ │ │ │ ├── ethbackend.pb.cc │ │ │ │ ├── ethbackend.pb.h │ │ │ │ ├── ethbackend_mock.grpc.pb.h │ │ │ │ ├── kv.grpc.pb.cc │ │ │ │ ├── kv.grpc.pb.h │ │ │ │ ├── kv.pb.cc │ │ │ │ ├── kv.pb.h │ │ │ │ └── kv_mock.grpc.pb.h │ │ │ ├── txpool/ │ │ │ │ ├── mining.grpc.pb.cc │ │ │ │ ├── mining.grpc.pb.h │ │ │ │ ├── mining.pb.cc │ │ │ │ ├── mining.pb.h │ │ │ │ ├── mining_mock.grpc.pb.h │ │ │ │ ├── txpool.grpc.pb.cc │ │ │ │ ├── txpool.grpc.pb.h │ │ │ │ ├── txpool.pb.cc │ │ │ │ ├── txpool.pb.h │ │ │ │ └── txpool_mock.grpc.pb.h │ │ │ └── types/ │ │ │ ├── types.pb.cc │ │ │ └── types.pb.h │ │ ├── CMakeLists.txt │ │ └── generate_grpc.cmake │ ├── node/ │ │ ├── CMakeLists.txt │ │ ├── backend/ │ │ │ ├── ethereum_backend.cpp │ │ │ ├── ethereum_backend.hpp │ │ │ └── ethereum_backend_test.cpp │ │ ├── backend_kv_server.cpp │ │ ├── backend_kv_server.hpp │ │ ├── cli/ │ │ │ ├── CMakeLists.txt │ │ │ ├── backend_kv_server.cpp │ │ │ ├── node_options.cpp │ │ │ ├── node_options.hpp │ │ │ └── staged_pipeline.cpp │ │ ├── common/ │ │ │ └── node_settings.hpp │ │ ├── execution/ │ │ │ ├── active_direct_service_test.cpp │ │ │ ├── direct_service_test.cpp │ │ │ └── header_chain_plus_exec_test.cpp │ │ ├── node.cpp │ │ ├── node.hpp │ │ ├── remote/ │ │ │ └── ethbackend/ │ │ │ └── grpc/ │ │ │ └── server/ │ │ │ ├── backend_calls.cpp │ │ │ ├── backend_calls.hpp │ │ │ ├── backend_server.cpp │ │ │ ├── backend_server.hpp │ │ │ └── backend_server_test.cpp │ │ ├── resource_usage.cpp │ │ ├── resource_usage.hpp │ │ ├── settings.hpp │ │ ├── stagedsync/ │ │ │ ├── execution_engine.cpp │ │ │ ├── execution_engine.hpp │ │ │ ├── execution_engine_test.cpp │ │ │ ├── execution_pipeline.cpp │ │ │ ├── execution_pipeline.hpp │ │ │ ├── forks/ │ │ │ │ ├── canonical_chain.cpp │ │ │ │ ├── canonical_chain.hpp │ │ │ │ ├── extending_fork.cpp │ │ │ │ ├── extending_fork.hpp │ │ │ │ ├── fork.cpp │ │ │ │ ├── fork.hpp │ │ │ │ ├── fork_test.cpp │ │ │ │ ├── main_chain.cpp │ │ │ │ ├── main_chain.hpp │ │ │ │ └── main_chain_test.cpp │ │ │ ├── stages/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── stage_blockhashes.cpp │ │ │ │ ├── stage_blockhashes.hpp │ │ │ │ ├── stage_bodies.cpp │ │ │ │ ├── stage_bodies.hpp │ │ │ │ ├── stage_bodies_factory.hpp │ │ │ │ ├── stage_bodies_test.cpp │ │ │ │ ├── stage_call_trace_index.cpp │ │ │ │ ├── stage_call_trace_index.hpp │ │ │ │ ├── stage_execution.cpp │ │ │ │ ├── stage_execution.hpp │ │ │ │ ├── stage_finish.cpp │ │ │ │ ├── stage_finish.hpp │ │ │ │ ├── stage_hashstate.cpp │ │ │ │ ├── stage_hashstate.hpp │ │ │ │ ├── stage_headers.cpp │ │ │ │ ├── stage_headers.hpp │ │ │ │ ├── stage_headers_test.cpp │ │ │ │ ├── stage_history_index.cpp │ │ │ │ ├── stage_history_index.hpp │ │ │ │ ├── stage_history_index_test.cpp │ │ │ │ ├── stage_interhashes/ │ │ │ │ │ ├── _test.cpp │ │ │ │ │ ├── trie_cursor.cpp │ │ │ │ │ ├── trie_cursor.hpp │ │ │ │ │ ├── trie_loader.cpp │ │ │ │ │ └── trie_loader.hpp │ │ │ │ ├── stage_interhashes.cpp │ │ │ │ ├── stage_interhashes.hpp │ │ │ │ ├── stage_log_index.cpp │ │ │ │ ├── stage_log_index.hpp │ │ │ │ ├── stage_senders.cpp │ │ │ │ ├── stage_senders.hpp │ │ │ │ ├── stage_triggers.cpp │ │ │ │ ├── stage_triggers.hpp │ │ │ │ ├── stage_triggers_test.cpp │ │ │ │ ├── stage_tx_lookup.cpp │ │ │ │ ├── stage_tx_lookup.hpp │ │ │ │ └── stage_tx_lookup_test.cpp │ │ │ ├── stages_factory_impl.cpp │ │ │ ├── stages_factory_impl.hpp │ │ │ ├── stages_test.cpp │ │ │ ├── timer_factory.hpp │ │ │ └── types.hpp │ │ └── test_util/ │ │ ├── CMakeLists.txt │ │ ├── dummy.cpp │ │ ├── make_stages_factory.cpp │ │ ├── make_stages_factory.hpp │ │ ├── mock_execution_engine.hpp │ │ └── temp_chain_data_node_settings.hpp │ ├── rpc/ │ │ ├── CMakeLists.txt │ │ ├── capi/ │ │ │ ├── rpcdaemon.cpp │ │ │ └── rpcdaemon.h │ │ ├── cli/ │ │ │ ├── CMakeLists.txt │ │ │ ├── grpc_toolbox.cpp │ │ │ ├── rpcdaemon_options.cpp │ │ │ └── rpcdaemon_options.hpp │ │ ├── commands/ │ │ │ ├── admin_api.cpp │ │ │ ├── admin_api.hpp │ │ │ ├── debug_api.cpp │ │ │ ├── debug_api.hpp │ │ │ ├── debug_api_test.cpp │ │ │ ├── engine_api.cpp │ │ │ ├── engine_api.hpp │ │ │ ├── engine_api_test.cpp │ │ │ ├── erigon_api.cpp │ │ │ ├── erigon_api.hpp │ │ │ ├── erigon_api_test.cpp │ │ │ ├── eth_api.cpp │ │ │ ├── eth_api.hpp │ │ │ ├── eth_api_test.cpp │ │ │ ├── net_api.cpp │ │ │ ├── net_api.hpp │ │ │ ├── net_api_test.cpp │ │ │ ├── ots_api.cpp │ │ │ ├── ots_api.hpp │ │ │ ├── parity_api.cpp │ │ │ ├── parity_api.hpp │ │ │ ├── parity_api_test.cpp │ │ │ ├── rpc_api.hpp │ │ │ ├── rpc_api_table.cpp │ │ │ ├── rpc_api_table.hpp │ │ │ ├── rpc_api_table_test.cpp │ │ │ ├── rpc_api_test.cpp │ │ │ ├── trace_api.cpp │ │ │ ├── trace_api.hpp │ │ │ ├── trace_api_test.cpp │ │ │ ├── txpool_api.cpp │ │ │ ├── txpool_api.hpp │ │ │ ├── web3_api.cpp │ │ │ ├── web3_api.hpp │ │ │ └── web3_api_test.cpp │ │ ├── common/ │ │ │ ├── async_task.hpp │ │ │ ├── async_task_benchmark.cpp │ │ │ ├── async_task_test.cpp │ │ │ ├── compatibility.cpp │ │ │ ├── compatibility.hpp │ │ │ ├── constants.hpp │ │ │ ├── interface_log.cpp │ │ │ ├── interface_log.hpp │ │ │ ├── interface_log_test.cpp │ │ │ ├── tee.hpp │ │ │ ├── util.cpp │ │ │ ├── util.hpp │ │ │ ├── util_test.cpp │ │ │ └── worker_pool.hpp │ │ ├── core/ │ │ │ ├── account_dumper.cpp │ │ │ ├── account_dumper.hpp │ │ │ ├── account_dumper_test.cpp │ │ │ ├── block_reader.cpp │ │ │ ├── block_reader.hpp │ │ │ ├── block_reader_test.cpp │ │ │ ├── call_many.cpp │ │ │ ├── call_many.hpp │ │ │ ├── estimate_gas_oracle.cpp │ │ │ ├── estimate_gas_oracle.hpp │ │ │ ├── estimate_gas_oracle_test.cpp │ │ │ ├── evm_access_list_tracer.cpp │ │ │ ├── evm_access_list_tracer.hpp │ │ │ ├── evm_debug.cpp │ │ │ ├── evm_debug.hpp │ │ │ ├── evm_debug_test.cpp │ │ │ ├── evm_executor.cpp │ │ │ ├── evm_executor.hpp │ │ │ ├── evm_executor_test.cpp │ │ │ ├── evm_trace.cpp │ │ │ ├── evm_trace.hpp │ │ │ ├── evm_trace_test.cpp │ │ │ ├── fee_history_oracle.cpp │ │ │ ├── fee_history_oracle.hpp │ │ │ ├── fee_history_oracle_test.cpp │ │ │ ├── filter_storage.cpp │ │ │ ├── filter_storage.hpp │ │ │ ├── filter_storage_test.cpp │ │ │ ├── gas_price_oracle.cpp │ │ │ ├── gas_price_oracle.hpp │ │ │ ├── gas_price_oracle_test.cpp │ │ │ ├── logs_walker.cpp │ │ │ ├── logs_walker.hpp │ │ │ ├── override_state.cpp │ │ │ ├── override_state.hpp │ │ │ ├── receipts.cpp │ │ │ ├── receipts.hpp │ │ │ ├── receipts_cache.hpp │ │ │ ├── receipts_test.cpp │ │ │ ├── storage_walker.cpp │ │ │ ├── storage_walker.hpp │ │ │ └── storage_walker_test.cpp │ │ ├── daemon.cpp │ │ ├── daemon.hpp │ │ ├── daemon_test.cpp │ │ ├── engine/ │ │ │ ├── conversion.cpp │ │ │ ├── conversion.hpp │ │ │ ├── execution_engine.hpp │ │ │ ├── remote_execution_engine.cpp │ │ │ ├── remote_execution_engine.hpp │ │ │ ├── validation.cpp │ │ │ └── validation.hpp │ │ ├── ethbackend/ │ │ │ ├── backend.hpp │ │ │ ├── remote_backend.cpp │ │ │ ├── remote_backend.hpp │ │ │ └── remote_backend_test.cpp │ │ ├── ethdb/ │ │ │ ├── bitmap.cpp │ │ │ ├── bitmap.hpp │ │ │ ├── cbor.cpp │ │ │ ├── cbor.hpp │ │ │ ├── cbor_test.cpp │ │ │ ├── kv/ │ │ │ │ └── backend_providers.hpp │ │ │ ├── split_cursor.cpp │ │ │ ├── split_cursor.hpp │ │ │ ├── split_cursor_test.cpp │ │ │ ├── walk.cpp │ │ │ └── walk.hpp │ │ ├── http/ │ │ │ ├── chunker.hpp │ │ │ ├── connection.cpp │ │ │ ├── connection.hpp │ │ │ ├── connection_test.cpp │ │ │ ├── deflater.hpp │ │ │ ├── jwt.cpp │ │ │ ├── jwt.hpp │ │ │ ├── jwt_test.cpp │ │ │ ├── server.cpp │ │ │ ├── server.hpp │ │ │ └── zlib_compressor.hpp │ │ ├── json/ │ │ │ ├── access_list_entry.cpp │ │ │ ├── access_list_entry.hpp │ │ │ ├── authorization.cpp │ │ │ ├── authorization.hpp │ │ │ ├── block.cpp │ │ │ ├── block.hpp │ │ │ ├── block_test.cpp │ │ │ ├── cache_validation_result.cpp │ │ │ ├── cache_validation_result.hpp │ │ │ ├── call.cpp │ │ │ ├── call.hpp │ │ │ ├── call_bundle.cpp │ │ │ ├── call_bundle.hpp │ │ │ ├── call_bundle_test.cpp │ │ │ ├── call_test.cpp │ │ │ ├── client_version.cpp │ │ │ ├── client_version.hpp │ │ │ ├── execution_payload.cpp │ │ │ ├── execution_payload.hpp │ │ │ ├── execution_payload_test.cpp │ │ │ ├── filter.cpp │ │ │ ├── filter.hpp │ │ │ ├── filter_test.cpp │ │ │ ├── fork_choice.cpp │ │ │ ├── fork_choice.hpp │ │ │ ├── fork_choice_test.cpp │ │ │ ├── glaze.cpp │ │ │ ├── glaze.hpp │ │ │ ├── glaze_test.cpp │ │ │ ├── log.cpp │ │ │ ├── log.hpp │ │ │ ├── log_test.cpp │ │ │ ├── node_info.cpp │ │ │ ├── node_info.hpp │ │ │ ├── node_info_test.cpp │ │ │ ├── payload_attributes.cpp │ │ │ ├── payload_attributes.hpp │ │ │ ├── payload_attributes_test.cpp │ │ │ ├── receipt.cpp │ │ │ ├── receipt.hpp │ │ │ ├── receipt_test.cpp │ │ │ ├── stream.cpp │ │ │ ├── stream.hpp │ │ │ ├── stream_test.cpp │ │ │ ├── transaction.cpp │ │ │ ├── transaction.hpp │ │ │ ├── transaction_test.cpp │ │ │ ├── transition_configuration.cpp │ │ │ ├── transition_configuration.hpp │ │ │ ├── transition_configuration_test.cpp │ │ │ ├── types.cpp │ │ │ ├── types.hpp │ │ │ ├── types_test.cpp │ │ │ ├── withdrawal.cpp │ │ │ ├── withdrawal.hpp │ │ │ └── withdrawal_test.cpp │ │ ├── json_rpc/ │ │ │ ├── methods.hpp │ │ │ ├── request_handler.cpp │ │ │ ├── request_handler.hpp │ │ │ ├── request_handler_test.cpp │ │ │ ├── specification.cpp │ │ │ ├── specification.hpp │ │ │ ├── specification.json │ │ │ ├── validator.cpp │ │ │ ├── validator.hpp │ │ │ ├── validator_benchmark.cpp │ │ │ └── validator_test.cpp │ │ ├── protocol/ │ │ │ ├── errors.cpp │ │ │ └── errors.hpp │ │ ├── settings.hpp │ │ ├── stagedsync/ │ │ │ ├── stages.cpp │ │ │ ├── stages.hpp │ │ │ └── stages_test.cpp │ │ ├── test_util/ │ │ │ ├── CMakeLists.txt │ │ │ ├── api_test_base.hpp │ │ │ ├── api_test_database.hpp │ │ │ ├── dummy_client.hpp │ │ │ ├── dummy_transaction.hpp │ │ │ ├── mock_back_end.hpp │ │ │ ├── mock_block_cache.hpp │ │ │ ├── mock_estimate_gas_oracle.hpp │ │ │ ├── mock_execution_engine.hpp │ │ │ ├── mock_state_cache.hpp │ │ │ ├── service_context_test_base.cpp │ │ │ └── service_context_test_base.hpp │ │ ├── transport/ │ │ │ ├── request_handler.hpp │ │ │ ├── stream_writer.hpp │ │ │ └── stream_writer_test.cpp │ │ ├── txpool/ │ │ │ ├── miner.cpp │ │ │ ├── miner.hpp │ │ │ ├── miner_test.cpp │ │ │ ├── transaction_pool.cpp │ │ │ ├── transaction_pool.hpp │ │ │ └── transaction_pool_test.cpp │ │ ├── types/ │ │ │ ├── block.cpp │ │ │ ├── block.hpp │ │ │ ├── block_test.cpp │ │ │ ├── cache_validation_result.hpp │ │ │ ├── call.cpp │ │ │ ├── call.hpp │ │ │ ├── call_bundle.hpp │ │ │ ├── call_test.cpp │ │ │ ├── chain_config.cpp │ │ │ ├── chain_config.hpp │ │ │ ├── chain_config_test.cpp │ │ │ ├── chain_traffic.hpp │ │ │ ├── dump_account.cpp │ │ │ ├── dump_account.hpp │ │ │ ├── dump_account_test.cpp │ │ │ ├── error.cpp │ │ │ ├── error.hpp │ │ │ ├── error_test.cpp │ │ │ ├── execution_payload.cpp │ │ │ ├── execution_payload.hpp │ │ │ ├── execution_payload_test.cpp │ │ │ ├── filter.cpp │ │ │ ├── filter.hpp │ │ │ ├── filter_test.cpp │ │ │ ├── issuance.cpp │ │ │ ├── issuance.hpp │ │ │ ├── issuance_test.cpp │ │ │ ├── log.cpp │ │ │ ├── log.hpp │ │ │ ├── log_test.cpp │ │ │ ├── node_info.hpp │ │ │ ├── peer_info.hpp │ │ │ ├── receipt.cpp │ │ │ ├── receipt.hpp │ │ │ ├── receipt_test.cpp │ │ │ ├── syncing_data.hpp │ │ │ ├── transaction.cpp │ │ │ ├── transaction.hpp │ │ │ └── transaction_test.cpp │ │ └── ws/ │ │ ├── connection.cpp │ │ └── connection.hpp │ ├── sentry/ │ │ ├── CMakeLists.txt │ │ ├── api/ │ │ │ ├── common/ │ │ │ │ ├── message_from_peer.hpp │ │ │ │ ├── message_id_set.hpp │ │ │ │ ├── node_info.hpp │ │ │ │ ├── peer_event.hpp │ │ │ │ ├── peer_filter.hpp │ │ │ │ ├── peer_info.hpp │ │ │ │ ├── sentry_client.hpp │ │ │ │ └── service.hpp │ │ │ └── router/ │ │ │ ├── direct_service.cpp │ │ │ ├── direct_service.hpp │ │ │ ├── messages_call.hpp │ │ │ ├── peer_call.hpp │ │ │ ├── peer_events_call.hpp │ │ │ ├── send_message_call.hpp │ │ │ └── service_router.hpp │ │ ├── capi/ │ │ │ ├── component.hpp │ │ │ ├── sentry.cpp │ │ │ └── sentry.h │ │ ├── cli/ │ │ │ ├── CMakeLists.txt │ │ │ ├── sentry_options.cpp │ │ │ └── sentry_options.hpp │ │ ├── common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── atomic_value.hpp │ │ │ ├── crypto/ │ │ │ │ ├── ecdsa_signature.cpp │ │ │ │ ├── ecdsa_signature.hpp │ │ │ │ ├── xor.cpp │ │ │ │ └── xor.hpp │ │ │ ├── ecc_key_pair.cpp │ │ │ ├── ecc_key_pair.hpp │ │ │ ├── ecc_key_pair_test.cpp │ │ │ ├── ecc_public_key.cpp │ │ │ ├── ecc_public_key.hpp │ │ │ ├── enode_url.cpp │ │ │ ├── enode_url.hpp │ │ │ ├── enode_url_test.cpp │ │ │ ├── error.hpp │ │ │ ├── message.hpp │ │ │ ├── random.cpp │ │ │ ├── random.hpp │ │ │ ├── socket_stream.cpp │ │ │ └── socket_stream.hpp │ │ ├── discovery/ │ │ │ ├── bootnodes.cpp │ │ │ ├── bootnodes.hpp │ │ │ ├── common/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── node_address.cpp │ │ │ │ └── node_address.hpp │ │ │ ├── disc_v4/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── common/ │ │ │ │ │ ├── ip_classify.cpp │ │ │ │ │ ├── ip_classify.hpp │ │ │ │ │ ├── ip_classify_test.cpp │ │ │ │ │ ├── ipv6_unsupported_error.hpp │ │ │ │ │ ├── message_expiration.cpp │ │ │ │ │ ├── message_expiration.hpp │ │ │ │ │ ├── node_distance.cpp │ │ │ │ │ ├── node_distance.hpp │ │ │ │ │ ├── node_distance_test.cpp │ │ │ │ │ └── packet_type.hpp │ │ │ │ ├── discovery.cpp │ │ │ │ ├── discovery.hpp │ │ │ │ ├── enr/ │ │ │ │ │ ├── enr_request_handler.cpp │ │ │ │ │ ├── enr_request_handler.hpp │ │ │ │ │ ├── enr_request_message.cpp │ │ │ │ │ ├── enr_request_message.hpp │ │ │ │ │ ├── enr_response_message.cpp │ │ │ │ │ ├── enr_response_message.hpp │ │ │ │ │ ├── enr_response_message_test.cpp │ │ │ │ │ ├── fetch_enr_record.cpp │ │ │ │ │ ├── fetch_enr_record.hpp │ │ │ │ │ ├── message_handler.hpp │ │ │ │ │ └── message_sender.hpp │ │ │ │ ├── find/ │ │ │ │ │ ├── find_neighbors.cpp │ │ │ │ │ ├── find_neighbors.hpp │ │ │ │ │ ├── find_node_handler.cpp │ │ │ │ │ ├── find_node_handler.hpp │ │ │ │ │ ├── find_node_message.cpp │ │ │ │ │ ├── find_node_message.hpp │ │ │ │ │ ├── lookup.cpp │ │ │ │ │ ├── lookup.hpp │ │ │ │ │ ├── message_handler.hpp │ │ │ │ │ ├── message_sender.hpp │ │ │ │ │ ├── neighbors_message.cpp │ │ │ │ │ └── neighbors_message.hpp │ │ │ │ ├── message_codec.cpp │ │ │ │ ├── message_codec.hpp │ │ │ │ ├── message_codec_test.cpp │ │ │ │ ├── message_handler.hpp │ │ │ │ ├── message_sender.hpp │ │ │ │ ├── ping/ │ │ │ │ │ ├── message_handler.hpp │ │ │ │ │ ├── message_sender.hpp │ │ │ │ │ ├── ping_check.cpp │ │ │ │ │ ├── ping_check.hpp │ │ │ │ │ ├── ping_handler.cpp │ │ │ │ │ ├── ping_handler.hpp │ │ │ │ │ ├── ping_message.cpp │ │ │ │ │ ├── ping_message.hpp │ │ │ │ │ ├── pong_message.cpp │ │ │ │ │ └── pong_message.hpp │ │ │ │ ├── server.cpp │ │ │ │ └── server.hpp │ │ │ ├── discovery.cpp │ │ │ ├── discovery.hpp │ │ │ ├── enr/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── enr_codec.cpp │ │ │ │ ├── enr_codec.hpp │ │ │ │ ├── enr_record.hpp │ │ │ │ ├── enr_url.cpp │ │ │ │ ├── enr_url.hpp │ │ │ │ └── enr_url_test.cpp │ │ │ └── node_db/ │ │ │ ├── CMakeLists.txt │ │ │ ├── node_db.hpp │ │ │ ├── node_db_sqlite.cpp │ │ │ ├── node_db_sqlite.hpp │ │ │ ├── node_db_sqlite_test.cpp │ │ │ ├── serial_node_db.cpp │ │ │ └── serial_node_db.hpp │ │ ├── eth/ │ │ │ ├── fork_id.cpp │ │ │ ├── fork_id.hpp │ │ │ ├── fork_id_test.cpp │ │ │ ├── message_id.cpp │ │ │ ├── message_id.hpp │ │ │ ├── protocol.cpp │ │ │ ├── protocol.hpp │ │ │ ├── status_data.hpp │ │ │ ├── status_data_provider.cpp │ │ │ ├── status_data_provider.hpp │ │ │ ├── status_message.cpp │ │ │ └── status_message.hpp │ │ ├── grpc/ │ │ │ ├── client/ │ │ │ │ ├── sentry_client.cpp │ │ │ │ └── sentry_client.hpp │ │ │ ├── interfaces/ │ │ │ │ ├── eth_version.cpp │ │ │ │ ├── eth_version.hpp │ │ │ │ ├── message.cpp │ │ │ │ ├── message.hpp │ │ │ │ ├── node_info.cpp │ │ │ │ ├── node_info.hpp │ │ │ │ ├── peer_event.cpp │ │ │ │ ├── peer_event.hpp │ │ │ │ ├── peer_id.cpp │ │ │ │ ├── peer_id.hpp │ │ │ │ ├── peer_info.cpp │ │ │ │ ├── peer_info.hpp │ │ │ │ ├── sent_peer_ids.cpp │ │ │ │ ├── sent_peer_ids.hpp │ │ │ │ ├── status_data.cpp │ │ │ │ └── status_data.hpp │ │ │ └── server/ │ │ │ ├── server.cpp │ │ │ ├── server.hpp │ │ │ └── server_calls.hpp │ │ ├── grpc_requests.http │ │ ├── message_receiver.cpp │ │ ├── message_receiver.hpp │ │ ├── message_sender.cpp │ │ ├── message_sender.hpp │ │ ├── multi_sentry_client.cpp │ │ ├── multi_sentry_client.hpp │ │ ├── nat/ │ │ │ ├── address_util.cpp │ │ │ ├── address_util.hpp │ │ │ ├── address_util_test.cpp │ │ │ ├── ip_resolver.cpp │ │ │ ├── ip_resolver.hpp │ │ │ ├── local_ip_resolver.cpp │ │ │ ├── local_ip_resolver.hpp │ │ │ ├── nat_option.cpp │ │ │ ├── nat_option.hpp │ │ │ ├── stun_ip_resolver.cpp │ │ │ └── stun_ip_resolver.hpp │ │ ├── node_key_config.cpp │ │ ├── node_key_config.hpp │ │ ├── node_key_config_test.cpp │ │ ├── peer_discovery_feedback.cpp │ │ ├── peer_discovery_feedback.hpp │ │ ├── peer_manager.cpp │ │ ├── peer_manager.hpp │ │ ├── peer_manager_api.cpp │ │ ├── peer_manager_api.hpp │ │ ├── peer_manager_observer.hpp │ │ ├── rlpx/ │ │ │ ├── auth/ │ │ │ │ ├── auth_ack_message.cpp │ │ │ │ ├── auth_ack_message.hpp │ │ │ │ ├── auth_initiator.cpp │ │ │ │ ├── auth_initiator.hpp │ │ │ │ ├── auth_keys.hpp │ │ │ │ ├── auth_message.cpp │ │ │ │ ├── auth_message.hpp │ │ │ │ ├── auth_message_error.hpp │ │ │ │ ├── auth_recipient.cpp │ │ │ │ ├── auth_recipient.hpp │ │ │ │ ├── ecies_cipher.cpp │ │ │ │ ├── ecies_cipher.hpp │ │ │ │ ├── ecies_cipher_error.hpp │ │ │ │ ├── ecies_cipher_test.cpp │ │ │ │ ├── handshake.cpp │ │ │ │ ├── handshake.hpp │ │ │ │ ├── hello_message.cpp │ │ │ │ └── hello_message.hpp │ │ │ ├── client.cpp │ │ │ ├── client.hpp │ │ │ ├── common/ │ │ │ │ ├── disconnect_message.cpp │ │ │ │ ├── disconnect_message.hpp │ │ │ │ ├── disconnect_message_test.cpp │ │ │ │ └── disconnect_reason.hpp │ │ │ ├── crypto/ │ │ │ │ ├── aes.cpp │ │ │ │ ├── aes.hpp │ │ │ │ ├── hmac.cpp │ │ │ │ ├── hmac.hpp │ │ │ │ ├── sha256.cpp │ │ │ │ ├── sha256.hpp │ │ │ │ ├── sha3_hasher.cpp │ │ │ │ ├── sha3_hasher.hpp │ │ │ │ └── sha3_hasher_test.cpp │ │ │ ├── framing/ │ │ │ │ ├── framing_cipher.cpp │ │ │ │ ├── framing_cipher.hpp │ │ │ │ ├── message_frame_codec.cpp │ │ │ │ ├── message_frame_codec.hpp │ │ │ │ ├── message_stream.cpp │ │ │ │ └── message_stream.hpp │ │ │ ├── peer.cpp │ │ │ ├── peer.hpp │ │ │ ├── ping_message.cpp │ │ │ ├── ping_message.hpp │ │ │ ├── protocol.hpp │ │ │ ├── server.cpp │ │ │ └── server.hpp │ │ ├── sentry.cpp │ │ ├── sentry.hpp │ │ ├── sentry_client_factory.cpp │ │ ├── sentry_client_factory.hpp │ │ ├── session_sentry_client.cpp │ │ ├── session_sentry_client.hpp │ │ ├── settings.hpp │ │ ├── status_manager.cpp │ │ └── status_manager.hpp │ ├── sync/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── block_exchange.cpp │ │ ├── block_exchange.hpp │ │ ├── chain_sync.cpp │ │ ├── chain_sync.hpp │ │ ├── internals/ │ │ │ ├── algorithm.hpp │ │ │ ├── algorithm_test.cpp │ │ │ ├── body_retrieval.cpp │ │ │ ├── body_retrieval.hpp │ │ │ ├── body_sequence.cpp │ │ │ ├── body_sequence.hpp │ │ │ ├── body_sequence_test.cpp │ │ │ ├── chain_elements.hpp │ │ │ ├── chain_elements_test.cpp │ │ │ ├── chain_fork_view.cpp │ │ │ ├── chain_fork_view.hpp │ │ │ ├── header_chain.cpp │ │ │ ├── header_chain.hpp │ │ │ ├── header_chain_test.cpp │ │ │ ├── header_only_state.cpp │ │ │ ├── header_only_state.hpp │ │ │ ├── header_retrieval.cpp │ │ │ ├── header_retrieval.hpp │ │ │ ├── header_retrieval_test.cpp │ │ │ ├── preverified_hashes/ │ │ │ │ ├── preverified_hashes.cpp │ │ │ │ ├── preverified_hashes.hpp │ │ │ │ └── preverified_hashes_mainnet.cpp │ │ │ ├── priority_queue.hpp │ │ │ ├── priority_queue_test.cpp │ │ │ ├── random_number.hpp │ │ │ ├── statistics.cpp │ │ │ ├── statistics.hpp │ │ │ ├── types.cpp │ │ │ └── types.hpp │ │ ├── messages/ │ │ │ ├── inbound_block_bodies.cpp │ │ │ ├── inbound_block_bodies.hpp │ │ │ ├── inbound_block_headers.cpp │ │ │ ├── inbound_block_headers.hpp │ │ │ ├── inbound_get_block_bodies.cpp │ │ │ ├── inbound_get_block_bodies.hpp │ │ │ ├── inbound_get_block_headers.cpp │ │ │ ├── inbound_get_block_headers.hpp │ │ │ ├── inbound_message.cpp │ │ │ ├── inbound_message.hpp │ │ │ ├── inbound_new_block.cpp │ │ │ ├── inbound_new_block.hpp │ │ │ ├── inbound_new_block_hashes.cpp │ │ │ ├── inbound_new_block_hashes.hpp │ │ │ ├── internal_message.hpp │ │ │ ├── internal_message_test.cpp │ │ │ ├── message.hpp │ │ │ ├── outbound_block_bodies.cpp │ │ │ ├── outbound_block_bodies.hpp │ │ │ ├── outbound_block_headers.cpp │ │ │ ├── outbound_block_headers.hpp │ │ │ ├── outbound_get_block_bodies.cpp │ │ │ ├── outbound_get_block_bodies.hpp │ │ │ ├── outbound_get_block_headers.cpp │ │ │ ├── outbound_get_block_headers.hpp │ │ │ ├── outbound_message.cpp │ │ │ ├── outbound_message.hpp │ │ │ ├── outbound_new_block.cpp │ │ │ ├── outbound_new_block.hpp │ │ │ ├── outbound_new_block_hashes.cpp │ │ │ └── outbound_new_block_hashes.hpp │ │ ├── packets/ │ │ │ ├── block_bodies_packet.hpp │ │ │ ├── block_headers_packet.hpp │ │ │ ├── get_block_bodies_packet.hpp │ │ │ ├── get_block_headers_packet.hpp │ │ │ ├── hash_or_number.hpp │ │ │ ├── new_block_hashes_packet.hpp │ │ │ ├── new_block_packet.hpp │ │ │ ├── packet_coding_test.cpp │ │ │ ├── rlp_decoding.cpp │ │ │ ├── rlp_encoding.cpp │ │ │ └── rlp_eth66_packet_coding.hpp │ │ ├── sentry_client.cpp │ │ ├── sentry_client.hpp │ │ ├── settings.hpp │ │ ├── sync.cpp │ │ ├── sync.hpp │ │ ├── sync_pos.cpp │ │ ├── sync_pos.hpp │ │ ├── sync_pos_test.cpp │ │ ├── sync_pow.cpp │ │ ├── sync_pow.hpp │ │ └── test_util/ │ │ ├── mock_block_exchange.hpp │ │ └── mock_execution_client.hpp │ └── wasm/ │ ├── CMakeLists.txt │ ├── exception_handling_stub.cpp │ ├── silkworm_wasm_api.cpp │ └── silkworm_wasm_api.hpp ├── tests/ │ ├── docker/ │ │ ├── Dockerfile │ │ ├── README.md │ │ └── run-docker.sh │ ├── perf/ │ │ ├── run_with_perf.sh │ │ ├── run_with_toplev.sh │ │ ├── vegeta_attack_getLogs_rpcdaemon.sh │ │ └── vegeta_attack_getLogs_silkrpc.sh │ └── unit/ │ ├── README.md │ └── run_unit_test_loop.py ├── third_party/ │ ├── CMakeLists.txt │ ├── asio-grpc/ │ │ └── CMakeLists.txt │ ├── blst/ │ │ └── CMakeLists.txt │ ├── cbor-cpp/ │ │ └── CMakeLists.txt │ ├── clang-format/ │ │ ├── LICENSE.TXT │ │ ├── darwin-x64/ │ │ │ └── clang-format │ │ └── linux-x64/ │ │ └── clang-format │ ├── clang-tidy/ │ │ ├── clang-tidy-diff.py │ │ └── clang-tidy-diff.sh │ ├── cmake-conan/ │ │ ├── LICENSE │ │ ├── conan_provider.cmake │ │ └── readme.txt │ ├── cpp-base64/ │ │ └── CMakeLists.txt │ ├── erigon-mdbx-go/ │ │ └── CMakeLists.txt │ ├── ethash/ │ │ └── CMakeLists.txt │ ├── evmone/ │ │ └── CMakeLists.txt │ ├── glaze/ │ │ └── CMakeLists.txt │ ├── gmp/ │ │ └── CMakeLists.txt │ ├── intx/ │ │ └── CMakeLists.txt │ ├── libff/ │ │ └── CMakeLists.txt │ ├── llvm/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── lib_libc++/ │ │ │ └── clang/ │ │ │ └── 16.0.6/ │ │ │ └── lib/ │ │ │ └── x86_64-linux/ │ │ │ ├── libclang_rt.fuzzer.a │ │ │ ├── libclang_rt.fuzzer_interceptors.a │ │ │ └── libclang_rt.fuzzer_no_main.a │ │ └── llvm.sh │ ├── sais-lite/ │ │ ├── CMakeLists.txt │ │ └── sais-lite/ │ │ ├── README.md │ │ ├── sais.c │ │ └── sais.h │ ├── secp256k1/ │ │ └── CMakeLists.txt │ ├── stbrumme-crc32/ │ │ └── CMakeLists.txt │ ├── stbrumme-keccak/ │ │ ├── CMakeLists.txt │ │ └── stbrumme-keccak/ │ │ ├── LICENSE │ │ ├── keccak.cpp │ │ └── keccak.h │ ├── stun-msg/ │ │ └── CMakeLists.txt │ └── wasmer/ │ └── install.sh └── tools/ ├── deps.py ├── lint/ │ ├── ci_format.sh │ ├── clang_tidy_report.sh │ ├── copyright_replace.sh │ └── log_macros_fix.sh └── sanitizer/ └── tsan_suppressions.txt