Standardize opcode tracer behavior for debug_traceBlockByNumber and debug_traceTransaction#762
Conversation
| minimum: 0 | ||
| gasCost: | ||
| title: gas cost | ||
| description: The gas cost charged for executing this opcode. |
There was a problem hiding this comment.
This is not well specified. Does it mean the amount of gas to be burned by successful execution of the instruction?
There was a problem hiding this comment.
I updated the description to reflect the intent, though I'm not 100% sure if this wording is correct? I think it is.
There was a problem hiding this comment.
In geth, OnOpcode is called before the opcode executes, receiving the pre-computed cost as a parameter. gasCost is that value — the amount that will be deducted from the remaining gas assuming successful execution, including dynamic costs such as memory expansion and cold/warm storage access charges (EIP-2929). So yeah, I think the updated description is accurate.
There was a problem hiding this comment.
I think the main issue is in CALL instructions. I think gasCost should exclude the amount of gas passed down to the callee and only report the amount being burned as the instruction cost. This way the sum of all gasCost entries should give you the final gas used amount. cc @MariusVanDerWijden.
There was a problem hiding this comment.
Idea about sum being equal to the final used amount looks interesting, but want to highlight a few points:
- For formula to hold CALL
gasCostwon't include any "execution" gas, as it will already be accounted for in "inner" opcodes. Only base call gas, memory expansion, value transfer, and account creation fees. This may be a bit counterintuitive. - From a brief check none of the top clients have such exact implementation, so this will require a change from all of them. Also most clients take full forwarded gas as
gasCost(without deducting amount returned by the callee). May be wrong here so.
+1 from Erigon |
b2f7439 to
4805dab
Compare
macfarla
left a comment
There was a problem hiding this comment.
the execution timeout is non-trivial to implement in Besu. would prefer this to be a nice to have rather than a must-have. everything else is fine.
| each StructLog entry. Ignored when tracer is set. | ||
| Default: false. | ||
| type: boolean | ||
| limit: |
There was a problem hiding this comment.
medium effort to implement this in Besu since we don't have this currently
| $ref: '#/components/schemas/TraceConfig' | ||
| errors: | ||
| - code: 4444 | ||
| message: Pruned history unavailable |
There was a problem hiding this comment.
probably also an error for "block not found" and parent not found
This is a breaking change in the opcode (structLog) tracer. Several fields will have a slight formatting difference to conform to the newly established spec at: ethereum/execution-apis#762. The differences include: - `memory`: words will have the 0x prefix. Also last word of memory will be padded to 32-bytes. - `storage`: keys and values will have the 0x prefix. --------- Co-authored-by: Sina M <1591639+s1na@users.noreply.github.com>
|
go-ethereum PR was merged but there is no release, go.mod needs to be updated |
| description: >- | ||
| The contents of EVM memory at this step, divided into 32-byte chunks. | ||
| Each element is a 0x-prefixed, zero-padded 32-byte hex word representing | ||
| a consecutive 32-byte memory slot starting at offset (index * 32). |
There was a problem hiding this comment.
When stack, storage and memory is enabled, we've seen block traces on mainnet which were bigger than 47GB and that was even without padding. I think we should try to reduce the trace size as much as possible and not do any padding
There was a problem hiding this comment.
Isn't the padding in practice only for the last word, which may be partial? The overhead seems low to me.
| The contents of EVM memory at this step, divided into 32-byte chunks. | ||
| Each element is a 0x-prefixed, zero-padded 32-byte hex word representing | ||
| a consecutive 32-byte memory slot starting at offset (index * 32). | ||
| This field is absent (not null) when enableMemory is false. |
There was a problem hiding this comment.
Similar to storage we should only populate this for op codes that touch memory to reduce the trace size
There was a problem hiding this comment.
Looking through the Besu codebase the following op codes touch memory:
MLOAD, KECCAK256, LOG0–LOG4, RETURN, REVERT, MSIZE, MSTORE, MSTORE8, CALLDATACOPY, CODECOPY, EXTCODECOPY, RETURNDATACOPY, CALL, CALLCODE, DELEGATECALL, STATICCALL, CREATE, CREATE2, MCOPY
There was a problem hiding this comment.
We discussed a similar idea which didn't end up happening because streaming traces alleviated some of the issue.
It is the same in spirit as to what you're suggesting with the difference that we focus on opcodes that change the memory (and anytime you enter a new scope) and at that point output the full memory.
There was a problem hiding this comment.
I just run tests on debug_traceBlockByNumber with memory tracing enabled, on mainnet, and saw a block that generated 643 GiB of json output :
0x17AEF7D 658854.28MB
this is just to show case that we need to optimize memory tracing, and to support @daniellehrner's idea.
There was a problem hiding this comment.
Maybe it's not worth to standardize this part then.
There was a problem hiding this comment.
I think it makes even more sense to standardize it to be sure that debug_trace* calls generate reasonable amount of data. So basically, we need to reduce the impact of memory tracing on the json output size.
There was a problem hiding this comment.
I'd like to point out that: 1) it is disabled by default and won't bloat the trace, 2) there are few use-cases that require memory.
That said, I fully support optimizing the impact of memory, either in this or a future PR. I'd propose a more granular flag than enableMemory for it. An enum which can support a range of values like none, full, onChange. Because there are multiple ways to optimise it, you can even go as far as only outputting the diff compared to last change.
There is a way to do this in a backwards compatible way too. If we pick full as the default value, then when enableMemory is toggled it behaves the same way it does today.
There was a problem hiding this comment.
One could optimize the onChange even further by only doing this on operations which cannot be deduced from the already known output of an evm trace with only the stack enabled. By re-execution one can now deduce how the memory looks like. The only exception here is if EXTCODECOPY/CODECOPY is being used, which requires access to the code.
Maybe I missed an edge case but I think for all other opcodes this can directly be deduced by re-execution using the known stack values. Also RETURNDATACOPY for precompiles would be able to be recalculated because we can infer the input, and therefore also the output.
I think that in current EVM the memory trace only has to consist of the code bytes accessed during the trace. This only has to be stored once. We only need the copied bytes and not the remainder of the code, so we do not have to include the full code for every EXTCODECOPY/CODECOPY hit (how to format these partial codes is a different question, if one copies all odd bytes of a contract this would likely lead to a lot of overhead bytes for the encoding of this).
This would obviously need tooling in order to help reconstruct the actual memory layouts (I think reusing the own EVM implementation works best here), but it would massively decrease the memory trace output. If the trace provides every state necessary for the trace to be re-run we are done. For txs as these do not have more than 16.7 / 2 ** 24 gas limit this is also a manageable size for each transaction (and one can calculate the upper limit of certain entries to the trace, like the amount of addresses with code, or the amount of storage slots)
There was a problem hiding this comment.
Memory bloating the trace is a huge issue which we've been facing and we can and should improve on it. That said, I think this can be done in a backwards-compatible way, by the way of adding a memoryMode: enum config. It would configure how exactly memory will be emitted if it is enabled via enableMemory. Whether on every opcode, or on some opcodes, or a diff of memory, etc.
I'd like to propose that we still move forward with this PR in the spirit of making progress and not holding out on everything else which has consensus. Then directly make a future PR which standardises and adds support for lightweight memory traces.
Summary of changes for compliance (ethereum/execution-apis PR 762) see ethereum/execution-apis#762) The changes fix the EVM tracer JSON output (structLog) to align with the Ethereum JSON-RPC specification. --- 1. Last memory word truncation Before: the loop used i+32 <= len(memData), silently dropping the last chunk when memory size was not an exact multiple of 32 bytes. After: the loop iterates over all bytes; the last partial chunk is zero-padded to 32 bytes, as required by the spec (each memory word is always 32 bytes). --- 2. Missing 0x prefix on storage and memory Before: storage keys/values and memory words were serialized as raw hex (e.g. "0000...0001"). After: all hex values are emitted with the 0x prefix (e.g. "0x0000...0001"), as required by the Ethereum JSON-RPC specification. --- 3. error field always present even without errors Before: the "error" field was serialized as "error": "" even when no error occurred. After: with omitempty the field is omitted entirely when there is no error, making the output cleaner and consistent with the behavior expected by clients and Hive tests. --- Impacted APIs * debug_traceTransaction * debug_traceBlockByNumber * debug_traceBlockByHash * debug_traceCall * debug_traceCallMany All three fixes are covered by unit tests in the new json_stream_test.go file. Out of this PR is keyword to anable/disable and default value for them ### Tracer Configuration Comparison | Field | Erigon | Geth | Spec #762 | Aligned | | :--- | :--- | :--- | :--- | :---: | | **Memory** | `disable=false` (ON) | `Enable=false` (OFF) | `enable=false` (OFF) | ❌ | | **Stack** | `disable=false` (ON) | `Disable=false` (ON) | `disable=false` (ON) | ✅ | | **Storage** | `disable=false` (ON) | `Disable=false` (ON) | `disable=false` (ON) | ✅ | | **Return** | `disable=false` (ON) | `Enable=false` (OFF) | `enable=false` (OFF) | ❌ | --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…nd debug_traceTransaction Made-with: Cursor
Made-with: Cursor
…uctLog The opcode tracer spec (ethereum/execution-apis#762) requires storage keys and values to be 0x-prefixed bytes32. The serializer was explicitly stripping the prefix with [2..].
Two fixes to align with the [opcode tracer spec](ethereum/execution-apis#762): 1. Memory chunks now use `0x`-prefixed `bytes32` encoding. Previously `convert_memory()` used bare `hex::encode` without the prefix. 2. `returnData` is now included on every step when `enableReturnData` is true, even when the buffer is empty. Previously skipped when empty. --------- Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Drop MysticRyuujin go-ethereum replace; upstream v1.17.3 now carries the tracer fix. Resolve go.sum conflict and adopt main's updated testing_buildBlockV1 fixtures.
adc3ff5 to
a87ff44
Compare
Summary of changes for compliance (ethereum/execution-apis PR 762) see ethereum/execution-apis#762) Impacted APIs * debug_traceTransaction * debug_traceBlockByNumber * debug_traceBlockByHash * debug_traceCall * debug_traceCallMany --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace disableMemory/disableReturnData (opt-out, default ON) with enableMemory/enableReturnData (opt-in, default OFF) to match the ethereum/execution-apis#762 spec and Geth behavior. Also adds returnData emission to JsonStreamLogger which was previously missing. evm tool flags (--nomemory/--noreturndata) preserve existing behavior. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace disableMemory/disableReturnData (opt-out, default ON) with enableMemory/enableReturnData (opt-in, default OFF) to match the ethereum/execution-apis#762 spec and Geth behavior. Also adds returnData emission to JsonStreamLogger which was previously missing. evm tool flags (--nomemory/--noreturndata) preserve existing behavior. needs Rpc-test tag --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…erigontech#20755) Replace disableMemory/disableReturnData (opt-out, default ON) with enableMemory/enableReturnData (opt-in, default OFF) to match the ethereum/execution-apis#762 spec and Geth behavior. Also adds returnData emission to JsonStreamLogger which was previously missing. evm tool flags (--nomemory/--noreturndata) preserve existing behavior. needs Rpc-test tag --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…#9) * chore: bump revm 30.0.2 (paradigmxyz#379) bump patch * chore: bump revm 30.0.2 (paradigmxyz#380) * chore: bump to revm 33 (paradigmxyz#381) ## Motivation <!-- Explain the context and why you're making that change. What is the problem you're trying to solve? In some cases there is not a problem and this can be thought of as being the motivation for your change. --> Per: https://github.com/bluealloy/revm/releases/tag/v100 * chore: release 0.33.0 * feat: Fix geth prestate filtering for prefunded creations (paradigmxyz#383) This aims at resolving issues mentioned in paradigmxyz#382 , typically this one : <img width="1818" height="694" alt="image" src="https://github.com/user-attachments/assets/51b82944-c711-421b-8479-05095ae9bbce" /> To fix this , what i did was : - Keep track of addresses that are marked as Create and were truly empty in the database snapshot. Only these addresses are filtered from the prestate diff so prefunded contract deployments remain visible. - Introduce account_was_empty helper to avoid re-computing the emptiness check and add a regression test (prestate_diff_keeps_prefunded_created_accounts) that covers a prefunded creation vs. a true empty-address creation. cc @mattsse Please check it out if it resolves should close this one paradigmxyz/reth#19703 --------- Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * feat: upstream DebugInspector from reth (paradigmxyz#384) Moves `DebugInspector` from reth to revm-inspectors as requested in paradigmxyz/reth#19932. This was introduced in paradigmxyz/reth#19925 to unify debug tracing across all Geth tracer types. * chore: release 0.33.1 * test: add test for string error decode (paradigmxyz#386) * fix: use pre code if hash matches (paradigmxyz#387) this fixes an issue where we would return diffs like ``` "post": { "0x093f6c270ac22ec240f0c6fd7414ea774ca8d3e5": {}, "0x2641c2ded63a0c640629f5edf1189e0f53c06561": {}, ``` for `0x91b066df39661db7bcca1cb8bb8afd11816414408d44cbfcf6144f440d5dfe3b` ref paradigmxyz/reth#19703 however nothing changed in the account here and these should have been filtered out via: https://github.com/paradigmxyz/revm-inspectors/blob/f7503520888efc11eac3142fe7d611c519811b25/src/tracing/builder/geth.rs#L349-L349 and cleared from post via: https://github.com/alloy-rs/alloy/blob/35e20437670d987680a6715bcc173f3d357f8254/crates/rpc-types-trace/src/geth/pre_state.rs#L188-L201 the reason why this didn't work is because: the code can be None here which would make retain_change not remove the values ``` "result": { "post": { "0x093f6c270ac22ec240f0c6fd7414ea774ca8d3e5": {}, "0x2641c2ded63a0c640629f5edf1189e0f53c06561": {}, "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { "balance": "0xc87826afc2b88254" }, "0xbf5495efe5db9ce00f80364c8b423567e58d2110": { "storage": { "0x0000000000000000000000000000000000000000000000000000000000000035": "0x000000000000000000000000000000000000000000004b7b53b759cac06bc3b2", "0xec8c572bc2e66bfe14376dece39002d6d97d311020c59bc23a93016013e92439": "0x0000000000000000000000000000000000000000000000000f294a8cb09ad9cb" } }, "0xbfe474605fb7f1cf3693a3f21af2e329f7222462": { "balance": "0x269f4a55a240465", "nonce": 5 }, "0xf2f305d14dcd8aaef887e0428b3c9534795d0d60": { "balance": "0xe984e9959d534d3cdf" } }, "pre": { "0x093f6c270ac22ec240f0c6fd7414ea774ca8d3e5": { "balance": "0x1ea3abe47d76b5e00", "code": "..", "nonce": 1 }, "0x2641c2ded63a0c640629f5edf1189e0f53c06561": { "balance": "0x1cb3ca6ff6dc41400", "code": "..", "nonce": 1 }, "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { "balance": "0xc8781d351add1146", "nonce": 797368 }, "0xbf5495efe5db9ce00f80364c8b423567e58d2110": { "balance": "0x0", "code": "...", "nonce": 1, "storage": { "0x0000000000000000000000000000000000000000000000000000000000000035": "0x000000000000000000000000000000000000000000004b7b448e0f3e0fd0e9e7" } }, "0xbfe474605fb7f1cf3693a3f21af2e329f7222462": { "balance": "0x11d7cc57700ae2ed", "nonce": 4 }, "0xf2f305d14dcd8aaef887e0428b3c9534795d0d60": { "balance": "0xe975a599714e5f3cdf", "code": "...", "nonce": 1 } } }, ``` we can always use the precode here if the hashes match * chore: release 0.33.2 * feat: add support for erc7562 tracer (paradigmxyz#392) This aims to resolve this issue : paradigmxyz#391 cc @mattsse * feat: stage revm to 34.0.0 (paradigmxyz#385) stage latest main commit --------- Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore: release 0.34.0 * ci: update to tempoxyz (paradigmxyz#395) * fix: always include storage values for `SLOAD` and `SSTORE` in `GethTrace` (paradigmxyz#389) The default tracer for `debug_*` RPC methods was not reporting warmed storage values. This deviates from Get's implementation and—seemingly—the documented expectation: ```rs /// Represents a storage change during execution. /// /// This maps to evm internals: /// [JournalEntry::StorageChanged](revm::JournalEntry::StorageChanged) /// /// It is used to track both storage change and warm load of a storage slot. For warm load in regard /// to EIP-2929 AccessList had_value will be None. #[derive(Clone, Copy, Debug, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct StorageChange { /// key of the storage slot pub key: U256, /// Current value of the storage slot pub value: U256, /// The previous value of the storage slot, if any pub had_value: Option<U256>, /// How this storage was accessed pub reason: StorageChangeReason, } ``` In particular, the `SLOAD` for pc `235`, `279`, and `308` are missing `"storage"`. This PR resolves the issue. For reference: [revm-inspectors.json](https://github.com/user-attachments/files/24275105/revm-inspectors.json) [geth.json](https://github.com/user-attachments/files/24275106/geth.json) * test: add prestate replay testing infrastructure (paradigmxyz#399) Add reusable tooling for debugging RPC tracing using prestate tracer responses captured from mainnet transactions. ## Changes - Add `tests/it/repro.rs` with: - `ReproTestFixture`/`TxData` types for deserializing JSON fixtures - `spec_id_from_ethereum_hardfork`/`spec_id_from_block` helpers - `build_db_from_prestate` to populate CacheDB from AccountState - `ReproContext` builder for easy test setup - Add `testdata/repro/tx-selfdestruct.json` fixture from reth's e2e test (mainnet tx 0x391f4b6a...selfdestruct via USDT withdrawal) - Add `alloy-hardforks` dev dependency for block-to-hardfork mapping ## Usage ```rust const FIXTURE: &str = include_str!("../../testdata/repro/my-fixture.json"); #[test] fn test_my_trace() { let ctx = ReproContext::load(FIXTURE); let config = PreStateConfig::default(); let mut inspector = TracingInspector::new( TracingInspectorConfig::from_geth_prestate_config(&config) ); let db = ctx.db.clone(); let mut evm = Context::mainnet() .with_db(ctx.db.clone()) .modify_cfg_chained(|cfg| cfg.spec = ctx.spec_id) .build_mainnet() .with_inspector(&mut inspector); let res = evm.inspect_tx(ctx.tx_env()).unwrap(); // ... assertions on trace results } ``` This enables writing repro tests with the flow: **raw transaction + prestate JSON → configure tracer → run → assert** Refs: https://github.com/paradigmxyz/reth/blob/main/crates/ethereum/node/tests/e2e/prestate.rs --------- Co-authored-by: Amp <amp@ampcode.com> * fix: use Default::default() for TransactionInfo for forward compatibility (paradigmxyz#401) Use `..Default::default()` pattern to ensure forward compatibility when new fields are added to `TransactionInfo`. This prepares the crate for upcoming changes to add a `block_timestamp` field. Related: ethereum/execution-apis#729 Co-authored-by: Amp <amp@ampcode.com> * chore: release 0.34.1 * feat: expose refund_counter in `CallTrace` (paradigmxyz#402) Required to be able to recover pre-refund totals from purely just the `CallTrace` for gas introspection in foundry. foundry-rs/foundry#13262 * chore: release 0.34.2 * chore: bump MSRV to 1.91 (paradigmxyz#407) Bump MSRV from 1.86 to 1.91. * feat: implement Clone for DebugInspector (paradigmxyz#406) Implement `Clone` for `DebugInspector` to enable use with `TxTracer`, which requires `Inspector: Clone`. Non-JS variants clone trivially. The `Js` variant reconstructs the `JsInspector` from its stored `code` and `config` — same approach `fuse()` already uses. * devnet2-revm: bump revm patch for release procedure (paradigmxyz#408) ## Summary This PR is part of the **revm release procedure** (`devnet2-revm` chain). It bumps revm-inspectors to revm v35.0.0. ## Changes - Bump `revm` dependency from 34.0.0 to 35.0.0 in `Cargo.toml`. - Adapt to upstream API change: `journal().precompile_addresses()` now returns a type that requires `.iter().copied().collect()` instead of `.clone()`. - Lower `gas_limit` in selfdestruct tests from 100M to 10M to comply with EIP-7825 transaction gas limit cap enforced in revm 35. ## Validation - `cargo check` - `cargo +nightly clippy --workspace --all-targets --all-features` ## Procedure Context This is an intermediate dependency bump in the revm release flow before downstream updates in `alloy-evm` and `reth`. * chore: release 0.35.0 * chore: bump revm to 36.0.0 (paradigmxyz#409) ## Summary - Bump `revm` dependency from 35.0.0 to 36.0.0 ## Test plan - [x] `cargo check` passes - [x] `cargo test` passes (all 37 tests) * chore: release 0.36.0 * fix: omit empty returnData in geth struct log trace (paradigmxyz#411) ## Summary Only include `returnData` in structLog output when the return-data buffer is non-empty, matching geth's behavior. ## Motivation [ethpandaops trace comparison report](https://investigations.ethpandaops.io/2026-01/trace-comparisons/reth/) shows reth emitting `returnData: "0x"` on **every** structLog step (~1.1M occurrences across 500 txs), while geth/erigon/nethermind/besu all omit it. Geth applies two independent gates before including `returnData`: 1. `cfg.EnableReturnData == true` (opt-in config) — we had this 2. `len(ReturnData) > 0` in `toLegacyJSON` — we were missing this ## Changes - `src/tracing/builder/geth.rs`: add `!step.returndata.is_empty()` check alongside the existing `opts.is_return_data_enabled()` gate ## Testing `cargo test --workspace` — all 24 tests pass, clippy clean. Co-Authored-By: Matthias Seitz <19890894+mattsse@users.noreply.github.com> Prompted by: mattsse Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com> * feat: add set_transaction_caller and set_transaction_target (paradigmxyz#412) Adds `set_transaction_caller` and `set_transaction_target` to `TracingInspector`, following the same pattern as `set_transaction_gas_used` / `set_transaction_gas_limit`. Custom transaction types (e.g. AA batches) may execute via a multi-call handler where the EVM's `call()` entry point doesn't reflect the actual transaction sender/recipient. This causes `callTracer` to report zeroed `from`/`to` on the root frame. These methods allow the execution layer to correct the root trace after execution. Co-Authored-By: zhygis <5236121+Zygimantass@users.noreply.github.com> Prompted by: zygis --------- Co-authored-by: zhygis <5236121+Zygimantass@users.noreply.github.com> Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> * chore: release 0.36.1 * chore: relax `CTX` bounds on `StorageInspector` `Inspector` impl (paradigmxyz#416) Relax `CTX` bounds on `StorageInspector` `Inspector` impl as it doesn't use `Context`. * fix: eip-7708 logs (paradigmxyz#413) CallLog discarded the original Log.address during conversion and geth_empty_call_frame() reconstructed it from execution_address(). This is wrong for any log whose emitter differs from the call frame's execution context — most notably EIP-7708 system-level ETH transfer logs, which are emitted from SYSTEM_ADDRESS (0xfffffffffffffffffffffffffffffffffffffffe) rather than the executing contract. Changes src/tracing/types.rs - Add address: Address field to CallLog to preserve the original log emitter - Update From<Log> to store log.address instead of discarding it - Fix geth_empty_call_frame() to use log.address instead of self.execution_address() tests/it/geth.rs - test_geth_calltracer_logs_eip7708: value-transferring CALL to a precompile under AMSTERDAM — verifies the log address is ETH_TRANSFER_LOG_ADDRESS, not the contract or precompile address - test_geth_calltracer_logs_address_regular: regular LOG0 emission — verifies the log address is the emitting contract - test_geth_calltracer_logs_delegatecall: DELEGATECALL regression — verifies the log address is the proxy (execution context), not the implementation (bytecode) address Breaking CallLog is a public struct with a new address: Address field. Downstream consumers that construct CallLog manually will need to provide this field. Co-authored-by: Kai Yu <kai.yu@Kai-Yu-MacBook-Pro.local> * chore: bump alloy to 2.0 (paradigmxyz#421) Bump alloy dependencies to released 2.0.0. No `[patch.crates-io]` needed. Supersedes paradigmxyz#419 * chore: release 0.37.0 * tip1016: revm state-gas integration (paradigmxyz#405) ## Summary - Update revm rev to `e3223d5b38f7affb901601ed917fa7cdc466be74` (rakita/state-gas branch) for TIP-1016 dual-limit gas accounting ## Test plan - [x] `cargo check` compiles clean - [x] `cargo +nightly clippy` passes - [x] `cargo nextest run` — all 37 tests pass --------- Co-authored-by: Federico Gimenez <federico.gimenez@gmail.com> * chore: release 0.38.0 * fix: check if opcode is valid (paradigmxyz#422) TracingInspector creates OpCodes via `new_unchecked` at `start_step` to handle unknown/custom opcodes. In `step_end`, `step.op.outputs()` calls `OpCode::info()` which panics with `"opcode not found"` when the opcode byte has no entry in `OPCODE_INFO`. Guard with `is_valid()` — unknown opcodes default to 0 outputs. Prompted by: Dragan --------- Co-authored-by: rakita <13179220+rakita@users.noreply.github.com> Co-authored-by: rakita <rakita@users.noreply.github.com> * chore: release 0.38.1 * fix(tracing): always include refund counter, wire enableReturnData config (paradigmxyz#424) Two fixes based on the [ethpandaops trace comparison](https://investigations.ethpandaops.io/2026-01/trace-comparisons/): 1. Always include the refund counter in struct logs, even when zero. Previously omitted when value was 0, causing missing fields in trace output. 2. Wire `enableReturnData` from `GethDefaultTracingOptions` through to `TracingInspectorConfig::record_returndata_snapshots`. Previously this option was ignored, so returnData was never captured even when explicitly requested. Verified on a live reth archive node: - Refund: 22,476/67,028 steps → **67,028/67,028** steps - returnData with `enableReturnData: true`: 0 steps → **24,537** steps * fix(tracing): align memory encoding and returnData gating (paradigmxyz#425) Two fixes to align with the [opcode tracer spec](ethereum/execution-apis#762): 1. Memory chunks now use `0x`-prefixed `bytes32` encoding. Previously `convert_memory()` used bare `hex::encode` without the prefix. 2. `returnData` is now included on every step when `enableReturnData` is true, even when the buffer is empty. Previously skipped when empty. --------- Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore: bump revm to 38.0.0 (paradigmxyz#427) ## Summary - Bumps `revm` from `37.0.0` to `38.0.0`. ## Test plan - [ ] `cargo build` passes - [ ] `cargo test` passes - [ ] CI green * chore: release 0.39.0 * fix: use .values() instead of iter with unused key to satisfy clippy * Revert "fix: use .values() instead of iter with unused key to satisfy clippy" This reverts commit d7d6d46. * Reapply "fix: use .values() instead of iter with unused key to satisfy clippy" This reverts commit 43a426e. --------- Co-authored-by: rakita <rakita@users.noreply.github.com> Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com> Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> Co-authored-by: Karl Yu <43113774+0xKarl98@users.noreply.github.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> Co-authored-by: Alex Pikme <30472093+reject-i@users.noreply.github.com> Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com> Co-authored-by: Wodann <Wodann@users.noreply.github.com> Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: Philippe Dumonet <philippe@dumo.net> Co-authored-by: stevencartavia <112043913+stevencartavia@users.noreply.github.com> Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com> Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com> Co-authored-by: zhygis <5236121+Zygimantass@users.noreply.github.com> Co-authored-by: Mablr <59505383+mablr@users.noreply.github.com> Co-authored-by: Kai Yu <kai.yu@circle.com> Co-authored-by: Kai Yu <kai.yu@Kai-Yu-MacBook-Pro.local> Co-authored-by: Federico Gimenez <federico.gimenez@gmail.com> Co-authored-by: rakita <13179220+rakita@users.noreply.github.com> Co-authored-by: figtracer <me@figtracer.com>
Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.17.2 to 1.17.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereum/go-ethereum/releases">github.com/ethereum/go-ethereum's releases</a>.</em></p> <blockquote> <h2>Enzymatic Injector (v1.17.3)</h2> <!-- raw HTML omitted --> <p>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.</p> <p><code>ethereum/execution-apis#762</code><code>reexec</code> has been removed from the tracing config:</p> <ul> <li><code>memory</code>: words are 0x-prefixed and padded to 32 bytes</li> <li><code>storage</code>: keys and values are 0x-prefixed</li> <li><code>error</code>: omitted when empty (previously serialized as "")</li> </ul> <h3>Geth</h3> <ul> <li>Add retry mechanism for checkpoint init in blsync (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33966">#33966</a>)</li> <li>Add subcommand for offline binary tree conversion (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33740">#33740</a>)</li> <li>Add code exporter for db export (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34696">#34696</a>)</li> </ul> <h3>Core</h3> <ul> <li>Amsterdam fork updates: <ul> <li>Prerequisites of EIP-7928: Block-Level Access Lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34064">#34064</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34644">#34644</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34726">#34726</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34776">#34776</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34799">#34799</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/33737">#33737</a>)</li> <li>Prerequisites of EIP-8037: State Creation Gas Cost Increase (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34691">#34691</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34712">#34712</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34841">#34841</a>)</li> <li>EIP-7976: Increase Calldata Floor Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34748">#34748</a>)</li> <li>EIP-7981: Increase Access List Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34755">#34755</a>)</li> <li>EIP-7610: Reject contract creation when storage is non-empty (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34718">#34718</a>)</li> <li>Update state tests (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34671">#34671</a>)</li> </ul> </li> <li>Implement stack arena (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33960">#33960</a>)</li> <li>Implement EIP-7975: eth/70 partial block receipt lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33153">#33153</a>)</li> <li>Prerequisites of <code>snap/2</code> protocol (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34083">#34083</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34649">#34649</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34654">#34654</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34874">#34874</a>)</li> <li>Implement history index pruner for path-mode archive nodes (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33999">#33999</a>)</li> <li>Add Prague chain segment pruning point for Hoodi (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34714">#34714</a>)</li> <li>Allow reorging head to parent within 32 blocks under ePBS (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34767">#34767</a>)</li> <li>Stop serving chain segment requests when data is unavailable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34787">#34787</a>)</li> <li>Drop peers sending invalid bodies or receipts (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34745">#34745</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34870">#34870</a>)</li> <li>Add kzg4844 cell-related functions (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34766">#34766</a>)</li> <li>State database refactoring (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33102">#33102</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34700">#34700</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34763">#34763</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34724">#34724</a>)</li> <li>Binary trie improvements (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34055">#34055</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34110">#34110</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34670">#34670</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34676">#34676</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34680">#34680</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34690">#34690</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34754">#34754</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34758">#34758</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34777">#34777</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34794">#34794</a>)</li> <li>Merge EIP-4762 access events for all system calls (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34637">#34637</a>)</li> <li>Reject duplicate layers in the path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34642">#34642</a>)</li> <li>Omit empty <code>slotNumber</code> and fix block value collection in pre-Amsterdam engine API payloads (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34704">#34704</a>)</li> <li>Include the operand in EIP-8024 error messages (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34635">#34635</a>)</li> <li>Fix vmodule downgrades and propagate verbosity changes to derived loggers (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33111">#33111</a>)</li> <li>Fix incorrect fsync ordering for index file truncation (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34728">#34728</a>)</li> <li>Fix file descriptor leak in freezer error paths (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34735">#34735</a>)</li> <li>Fix size calculation in path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34828">#34828</a>)</li> <li>Fix gapped queue size cap in blobpool (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34831">#34831</a>)</li> <li>Improve txpool pending concurrency by using read-only locking (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32924">#32924</a>)</li> <li>Replace deprecated TypeMux with Feed (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32585">#32585</a>)</li> <li>Continue blob retrieval when individual cell proof extraction fails (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34891">#34891</a>)</li> <li>Use uint256 in core Message for faster gas calculations (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereum/go-ethereum/commit/117e067f0f0bae1a17082321f224dedb6765b10f"><code>117e067</code></a> version: release go-ethereum v1.17.3 stable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34937">#34937</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/e1047b9c8489ed2e26845498b58e3e30dad66f1c"><code>e1047b9</code></a> core: use uint256 in core.Message (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2f11dccca00bc66b68f348193e98dee4b6e2206d"><code>2f11dcc</code></a> cmd/geth: respect --dev=false (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34920">#34920</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/934a0091fa66b474832b3664854e979fe8bf76b2"><code>934a009</code></a> triedb/pathdb: fix layer 5 key range in storage iterator traversal test (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34883">#34883</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/18becee8cb01f6d35224a6bac3e45d49b2074857"><code>18becee</code></a> appveyor.yml: remove appveyor configuration (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34720">#34720</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/f63c26509298ecfdf7e50d7b08f96809b2235ddd"><code>f63c265</code></a> internal/download: close dst on io.Copy error (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34910">#34910</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/7facf9c1292d3783cb079a16ba797def4738e1c8"><code>7facf9c</code></a> core/txpool: use cmp.Compare instead of subtraction (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34918">#34918</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/bcb68d23b3e78855be7d825ede37815d83b3142b"><code>bcb68d2</code></a> p2p: handle return false from TCPEndpoint (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34916">#34916</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/8581125a21ee4592631abe127749d6ca3f1020fa"><code>8581125</code></a> crypto: add hash length check in nocgo VerifySignature (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33839">#33839</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2ba9be9c0efcb640860cfedc4a43b6f6b2d68c7b"><code>2ba9be9</code></a> build: upgrade -dlgo version to Go 1.25.10 (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34911">#34911</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereum/go-ethereum/compare/v1.17.2...v1.17.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…111) This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/ethereum/go-ethereum](https://redirect.github.com/ethereum/go-ethereum) | `v1.17.2` → `v1.17.3` |  |  | --- ### Release Notes <details> <summary>ethereum/go-ethereum (github.com/ethereum/go-ethereum)</summary> ### [`v1.17.3`](https://redirect.github.com/ethereum/go-ethereum/releases/tag/v1.17.3): Enzymatic Injector (v1.17.3) [Compare Source](https://redirect.github.com/ethereum/go-ethereum/compare/v1.17.2...v1.17.3) <!-- Enzymatic Injector (v1.17.3) --> 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](https://redirect.github.com/ethereum/execution-apis/issues/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](https://redirect.github.com/ethereum/go-ethereum/issues/33966)) - Add subcommand for offline binary tree conversion ([#​33740](https://redirect.github.com/ethereum/go-ethereum/issues/33740)) - Add code exporter for db export ([#​34696](https://redirect.github.com/ethereum/go-ethereum/issues/34696)) ##### Core - Amsterdam fork updates: - Prerequisites of EIP-7928: Block-Level Access Lists ([#​34064](https://redirect.github.com/ethereum/go-ethereum/issues/34064), [#​34644](https://redirect.github.com/ethereum/go-ethereum/issues/34644), [#​34726](https://redirect.github.com/ethereum/go-ethereum/issues/34726), [#​34776](https://redirect.github.com/ethereum/go-ethereum/issues/34776), [#​34799](https://redirect.github.com/ethereum/go-ethereum/issues/34799), [#​33737](https://redirect.github.com/ethereum/go-ethereum/issues/33737)) - Prerequisites of EIP-8037: State Creation Gas Cost Increase ([#​34691](https://redirect.github.com/ethereum/go-ethereum/issues/34691), [#​34712](https://redirect.github.com/ethereum/go-ethereum/issues/34712), [#​34841](https://redirect.github.com/ethereum/go-ethereum/issues/34841)) - EIP-7976: Increase Calldata Floor Cost ([#​34748](https://redirect.github.com/ethereum/go-ethereum/issues/34748)) - EIP-7981: Increase Access List Cost ([#​34755](https://redirect.github.com/ethereum/go-ethereum/issues/34755)) - EIP-7610: Reject contract creation when storage is non-empty ([#​34718](https://redirect.github.com/ethereum/go-ethereum/issues/34718)) - Update state tests ([#​34671](https://redirect.github.com/ethereum/go-ethereum/issues/34671)) - Implement stack arena ([#​33960](https://redirect.github.com/ethereum/go-ethereum/issues/33960)) - Implement EIP-7975: eth/70 partial block receipt lists ([#​33153](https://redirect.github.com/ethereum/go-ethereum/issues/33153)) - Prerequisites of `snap/2` protocol ([#​34083](https://redirect.github.com/ethereum/go-ethereum/issues/34083), [#​34649](https://redirect.github.com/ethereum/go-ethereum/issues/34649), [#​34654](https://redirect.github.com/ethereum/go-ethereum/issues/34654), [#​34874](https://redirect.github.com/ethereum/go-ethereum/issues/34874)) - Implement history index pruner for path-mode archive nodes ([#​33999](https://redirect.github.com/ethereum/go-ethereum/issues/33999)) - Add Prague chain segment pruning point for Hoodi ([#​34714](https://redirect.github.com/ethereum/go-ethereum/issues/34714)) - Allow reorging head to parent within 32 blocks under ePBS ([#​34767](https://redirect.github.com/ethereum/go-ethereum/issues/34767)) - Stop serving chain segment requests when data is unavailable ([#​34787](https://redirect.github.com/ethereum/go-ethereum/issues/34787)) - Drop peers sending invalid bodies or receipts ([#​34745](https://redirect.github.com/ethereum/go-ethereum/issues/34745), [#​34870](https://redirect.github.com/ethereum/go-ethereum/issues/34870)) - Add kzg4844 cell-related functions ([#​34766](https://redirect.github.com/ethereum/go-ethereum/issues/34766)) - State database refactoring ([#​33102](https://redirect.github.com/ethereum/go-ethereum/issues/33102), [#​34700](https://redirect.github.com/ethereum/go-ethereum/issues/34700), [#​34763](https://redirect.github.com/ethereum/go-ethereum/issues/34763), [#​34724](https://redirect.github.com/ethereum/go-ethereum/issues/34724)) - Binary trie improvements ([#​34055](https://redirect.github.com/ethereum/go-ethereum/issues/34055), [#​34110](https://redirect.github.com/ethereum/go-ethereum/issues/34110), [#​34670](https://redirect.github.com/ethereum/go-ethereum/issues/34670), [#​34676](https://redirect.github.com/ethereum/go-ethereum/issues/34676), [#​34680](https://redirect.github.com/ethereum/go-ethereum/issues/34680), [#​34690](https://redirect.github.com/ethereum/go-ethereum/issues/34690), [#​34754](https://redirect.github.com/ethereum/go-ethereum/issues/34754), [#​34758](https://redirect.github.com/ethereum/go-ethereum/issues/34758), [#​34777](https://redirect.github.com/ethereum/go-ethereum/issues/34777), [#​34794](https://redirect.github.com/ethereum/go-ethereum/issues/34794)) - Merge EIP-4762 access events for all system calls ([#​34637](https://redirect.github.com/ethereum/go-ethereum/issues/34637)) - Reject duplicate layers in the path database ([#​34642](https://redirect.github.com/ethereum/go-ethereum/issues/34642)) - Omit empty `slotNumber` and fix block value collection in pre-Amsterdam engine API payloads ([#​34704](https://redirect.github.com/ethereum/go-ethereum/issues/34704)) - Include the operand in EIP-8024 error messages ([#​34635](https://redirect.github.com/ethereum/go-ethereum/issues/34635)) - Fix vmodule downgrades and propagate verbosity changes to derived loggers ([#​33111](https://redirect.github.com/ethereum/go-ethereum/issues/33111)) - Fix incorrect fsync ordering for index file truncation ([#​34728](https://redirect.github.com/ethereum/go-ethereum/issues/34728)) - Fix file descriptor leak in freezer error paths ([#​34735](https://redirect.github.com/ethereum/go-ethereum/issues/34735)) - Fix size calculation in path database ([#​34828](https://redirect.github.com/ethereum/go-ethereum/issues/34828)) - Fix gapped queue size cap in blobpool ([#​34831](https://redirect.github.com/ethereum/go-ethereum/issues/34831)) - Improve txpool pending concurrency by using read-only locking ([#​32924](https://redirect.github.com/ethereum/go-ethereum/issues/32924)) - Replace deprecated TypeMux with Feed ([#​32585](https://redirect.github.com/ethereum/go-ethereum/issues/32585)) - Continue blob retrieval when individual cell proof extraction fails ([#​34891](https://redirect.github.com/ethereum/go-ethereum/issues/34891)) - Use uint256 in core Message for faster gas calculations ([#​34934](https://redirect.github.com/ethereum/go-ethereum/issues/34934)) ##### Networking - Fix early exit of timeout loop when removing expired matchers ([#​34743](https://redirect.github.com/ethereum/go-ethereum/issues/34743), [#​34878](https://redirect.github.com/ethereum/go-ethereum/issues/34878)) - Prevent data races by copying discover buffers before unhandled read errors ([#​34888](https://redirect.github.com/ethereum/go-ethereum/issues/34888)) - Fix discover waitForNodes deadlock by decoupling nodeFeed from table mutex ([#​34898](https://redirect.github.com/ethereum/go-ethereum/issues/34898)) ##### Cryptography - Validate hash length in nocgo signature verification ([#​33839](https://redirect.github.com/ethereum/go-ethereum/issues/33839)) ##### RPC - Fix structLog JSON output format and drop `reexec` from tracing config ([#​34093](https://redirect.github.com/ethereum/go-ethereum/issues/34093)) - Apply block overrides (gasLimit, blobBaseFee) in `eth_estimateGas` ([#​34081](https://redirect.github.com/ethereum/go-ethereum/issues/34081)) - Apply block overrides to header in `eth_call` ([#​34842](https://redirect.github.com/ethereum/go-ethereum/issues/34842)) - Add `MaxUsedGas` to `eth_simulate` call results ([#​34820](https://redirect.github.com/ethereum/go-ethereum/issues/34820)) - Integrate trienode history indexing progress into `eth_syncing` ([#​34633](https://redirect.github.com/ethereum/go-ethereum/issues/34633)) - Return -32602 from log RPCs (`eth_getLogs`, `eth_getFilterLogs`, …) when the block range limit is exceeded ([#​34647](https://redirect.github.com/ethereum/go-ethereum/issues/34647)) ##### Others - Fix prestate tracer to distinguish cleared code from unchanged in EIP-7702 ([#​34675](https://redirect.github.com/ethereum/go-ethereum/issues/34675)) - Emit logs for EIP-7708 ETH burns in tracer ([#​34623](https://redirect.github.com/ethereum/go-ethereum/issues/34623)) - Forward V2 state hooks through mux tracer ([#​34869](https://redirect.github.com/ethereum/go-ethereum/issues/34869)) - Send WebSocket close frame on client disconnect ([#​33909](https://redirect.github.com/ethereum/go-ethereum/issues/33909)) - Omit empty address/topics fields in RPC filter requests ([#​33884](https://redirect.github.com/ethereum/go-ethereum/issues/33884)) - Add package-level error for event signature mismatch ([#​34076](https://redirect.github.com/ethereum/go-ethereum/issues/34076), [#​34868](https://redirect.github.com/ethereum/go-ethereum/issues/34868)) - Add gRPC transport for OTLP trace export ([#​33941](https://redirect.github.com/ethereum/go-ethereum/issues/33941)) - Add system call tracing in t8n command ([#​34862](https://redirect.github.com/ethereum/go-ethereum/issues/34862)) - Stream t8n alloc output to reduce memory use ([#​34785](https://redirect.github.com/ethereum/go-ethereum/issues/34785)) - Enable fsnotify watcher on linux/arm64 ([#​34834](https://redirect.github.com/ethereum/go-ethereum/issues/34834)) - Fix FreeBSD build ([#​34784](https://redirect.github.com/ethereum/go-ethereum/issues/34784)) - Fix disconnect decoding in RLPx ping ([#​34781](https://redirect.github.com/ethereum/go-ethereum/issues/34781)) - Fix hive test for discv5 findnode results ([#​34043](https://redirect.github.com/ethereum/go-ethereum/issues/34043)) - Fix truncation of opening parenthesis in clef ([#​33702](https://redirect.github.com/ethereum/go-ethereum/issues/33702)) For a full rundown of the changes please consult the Geth [1.17.3](https://redirect.github.com/ethereum/go-ethereum/milestone/200?closed=1) release milestone. *** As with all our previous releases, you can find the: - Pre-built binaries for all platforms on our [downloads page](https://geth.ethereum.org/downloads/). - Docker images published under [`ethereum/client-go`](https://hub.docker.com/r/ethereum/client-go) (use "stable" tag). - Ubuntu packages in our [Launchpad PPA repository](https://launchpad.net/~ethereum/+archive/ubuntu/ethereum). - macOS packages in our [Homebrew Tap repository](https://redirect.github.com/ethereum/homebrew-ethereum). </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/amiwrpremium/go-derive). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzMuNiIsInVwZGF0ZWRJblZlciI6IjQzLjE3My42IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJldmlldy1yZXF1aXJlZCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: AMiWR <83715695+amiwrpremium@users.noreply.github.com>
Bumps the go-all group with 3 updates: [github.com/btcsuite/btcd/btcec/v2](https://github.com/btcsuite/btcd), [github.com/btcsuite/btcd/btcutil](https://github.com/btcsuite/btcd) and [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum). Updates `github.com/btcsuite/btcd/btcec/v2` from 2.3.6 to 2.5.0 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/btcsuite/btcd/commit/258049c9eb58bc993fe0ce98c8680958bb757ca0"><code>258049c</code></a> Merge pull request <a href="https://redirect.github.com/btcsuite/btcd/issues/1825">#1825</a> from guggero/btcec-v2-no-circular-dep</li> <li><a href="https://github.com/btcsuite/btcd/commit/b29ce9735062979a592957a5d8b442f3e8cb1ea9"><code>b29ce97</code></a> rpcwebsocket: fi linter complaint about unused functions</li> <li><a href="https://github.com/btcsuite/btcd/commit/9dfa926fff501850673dc12d14be1aa1e60cd792"><code>9dfa926</code></a> server: fix linter issue</li> <li><a href="https://github.com/btcsuite/btcd/commit/c0cfa06111fc29d0b08c0dcd1c478bc8e4e7db59"><code>c0cfa06</code></a> multi: update make and CI goals with new packages</li> <li><a href="https://github.com/btcsuite/btcd/commit/dccea8febadcc50c2a96a3d6f2a386aa0392fe73"><code>dccea8f</code></a> multi: use new v2 modules everywhere</li> <li><a href="https://github.com/btcsuite/btcd/commit/c0db6dfa115957cfeb6989547bad3df1ee400560"><code>c0db6df</code></a> psbt: move to top-level module, use v2, remove btcutil dep</li> <li><a href="https://github.com/btcsuite/btcd/commit/e9ec6ec506f7336954b2c3c3612dd72f4af69a46"><code>e9ec6ec</code></a> btcutil: remove circular dependency, use v2</li> <li><a href="https://github.com/btcsuite/btcd/commit/55a463a35f51d67af42c730efaf46563cf4465c4"><code>55a463a</code></a> txscript: turn into own module, use v2</li> <li><a href="https://github.com/btcsuite/btcd/commit/3000c455f8a7a7717bb1588d113ceb7099a2e695"><code>3000c45</code></a> address: move to top-level module, use v2</li> <li><a href="https://github.com/btcsuite/btcd/commit/bd65d6d6bb378cf021a1f8bfbfcffd8c4b0e38ca"><code>bd65d6d</code></a> chaincfg: add own module, use v2</li> <li>Additional commits viewable in <a href="https://github.com/btcsuite/btcd/compare/btcec/v2.3.6...btcec/v2.5.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/btcsuite/btcd/btcutil` from 1.1.6 to 1.2.0 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/btcsuite/btcd/commit/90540b821ed87fdea20576bccf97b2b06bca9f6e"><code>90540b8</code></a> Merge pull request <a href="https://redirect.github.com/btcsuite/btcd/issues/2524">#2524</a> from MPins/verifylows</li> <li><a href="https://github.com/btcsuite/btcd/commit/c728090e63ae5f3d763675264a68af129f50fa03"><code>c728090</code></a> Merge pull request <a href="https://redirect.github.com/btcsuite/btcd/issues/2461">#2461</a> from kcalvinalvin/2025-11-12-fix-android-builds</li> <li><a href="https://github.com/btcsuite/btcd/commit/2c05692401e15b91defb1318c6a72fd83e1cb60d"><code>2c05692</code></a> github: cross-compile android/arm64 in CI</li> <li><a href="https://github.com/btcsuite/btcd/commit/73af4d6f8871d46aa089d8d64feaa45276e01f3d"><code>73af4d6</code></a> btcutil: rename interfaceAddrs to InterfaceAddrs in appengine variant</li> <li><a href="https://github.com/btcsuite/btcd/commit/8bffc8ada81ded0176f4f850a4f33d0bca58bdcd"><code>8bffc8a</code></a> Merge pull request <a href="https://redirect.github.com/btcsuite/btcd/issues/2526">#2526</a> from JLSchuler99/rpcclient-httpurl-no-resolve</li> <li><a href="https://github.com/btcsuite/btcd/commit/589d7c0ae083d3e615628b4838f3abe4506ef949"><code>589d7c0</code></a> main: use btcutil.InterfaceAddr</li> <li><a href="https://github.com/btcsuite/btcd/commit/0f603feffabe71d60f0830aca4dc4e6df6fea0d1"><code>0f603fe</code></a> main: update go.mod and go.sum</li> <li><a href="https://github.com/btcsuite/btcd/commit/c90e88ee234fbdf7224169776cf8269047671aab"><code>c90e88e</code></a> btcutil: export interfaceAddr</li> <li><a href="https://github.com/btcsuite/btcd/commit/153bf6d828b7477f2b4992292feeefc995d42020"><code>153bf6d</code></a> btcutil: use anet instead of net for android builds</li> <li><a href="https://github.com/btcsuite/btcd/commit/807cbce3bf3b3940627bbae83d9fac5a7cebb357"><code>807cbce</code></a> rpcclient: compute httpURL once at construction time</li> <li>Additional commits viewable in <a href="https://github.com/btcsuite/btcd/compare/btcutil/v1.1.6...btcutil/v1.2.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/ethereum/go-ethereum` from 1.17.2 to 1.17.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereum/go-ethereum/releases">github.com/ethereum/go-ethereum's releases</a>.</em></p> <blockquote> <h2>Enzymatic Injector (v1.17.3)</h2> <!-- raw HTML omitted --> <p>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.</p> <p><code>ethereum/execution-apis#762</code><code>reexec</code> has been removed from the tracing config:</p> <ul> <li><code>memory</code>: words are 0x-prefixed and padded to 32 bytes</li> <li><code>storage</code>: keys and values are 0x-prefixed</li> <li><code>error</code>: omitted when empty (previously serialized as "")</li> </ul> <h3>Geth</h3> <ul> <li>Add retry mechanism for checkpoint init in blsync (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33966">#33966</a>)</li> <li>Add subcommand for offline binary tree conversion (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33740">#33740</a>)</li> <li>Add code exporter for db export (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34696">#34696</a>)</li> </ul> <h3>Core</h3> <ul> <li>Amsterdam fork updates: <ul> <li>Prerequisites of EIP-7928: Block-Level Access Lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34064">#34064</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34644">#34644</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34726">#34726</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34776">#34776</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34799">#34799</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/33737">#33737</a>)</li> <li>Prerequisites of EIP-8037: State Creation Gas Cost Increase (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34691">#34691</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34712">#34712</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34841">#34841</a>)</li> <li>EIP-7976: Increase Calldata Floor Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34748">#34748</a>)</li> <li>EIP-7981: Increase Access List Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34755">#34755</a>)</li> <li>EIP-7610: Reject contract creation when storage is non-empty (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34718">#34718</a>)</li> <li>Update state tests (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34671">#34671</a>)</li> </ul> </li> <li>Implement stack arena (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33960">#33960</a>)</li> <li>Implement EIP-7975: eth/70 partial block receipt lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33153">#33153</a>)</li> <li>Prerequisites of <code>snap/2</code> protocol (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34083">#34083</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34649">#34649</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34654">#34654</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34874">#34874</a>)</li> <li>Implement history index pruner for path-mode archive nodes (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33999">#33999</a>)</li> <li>Add Prague chain segment pruning point for Hoodi (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34714">#34714</a>)</li> <li>Allow reorging head to parent within 32 blocks under ePBS (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34767">#34767</a>)</li> <li>Stop serving chain segment requests when data is unavailable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34787">#34787</a>)</li> <li>Drop peers sending invalid bodies or receipts (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34745">#34745</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34870">#34870</a>)</li> <li>Add kzg4844 cell-related functions (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34766">#34766</a>)</li> <li>State database refactoring (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33102">#33102</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34700">#34700</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34763">#34763</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34724">#34724</a>)</li> <li>Binary trie improvements (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34055">#34055</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34110">#34110</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34670">#34670</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34676">#34676</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34680">#34680</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34690">#34690</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34754">#34754</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34758">#34758</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34777">#34777</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34794">#34794</a>)</li> <li>Merge EIP-4762 access events for all system calls (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34637">#34637</a>)</li> <li>Reject duplicate layers in the path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34642">#34642</a>)</li> <li>Omit empty <code>slotNumber</code> and fix block value collection in pre-Amsterdam engine API payloads (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34704">#34704</a>)</li> <li>Include the operand in EIP-8024 error messages (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34635">#34635</a>)</li> <li>Fix vmodule downgrades and propagate verbosity changes to derived loggers (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33111">#33111</a>)</li> <li>Fix incorrect fsync ordering for index file truncation (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34728">#34728</a>)</li> <li>Fix file descriptor leak in freezer error paths (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34735">#34735</a>)</li> <li>Fix size calculation in path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34828">#34828</a>)</li> <li>Fix gapped queue size cap in blobpool (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34831">#34831</a>)</li> <li>Improve txpool pending concurrency by using read-only locking (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32924">#32924</a>)</li> <li>Replace deprecated TypeMux with Feed (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32585">#32585</a>)</li> <li>Continue blob retrieval when individual cell proof extraction fails (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34891">#34891</a>)</li> <li>Use uint256 in core Message for faster gas calculations (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereum/go-ethereum/commit/117e067f0f0bae1a17082321f224dedb6765b10f"><code>117e067</code></a> version: release go-ethereum v1.17.3 stable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34937">#34937</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/e1047b9c8489ed2e26845498b58e3e30dad66f1c"><code>e1047b9</code></a> core: use uint256 in core.Message (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2f11dccca00bc66b68f348193e98dee4b6e2206d"><code>2f11dcc</code></a> cmd/geth: respect --dev=false (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34920">#34920</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/934a0091fa66b474832b3664854e979fe8bf76b2"><code>934a009</code></a> triedb/pathdb: fix layer 5 key range in storage iterator traversal test (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34883">#34883</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/18becee8cb01f6d35224a6bac3e45d49b2074857"><code>18becee</code></a> appveyor.yml: remove appveyor configuration (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34720">#34720</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/f63c26509298ecfdf7e50d7b08f96809b2235ddd"><code>f63c265</code></a> internal/download: close dst on io.Copy error (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34910">#34910</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/7facf9c1292d3783cb079a16ba797def4738e1c8"><code>7facf9c</code></a> core/txpool: use cmp.Compare instead of subtraction (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34918">#34918</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/bcb68d23b3e78855be7d825ede37815d83b3142b"><code>bcb68d2</code></a> p2p: handle return false from TCPEndpoint (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34916">#34916</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/8581125a21ee4592631abe127749d6ca3f1020fa"><code>8581125</code></a> crypto: add hash length check in nocgo VerifySignature (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33839">#33839</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2ba9be9c0efcb640860cfedc4a43b6f6b2d68c7b"><code>2ba9be9</code></a> build: upgrade -dlgo version to Go 1.25.10 (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34911">#34911</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereum/go-ethereum/compare/v1.17.2...v1.17.3">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.17.2 to 1.17.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereum/go-ethereum/releases">github.com/ethereum/go-ethereum's releases</a>.</em></p> <blockquote> <h2>Enzymatic Injector (v1.17.3)</h2> <!-- raw HTML omitted --> <p>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.</p> <p><code>ethereum/execution-apis#762</code><code>reexec</code> has been removed from the tracing config:</p> <ul> <li><code>memory</code>: words are 0x-prefixed and padded to 32 bytes</li> <li><code>storage</code>: keys and values are 0x-prefixed</li> <li><code>error</code>: omitted when empty (previously serialized as "")</li> </ul> <h3>Geth</h3> <ul> <li>Add retry mechanism for checkpoint init in blsync (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33966">#33966</a>)</li> <li>Add subcommand for offline binary tree conversion (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33740">#33740</a>)</li> <li>Add code exporter for db export (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34696">#34696</a>)</li> </ul> <h3>Core</h3> <ul> <li>Amsterdam fork updates: <ul> <li>Prerequisites of EIP-7928: Block-Level Access Lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34064">#34064</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34644">#34644</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34726">#34726</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34776">#34776</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34799">#34799</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/33737">#33737</a>)</li> <li>Prerequisites of EIP-8037: State Creation Gas Cost Increase (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34691">#34691</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34712">#34712</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34841">#34841</a>)</li> <li>EIP-7976: Increase Calldata Floor Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34748">#34748</a>)</li> <li>EIP-7981: Increase Access List Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34755">#34755</a>)</li> <li>EIP-7610: Reject contract creation when storage is non-empty (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34718">#34718</a>)</li> <li>Update state tests (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34671">#34671</a>)</li> </ul> </li> <li>Implement stack arena (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33960">#33960</a>)</li> <li>Implement EIP-7975: eth/70 partial block receipt lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33153">#33153</a>)</li> <li>Prerequisites of <code>snap/2</code> protocol (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34083">#34083</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34649">#34649</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34654">#34654</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34874">#34874</a>)</li> <li>Implement history index pruner for path-mode archive nodes (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33999">#33999</a>)</li> <li>Add Prague chain segment pruning point for Hoodi (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34714">#34714</a>)</li> <li>Allow reorging head to parent within 32 blocks under ePBS (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34767">#34767</a>)</li> <li>Stop serving chain segment requests when data is unavailable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34787">#34787</a>)</li> <li>Drop peers sending invalid bodies or receipts (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34745">#34745</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34870">#34870</a>)</li> <li>Add kzg4844 cell-related functions (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34766">#34766</a>)</li> <li>State database refactoring (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33102">#33102</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34700">#34700</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34763">#34763</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34724">#34724</a>)</li> <li>Binary trie improvements (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34055">#34055</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34110">#34110</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34670">#34670</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34676">#34676</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34680">#34680</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34690">#34690</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34754">#34754</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34758">#34758</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34777">#34777</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34794">#34794</a>)</li> <li>Merge EIP-4762 access events for all system calls (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34637">#34637</a>)</li> <li>Reject duplicate layers in the path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34642">#34642</a>)</li> <li>Omit empty <code>slotNumber</code> and fix block value collection in pre-Amsterdam engine API payloads (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34704">#34704</a>)</li> <li>Include the operand in EIP-8024 error messages (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34635">#34635</a>)</li> <li>Fix vmodule downgrades and propagate verbosity changes to derived loggers (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33111">#33111</a>)</li> <li>Fix incorrect fsync ordering for index file truncation (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34728">#34728</a>)</li> <li>Fix file descriptor leak in freezer error paths (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34735">#34735</a>)</li> <li>Fix size calculation in path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34828">#34828</a>)</li> <li>Fix gapped queue size cap in blobpool (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34831">#34831</a>)</li> <li>Improve txpool pending concurrency by using read-only locking (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32924">#32924</a>)</li> <li>Replace deprecated TypeMux with Feed (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32585">#32585</a>)</li> <li>Continue blob retrieval when individual cell proof extraction fails (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34891">#34891</a>)</li> <li>Use uint256 in core Message for faster gas calculations (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereum/go-ethereum/commit/117e067f0f0bae1a17082321f224dedb6765b10f"><code>117e067</code></a> version: release go-ethereum v1.17.3 stable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34937">#34937</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/e1047b9c8489ed2e26845498b58e3e30dad66f1c"><code>e1047b9</code></a> core: use uint256 in core.Message (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2f11dccca00bc66b68f348193e98dee4b6e2206d"><code>2f11dcc</code></a> cmd/geth: respect --dev=false (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34920">#34920</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/934a0091fa66b474832b3664854e979fe8bf76b2"><code>934a009</code></a> triedb/pathdb: fix layer 5 key range in storage iterator traversal test (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34883">#34883</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/18becee8cb01f6d35224a6bac3e45d49b2074857"><code>18becee</code></a> appveyor.yml: remove appveyor configuration (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34720">#34720</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/f63c26509298ecfdf7e50d7b08f96809b2235ddd"><code>f63c265</code></a> internal/download: close dst on io.Copy error (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34910">#34910</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/7facf9c1292d3783cb079a16ba797def4738e1c8"><code>7facf9c</code></a> core/txpool: use cmp.Compare instead of subtraction (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34918">#34918</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/bcb68d23b3e78855be7d825ede37815d83b3142b"><code>bcb68d2</code></a> p2p: handle return false from TCPEndpoint (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34916">#34916</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/8581125a21ee4592631abe127749d6ca3f1020fa"><code>8581125</code></a> crypto: add hash length check in nocgo VerifySignature (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33839">#33839</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2ba9be9c0efcb640860cfedc4a43b6f6b2d68c7b"><code>2ba9be9</code></a> build: upgrade -dlgo version to Go 1.25.10 (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34911">#34911</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereum/go-ethereum/compare/v1.17.2...v1.17.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…th 5 updates (#793) Bumps the gomod-dependencies group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [cloud.google.com/go/kms](https://github.com/googleapis/google-cloud-go) | `1.30.0` | `1.31.0` | | [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) | `1.17.2` | `1.17.3` | | [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.11.0` | `1.12.0` | | [golang.org/x/term](https://github.com/golang/term) | `0.42.0` | `0.43.0` | | [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.277.0` | `0.281.0` | Updates `cloud.google.com/go/kms` from 1.30.0 to 1.31.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/googleapis/google-cloud-go/releases">cloud.google.com/go/kms's releases</a>.</em></p> <blockquote> <h2>retail: v1.31.0</h2> <h2><a href="https://github.com/googleapis/google-cloud-go/compare/retail/v1.30.0...retail/v1.31.0">v1.31.0</a> (2026-05-07)</h2> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md">cloud.google.com/go/kms's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.5...documentai/v1.31.0">1.31.0</a> (2024-08-01)</h2> <h3>Features</h3> <ul> <li><strong>documentai:</strong> A new field <code>imageless_mode</code> is added to message <code>.google.cloud.documentai.v1.ProcessRequest</code> (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/10615">#10615</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/97fa56008a30857fc6d835517fc2d9a2959b19a5">97fa560</a>)</li> </ul> <h3>Documentation</h3> <ul> <li><strong>documentai:</strong> Keep the API doc up-to-date with recent changes (<a href="https://github.com/googleapis/google-cloud-go/commit/97fa56008a30857fc6d835517fc2d9a2959b19a5">97fa560</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.4...documentai/v1.30.5">1.30.5</a> (2024-07-24)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>documentai:</strong> Update dependencies (<a href="https://github.com/googleapis/google-cloud-go/commit/257c40bd6d7e59730017cf32bda8823d7a232758">257c40b</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.3...documentai/v1.30.4">1.30.4</a> (2024-07-10)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>documentai:</strong> Bump google.golang.org/grpc@v1.64.1 (<a href="https://github.com/googleapis/google-cloud-go/commit/8ecc4e9622e5bbe9b90384d5848ab816027226c5">8ecc4e9</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.2...documentai/v1.30.3">1.30.3</a> (2024-07-01)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>documentai:</strong> Bump google.golang.org/api@v0.187.0 (<a href="https://github.com/googleapis/google-cloud-go/commit/8fa9e398e512fd8533fd49060371e61b5725a85b">8fa9e39</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.1...documentai/v1.30.2">1.30.2</a> (2024-06-26)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>documentai:</strong> Enable new auth lib (<a href="https://github.com/googleapis/google-cloud-go/commit/b95805f4c87d3e8d10ea23bd7a2d68d7a4157568">b95805f</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.0...documentai/v1.30.1">1.30.1</a> (2024-06-20)</h2> <h3>Documentation</h3> <ul> <li><strong>documentai:</strong> Update the comment to add a note about <code>documentai.processors.create</code> permission (<a href="https://github.com/googleapis/google-cloud-go/commit/4fa43082511e153044084c1e6736553de41a9894">4fa4308</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/googleapis/google-cloud-go/commit/9a44b31c75e76a0f6e05ebd9a68c8227f4525cb1"><code>9a44b31</code></a> chore: librarian release pull request: 20260409T070606Z (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14406">#14406</a>)</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/18a3318e010ed0dc5ee4a5c4a95b55955e64f101"><code>18a3318</code></a> feat: Make AgentEngine APIs public</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/db45f2d9b642c177938eed2ff825a4aa31ad20b3"><code>db45f2d</code></a> feat(bigtable): enable bigtable conn pool by default (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14319">#14319</a>)</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/124ffd3b68a2bcc9f3dc067a36d30fe577e7c87c"><code>124ffd3</code></a> feat(vertexai): Add AgentEngine Memories Revisions module</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/e247d48b886c686de79a9e306a6d570c4096fb91"><code>e247d48</code></a> chore: onboard new library appoptimize (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14393">#14393</a>)</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/ece84abc19fd70cdc74b2b92632aace9f7332f2c"><code>ece84ab</code></a> chore: update librarian to v0.10.1-0.20260408193841-095ea7e727aa (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14392">#14392</a>)</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/ecf9783b6e6d89043924b59f92791eb08b20512d"><code>ecf9783</code></a> chore: librarian release pull request: 20260408T191440Z (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14390">#14390</a>)</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/70b47d20b85c47df04388293999a47dff6ec0edd"><code>70b47d2</code></a> chore: librarian release pull request: 20260408T190447Z (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14389">#14389</a>)</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/95c53a6540e0a88efe0b3fb591422aa053823223"><code>95c53a6</code></a> chore(bigquery): bump <code>api</code> to v0.275.0 and unskip bq tracing tests (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14333">#14333</a>)</li> <li><a href="https://github.com/googleapis/google-cloud-go/commit/df22e9e38ea6de00d858ef00475ae286d3fc6834"><code>df22e9e</code></a> fix(storage): add retry logic for "http2: client connection lost" (<a href="https://redirect.github.com/googleapis/google-cloud-go/issues/14385">#14385</a>)</li> <li>Additional commits viewable in <a href="https://github.com/googleapis/google-cloud-go/compare/kms/v1.30.0...dlp/v1.31.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/ethereum/go-ethereum` from 1.17.2 to 1.17.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereum/go-ethereum/releases">github.com/ethereum/go-ethereum's releases</a>.</em></p> <blockquote> <h2>Enzymatic Injector (v1.17.3)</h2> <!-- raw HTML omitted --> <p>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.</p> <p><code>ethereum/execution-apis#762</code><code>reexec</code> has been removed from the tracing config:</p> <ul> <li><code>memory</code>: words are 0x-prefixed and padded to 32 bytes</li> <li><code>storage</code>: keys and values are 0x-prefixed</li> <li><code>error</code>: omitted when empty (previously serialized as "")</li> </ul> <h3>Geth</h3> <ul> <li>Add retry mechanism for checkpoint init in blsync (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33966">#33966</a>)</li> <li>Add subcommand for offline binary tree conversion (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33740">#33740</a>)</li> <li>Add code exporter for db export (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34696">#34696</a>)</li> </ul> <h3>Core</h3> <ul> <li>Amsterdam fork updates: <ul> <li>Prerequisites of EIP-7928: Block-Level Access Lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34064">#34064</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34644">#34644</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34726">#34726</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34776">#34776</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34799">#34799</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/33737">#33737</a>)</li> <li>Prerequisites of EIP-8037: State Creation Gas Cost Increase (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34691">#34691</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34712">#34712</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34841">#34841</a>)</li> <li>EIP-7976: Increase Calldata Floor Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34748">#34748</a>)</li> <li>EIP-7981: Increase Access List Cost (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34755">#34755</a>)</li> <li>EIP-7610: Reject contract creation when storage is non-empty (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34718">#34718</a>)</li> <li>Update state tests (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34671">#34671</a>)</li> </ul> </li> <li>Implement stack arena (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33960">#33960</a>)</li> <li>Implement EIP-7975: eth/70 partial block receipt lists (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33153">#33153</a>)</li> <li>Prerequisites of <code>snap/2</code> protocol (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34083">#34083</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34649">#34649</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34654">#34654</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34874">#34874</a>)</li> <li>Implement history index pruner for path-mode archive nodes (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33999">#33999</a>)</li> <li>Add Prague chain segment pruning point for Hoodi (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34714">#34714</a>)</li> <li>Allow reorging head to parent within 32 blocks under ePBS (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34767">#34767</a>)</li> <li>Stop serving chain segment requests when data is unavailable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34787">#34787</a>)</li> <li>Drop peers sending invalid bodies or receipts (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34745">#34745</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34870">#34870</a>)</li> <li>Add kzg4844 cell-related functions (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34766">#34766</a>)</li> <li>State database refactoring (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33102">#33102</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34700">#34700</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34763">#34763</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34724">#34724</a>)</li> <li>Binary trie improvements (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34055">#34055</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34110">#34110</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34670">#34670</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34676">#34676</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34680">#34680</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34690">#34690</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34754">#34754</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34758">#34758</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34777">#34777</a>, <a href="https://redirect.github.com/ethereum/go-ethereum/issues/34794">#34794</a>)</li> <li>Merge EIP-4762 access events for all system calls (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34637">#34637</a>)</li> <li>Reject duplicate layers in the path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34642">#34642</a>)</li> <li>Omit empty <code>slotNumber</code> and fix block value collection in pre-Amsterdam engine API payloads (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34704">#34704</a>)</li> <li>Include the operand in EIP-8024 error messages (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34635">#34635</a>)</li> <li>Fix vmodule downgrades and propagate verbosity changes to derived loggers (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33111">#33111</a>)</li> <li>Fix incorrect fsync ordering for index file truncation (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34728">#34728</a>)</li> <li>Fix file descriptor leak in freezer error paths (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34735">#34735</a>)</li> <li>Fix size calculation in path database (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34828">#34828</a>)</li> <li>Fix gapped queue size cap in blobpool (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34831">#34831</a>)</li> <li>Improve txpool pending concurrency by using read-only locking (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32924">#32924</a>)</li> <li>Replace deprecated TypeMux with Feed (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/32585">#32585</a>)</li> <li>Continue blob retrieval when individual cell proof extraction fails (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34891">#34891</a>)</li> <li>Use uint256 in core Message for faster gas calculations (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereum/go-ethereum/commit/117e067f0f0bae1a17082321f224dedb6765b10f"><code>117e067</code></a> version: release go-ethereum v1.17.3 stable (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34937">#34937</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/e1047b9c8489ed2e26845498b58e3e30dad66f1c"><code>e1047b9</code></a> core: use uint256 in core.Message (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2f11dccca00bc66b68f348193e98dee4b6e2206d"><code>2f11dcc</code></a> cmd/geth: respect --dev=false (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34920">#34920</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/934a0091fa66b474832b3664854e979fe8bf76b2"><code>934a009</code></a> triedb/pathdb: fix layer 5 key range in storage iterator traversal test (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34883">#34883</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/18becee8cb01f6d35224a6bac3e45d49b2074857"><code>18becee</code></a> appveyor.yml: remove appveyor configuration (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34720">#34720</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/f63c26509298ecfdf7e50d7b08f96809b2235ddd"><code>f63c265</code></a> internal/download: close dst on io.Copy error (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34910">#34910</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/7facf9c1292d3783cb079a16ba797def4738e1c8"><code>7facf9c</code></a> core/txpool: use cmp.Compare instead of subtraction (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34918">#34918</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/bcb68d23b3e78855be7d825ede37815d83b3142b"><code>bcb68d2</code></a> p2p: handle return false from TCPEndpoint (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34916">#34916</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/8581125a21ee4592631abe127749d6ca3f1020fa"><code>8581125</code></a> crypto: add hash length check in nocgo VerifySignature (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/33839">#33839</a>)</li> <li><a href="https://github.com/ethereum/go-ethereum/commit/2ba9be9c0efcb640860cfedc4a43b6f6b2d68c7b"><code>2ba9be9</code></a> build: upgrade -dlgo version to Go 1.25.10 (<a href="https://redirect.github.com/ethereum/go-ethereum/issues/34911">#34911</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereum/go-ethereum/compare/v1.17.2...v1.17.3">compare view</a></li> </ul> </details> <br /> Updates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/gin-gonic/gin/releases">github.com/gin-gonic/gin's releases</a>.</em></p> <blockquote> <h2>v1.12.0</h2> <h2>Changelog</h2> <h3>Features</h3> <ul> <li>192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support for encoding.UnmarshalText in uri/query binding (<a href="https://redirect.github.com/gin-gonic/gin/issues/4203">#4203</a>) (<a href="https://github.com/takanuva15"><code>@takanuva15</code></a>)</li> <li>53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add GetError and GetErrorSlice methods for error retrieval (<a href="https://redirect.github.com/gin-gonic/gin/issues/4502">#4502</a>) (<a href="https://github.com/raju-mechatronics"><code>@raju-mechatronics</code></a>)</li> <li>acc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add Protocol Buffers support to content negotiation (<a href="https://redirect.github.com/gin-gonic/gin/issues/4423">#4423</a>) (<a href="https://github.com/1911860538"><code>@1911860538</code></a>)</li> <li>38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented Delete method (<a href="https://github.com/Spyder01"><code>@Spyder01</code></a>)</li> <li>771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to use escaped path (<a href="https://redirect.github.com/gin-gonic/gin/issues/4420">#4420</a>) (<a href="https://github.com/ldesauw"><code>@ldesauw</code></a>)</li> <li>4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color latency (<a href="https://redirect.github.com/gin-gonic/gin/issues/4146">#4146</a>) (<a href="https://github.com/wsyqn6"><code>@wsyqn6</code></a>)</li> <li>d7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson protocol (<a href="https://redirect.github.com/gin-gonic/gin/issues/4145">#4145</a>) (<a href="https://github.com/laurentcau"><code>@laurentcau</code></a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>b917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value error (<a href="https://redirect.github.com/gin-gonic/gin/issues/2169">#2169</a>) (<a href="https://github.com/guonaihong"><code>@guonaihong</code></a>)</li> <li>c3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve empty slice/array handling in form binding (<a href="https://redirect.github.com/gin-gonic/gin/issues/4380">#4380</a>) (<a href="https://github.com/1911860538"><code>@1911860538</code></a>)</li> <li>9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP handling for multiple X-Forwarded-For header values (<a href="https://redirect.github.com/gin-gonic/gin/issues/4472">#4472</a>) (<a href="https://github.com/Nurysso"><code>@Nurysso</code></a>)</li> <li>2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version mismatch (<a href="https://redirect.github.com/gin-gonic/gin/issues/4403">#4403</a>) (<a href="https://github.com/zeek0x"><code>@zeek0x</code></a>)</li> <li>c3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in RunFd to prevent resource leak (<a href="https://redirect.github.com/gin-gonic/gin/issues/4422">#4422</a>) (<a href="https://github.com/1911860538"><code>@1911860538</code></a>)</li> <li>5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon routes not working with engine.Handler() (<a href="https://redirect.github.com/gin-gonic/gin/issues/4415">#4415</a>) (<a href="https://github.com/pawannn"><code>@pawannn</code></a>)</li> <li>63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress http.ErrAbortHandler in recover (<a href="https://redirect.github.com/gin-gonic/gin/issues/4336">#4336</a>) (<a href="https://github.com/MondayCha"><code>@MondayCha</code></a>)</li> <li>5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content length in Data.Render (<a href="https://redirect.github.com/gin-gonic/gin/issues/4206">#4206</a>) (<a href="https://github.com/dengaleev"><code>@dengaleev</code></a>)</li> <li>234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine hijack behavior for response lifecycle (<a href="https://redirect.github.com/gin-gonic/gin/issues/4373">#4373</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (<a href="https://redirect.github.com/gin-gonic/gin/issues/4535">#4535</a>) (<a href="https://github.com/veeceey"><code>@veeceey</code></a>)</li> <li>8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos, improve documentation clarity, and remove dead code (<a href="https://redirect.github.com/gin-gonic/gin/issues/4511">#4511</a>) (<a href="https://github.com/mahanadh"><code>@mahanadh</code></a>)</li> </ul> <h3>Enhancements</h3> <ul> <li>ba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade bson dependency to mongo-driver v2 (<a href="https://redirect.github.com/gin-gonic/gin/issues/4549">#4549</a>) (<a href="https://github.com/BobDu"><code>@BobDu</code></a>)</li> <li>b2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always trust xff headers from unix socket (<a href="https://redirect.github.com/gin-gonic/gin/issues/3359">#3359</a>) (<a href="https://github.com/WeidiDeng"><code>@WeidiDeng</code></a>)</li> <li>ecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade golang.org/x/crypto to v0.45.0 (<a href="https://redirect.github.com/gin-gonic/gin/issues/4449">#4449</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>af6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade quic-go to v0.57.1 (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>db309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow skipping query string output (<a href="https://redirect.github.com/gin-gonic/gin/issues/4547">#4547</a>) (<a href="https://github.com/USA-RedDragon"><code>@USA-RedDragon</code></a>)</li> <li>26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent Flush() panic when <code>http.Flusher</code> (<a href="https://redirect.github.com/gin-gonic/gin/issues/4479">#4479</a>) (<a href="https://github.com/Twacqwq"><code>@Twacqwq</code></a>)</li> <li>5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go version to 1.24 and update workflows (<a href="https://redirect.github.com/gin-gonic/gin/issues/4388">#4388</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> </ul> <h3>Refactor</h3> <ul> <li>39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use maps.Copy for cleaner map handling (<a href="https://redirect.github.com/gin-gonic/gin/issues/4352">#4352</a>) (<a href="https://github.com/russcoss"><code>@russcoss</code></a>)</li> <li>c0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit the return value names (<a href="https://redirect.github.com/gin-gonic/gin/issues/4395">#4395</a>) (<a href="https://github.com/wanghaolong613"><code>@wanghaolong613</code></a>)</li> <li>915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace hardcoded localhost IPs with constants (<a href="https://redirect.github.com/gin-gonic/gin/issues/4481">#4481</a>) (<a href="https://github.com/pauloappbr"><code>@pauloappbr</code></a>)</li> <li>414de60574449457f3192a7a1d5528940db2836d: refactor(context): using maps.Clone (<a href="https://redirect.github.com/gin-gonic/gin/issues/4333">#4333</a>) (<a href="https://github.com/cuiweixie"><code>@cuiweixie</code></a>)</li> <li>59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use sync.OnceValue to simplify engine function (<a href="https://redirect.github.com/gin-gonic/gin/issues/4314">#4314</a>) (<a href="https://github.com/1911860538"><code>@1911860538</code></a>)</li> <li>3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart error comparison (<a href="https://redirect.github.com/gin-gonic/gin/issues/4142">#4142</a>) (<a href="https://github.com/zeek0x"><code>@zeek0x</code></a>)</li> <li>d1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util functions to utils.go (<a href="https://redirect.github.com/gin-gonic/gin/issues/4467">#4467</a>) (<a href="https://github.com/zeek0x"><code>@zeek0x</code></a>)</li> <li>e3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be modernized using range over int (<a href="https://redirect.github.com/gin-gonic/gin/issues/4392">#4392</a>) (<a href="https://github.com/wanghaolong613"><code>@wanghaolong613</code></a>)</li> <li>488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic numbers with named constants in bodyAllowedForStatus (<a href="https://redirect.github.com/gin-gonic/gin/issues/4529">#4529</a>) (<a href="https://github.com/veeceey"><code>@veeceey</code></a>)</li> <li>9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to simplify the code and improve performance (<a href="https://redirect.github.com/gin-gonic/gin/issues/4389">#4389</a>) (<a href="https://github.com/reddaisyy"><code>@reddaisyy</code></a>)</li> <li>a85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to simplify the code and improve performance (<a href="https://redirect.github.com/gin-gonic/gin/issues/4432">#4432</a>) (<a href="https://github.com/efcking"><code>@efcking</code></a>)</li> </ul> <h3>Build process updates</h3> <ul> <li>61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase frequency and group updates for dependencies (<a href="https://redirect.github.com/gin-gonic/gin/issues/4367">#4367</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>fb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test assertions and linter configuration (<a href="https://redirect.github.com/gin-gonic/gin/issues/4436">#4436</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type safety and server organization in HTTP middleware (<a href="https://redirect.github.com/gin-gonic/gin/issues/4437">#4437</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>e88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy security scans to run daily at midnight UTC (<a href="https://redirect.github.com/gin-gonic/gin/issues/4439">#4439</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability scanning workflow with Trivy integration (<a href="https://redirect.github.com/gin-gonic/gin/issues/4421">#4421</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows and standardize Trivy config quotes (<a href="https://redirect.github.com/gin-gonic/gin/issues/4531">#4531</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> <li>ae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version support to 1.25+ across CI and docs (<a href="https://redirect.github.com/gin-gonic/gin/issues/4550">#4550</a>) (<a href="https://github.com/appleboy"><code>@appleboy</code></a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md">github.com/gin-gonic/gin's changelog</a>.</em></p> <blockquote> <h2>Gin v1.12.0</h2> <h3>Features</h3> <ul> <li>feat(render): add bson protocol (<a href="https://redirect.github.com/gin-gonic/gin/pull/4145">#4145</a>)</li> <li>feat(context): add GetError and GetErrorSlice methods for error retrieval (<a href="https://redirect.github.com/gin-gonic/gin/pull/4502">#4502</a>)</li> <li>feat(binding): add support for encoding.UnmarshalText in uri/query binding (<a href="https://redirect.github.com/gin-gonic/gin/pull/4203">#4203</a>)</li> <li>feat(gin): add option to use escaped path (<a href="https://redirect.github.com/gin-gonic/gin/pull/4420">#4420</a>)</li> <li>feat(context): add Protocol Buffers support to content negotiation (<a href="https://redirect.github.com/gin-gonic/gin/pull/4423">#4423</a>)</li> <li>feat(context): implemented Delete method (<a href="https://github.com/gin-gonic/gin/commit/38e7651">#38e7651</a>)</li> <li>feat(logger): color latency (<a href="https://redirect.github.com/gin-gonic/gin/pull/4146">#4146</a>)</li> </ul> <h3>Enhancements</h3> <ul> <li>perf(tree): reduce allocations in findCaseInsensitivePath (<a href="https://redirect.github.com/gin-gonic/gin/pull/4417">#4417</a>)</li> <li>perf(recovery): optimize line reading in stack function (<a href="https://redirect.github.com/gin-gonic/gin/pull/4466">#4466</a>)</li> <li>perf(path): replace regex with custom functions in redirectTrailingSlash (<a href="https://redirect.github.com/gin-gonic/gin/pull/4414">#4414</a>)</li> <li>perf(tree): optimize path parsing using strings.Count (<a href="https://redirect.github.com/gin-gonic/gin/pull/4246">#4246</a>)</li> <li>chore(logger): allow skipping query string output (<a href="https://redirect.github.com/gin-gonic/gin/pull/4547">#4547</a>)</li> <li>chore(context): always trust xff headers from unix socket (<a href="https://redirect.github.com/gin-gonic/gin/pull/3359">#3359</a>)</li> <li>chore(response): prevent Flush() panic when the underlying ResponseWriter does not implement <code>http.Flusher</code> (<a href="https://redirect.github.com/gin-gonic/gin/pull/4479">#4479</a>)</li> <li>refactor(recovery): smart error comparison (<a href="https://redirect.github.com/gin-gonic/gin/pull/4142">#4142</a>)</li> <li>refactor(context): replace hardcoded localhost IPs with constants (<a href="https://redirect.github.com/gin-gonic/gin/pull/4481">#4481</a>)</li> <li>refactor(utils): move util functions to utils.go (<a href="https://redirect.github.com/gin-gonic/gin/pull/4467">#4467</a>)</li> <li>refactor(binding): use maps.Copy for cleaner map handling (<a href="https://redirect.github.com/gin-gonic/gin/pull/4352">#4352</a>)</li> <li>refactor(context): using maps.Clone (<a href="https://redirect.github.com/gin-gonic/gin/pull/4333">#4333</a>)</li> <li>refactor(ginS): use sync.OnceValue to simplify engine function (<a href="https://redirect.github.com/gin-gonic/gin/pull/4314">#4314</a>)</li> <li>refactor: replace magic numbers with named constants in bodyAllowedForStatus (<a href="https://redirect.github.com/gin-gonic/gin/pull/4529">#4529</a>)</li> <li>refactor: for loop can be modernized using range over int (<a href="https://redirect.github.com/gin-gonic/gin/pull/4392">#4392</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (<a href="https://redirect.github.com/gin-gonic/gin/pull/4535">#4535</a>)</li> <li>fix(render): write content length in Data.Render (<a href="https://redirect.github.com/gin-gonic/gin/pull/4206">#4206</a>)</li> <li>fix(context): ClientIP handling for multiple X-Forwarded-For header values (<a href="https://redirect.github.com/gin-gonic/gin/pull/4472">#4472</a>)</li> <li>fix(binding): empty value error (<a href="https://redirect.github.com/gin-gonic/gin/pull/2169">#2169</a>)</li> <li>fix(recover): suppress http.ErrAbortHandler in recover (<a href="https://redirect.github.com/gin-gonic/gin/pull/4336">#4336</a>)</li> <li>fix(gin): literal colon routes not working with engine.Handler() (<a href="https://redirect.github.com/gin-gonic/gin/pull/4415">#4415</a>)</li> <li>fix(gin): close os.File in RunFd to prevent resource leak (<a href="https://redirect.github.com/gin-gonic/gin/pull/4422">#4422</a>)</li> <li>fix(response): refine hijack behavior for response lifecycle (<a href="https://redirect.github.com/gin-gonic/gin/pull/4373">#4373</a>)</li> <li>fix(binding): improve empty slice/array handling in form binding (<a href="https://redirect.github.com/gin-gonic/gin/pull/4380">#4380</a>)</li> <li>fix(debug): version mismatch (<a href="https://redirect.github.com/gin-gonic/gin/pull/4403">#4403</a>)</li> <li>fix: correct typos, improve documentation clarity, and remove dead code (<a href="https://redirect.github.com/gin-gonic/gin/pull/4511">#4511</a>)</li> </ul> <h3>Build process updates / CI</h3> <ul> <li>ci: update Go version support to 1.25+ across CI and docs (<a href="https://redirect.github.com/gin-gonic/gin/pull/4550">#4550</a>)</li> <li>chore(binding): upgrade bson dependency to mongo-driver v2 (<a href="https://redirect.github.com/gin-gonic/gin/pull/4549">#4549</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6"><code>73726dc</code></a> docs: update documentation to reflect Go version changes (<a href="https://redirect.github.com/gin-gonic/gin/issues/4552">#4552</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9"><code>e292e5c</code></a> docs: document and finalize Gin v1.12.0 release (<a href="https://redirect.github.com/gin-gonic/gin/issues/4551">#4551</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226"><code>ae3f524</code></a> ci: update Go version support to 1.25+ across CI and docs (<a href="https://redirect.github.com/gin-gonic/gin/issues/4550">#4550</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf"><code>38534e2</code></a> chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (<a href="https://redirect.github.com/gin-gonic/gin/issues/4548">#4548</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc"><code>472d086</code></a> fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath (<a href="https://redirect.github.com/gin-gonic/gin/issues/4535">#4535</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6"><code>fb25834</code></a> test(context): use http.StatusContinue constant instead of magic number 100 (...</li> <li><a href="https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521"><code>6f1d5fe</code></a> test(render): add comprehensive error handling tests (<a href="https://redirect.github.com/gin-gonic/gin/issues/4541">#4541</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a"><code>5c00df8</code></a> fix(render): write content length in Data.Render (<a href="https://redirect.github.com/gin-gonic/gin/issues/4206">#4206</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25"><code>db30908</code></a> chore(logger): allow skipping query string output (<a href="https://redirect.github.com/gin-gonic/gin/issues/4547">#4547</a>)</li> <li><a href="https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26"><code>ba093d1</code></a> chore(binding): upgrade bson dependency to mongo-driver v2 (<a href="https://redirect.github.com/gin-gonic/gin/issues/4549">#4549</a>)</li> <li>Additional commits viewable in <a href="https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0">compare view</a></li> </ul> </details> <br /> Updates `golang.org/x/term` from 0.42.0 to 0.43.0 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/term/commit/3c3e4855f7d2eb06c3e48933554add9ec6b599b5"><code>3c3e485</code></a> go.mod: update golang.org/x dependencies</li> <li>See full diff in <a href="https://github.com/golang/term/compare/v0.42.0...v0.43.0">compare view</a></li> </ul> </details> <br /> Updates `google.golang.org/api` from 0.277.0 to 0.281.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/googleapis/google-api-go-client/releases">google.golang.org/api's releases</a>.</em></p> <blockquote> <h2>v0.281.0</h2> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.280.0...v0.281.0">0.281.0</a> (2026-05-26)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3600">#3600</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/bcaee85f93824a21f5441c2ccd3b4d4811d97de7">bcaee85</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3602">#3602</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/f0071d379f4443ffdae9994fe141b1b5e0c18a62">f0071d3</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3603">#3603</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/b1aa9dea8c3c0e539c8d9687c99c55ec3679c996">b1aa9de</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3604">#3604</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/711e008d9caf16e6fb68c860f83a28fd0a8c0f98">711e008</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3606">#3606</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/3ad8e8e2ab4ae50862c0fc5b17efa2d3cda33d9a">3ad8e8e</a>)</li> </ul> <h2>v0.280.0</h2> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.279.0...v0.280.0">0.280.0</a> (2026-05-19)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3591">#3591</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/55ba2fab69ee14286ad052f57ed90a726b071e86">55ba2fa</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3593">#3593</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/054d4b6054450d2be21f50fad64145a4e0125424">054d4b6</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3594">#3594</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/03829161b8cd77bf11f4a3a5d07a43f6b1904fbe">0382916</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3595">#3595</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/13e1ad2eeb540d19709df87ce9a0cfdb632f1bf3">13e1ad2</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3596">#3596</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/4c77865748dda2086de226e9401531c934cd909f">4c77865</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3598">#3598</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/ae2f33001826f523ecc6d2f141244e55fbac45c0">ae2f330</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3599">#3599</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/f82d2049187ed2ab7ee27831a1a78887c5969ca4">f82d204</a>)</li> </ul> <h2>v0.279.0</h2> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.278.0...v0.279.0">0.279.0</a> (2026-05-12)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3585">#3585</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/09db0e346a6b567747dceee3872229a62c95124c">09db0e3</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3587">#3587</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/e87e376dbd590cffb3632c378e1ade4a9dacf3ce">e87e376</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3590">#3590</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/d4241eaef9ab3daad4fd4aaeccc118795cfc58a7">d4241ea</a>)</li> </ul> <h2>v0.278.0</h2> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.277.0...v0.278.0">0.278.0</a> (2026-05-05)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3582">#3582</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/76b1187e506ac0f48caac67907dd0805b253f74c">76b1187</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3584">#3584</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/e36c88361d11545583325c3ac6bdbd9cf1f1a7d0">e36c883</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md">google.golang.org/api's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.280.0...v0.281.0">0.281.0</a> (2026-05-26)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3600">#3600</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/bcaee85f93824a21f5441c2ccd3b4d4811d97de7">bcaee85</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3602">#3602</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/f0071d379f4443ffdae9994fe141b1b5e0c18a62">f0071d3</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3603">#3603</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/b1aa9dea8c3c0e539c8d9687c99c55ec3679c996">b1aa9de</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3604">#3604</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/711e008d9caf16e6fb68c860f83a28fd0a8c0f98">711e008</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3606">#3606</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/3ad8e8e2ab4ae50862c0fc5b17efa2d3cda33d9a">3ad8e8e</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.279.0...v0.280.0">0.280.0</a> (2026-05-19)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3591">#3591</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/55ba2fab69ee14286ad052f57ed90a726b071e86">55ba2fa</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3593">#3593</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/054d4b6054450d2be21f50fad64145a4e0125424">054d4b6</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3594">#3594</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/03829161b8cd77bf11f4a3a5d07a43f6b1904fbe">0382916</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3595">#3595</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/13e1ad2eeb540d19709df87ce9a0cfdb632f1bf3">13e1ad2</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3596">#3596</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/4c77865748dda2086de226e9401531c934cd909f">4c77865</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3598">#3598</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/ae2f33001826f523ecc6d2f141244e55fbac45c0">ae2f330</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3599">#3599</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/f82d2049187ed2ab7ee27831a1a78887c5969ca4">f82d204</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.278.0...v0.279.0">0.279.0</a> (2026-05-12)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3585">#3585</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/09db0e346a6b567747dceee3872229a62c95124c">09db0e3</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3587">#3587</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/e87e376dbd590cffb3632c378e1ade4a9dacf3ce">e87e376</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3590">#3590</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/d4241eaef9ab3daad4fd4aaeccc118795cfc58a7">d4241ea</a>)</li> </ul> <h2><a href="https://github.com/googleapis/google-api-go-client/compare/v0.277.0...v0.278.0">0.278.0</a> (2026-05-05)</h2> <h3>Features</h3> <ul> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3582">#3582</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/76b1187e506ac0f48caac67907dd0805b253f74c">76b1187</a>)</li> <li><strong>all:</strong> Auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3584">#3584</a>) (<a href="https://github.com/googleapis/google-api-go-client/commit/e36c88361d11545583325c3ac6bdbd9cf1f1a7d0">e36c883</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/googleapis/google-api-go-client/commit/8f434ff91fe8dc299942ecd7c87ebab151ff38e5"><code>8f434ff</code></a> chore(main): release 0.281.0 (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3601">#3601</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/57f4b28d8c80b464f7f0b486a555de528fb89c4e"><code>57f4b28</code></a> chore(all): update all (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3605">#3605</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/3ad8e8e2ab4ae50862c0fc5b17efa2d3cda33d9a"><code>3ad8e8e</code></a> feat(all): auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3606">#3606</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/711e008d9caf16e6fb68c860f83a28fd0a8c0f98"><code>711e008</code></a> feat(all): auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3604">#3604</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/b1aa9dea8c3c0e539c8d9687c99c55ec3679c996"><code>b1aa9de</code></a> feat(all): auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3603">#3603</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/f0071d379f4443ffdae9994fe141b1b5e0c18a62"><code>f0071d3</code></a> feat(all): auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3602">#3602</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/bcaee85f93824a21f5441c2ccd3b4d4811d97de7"><code>bcaee85</code></a> feat(all): auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3600">#3600</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/3887b09ecbbaf25fba1bf52227ad5ca4f89e9968"><code>3887b09</code></a> chore(main): release 0.280.0 (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3592">#3592</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/f82d2049187ed2ab7ee27831a1a78887c5969ca4"><code>f82d204</code></a> feat(all): auto-regenerate discovery clients (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3599">#3599</a>)</li> <li><a href="https://github.com/googleapis/google-api-go-client/commit/13e7314e1377c0dd4e132a681b3130abc5843dbd"><code>13e7314</code></a> chore(all): update all (<a href="https://redirect.github.com/googleapis/google-api-go-client/issues/3597">#3597</a>)</li> <li>Additional commits viewable in <a href="https://github.com/googleapis/google-api-go-client/compare/v0.277.0...v0.281.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…56) This PR contains the following updates: | Package | Update | Change | OpenSSF | |---|---|---|---| | [docker.io/erigontech/erigon](https://redirect.github.com/erigontech/erigon/tree/release/3.5) ([source](https://redirect.github.com/erigontech/erigon)) | minor | `v3.4.4` → `v3.5.0` | [](https://securityscorecards.dev/viewer/?uri=github.com/erigontech/erigon) | --- ### Release Notes <details> <summary>erigontech/erigon (docker.io/erigontech/erigon)</summary> ### [`v3.5.0`](https://redirect.github.com/erigontech/erigon/blob/HEAD/ChangeLog.md#Erigon-v350--Tidal-Tails--2026-06-26) [Compare Source](https://redirect.github.com/erigontech/erigon/compare/v3.4.4...v3.5.0) Erigon 3.5.0 is a major release headlined by **parallel block execution becoming the default** and **initial support for Ethereum's upcoming Glamsterdam hardfork**. It is a drop-in upgrade for 3.4.x users — no re-sync required; existing datadirs upgrade their prune configuration automatically (see Breaking Changes). ##### Key Features - **Parallel block execution, on by default.** Erigon now executes EVM transactions across multiple cores by default, using the Block-STM (software transactional memory) design pioneered by Aptos: transactions run optimistically in parallel and are re-validated against a multi-version state, re-executing only on conflict ([#​21591](https://redirect.github.com/erigontech/erigon/issues/21591) by [@​mh0lt](https://redirect.github.com/mh0lt), closes [#​17630](https://redirect.github.com/erigontech/erigon/issues/17630)). Revert to serial with `EXEC3_PARALLEL=false` or `--exec.serial`. - **Glamsterdam devnet support.** Initial implementation of Ethereum's next hardfork: Block-Level Access Lists (EIP-7928), enshrined Proposer-Builder Separation / "Gloas" (EIP-7732) in Caplin, gas repricings (EIP-8037, EIP-7976, EIP-7981), larger contracts (EIP-7954), transfer logs (EIP-7708), and the `eth/71` Block Access List wire protocol (EIP-8159). **Devnet/testing only — not scheduled on mainnet or any public testnet.** - **`debug_executionWitness`.** Stateless execution-witness generation (EIP-7928/8025) with reth-compatible output, for zkEVM and stateless clients ([#​20205](https://redirect.github.com/erigontech/erigon/issues/20205) by [@​antonis19](https://redirect.github.com/antonis19), [#​21629](https://redirect.github.com/erigontech/erigon/issues/21629) by [@​awskii](https://redirect.github.com/awskii)). - **More aggressive history pruning by default.** `--prune.mode=full` now follows the EIP-8252 reorg-retention window (\~36 days / 262,144 blocks) — see Breaking Changes. - **GraphQL API revival.** Broad resolver coverage restored — queries, logs, `call`, `sendRawTransaction`, `estimateGas`, `gasPrice`, storage, and EIP-4844 fields. ##### Breaking Changes ##### `--prune.mode=full`: EIP-8252 retention window replaces pre-merge history-expiry Full mode now retains state and block data for the last `262,144` blocks (\~36.4 days), matching [EIP-8252](https://redirect.github.com/ethereum/EIPs/pull/11601)'s `REORG_RETENTION_WINDOW` ([#​21342](https://redirect.github.com/erigontech/erigon/pull/21342)). Previously full mode pruned only pre-merge block data ([EIP-4444](https://eips.ethereum.org/EIPS/eip-4444) history-expiry) and kept the last 100,000 blocks of state history. **What changed:** | | Before | After | | ----------------------- | ------------------------------------------------ | ------------------- | | State history retention | last 100,000 blocks | last 262,144 blocks | | Block data retention | pre-merge pruned, all post-merge kept (EIP-4444) | last 262,144 blocks | **Migration:** existing datadirs upgrade automatically and silently. To keep the old "retain all post-merge block data" behavior, set `--prune.distance.blocks=18446744073709551615`. Note: physical deletion of frozen snapshot files is not implemented yet (see [#​21306](https://redirect.github.com/erigontech/erigon/issues/21306)), so existing on-disk historical blocks persist for now, though the new cutoff is already recorded at the config level. *In practice, this means only freshly synced `full` nodes will have a reduced disk footprint.* ##### `--prune.mode=blocks`: state history retention bumped to 262,144 blocks `--prune.mode=blocks` keeps the same shape as before (all block data retained), but its state history retention also bumps from 100,000 to 262,144 blocks. `--prune.mode=minimal` is unchanged — both block and state history retain the 100,000-block window, deliberately sub-EIP-8252 for disk-constrained operators. See [#​21342](https://redirect.github.com/erigontech/erigon/pull/21342) for details. *** ##### Single p2p listener: `--p2p.allowed-ports` removed, all eth versions multiplex on `--port` Erigon now opens a single TCP listener on `--port` (default 30303) carrying every configured eth protocol version, instead of one listener per protocol on 30303/30304/30305. This fixes a discovery-DHT race that left inbound peers stuck at a fraction of `--maxpeers` for multi-protocol deployments: per-protocol ENRs collided under one Node ID, so only one survived in the DHT and peers dialed the wrong listener ([#​21335](https://redirect.github.com/erigontech/erigon/issues/21335)). **What changed:** | Aspect | Before | After | | -------------------------- | --------------------------------------------------- | ----------------------------------------- | | Inbound peer ports | `30303`, `30304`, `30305`, … (one per eth version) | `30303` only | | `--p2p.allowed-ports` flag | Picked one port per protocol from this list | **Removed** — passing it now errors | | `--maxpeers` semantics | Per-protocol cap; actual ceiling ≈ N × maxpeers | Honest total cap | | Default `--maxpeers` | `32` | `64` (compensates for the now-honest cap) | | Enode database directory | `<datadir>/nodes/eth68`, `<datadir>/nodes/eth69`, … | `<datadir>/nodes/eth` | **Migration:** - Remove `--p2p.allowed-ports=...` from CLI args / config files; it is no longer recognised. - Firewall, Kubernetes Service, and monitoring rules that explicitly opened 30304/30305 can drop those entries — only `--port` is bound now. - If you previously lowered `--maxpeers` because you knew the per-protocol multiplication inflated the real ceiling, raise it back to the target total (the cap is now what the flag says). - First run after upgrade loses the warm peer cache in `nodes/eth{68,69,…}` — nothing on disk is deleted, the directories are simply no longer read; discovery rebuilds the peer set from bootnodes within a few minutes. Standalone `sentry` binary (`cmd/sentry`) and `--sentry.api.addr` (remote sentry over gRPC) are unaffected — neither had the bug. *** ##### `debug_trace*` RPC: `enableMemory` / `enableReturnData` replace `disableMemory` / `disableReturnData` Aligns Erigon with the execution-apis specification ([ethereum/execution-apis#762](https://redirect.github.com/ethereum/execution-apis/pull/762)) and Geth behavior. **What changed:** | Field | Before (Erigon) | After (Erigon / Geth / Spec) | | -------------------- | --------------------------------------- | -------------------------------------- | | Memory in trace | `disableMemory` (default: included) | `enableMemory` (default: excluded) | | Return data in trace | `disableReturnData` (default: included) | `enableReturnData` (default: excluded) | Both the key and its default changed: `disable*` → `enable*`, and memory and return data are now **excluded** unless explicitly enabled — matching the spec and Geth. **Migration:** memory and return data are now excluded by default. To include them, add the new opt-in key (omit it to keep the default): - Memory: `{ "enableMemory": true }` - Return data: `{ "enableReturnData": true }` Affected RPC methods: `debug_traceTransaction`, `debug_traceBlockByHash`, `debug_traceBlockByNumber`, `debug_traceCall`. *** ##### Clique PoA consensus engine removed The legacy Clique proof-of-authority engine has been removed ([#​20532](https://redirect.github.com/erigontech/erigon/issues/20532) by [@​yperbasis](https://redirect.github.com/yperbasis)). `--chain=dev` now runs on an embedded proof-of-stake consensus instead of Clique ([#​20451](https://redirect.github.com/erigontech/erigon/issues/20451) by [@​mh0lt](https://redirect.github.com/mh0lt)), matching how all live networks operate post-Merge. Networks or tooling that still depended on Clique are no longer supported. *** ##### Silkworm integration removed The optional Silkworm C++ execution-backend integration and its `--silkworm.*` flags have been removed ([#​19662](https://redirect.github.com/erigontech/erigon/issues/19662) by [@​canepat](https://redirect.github.com/canepat)). Erigon uses its native Go execution engine exclusively. *** ##### Glamsterdam (Devnet Support) 3.5.0 adds an initial implementation of Ethereum's next hardfork — **Glamsterdam** (consensus-layer "Gloas" + execution-layer "Amsterdam") — for devnet testing and validation. **It is not scheduled on mainnet or any public testnet**, and these code paths are inert on production networks until an activation time is configured. - **EIP-7928 — Block-Level Access Lists (BAL):** records every account and storage slot a block touches, enabling deterministic parallel validation. Full builder, validator, and strict-validation support ([#​19627](https://redirect.github.com/erigontech/erigon/issues/19627), [#​19656](https://redirect.github.com/erigontech/erigon/issues/19656), [#​20602](https://redirect.github.com/erigontech/erigon/issues/20602), [#​20776](https://redirect.github.com/erigontech/erigon/issues/20776)), plus the `eth_getBlockAccessList` RPC method ([#​19929](https://redirect.github.com/erigontech/erigon/issues/19929)) — by [@​mh0lt](https://redirect.github.com/mh0lt), [@​yperbasis](https://redirect.github.com/yperbasis), [@​Sahil-4555](https://redirect.github.com/Sahil-4555) - **EIP-7732 — Enshrined Proposer-Builder Separation (ePBS / "Gloas"):** implemented in Caplin — execution-payload envelope, PTC, and builder payments ([#​18956](https://redirect.github.com/erigontech/erigon/issues/18956)) — with follow-up audit and fork-choice fixes ([#​21248](https://redirect.github.com/erigontech/erigon/issues/21248), [#​21228](https://redirect.github.com/erigontech/erigon/issues/21228)) — by [@​domiwei](https://redirect.github.com/domiwei) - **Gas repricings:** EIP-8037 State Creation Gas Cost Increase ([#​19596](https://redirect.github.com/erigontech/erigon/issues/19596)), EIP-7976 calldata floor cost ([#​20613](https://redirect.github.com/erigontech/erigon/issues/20613)), EIP-7981 access-list cost ([#​20671](https://redirect.github.com/erigontech/erigon/issues/20671)) — by [@​taratorio](https://redirect.github.com/taratorio) - **EIP-7954 — Increase Maximum Contract Size** ([#​19624](https://redirect.github.com/erigontech/erigon/issues/19624)) — by [@​yperbasis](https://redirect.github.com/yperbasis) - **EIP-7843 — slot-number opcode (`SLOTNUM`)**, wired into Caplin block production and `engine_forkchoiceUpdatedV4` ([#​20175](https://redirect.github.com/erigontech/erigon/issues/20175)) — by [@​yperbasis](https://redirect.github.com/yperbasis) - **Networking:** `eth/71` Block Access List exchange (EIP-8159, [#​20793](https://redirect.github.com/erigontech/erigon/issues/20793), [#​20794](https://redirect.github.com/erigontech/erigon/issues/20794), [#​20795](https://redirect.github.com/erigontech/erigon/issues/20795)) — by [@​mh0lt](https://redirect.github.com/mh0lt) ##### Added ##### RPC - `debug_executionWitness`: generate stateless execution witnesses (EIP-7928/8025), with `legacy` and `canonical` output modes — the `legacy` format is reth-compatible — for zkEVM and stateless clients ([#​20205](https://redirect.github.com/erigontech/erigon/issues/20205), [#​21371](https://redirect.github.com/erigontech/erigon/issues/21371), [#​21518](https://redirect.github.com/erigontech/erigon/issues/21518), [#​21629](https://redirect.github.com/erigontech/erigon/issues/21629)) — by [@​antonis19](https://redirect.github.com/antonis19), [@​lupin012](https://redirect.github.com/lupin012), [@​awskii](https://redirect.github.com/awskii) - `eth_capabilities`: report the set of supported RPC methods ([#​20951](https://redirect.github.com/erigontech/erigon/issues/20951)) — by [@​lupin012](https://redirect.github.com/lupin012) - `debug_setHead`: rewind the chain head ([#​19577](https://redirect.github.com/erigontech/erigon/issues/19577)) — by [@​canepat](https://redirect.github.com/canepat) - **GraphQL** substantially revived — transaction, logs, `call`, `sendRawTransaction`, `estimateGas`, `gasPrice`, and storage resolvers, plus EIP-4844 fields ([#​20389](https://redirect.github.com/erigontech/erigon/issues/20389), [#​20916](https://redirect.github.com/erigontech/erigon/issues/20916), [#​21219](https://redirect.github.com/erigontech/erigon/issues/21219), [#​21379](https://redirect.github.com/erigontech/erigon/issues/21379), [#​21060](https://redirect.github.com/erigontech/erigon/issues/21060)) — by [@​lupin012](https://redirect.github.com/lupin012) - `testing_` namespace exposed via `--http.api` for engine/spec test harnesses ([#​20482](https://redirect.github.com/erigontech/erigon/issues/20482)) — by [@​lupin012](https://redirect.github.com/lupin012) - `eth_simulateV1`: per-call gas and result limits ([#​20232](https://redirect.github.com/erigontech/erigon/issues/20232)) — by [@​Sahil-4555](https://redirect.github.com/Sahil-4555) ##### CLI & Operations - `--exec.no-prune` (disable all DB pruning), `--exec.serial` (force single-threaded execution), and `--exec.*` executor-tuning flags ([#​20915](https://redirect.github.com/erigontech/erigon/issues/20915), [#​20853](https://redirect.github.com/erigontech/erigon/issues/20853), [#​20797](https://redirect.github.com/erigontech/erigon/issues/20797)) — by [@​mh0lt](https://redirect.github.com/mh0lt) - `seg du` (snapshot disk-usage analysis, [#​20104](https://redirect.github.com/erigontech/erigon/issues/20104)) and `seg rm-blocks` (remove latest block snapshots, [#​20554](https://redirect.github.com/erigontech/erigon/issues/20554)) — by [@​awskii](https://redirect.github.com/awskii), [@​sudeepdino008](https://redirect.github.com/sudeepdino008) ##### Changed ##### RPC - WebSocket transport rewritten on `coder/websocket`, with overload protection, clean close frames, and bounded write timeouts ([#​20097](https://redirect.github.com/erigontech/erigon/issues/20097), [#​20446](https://redirect.github.com/erigontech/erigon/issues/20446), [#​20788](https://redirect.github.com/erigontech/erigon/issues/20788), [#​20923](https://redirect.github.com/erigontech/erigon/issues/20923)) — by [@​lystopad](https://redirect.github.com/lystopad), [@​lupin012](https://redirect.github.com/lupin012), [@​Sahil-4555](https://redirect.github.com/Sahil-4555) - Admission control: uniform `503` responses under load ([#​20303](https://redirect.github.com/erigontech/erigon/issues/20303)); optional response compression via libdeflate ([#​20665](https://redirect.github.com/erigontech/erigon/issues/20665)) — by [@​lupin012](https://redirect.github.com/lupin012) - Geth compatibility: `debug_traceTransaction` index format ([#​20210](https://redirect.github.com/erigontech/erigon/issues/20210)), `trace_rawTransaction` ([#​20448](https://redirect.github.com/erigontech/erigon/issues/20448)), `debug_accountRange` ([#​20057](https://redirect.github.com/erigontech/erigon/issues/20057)), null `v,r,s` for unsigned transactions ([#​21321](https://redirect.github.com/erigontech/erigon/issues/21321)) — by [@​lupin012](https://redirect.github.com/lupin012) - Performance: faster `eth_getLogs` ([#​20561](https://redirect.github.com/erigontech/erigon/issues/20561)), `trace_block` ([#​20182](https://redirect.github.com/erigontech/erigon/issues/20182)), `eth_gasPrice` ([#​19678](https://redirect.github.com/erigontech/erigon/issues/19678)), canonical-hash cache ([#​19173](https://redirect.github.com/erigontech/erigon/issues/19173)); `engine_getPayload` \~2.4× and `getBlobs` \~10× faster ([#​21615](https://redirect.github.com/erigontech/erigon/issues/21615), [#​21606](https://redirect.github.com/erigontech/erigon/issues/21606)) — by [@​lupin012](https://redirect.github.com/lupin012), [@​taratorio](https://redirect.github.com/taratorio) - `trace_*` returns an explicit error when an unsupported custom tracer is supplied ([#​21544](https://redirect.github.com/erigontech/erigon/issues/21544)) — by [@​lupin012](https://redirect.github.com/lupin012) ##### Networking & P2P - New `eth/70` wire protocol: partial block receipt lists (EIP-7975, [#​19755](https://redirect.github.com/erigontech/erigon/issues/19755)) — by [@​yperbasis](https://redirect.github.com/yperbasis) - All eth protocol versions now multiplex on a single TCP listener (see Breaking Changes, [#​21335](https://redirect.github.com/erigontech/erigon/issues/21335)) — by [@​lystopad](https://redirect.github.com/lystopad) - Peer hygiene / DoS hardening: cap and rate-limit inbound `NewBlockHashes` ([#​21557](https://redirect.github.com/erigontech/erigon/issues/21557)), enforce the 4096-hash limit on `NewPooledTransactionHashes` ([#​20577](https://redirect.github.com/erigontech/erigon/issues/20577)), drop peers failing blob KZG verification ([#​21421](https://redirect.github.com/erigontech/erigon/issues/21421)), and bound fan-out stream buffers ([#​20783](https://redirect.github.com/erigontech/erigon/issues/20783)) — by [@​yperbasis](https://redirect.github.com/yperbasis) - Skip chain-specific bootnodes on genesis-hash mismatch ([#​19807](https://redirect.github.com/erigontech/erigon/issues/19807)); honour an explicitly empty `--bootnodes` ([#​20630](https://redirect.github.com/erigontech/erigon/issues/20630)) — by [@​yperbasis](https://redirect.github.com/yperbasis) ##### TxPool - Proactive dormancy-based eviction of stale queued transactions ([#​19862](https://redirect.github.com/erigontech/erigon/issues/19862)) — by [@​lystopad](https://redirect.github.com/lystopad) - Transaction parsing migrated onto the shared `execution/types` transaction types ([#​19757](https://redirect.github.com/erigontech/erigon/issues/19757)); malformed EIP-7702 authorization tuples are now tolerated rather than rejected wholesale ([#​20809](https://redirect.github.com/erigontech/erigon/issues/20809)) — by [@​yperbasis](https://redirect.github.com/yperbasis) ##### Caplin (Consensus Layer) - Unified Engine API client for standalone mode ([#​20035](https://redirect.github.com/erigontech/erigon/issues/20035)) — by [@​mh0lt](https://redirect.github.com/mh0lt) - Fork-choice and ENR-stability fixes — recovery from a post-Gloas fork-choice stall and a persistent node key for stable ENR across restarts ([#​21228](https://redirect.github.com/erigontech/erigon/issues/21228), [#​21276](https://redirect.github.com/erigontech/erigon/issues/21276)) — by [@​domiwei](https://redirect.github.com/domiwei) - Block production: give the EL builder a build window before stopping it, fixing near-empty proposed blocks (\~0–2% gas) on otherwise-healthy validators ([#​21990](https://redirect.github.com/erigontech/erigon/issues/21990)) — by [@​lystopad](https://redirect.github.com/lystopad) ##### Storage & Performance - Off-heap Elias-Fano index building ([#​20640](https://redirect.github.com/erigontech/erigon/issues/20640)) and parallel commitment computation ([#​20805](https://redirect.github.com/erigontech/erigon/issues/20805)) — by [@​AskAlexSharov](https://redirect.github.com/AskAlexSharov), [@​mh0lt](https://redirect.github.com/mh0lt) - Transient-storage zero-write fast path ([#​20568](https://redirect.github.com/erigontech/erigon/issues/20568)) and opcode-scoped intern cache to eliminate duplicate `unique.Make()` ([#​20552](https://redirect.github.com/erigontech/erigon/issues/20552)) — by [@​Sahil-4555](https://redirect.github.com/Sahil-4555), [@​AskAlexSharov](https://redirect.github.com/AskAlexSharov) ##### Removed - Clique PoA engine ([#​20532](https://redirect.github.com/erigontech/erigon/issues/20532) by [@​yperbasis](https://redirect.github.com/yperbasis)) and Silkworm integration ([#​19662](https://redirect.github.com/erigontech/erigon/issues/19662) by [@​canepat](https://redirect.github.com/canepat)) — see Breaking Changes. - Unused `hack` ([#​20412](https://redirect.github.com/erigontech/erigon/issues/20412)), `state` ([#​20420](https://redirect.github.com/erigontech/erigon/issues/20420)), and `diag` ([#​21351](https://redirect.github.com/erigontech/erigon/issues/21351)) helper binaries — by [@​awskii](https://redirect.github.com/awskii), [@​AskAlexSharov](https://redirect.github.com/AskAlexSharov) ##### Security - `--ethstats` credentials are redacted from the startup command log ([#​20890](https://redirect.github.com/erigontech/erigon/issues/20890)) — by [@​MysticRyuujin](https://redirect.github.com/MysticRyuujin) - DoS-resistance limits on inbound P2P message volume ([#​20577](https://redirect.github.com/erigontech/erigon/issues/20577), [#​21557](https://redirect.github.com/erigontech/erigon/issues/21557)) and bounded RPC/stream buffers ([#​20446](https://redirect.github.com/erigontech/erigon/issues/20446), [#​20783](https://redirect.github.com/erigontech/erigon/issues/20783)) — by [@​yperbasis](https://redirect.github.com/yperbasis), [@​lupin012](https://redirect.github.com/lupin012) **Full Changelog**: <erigontech/erigon@v3.4.4...v3.5.0> *** </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday (`* 0-4,22-23 * * 1-5`) - Only on Sunday and Saturday (`* * * * 0,6`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/SettleMint-Collaboration/adi-helm). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Summary
This PR adds OpenRPC method and schema definitions for:
debug_traceTransactiondebug_traceBlockByNumberdebug_traceBlockByHashScope is intentionally limited to the default opcode (struct) logger output, while still allowing named tracers through
TraceConfig.tracer.It is also based on the investigation done by ethPandaOps on trace-comparisons
Goal
The goal of this PR is to standardize the existing live
debug_trace*opcode tracer contract as one canonical cross-client output:Non-goals
This PR does not:
EIP-3155conformanceIf the ecosystem wants a cleaner or more opinionated trace format than the current live RPC methods provide, that should be a separate effort.
Preserve vs normalize
Preserved from current live RPC practice
gas,failed,returnValue,structLogsopas a human-readable opcode name stringgasandgasCostas JSON integersStandardized by this PR
0x-prefixeduint256quantities0x-prefixedbytes320x-prefixedbytes32errormust be absent when no error occurredreturnDatamust be absent when disabled and valid hex when enabledstructLogs: []{ txHash, result }entriesSLOADandSSTORERelationship to
EIP-3155/EIP-7756This PR borrows the useful parts of the EIP work, but it does not adopt those specs literally.
The main intentional differences are:
output/gasUsed/passgas/gasCostopas a string namestateRoot,time,fork,memSize, and named tracer output schemas out of scopeKey field-level differences
EIP-3155/EIP-7756output,gasUsed,passreturnValue,gas,failedopopNamegas/gasCostmemorybytes32[]stateRoot,time,fork,memSizeStorage semantics
This PR standardizes storage behavior as part of the canonical output:
0x-prefixedbytes32SLOADandSSTOREnullor{}, at all other opcodesLikely client changes
Based on the current tests, the existing PR investigation, and the ethPandaOps comparison work, the most likely alignment work is:
Geth0xprefix to memory chunks and storage keys/values in opcode tracesErigontxHashpairing match the specBesuNetherminderror/storagefields where required and align storage timing/outputRethreturnDatagating and verify storage timing/encoding behaviorThis table is a concrete starting point for client review, not a claim of fully validated implementation diffs across every client version.
Tests
This PR adds focused tests for:
debug_traceTransactionstructLogs: []debug_traceBlockByNumber{ txHash, result }responsesreturnDatagating behaviordebug_traceBlockByHashMost large trace fixtures are
SpecOnly, meaning they validate the standardized wire contract rather than replaying a recorded byte-for-byte dump from one client.That is intentional: the purpose of this PR is to standardize one canonical response shape and semantics for the default opcode tracer, while avoiding overfitting the tests to incidental formatting outside the specified contract.
Recorded fixtures are still used where the expected behavior is small and unambiguous, such as:
Coverage still incomplete
Current coverage still does not fully prove:
refundpresence when non-zeroThe proposal here is still to define one canonical target; this section simply identifies the areas where additional fixtures or client feedback may still be useful.
Current validation status
make build: passgo test ./...intools/: passmake fill: fail (need go-ethereum to conform to the spec as written here)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -