Releases: erigontech/silkworm
Releases · erigontech/silkworm
C API v0.23.0
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 https://github....
C API v0.22.0
What's Changed
- rpcdaemon: fix gas cost in case of early failures by @lupin012 in #2378
- rpcdaemon: generate transaction receipts on-the-fly by @lupin012 in #2375
- capi: fork validator fixes by @JacekGlen in #2373
- rpcdaemon: undefined opcode gas cost by @Sixtysixter in #2397
Full Changelog: capi-0.21.1...capi-0.22.0
C API v0.21.1
What's Changed
- Adding accountRange spec by @bzawisto in #2224
- rpcdaemon: make TraceEx optional to match Erigon output in OUT_OF_GAS case by @lupin012 in #2232
- rpcdaemon: debug account range - updated spec by @bzawisto in #2239
- rpcdaemon: fixes on debug_accountRange by @lupin012 in #2247
- rpcdaemon: fix on determine staticcall type by @lupin012 in #2256
- rpcdaemon: fix STATICCALL type on ots_traceTransaction and recipient for CALLCODE by @lupin012 in #2257
- rpcdaemon: add STOP opcode as last opcode in specific success cases by @lupin012 in #2262
- third-party: update erigon-snapshot to da5d0f5 by @bzawisto in #2265
- rpcdaemon: fix on format to have one error for each block not found by @lupin012 in #2264
- rpcdaemon: fix trace state diff with CREATE and SELFDESTRUCT by @lupin012 in #2278
- rpcdaemon: fix gas_cost and memory of last STOP opcode in debug API by @Sixtysixter in #2281
- rpcdaemon: some fixes after porting erigon 2.60 by @lupin012 in #2287
- rpcdaemon: add blob gas fields on tx by @lupin012 in https://github.com/erigontech/silkworm/pull/2295310
- doc: erigon++ platforms by @battlmonstr in #2309
- sentry: handle errors when accessing socket endpoints by @canepat in #2306
- rpcdaemon: remove base fee from to_transaction by @lupin012 in #2305
- rpcdaemon: new gas bailout handling by @lupin012 in #2322
- rpcdaemon: add eth_estimateGas extra field for gas limit by @lupin012 in #2323
- rpcdaemon: gas cost from EVMONE for debug family API by @Sixtysixter in #2325
- rpcdaemon: fix memory size 0, special case on SELF_DESTRUCT by @lupin012 in #2326
- rpcdaemon: fix in case of receipts size mismatch by @lupin012 in #2338
- rpcdaemon: fix response in case no tx present by @lupin012 in #2339
- rpcdaemon: DebugTracer code refactoring and cleanup by @Sixtysixter in #2341
- Use the same block executor for both CAPI and StagedSync by @bzawisto in #2307
- node: fix revision check for tx type in stage Senders by @canepat in #2351
- rpcdaemon: trap einval exception to manage block not found by @lupin012 in #2352
- rpcdaemon: fix block and block_from_tx_hash providers in RemoteStorage by @lupin012 in #2356
- rpcdaemon: add catch invalid argument in debug_accountStorageAt, trace_filter, eth_estimateGas by @lupin012 in #2357
- node: fix Execution stage unwind after invalid block by @canepat in #2360
- core, rpcdaemon: move gas+funds bailout mechanism into evm by @bzawisto in #2354
- rpcdaemon: gas cost in trace_replay* API by @Sixtysixter in #2353
- capi: Fix batch size control by @JacekGlen in #2308
Full Changelog: capi-0.21.0...capi-0.21.1
C API v0.21.0
What's Changed
- rpcdaemon: if gas bailout subtract only if there is enough balance by @lupin012 in #2178
- rpcdaemon: fix cost, used-gas in case of EVMC errors by @lupin012 in #2181
- rpcdaemon: fix debug/trace API family gas cost step 2 by @Sixtysixter in #2172
- rpcdaemon: fix trace gasCost for opcode EXP in case of stack fault by @lupin012 in #2190
- db: reduce copies in KV gRPC remote cursor by @canepat in #2197
- rpcdaemon: fix trace_* API family gas cost by @Sixtysixter in #2187
- capi: fork validator by @JacekGlen in #2201
- rpcdaemon: use optional instead of unique_ptr by @bzawisto in #2203
- rpcdaemon: fix memory gas cost in call by @Sixtysixter in #2211
- rpcdaemon: fixing fuzzer tests by @bzawisto in #2214
- third_party: update evmone to v0.12.0 by @yperbasis in #2217
- rpcdaemon: fix data storage access in local state by @lupin012 in #2221
New Contributors
Full Changelog: capi-0.20.1...capi-0.21.0
C API v0.20.1
What's Changed
- rpcdaeomon: static call in gas cost for debug API endpoints by @Sixtysixter in #2167
Full Changelog: capi-0.20.0...capi-0.20.1
C API v0.20.0
What's Changed
- rpcdaemon: tx ID in client-side local/remote transaction by @canepat in #2068
- snapshots: refactor SnapshotRepository by @battlmonstr in #2056
- snapshots: move DAL code and tests by @battlmonstr in #2065
- snapshots: fix build on Apple clang 14 by @canepat in #2077
- rpcdaemon: refactor chain and state access layer by @canepat in #2084
- rpcdaemon: fix ots_getContractCreator by @lupin012 in #2082
- rpcdaemon: walk/for_prefix as functions by @canepat in #2087
- rpcdaemon: fix eth_getStorageAt location as hex string index by @lupin012 in #2085
- node: support splitted BackEnd and KV servers by @canepat in #2088
- node: move KV API client/server to db by @canepat in #2089
- node, db: adjust BackEnd and KV API namespaces by @canepat in #2090
- rpcdaemon: update ignore list and add subtest ignore list in I/O tests by @lupin012 in #2093
- rpcdaemon: restore effective gas price computation in EVMExecutor::call by @lupin012 in #2094
- rpcdaemon: use block base fee as max fee if max fee not specified by @lupin012 in #2092
- rpcdaemon: extract BackEnd out from Transaction hierarchy by @canepat in #2098
- rpcdaemon: extract receipts out from chain by @canepat in #2100
- rpcdaemon: introduce WorkerPool alias by @canepat in #2101
- rpcdaemon: move read_chain_config to chain storage by @canepat in #2104
- execution: fix OOM crash due to db::Buffer::accounts realloc (#2064) by @battlmonstr in #2081
- rpcdaemon: post EIP1559 balance check done on max_fee_per_gas and max_blob_per_gas by @lupin012 in #2063
- rpcademon: remove erigon_cumulativeChainTraffic by @lupin012 in #2109
- build: upgrade grpc to 1.54.3 by @yperbasis in #1619
- node: main chain db txn management by @JacekGlen in #2112
- rpcdaemon: SuicideAction implementation in trace API by @Sixtysixter in #2111
- rpcdaemon: remove erigon_watchTheBurn by @lupin012 in #2110
- rpcdaemon: update JSON-RPC spec to fork 0502b44 by @canepat in #2113
- rpcdaemon: rename json_rpc::JsonRpcValidator by @canepat in #2114
- rpcdaemon: refactoring to use db::storage_prefix utility by @canepat in #2116
- rpcdaemon: refactoring to separate SplitCursor from Cursor by @canepat in #2125
- rpcdaemon: refactoring ContextTestBase as infra test utility by @canepat in #2127
- rpcdaemon: refactoring state access by @canepat in #2129
- rpcdaemon: fix eth_feeHistory by @lupin012 in #2115
- rpcdaemon: remove optional in read chain config by @canepat in #2130
- rpcademon: fix is_replay_protected and parse raw transaction by @lupin012 in #2135
- rpcdaemon: move transaction/cursor hierarchy to db by @canepat in #2136
- db: use ByteView in KV StateCache by @canepat in #2141
- rpcdaemon: enum values for protocol error codes by @canepat in #2146
- rpcdaemon: avoid copy of receipts and tx by @lupin012 in #2147
- capi: depend on silkworm_db rather than silkworm_node by @yperbasis in #2152
- rpcdaemon: fix debug/trace API family gas cost by @Sixtysixter in #2153
- rpcdaemon: fix debug_storageRangeAt by @lupin012 in #2155
- doc: update JSON RPC API partial comment by @lupin012 in #2161
- rpcdaemon: support compression on HTTP streaming by @lupin012 in #1932
- core: introduce overflow-safe num_words by @yperbasis in #2164
Full Changelog: capi-0.19.0...capi-0.20.0
C API v0.19.0
What's Changed
- rpcdaemon: fix eth_estimateGas error handling by @lupin012 in #1969
- rpcdaemon: improve JWT handling in HTTP connection by @canepat in #1982
- rpcdaemon: add safe and finalized blocks in BlockNumberOrHash by @lupin012 in #1984
- rpcdaemon: fix block header serialization for erigon_getHeaderByHash by @lupin012 in #1985
- rpcdaemon: fix warning in StateChanges stream unit test by @canepat in #1988
- rpcdaemon: compatibility flag in trace_get API by @Sixtysixter in #1983
- rpcdaemon: erigon_getLatestLogs fix retrieving latest block by @lupin012 in #1996
- rpcdaemon: fix JSON for empty logs in erigon_getLogsByHash by @lupin012 in #1997
- rpcdaemon: fix crash in trace_replay* API by @Sixtysixter in #1995
- rpcdaemon: add blob check on evm executor by @lupin012 in #1990
- rpcdaemon: fix retry logic in eth_estimateGas by @lupin012 in #1991
- rpcdaemon: fix check for excess blob gas in EVM executor by @lupin012 in #1998
- rpcdaemon: add missing fields in ots_getBlockTransactions by @lupin012 in #1999
- db: missing length errors in access layer by @canepat in #2001
- rpcdaemon: eth_createAccessList shouldn't modify input Call by @lupin012 in #2005
- rpcdameon: fix erigon_getLatestLogs with logCount by @lupin012 in #2007
- rpcdaemon: add optional blob fields in ots_getBlockDetails by @lupin012 in #2009
- rpcdaemon: fix on withdrawals in ots_getBlockDetailsByHash by @lupin012 in #2011
- docs: add Erigon++ section in README by @canepat in #2014
- rpcdaemon: undefined instruction error message in TraceTracer by @Sixtysixter in #2010
- rpcdaemon: fix block issuance and upgrade rpc-tests by @lupin012 in #2012
- rpcdaemon: fix undefined instruction error in trace_call by @canepat in #2020
- rpcdaemon: fix eth_call without sender by @lupin012 in #2019
- rpcdaemon: fix on create failure trace by @Sixtysixter in #2021
- rpcdaemon: out of gas error message by @Sixtysixter in #2006
- core, rpcdaemon: gas bailout in EVM by @Sixtysixter in #2031
- sentry: add exception handling for main tasks by @canepat in #2032
- rpcdaemon: fix ots_searchTransactionsBefore + ots_searchTransactionsAfter by @lupin012 in #2022
- rpcdaemon: fix in ots_getTransactionError by @lupin012 in #2034
- rpcdaemon: Fix ots get internal operation by @lupin012 in #2038
- snapshots: optimize BodyTxsAmountQuery using skip by @battlmonstr in #2045
- rpcdaemon: fix ots_traceTransaction by @lupin012 in #2043
- rpcdaemon: fix result as error in some ots API by @lupin012 in #2053
- sentry: improve reconnect_channel logging by @battlmonstr in #2054
Full Changelog: capi-0.18.0...capi-0.19.0
Fixes
C API v0.18.0
What's Changed
- capi: fix Windows build after PR 1968 by @canepat in #1975
- rpcdaemon: improve close of state-changes stream after server-side termination by @canepat in #1973
- rpcdaemon: improve error handling in HTTP server by @canepat in #1976
- rpcdaemon: enable fuzzer tests on GitHub Actions by @JacekGlen in #1974
- capi: fix C99 compilation by @canepat in #1978
- capi: fix sanitizer build after PR 1978 by @canepat in #1981
Full Changelog: capi-0.17.0...capi-0.18.0
C API v0.17.0
What's Changed
- perf-workflow: generate and save json result file by @lupin012 in #1951
- integration-workflow: use rpc-tests v0.8.2 by @lupin012 in #1954
- rpcdaemon: extract awaitable async task run by executor by @canepat in #1953
- capi: fix sample Golang client by @canepat in #1956
- rpcdaemon: add config flag to toggle response dump in interface log by @canepat in #1959
- rpcdaemon: extract JSON-RPC handler out of transport by @canepat in #1962
- rpcdaemon: fix Clang Tidy after PR 1962 by @canepat in #1963
- core, rpcdaemon: add check on NoPreMergeConfig and terminal total difficulty by @lupin012 in #1949
- rpcdaemon: fix Clang in sanitizer build after PR 1949 by @canepat in #1966
- rcpdaemon: error messages in TraceTracer by @Sixtysixter in #1960
- rpcdaemon: author value in trace_block reward action by @Sixtysixter in #1961
- rpcdaemon: fix state access in eth_estimateGas by @lupin012 in #1967
- rpcdaemon: yParity field not conditioned to Erigon compatibility flag by @lupin012 in #1965
- perf-workflow: remove copy of reference binary data by @lupin012 in #1971
- third_party: remove unused picohttpparser by @canepat in #1972
- capi: export RpcDaemon configuration settings by @canepat in #1968
Full Changelog: capi-0.16.0...capi-0.17.0
C API v0.16.0
What's Changed
- cmd: improve JSON embedding by @canepat in #1920
- tests: use controllable Erigon datadir by @mriccobene in #1925
- cmake: no_warn_duplicate_libraries by @battlmonstr in #1926
- sync: remove old flag to force PoW consensus by @canepat in #1927
- mdbx-go: no_warn_duplicate_libraries by @battlmonstr in #1928
- ci: macOS job - use Xcode 15 by @battlmonstr in #1929
- perf_test_workflow: enable http compression on rpcdaemon startup by @lupin012 in #1930
- rpcdaemon: change http compression default value by @lupin012 in #1933
- rpcdaemon: fix Engine API V3 in JSON-RPC spec by @canepat in #1924
- rpcdaemon: increase max HTTP request body limit by @canepat in #1934
- snapshots: index builder refactorings by @battlmonstr in #1922
- snapshots: fix Windows build after PR 1922 by @canepat in #1937
- perf-workflow: long name options for run_perf_test by @lupin012 in #1935
- qa-tests: always save the result by @mriccobene in #1938
- core: merge BaseRuleSet with IRuleSet by @yperbasis in #1941
- rpc, sync: support Engine API V3 by @canepat in #1931
- tests: add Erigon RpcDaemon in perf workflow by @canepat in #1942
- infra: setup signal handling with SA_ONSTACK flag by @canepat in #1943
- db: match batch_state_size calculation with Erigon by @JacekGlen in #1944
- rpcdaemon: compression on separate thread by @lupin012 in #1936
- rpcdaemon: fix debug_storageRangeAt response for non-existent block hash by @Sixtysixter in #1948
- perf_workflow: add eth_createAccessList pattern test by @lupin012 in #1946
- perf-workflow: fix eth_createAccessList pattern name by @lupin012 in #1950
Full Changelog: capi-0.15.0...capi-0.16.0