Geth Enzymatic Injector (v1.17.3)
- Version
v1.17.3- Repository
- ethereum/go-ethereum
Release notes
This is a maintenance release with continued progress on the Amsterdam fork implementation. It also introduces ETH/70, which is now live on the network.
Breaking change for tracing APIs (debug_trace*), specifically the structLog (opcode) tracer. The following response fields now follow the newly established client-wide spec (ethereum/execution-apis#762) and reexec has been removed from the tracing config:
• memory: words are 0x-prefixed and padded to 32 bytes
• storage: keys and values are 0x-prefixed
• error: omitted when empty (previously serialized as "")
Geth
• Add retry mechanism for checkpoint init in blsync (#33966)
• Add subcommand for offline binary tree conversion (#33740)
• Add code exporter for db export (#34696)
Core
• Amsterdam fork updates:
• Prerequisites of EIP-7928: Block-Level Access Lists (#34064, #34644, #34726, #34776, #34799, #33737)
• Prerequisites of EIP-8037: State Creation Gas Cost Increase (#34691, #34712, #34841)
• EIP-7976: Increase Calldata Floor Cost (#34748)
• EIP-7981: Increase Access List Cost (#34755)
• EIP-7610: Reject contract creation when storage is non-empty (#34718)
• Update state tests (#34671)
• Implement stack arena (#33960)
• Implement EIP-7975: eth/70 partial block receipt lists (#33153)
• Prerequisites of snap/2 protocol (#34083, #34649, #34654, #34874)
• Implement history index pruner for path-mode archive nodes (#33999)
• Add Prague chain segment pruning point for Hoodi (#34714)
• Allow reorging head to parent within 32 blocks under ePBS (#34767)
• Stop serving chain segment requests when data is unavailable (#34787)
• Drop peers sending invalid bodies or receipts (#34745, #34870)
• Add kzg4844 cell-related functions (#34766)
• State database refactoring (#33102, #34700, #34763, #34724)
• Binary trie improvements (#34055, #34110, #34670, #34676, #34680, #34690, #34754, #34758, #34777, #34794)
• Merge EIP-4762 access events for all system calls (#34637)
• Reject duplicate layers in the path database (#34642)
• Omit empty slotNumber and fix block value collection in pre-Amsterdam engine API payloads (#34704)
• Include the operand in EIP-8024 error messages (#34635)
• Fix vmodule downgrades and propagate verbosity changes to derived loggers (#33111)
• Fix incorrect fsync ordering for index file truncation (#34728)
• Fix file descriptor leak in freezer error paths (#34735)
• Fix size calculation in path database (#34828)
• Fix gapped queue size cap in blobpool (#34831)
• Improve txpool pending concurrency by using read-only locking (#32924)
• Replace deprecated TypeMux with Feed (#32585)
• Continue blob retrieval when individual cell proof extraction fails (#34891)
• Use uint256 in core Message for faster gas calculations (#34934)
Networking
• Fix early exit of timeout loop when removing expired matchers (#34743, #34878)
• Prevent data races by copying discover buffers before unhandled read errors (#34888)
• Fix discover waitForNodes deadlock by decoupling nodeFeed from table mutex (#34898)
Cryptography
• Validate hash length in nocgo signature verification (#33839)
RPC
• Fix structLog JSON output format and drop reexec from tracing config (#34093)
• Apply block overrides (gasLimit, blobBaseFee) in eth_estimateGas (#34081)
• Apply block overrides to header in eth_call (#34842)
• Add MaxUsedGas to eth_simulate call results (#34820)
• Integrate trienode history indexing progress into eth_syncing (#34633)
• Return -32602 from log RPCs (eth_getLogs, eth_getFilterLogs, …) when the block range limit is exceeded (#34647)
Others
• Fix prestate tracer to distinguish cleared code from unchanged in EIP-7702 (#34675)
• Emit logs for EIP-7708 ETH burns in tracer (#34623)
• Forward V2 state hooks through mux tracer (#34869)
• Send WebSocket close frame on client disconnect (#33909)
• Omit empty address/topics fields in RPC filter requests (#33884)
• Add package-level error for event signature mismatch (#34076, #34868)
• Add gRPC…