What's Changed
- tests: disable merge corpus option for fuzzer by @JacekGlen in #2405
- evmone: upgrade to version 0.13.0 by @chfast in #2370
- deps: upgrade intx to v0.12.1 by @chfast in #2410
- execution: fix silkworm_capi_test on macOS (#2389) by @battlmonstr in #2412
- core: use blst from evmone by @chfast in #2245
- precompiles: Use
evmone::crypto::kzg_verify_proof
instead ofsilkworm::verify_kzg_proof
by @rodiazet in #2379 - db: datastore layer by @battlmonstr in #2416
- tests: extend fuzzer memory limit by @JacekGlen in #2420
- snapshots: SnapshotPath.step_range by @battlmonstr in #2419
- third_party: update erigon-snapshot to 1c6166f by @canepat in #2414
- rpcdaemon: support only E3 + use Data API in unit tests by @lupin012 in #2417
- snapshots: improve verbose dump in count subcommands by @canepat in #2423
- rpcdaemon: fix clang tidy after PR 2417 by @lupin012 in #2425
- qa-tests: fix erigon management in integration tests by @mriccobene in #2428
- snapshots: new folder structure by @battlmonstr in #2424
- db: set operations on paginated Data API iterators by @canepat in #2429
- snapshots: KV segments by @battlmonstr in #2427
- rpcdaemon: remove totalDifficulty from RPC responses by @lupin012 in #2431
- third_party: update erigon-interfaces to commit cd6dd2549 by @lupin012 in #2435
- snapshots: timestamp-based repository by @battlmonstr in #2437
- rpcdaemon: call ethbackend.canonical_body_for_storage if key empty in MaxTxNum by @lupin012 in #2441
- rpcdaemon: use ETHBACKEND.canonical_block_hash_from_number by @lupin012 in #2426
- db, rpcdaemon: fix canonical_hash_provider for state reader by @canepat in #2450
- rpcdaemon: use ETHBACKEND: block_number_from_hash instead of kv table by @lupin012 in #2430
- rpcdaemon: update parity_listStorageKeys API by @Sixtysixter in #2449
- rpcdaemon: fix clang tidy after PR 2430 by @canepat in #2452
- db: provide SnapshotRepository to DataModel by @battlmonstr in #2440
- ci: schedule RPC fuzzer tests on long-running host by @canepat in #2451
- tests: fuzzer oom issue fix by @JacekGlen in #2446
- integration_tests: modify exception list by @lupin012 in #2453
- tests: remove leftovers from the previous runs in conan cache by @JacekGlen in #2457
- qa-tests: add execution test workflow by @mriccobene in #2438
- qa-tests: fix trigger on Execution Test by @mriccobene in #2459
- execution: fix stages lookup in sanitizer builds by @battlmonstr in #2462
- rpcdaemon: fix mismatch in erigon_getHeaderBy[Hash|Number] by @lupin012 in #2454
- db: txn by idx in block for RemoteChainStorage by @canepat in #2463
- rpcdaemon: debug_traceTransaction error field by @Sixtysixter in #2456
- make build helper target by @battlmonstr in #2461
- db: find block number from txn number over Data API by @canepat in #2466
- rpcdaemon: eth_feeHistory for e3 by @lupin012 in #2455
- rpcdaemon: Canonical body for storage return optional by @lupin012 in #2470
- rpcdaemon: get_block_number_from_txn_hash returns optional by @lupin012 in #2471
- rpcdaemon: implement eth_baseFee + eth_blobBaseFee by @lupin012 in #2465
- rpcdaemon: ots_getTransactionBySenderAndNonce for e3 by @Sixtysixter in https://github.com/erigontech/silkworm/pull/2469gontech/silkworm/pull/2473
- third_party: update erigon-interface to 69c998 by @lupin012 in #2472
- datastore: DataStore and related refactorings by @battlmonstr in #2467
- db: always pass TemporaryDirectory to TestDatabaseContext by @battlmonstr in #2475
- rpcdaemon: page_token management in Data API Range ops by @Sixtysixter in #2477
- third_party: update evmone by @chfast in #2481
- rpcdaemon: fix canonical body for storage provider not found key by @lupin012 in #2478
- integration: update rpc-tests to v1.7.0 by @Sixtysixter in #2483
- rpcdaemon: add blobGasUsedRatio in eth_feeHistory by @lupin012 in #2492
- rpcdaemon: check transaction nonce in ots_getTransactionBySenderAndNonce by @Sixtysixter in #2488
- rpcdaemon: remove parity_getBlockReceipts by @lupin012 in #2490
- rpcdaemon: total_difficulty in eth_getBlockBy[Number|Hash] if present in db by @lupin012 in #2487
- datastore: SnapshotBundle schema by @battlmonstr in #2484
- rpcdaemon: debug_getModifiedAccountsBy[Number|Hash] for E3 by @lupin012 in #2468
- datastore: EntityName replaces SnapshotType by @battlmonstr in #2491
- ci: fix TSAN and clang tidy after PR 2491 by @canepat in #2497
- integration: update rpc-tests to v1.12.0 by @Sixtysixter in #2496
- datastore: state repository schema by @battlmonstr in #2494
- rpcdaemon: update test list (parity_listStorageKeys, ots_getTransactionBySenderAndNonce) by @lupin012 in #2508
- snapshots: e3 path format by @battlmonstr in #2507
- rpcdaemon: add blob gas fields in receipt by @lupin012 in #2513
- Implement EIP-2935 by @bzawisto in #2495
- rpcdaemon: erigon_getBalanceChanges for e3 by @lupin012 in #2517
- snapshots: more state schema configurations by @battlmonstr in #2509
- rpcdaemon: debug_storageRangeAt for e3 by @lupin012 in #2514
- db: fix copy/move semantics for TKV iterators by @canepat in #2519
- rpcdaemon: ots_searchTransactionsBefore for e3 by @Sixtysixter in #2520
- Pectra EIP 7702: set eoa account code for one transaction by @bzawisto in #2489
- snapshots: AccessorIndex rename, BTreeIndex refactoring by @battlmonstr in #2518
- Implement eip 7685 wiring with three types of request by @bzawisto in #2476
- snapshots: RAII open of snapshot files by @battlmonstr in #2526
- rpcdaemon: replace History names w/ Domain names by @lupin012 in #2521
- rpcdaemon: debug_accountAt for e3 by @lupin012 in #2524
- rpcdaemon: ots_searchTransactionsAfter for e3 by @Sixtysixter in #2527
- db: rename TKV Domain methods by @canepat in #2530
- rpcdaemon: fix container-overflow detected by fuzzer on eth_feeHistory by @lupin012 in #2531
- rpcdaemon: ots_getContractCreator for e3 by @Sixtysixter in #2534
- db: split internal TKV get_latest method to match e3 by @canepat in #2535
- snapshots: add state_repository to DataStoreRef by @battlmonstr in #2538
- rpcdaemon: debug_accountRange for e3 by @lupin012 in #2539
- rpcdaemon: update skip list on debug_traceCallMany by @lupin012 in #2540
- core: add Constantinople EEST tests and fix test_recreate by @canepat in #2541
- rpc: assertion on key size in parity_listStorageKeys by @canepat in #2543
- cmd: staged_pipeline dev tool by @canepat in #2547
- db: handle stream composition in temporal KV by @canepat in #2549
- core: unify transaction validation for execution and simulate paths by @bzawisto in #2542
- rpcdaemon: move blocks module functions into BlockReader by @lupin012 in #2550
- rpcdaemon: assertion on key size in storage_walker by @lupin012 in #2552
- snapshots: state snapshot files decoders by @battlmonstr in #2544
- third_party: update EEST to [email protected] by @bzawisto in #2533
- core: move get_block_hash() from EvmHost to EVM by @chfast in #2553
- core: use evmc::VM to own evmone's VM by @chfast in #2554
- qa-tests: add a snapshot-test workflow by @mriccobene in #2537
- test: fix Prague/Cancun test config by @chfast in #2556
- qa-tests: fix snapshots test workflow by @mriccobene in #2558
- db: move LocalState/RemoteState to execution, StateReader to kv by @battlmonstr in #2557
- db: fix datastore namespaces by @battlmonstr in #2559
- evm: refactor computation of execution gas limit by @chfast in #2560
- style: clang-tidy fixes by @battlmonstr in #2562
- ci: fix clang ASAN after PR 2562 by @canepat in #2564
- db: add range stream in temporal KV by @Sixtysixter in #2563
- Use evmone APIv2 on the side by @chfast in #2561
- rpcdaemon: use transaction-level state in trace API by @lupin012 in #2565
- rpcdaemon: use transaction-level state in ots API by @lupin012 in #2567
- rpcdaemon: remove unused includes by @lupin012 in #2568
- core: don't recreate evmone instance by @bzawisto in #2566
- core: fix WASM build after PR 2566 by @canepat in #2571
- snapshots: rename Decompressor::Iterator::skip_auto to skip by @battlmonstr in #2573
- rpcdaemon: eth_getLogs for e3 by @Sixtysixter in #2545
- rpcdaemon: use transaction-level state in debug API by @lupin012 in #2569
- rpcdaemon: rework on execute trace_call by @lupin012 in #2572
- test: increase stack size for cmd/test/ethereum by @chfast in #2579
- evm: clean up empty accounts after system contracts by @chfast in #2577
- test: report unexpected accounts in cmd/test/ethereum by @chfast in #2578
- evm: create txn receipt using results from evmone APIv2 by @chfast in #2581
- cmd: move dev/snapshots and common to cli sublibraries by @canepat in #2574
- capi: fix capi_test with ASAN (#1881) by @battlmonstr in #2576
- rpcdaemon: fix and improve perf in eth_getLogs by @Sixtysixter in #2584
- third_party: update erigon-snapshot to f64407a by @canepat in #2586
- datastore: kvdb schema and DHII entities by @battlmonstr in #2582
- rpcdaemon: refactor OtsRpcApi::collect_transactions_with_receipts by @Sixtysixter in #2588
- evm: add flag to execute in evmone APIv2 by @chfast in #2589
- evm: apply state diff from evmone APIv2 if enabled by @chfast in #2590
- test: enable evmone APIv2 for cmd/test/ethereum by @chfast in #2591
- rpcdaemon: remove methods in db::chain namespace by @lupin012 in #2595
- rpcdaemon: remove db::chain read header hash by @lupin012 in #2600
- rpcdaemon: use txn state for bundles in eth_callMany by @lupin012 in #2602
- rpcdaemon: fix data race in http::Server stop by @canepat in #2587
- ci: update lint and wasm jobs to Ubuntu 24 by @battlmonstr in #2606
- evm: enable evmone APIv2 in tool/test utils by @chfast in #2609
- rpcdaemon: StateFactory rework by @lupin012 in #2603
- rpcdaemon: erigon_getLatestLogs for e3 by @Sixtysixter in #2611
- rpcdaemon: enabled erigon_getLatestLogs tests by @Sixtysixter in #2615
- rpcdaemon: fix use-after-free in erigon_getLatestLogs by @Sixtysixter in #2617
- rpcdaemon: add NoRefunds flag in some debug API by @lupin012 in #2616
- rpcdaemon: fix in debug_getRawHeader/debug_getRawBlock in case of header/block not found by @lupin012 in #2618
- rpcdaemon: debug_traceBlockByNumber with block number in hex format by @Sixtysixter in #2619
- rpcdaemon: StateReader using only txn_number by @lupin012 in #2623
- rpcdaemon: read_rlp_transaction() on RemoteChainStorage class by @lupin012 in #2624
- rpcdaemon: enable debug_traceCallMany tests by @Sixtysixter in #2620
- rpcdaemon: impl API debug_getRawReceipts by @lupin012 in #2627
- rpcdaemon: remove unused code in EVMExecutor by @canepat in #2631
- rpcdaemon: remove unnecessary call to read_rlp_transactions by @lupin012 in #2628
- rpcdaemon: debug_traceBlockByNumber support for block tags by @Sixtysixter in #2626
- datastore: domain put, delete, get latest from kvdb by @battlmonstr in #2614
- snapshots: queries refactoring by @battlmonstr in #2625
- rpcdaemon: replace UnaryRpc with rpc::unary_rpc by @canepat in #2636
- rpcdaemon: replace Database hierarchy with KV Service by @canepat in #2640
- rpcdaemon: fix and improve perf in trace_filter by @Sixtysixter in #2641
- core: address error=array-bounds in gcc14 by @yperbasis in #2639
- rpc: don't explicitly set default bailout argument by @chfast in #2645
- rpcdaemon: remove useless Catch2 expectations by @canepat in #2646
- node: handle STOP_AT_BLOCK in Execution stage by @canepat in #2647
- cmd: fix bisect command in staged_pipeline utility by @canepat in #2650
- db, node, sentry, sync: more exception handlers by @canepat in #2648
- cmd: add table_get command in db_toolbox utility by @canepat in #2651
- evm: drop bailout option from validate_call_funds() by @chfast in #2652
- evm: de-duplicate bailout flag by @chfast in #2653
- datastore: inverted index range query by @battlmonstr in #2632
- datastore: DomainGetLatestQuery for snapshots and datastore by @battlmonstr in #2656
- rpcdaemon: fixes for parallel RPC integration tests by @lupin012 in #2633
- rpcdaemon: support state reader on latest by @lupin012 in #2663
- rpcdaemon: fix stack data access in TraceTracer by @lupin012 in #2664
- db, rpcdaemon: refactor user_txn_id_at by @canepat in #2666
- rpcdaemon: debug_traceCall with txIndex by @Sixtysixter in #2659
- rpcdaemon: enable some debug_traceBlockBy* skipped tests by @Sixtysixter in #2671
- rpcdaemon: rebuild receipt only for selected transactions by @lupin012 in #2672
- datastore: improve domain get and put queries by @battlmonstr in #2661
- rpcdaemon: StateReader's txn_id must be nullopt in case of latest block by @lupin012 in #2675
- execution: use read-only tx in LocalState by @canepat in #2681
- rpcdaemon: fix invalid data access for CREATE2 in trace_filter by @Sixtysixter in #2649
- rpcdaemon: error field in response for debug_traceCall by @Sixtysixter in #2674
- third_party: update evmone by @chfast in #2679
- integration tests: update exception list for E3 beta1 by @lupin012 in #2684
- datastore: DomainGetAsOfQuery by @battlmonstr in #2680
- snapshots: fix .bt key decoding by @battlmonstr in #2685
- capi: execute single transaction by @JacekGlen in #2665
- execution: use domain GetAsOf queries in LocalState by @canepat in #2686
Full Changelog: capi-0.22.0...capi-0.23.0