# Nethermind: Amsterdam conformance review

Review date: 2026-10-27 UTC. **No surviving candidate differences identified** for EIP-7843, EIP-7954 or EIP-8024 at the pinned Nethermind head. Static public-source review only; no client, fixture suite, node or RPC was run. HTTP retrieved source and published results.

## Pins and specification versions

Heads were resolved through the GitHub commits API; source was fetched from `raw.githubusercontent.com`. File links are pinned permalinks.

| Repository / branch | Pinned commit | Commit timestamp (UTC) |
| --- | --- | --- |
| [NethermindEth/nethermind / master](https://api.github.com/repos/NethermindEth/nethermind/commits/master) | `d48833af88ec4224c86afadd1c596e8f619c406b` | 2026-10-27 12:00:20 |
| [ethereum/execution-specs / forks/bogota](https://api.github.com/repos/ethereum/execution-specs/commits/forks/bogota) | `7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b` | 2026-10-27 17:40:55 |
| [ethereum/go-ethereum / master](https://api.github.com/repos/ethereum/go-ethereum/commits/master) | `8817f99f92852f8ac53e596de6202dd9e3494065` | 2026-10-27 03:32:47 |
| [ethereum/EIPs / master](https://api.github.com/repos/ethereum/EIPs/commits/master) | `d4c575521d99ec881a444ab3af604e684b5f0743` | 2026-10-27 16:04:29 |
| [ethereum/consensus-specs / master](https://api.github.com/repos/ethereum/consensus-specs/commits/master) | `8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2` | 2026-10-27 16:28:12 |
| [ethereum/execution-apis / main](https://api.github.com/repos/ethereum/execution-apis/commits/main) | `3284ee80c3da3e516c53782dde75157cccf1ebdc` | 2026-10-26 14:17:46 |

The execution-specs pin uses default branch **forks/bogota** and the **Amsterdam** directory.

The scheduled set is the 18 entries under EIP-7773's “EIPs Scheduled for Inclusion”: [eip-7773.md#L21-L70][r1]. The EL directory lists its 14 changes at [__init__.py#L5-L20][r2]; Gloas lists the consensus changes and shared SLOTNUM/requests dependencies at [beacon-chain.md#L164-L182][r3]. Every inventory entry is versioned as `ethereum/EIPs@d4c575521d99ec881a444ab3af604e684b5f0743:EIPS/eip-{number}.md`; its status comes from lines 1–13. The final section gives the raw URL pattern.

| EIP | Scheduled change | Layer | Current document/status |
| --- | --- | --- | --- |
| 2780 | Resource-Based Intrinsic Transaction Gas | EL | `EIPS/eip-2780.md#L1-L13` — Last Call |
| 7688 | Forward Compatible Consensus Data Structures | CL | `EIPS/eip-7688.md#L1-L13` — Review |
| 7708 | ETH Transfers Emit a Log | EL | `EIPS/eip-7708.md#L1-L13` — Last Call |
| 7732 | Enshrined Proposer-Builder Separation | CL | `EIPS/eip-7732.md#L1-L13` — Last Call |
| 7778 | Block Gas Accounting without Refunds | EL | `EIPS/eip-7778.md#L1-L13` — Last Call |
| 7843 | SLOTNUM | EL + CL | [Last Call][r9] |
| 7928 | Block-Level Access Lists | EL + payload | `EIPS/eip-7928.md#L1-L13` — Last Call |
| 7954 | Increase Maximum Contract Size | EL | [Last Call][r11] |
| 7976 | Increase Calldata Floor Cost | EL | `EIPS/eip-7976.md#L1-L13` — Last Call |
| 7981 | Increase Access List Cost | EL | `EIPS/eip-7981.md#L1-L13` — Last Call |
| 7997 | Deterministic Factory Contract | EL | `EIPS/eip-7997.md#L1-L13` — Last Call |
| 8024 | SWAPN, DUPN, EXCHANGE | EL | [Last Call][r15] |
| 8037 | State Creation Gas Cost Increase | EL | `EIPS/eip-8037.md#L1-L13` — Last Call |
| 8038 | State-Access Gas Cost Update | EL | `EIPS/eip-8038.md#L1-L13` — Last Call |
| 8045 | Exclude Slashed Validators from Proposing | CL | `EIPS/eip-8045.md#L1-L13` — Last Call |
| 8061 | Increase Exit and Consolidation Churn | CL | `EIPS/eip-8061.md#L1-L13` — Last Call |
| 8246 | Remove SELFDESTRUCT Burn | EL | `EIPS/eip-8246.md#L1-L13` — Last Call |
| 8282 | Builder Execution Requests | EL + CL | `EIPS/eip-8282.md#L1-L13` — Last Call |

The meta-EIP separately lists networking EIPs 7975, 8070, 8136, 8159 and 8189, and informational EIPs 7904 and 8261; those are not extra entries in that scheduled-18 section: [eip-7773.md#L21-L70][r1]. Mainnet activation remains blank in [eip-7773.md#L21-L70][r1], and Nethermind schedules Amsterdam at an effectively unset timestamp in [MainnetSpecProvider.cs#L27-L43][r22]. These reviewed fork changes are not active mainnet rules at these pins.

## Specification discrepancy in the assignment checklist

The current [EIP-8024](https://eips.ethereum.org/EIPS/eip-8024#specification) assigns **DUPN = 0xE6, SWAPN = 0xE7, EXCHANGE = 0xE8**. Singles decode as `(x + 145) % 256`, excluding 91–127. Pairs use `k = x XOR 143`, then the two-branch `divmod(k,16)` mapping, excluding 82–127. JUMPDEST analysis remains unchanged. Thus the checklist's reversed opcode assignment, simple nibble/n+1 encoding, and masking of immediates are not the current specification. Both Nethermind and EELS implement the current rule: [eip-8024.md#L1-L84][r15], [stack.py#L25-L131][r23]. These checklist discrepancies are not client candidates.

## Candidates and disproof

**None retained:** no demonstrated gas, state, validity or encoding difference survived. No confidence/severity finding is assigned.

Disproof of the strongest suspicions:

- **SWAPN/EXCHANGE indexing:** Nethermind's stack helpers use one-based positions; the spec's offsets use different conventions. Expanding both branches of the mask expression gives EXCHANGE positions `q+2,r+2` or `r+2,30-q`, precisely the spec's decoded positions plus one. SWAPN passes decoded depth plus one; DUPN passes decoded depth. See [EvmInstructions.Stack.cs#L1053-L1163][r24] and [EvmStack.cs#L2088-L2179][r27]. Offline arithmetic enumeration of all 256 immediate bytes found identical validity and positions (219 valid singles, 210 valid pairs); stack-height predicates were also compared over heights 0–1024. This checked transcribed expressions, not compiled client execution.
- **Missing immediate / overflow:** the dispatcher increments the PC before invoking the body, and the decoder reads that position or zero, then advances once more. A terminal DUPN therefore needs 145 existing items, SWAPN 146, and EXCHANGE 17; it does not silently STOP. The internal sentinel `MaxStackSize = 1025` permits a height of 1024 and rejects the next push. The dispatcher/decoder/stack paths are cited in the rules table.
- **First Amsterdam block / slot mismatch:** the first Amsterdam block copies the CL's absolute slot even when its parent has no slot; it does not reset to zero or increment a parent value. Consensus supplies its current slot and verifies payload equality. EL presence checks also run on orphaned headers. The production, CL and validation paths are cited below. The current Engine API imposes no parent-slot ordering check; see the historical fix below.
- **Stale size cap / deposit accounting:** the active constant is 65,536, not the earlier 32-KiB proposal. Both top-level and nested creation reach the same dynamic code-size guard; all size comparisons are strict greater-than. Amsterdam also enables EIP-8037; legacy 200-gas/byte deposit pricing alone is not its rule. The size guard precedes deposit charges in both clients and EELS. Sources: [CodeSizeConstants.cs#L6-L10][r35], [CodeDepositHandler.cs#L58-L86][r36], [interpreter.py#L360-L389][r39], [evm.go#L675-L701][r40].

## Rules checked and found consistent

Assumes ordinary prerequisites such as sufficient gas and no creation collision. Conclusions are from source, not local execution.

| Rule / boundary | Nethermind evidence at its pin | Specification evidence / conclusion |
| --- | --- | --- |
| SLOTNUM byte 0x4B; invalid before activation | [Instruction.cs#L68-L186][r41]; [VirtualMachine.OpcodeHandlers.cs#L105-L324][r43] | [EIP-7843](https://eips.ethereum.org/EIPS/eip-7843#specification); fork-gated registration overrides the default bad-instruction handler. |
| SLOTNUM returns header slot as one stack word; gas 2; 1024 overflow | [EvmInstructions.Environment.cs#L963-L978][r47]; [EvmStack.cs#L1586-L1609][r26]; [GasCostOf.cs#L8-L10][r48] | [block.py#L264-L294][r50]; zero and uint64 maximum remain unsigned values, with a checked push. |
| Header RLP appends slot after BAL hash; uint64 canonical integer decoding | [HeaderDecoder.cs#L77-L90][r51]; [HeaderDecoder.cs#L169-L177][r52]; [RlpHelpers.Cursor.cs#L248-L300][r53] | [blocks.py#L247-L269][r54]; decoder rejects over-eight-byte and non-minimal integers; zero uses the empty integer encoding. |
| Header slot required after fork, forbidden before; first fork block and orphaned headers | [HeaderValidator.cs#L98-L110][r33]; [HeaderValidator.cs#L479-L500][r34] | [blocks.py#L247-L269][r54]; [fork-choice.md#L698-L712][r32]. Validation is based on the current block's spec, not parent field presence. |
| Payload attribute slot is the produced header/payload slot | [PayloadAttributes.cs#L292-L307][r56]; [BlockProducerBase.cs#L211-L225][r30]; [ExecutionPayloadV4.cs#L23-L60][r57] | [amsterdam.md#L81-L91][r58]; [validator.md#L358-L372][r31]; [fork-choice.md#L698-L712][r32]. CL verifies the actual beacon slot; EL preserves the supplied value. |
| MAX_CODE_SIZE 0x10000; MAX_INIT_CODE_SIZE 0x20000; fork activation | [25_Amsterdam.cs#L19-L24][r59]; [CodeSizeConstants.cs#L6-L10][r35]; [IReleaseSpecExtensions.cs#L12-L16][r60] | [interpreter.py#L79-L81][r37]; [eip-7954.md#L1-L28][r11]. Initcode derives as twice the active code cap. |
| CREATE and CREATE2 initcode at/below 131,072 allowed by size; 131,073 and oversized uint256 lengths fail | [EvmInstructions.Create.cs#L126-L158][r61] | [system.py#L198-L222][r62]; [system.py#L258-L286][r63]. Shared handler covers both creation variants and checks size before converting to words. |
| Top-level create initcode limit: strict >, creation only | [TransactionExtensions.cs#L57-L58][r64]; [TransactionProcessor.cs#L1010-L1014][r65] | [transactions.py#L631-L638][r68]. Exactly 131,072 passes this check; ordinary call calldata is not capped as initcode. |
| Deployed code size at/below 65,536 allowed by size; 65,537 fails, top-level and nested | [CodeDepositHandler.cs#L58-L86][r36]; [TransactionProcessor.cs#L1828-L1836][r67]; [VirtualMachine.cs#L717-L746][r70] | [interpreter.py#L360-L389][r39]; strict > guard is shared by CREATE/CREATE2 and creation transactions. Other code-validity/gas conditions still apply. |
| Initcode word gas 2 × ceil(length/32); CREATE2 also hashes initcode | [ReleaseSpecExtensions.cs#L20-L23][r71]; [EthereumGasPolicy.cs#L346-L354][r72]; [CreateGasCost.cs#L25-L28][r73]; [EvmCalculations.cs#L17-L45][r74]; [GasCostOf.cs#L51-L59][r49] | [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860#rules), as amended only in size by EIP-7954. At 131,072 bytes the word charge is 8,192 gas; at 32/33 bytes it is 2/4. This excludes memory, create base, hashing and state charges. |
| EIP-7702 delegated execution reaches full target code; authorization does not copy it or impose a stale 24/32-KiB execution cap | [CodeInfoRepository.cs#L72-L100][r75]; [CodeInfoRepository.cs#L174-L195][r76]; [TransactionProcessor.cs#L1418-L1424][r66] | [interpreter.py#L183-L196][r38]; the target code is loaded rather than redeployed. The authorization writes the delegation indicator, not a copy subject to code deposit. |
| DUPN/SWAPN/EXCHANGE bytes and Amsterdam-only registration | [Instruction.cs#L68-L186][r41]; [VirtualMachine.OpcodeHandlers.cs#L105-L324][r43] | [eip-8024.md#L1-L84][r15]; new opcodes remain invalid when the flag is false. |
| Singles validity, wraparound, decoded depth and underflow | [EvmInstructions.Stack.cs#L1053-L1163][r24]; [EvmStack.cs#L2088-L2179][r27] | [stack.py#L228-L314][r78]; [stack.py#L25-L131][r23]. Immediate 0x80 decodes to 17, 0x5A to 235, 0xFF to 144, zero to 145. DUPN needs n items, SWAPN n+1. |
| EXCHANGE pair decoding, both branches, exact minimum depth | [EvmInstructions.Stack.cs#L1053-L1163][r24]; [EvmStack.cs#L2088-L2179][r27] | [stack.py#L25-L131][r23]; [stack.py#L228-L314][r78]. At immediate 0x8E it exchanges positions 2 and 3, preserving the top; 0x8F needs 30 items; 0x52 is invalid. |
| Stack capacity for new instructions | [EvmStack.cs#L23-L29][r25]; [EvmStack.cs#L2088-L2179][r27] | [stack.py#L25-L131][r23]. DUPN may grow 1023 → 1024, but fails at 1024. SWAPN and EXCHANGE do not grow the stack and can execute at height 1024 if depth is sufficient. |
| Missing immediate is zero; two-byte PC advance; gas 3 | [EvmInstructions.Stack.cs#L1053-L1163][r24]; [VirtualMachine.Dispatch.std.cs#L340-L343][r28]; [IGasCost.cs#L37-L39][r79]; [GasCostOf.cs#L8-L10][r48] | [stack.py#L228-L314][r78]; [gas.py#L221-L229][r80]. Enough-stack terminal instructions execute and charge gas; underflow/forbidden immediate/OOG halt exceptionally. |
| JUMPDEST analysis preserves 0x5B following a new opcode; PUSH data remains excluded, including beyond old size limit | [JumpDestinationAnalyzer.std.cs#L188-L223][r81]; [JumpDestinationAnalyzer.cs#L140-L152][r82] | [runtime.py#L22-L69][r83]. The scanner masks PUSH1–PUSH32 data only; it does not erase a jump target after E6/E7/E8. Bitmap size derives from full code length. |

## Geth cross-check

No candidate requires a six-part differential finding. Independently checked Geth rules agree with the spec and Nethermind:

| Rule | Geth evidence at its pin |
| --- | --- |
| SLOTNUM header value, gas/stack registration; Amsterdam activation | [eips.go#L572-L585][r86]; [jump_table.go#L106-L117][r87] |
| Header slot presence/absence | [consensus.go#L273-L287][r88] |
| Code/initcode caps and strict boundary checks | [protocol_params.go#L161-L164][r90]; [common.go#L28-L53][r91] |
| Initcode metering for CREATE/CREATE2; increased cap used | [gas_table.go#L552-L594][r93] |
| All three extended stack decoders, missing immediate, stack positions | [instructions.go#L977-L1096][r94]; [eips.go#L339-L358][r85] |
| JUMPDEST analysis remains PUSH-only | [analysis_legacy.go#L55-L119][r95] |

## Known-check: issues, PRs and published tests

GitHub issues search used `repo:NethermindEth/nethermind` plus each term below, with no state/type filter: **open and closed issues and PRs**. Retrieved every page, including three EXCHANGE pages. Search terms cannot guarantee exhaustive discovery.

| EIP / terms | Returned matches | Disposition of relevant suspicions |
| --- | --- | --- |
| 7843; SLOTNUM | 38; 42 | **Known, closed/merged:** [#13583](https://github.com/NethermindEth/nethermind/pull/13583) removes EL slot ordering; [#13586](https://github.com/NethermindEth/nethermind/pull/13586) adds orphaned-header slot validation; [#13688](https://github.com/NethermindEth/nethermind/pull/13688) repairs simulated-header slot supply. The reviewed consensus paths do not reproduce these historical problems. |
| 7954; “contract size” | 22; 61 | **Known historical version, closed/merged:** [#10708](https://github.com/NethermindEth/nethermind/pull/10708) describes the earlier 32-KiB implementation. Current pinned constant and spec are 64 KiB, so this is not a present discrepancy. |
| 8024; SWAPN; DUPN; EXCHANGE | 26; 34; 37; 254 | **Known, closed/merged:** [#10408](https://github.com/NethermindEth/nethermind/pull/10408) SWAPN indexing; [#10475](https://github.com/NethermindEth/nethermind/pull/10475) EXCHANGE indexing; [#10710](https://github.com/NethermindEth/nethermind/pull/10710) updated encoding; [#11178](https://github.com/NethermindEth/nethermind/pull/11178) missing-immediate handling. Their corrected expressions are present at the review pin. |

No retained candidate needs a “not found” label. Historical problems are marked known; PR states/merge flags came from the public pulls API.

The execution-specs query `repo:ethereum/execution-specs "Test Release Tracker" in:title` returned 32 matches. Read Glamsterdam tracker bodies/comments: 2915, 3001, 3043, 3049, 3034, 3132, 3147, 3123, 3167, 3295, 3311, 3452, 3479, 3518, 3217, using `https://api.github.com/repos/ethereum/execution-specs/issues/{number}` and its `/comments?per_page=100` endpoint. [#3217](https://github.com/ethereum/execution-specs/issues/3217) is open; the other listed trackers are closed. Its checked items cover SLOTNUM transition/context/overflow, 64-KiB boundaries and unchanged EIP-8024 jumpdest analysis; its final all-client sweep remains unchecked. Tracker completion does not establish that today's pin passed everything.

### Public Hive / execution-spec-tests results

[The requested Glamsterdam listing](https://hive.ethpandaops.io/glamsterdam/listing.jsonl) was initially HTTP 403, then returned HTTP 200 on a subsequent public request. Parsed 999 rows, including 165 with Nethermind. The latest listed run per relevant suite was inspected through its complete static results JSON. Scoped counts select test-case names containing the corresponding `eip7843`, `eip7954` or `eip8024` directory marker; they do not cover every possible cross-EIP interaction.

| Latest listed suite / client version | Start → end, UTC | 7843 pass/total | 7954 pass/total | 8024 pass/total | Whole-suite failures |
| --- | --- | --- | --- | --- | --- |
| [consume-engine](https://hive.ethpandaops.io/glamsterdam/results/1793072145-f77ddc53660a26e89f17a7706e5cfa07.json), `2.3.0-preview+a183d792` | Oct 26 12:52 → Oct 27 03:35 | 24/24 | 85/85 | 294/294 | 239 / 44,225 |
| [consume-enginex](https://hive.ethpandaops.io/glamsterdam/results/1793008107-f04da15afb356909425c1a648e1f7178.json), `2.3.0-preview+edb6764a` | Oct 26 08:23 → 09:48 | 24/24 | 85/85 | 294/294 | 239 / 83,258 listed tests |
| [consume-rlp](https://hive.ethpandaops.io/glamsterdam/results/1793058090-36196cd48e8b0bc6e889dd2eb98555bd.json), `2.3.0-preview+edb6764a` | Oct 26 09:30 → 23:41 | 23/23 | 85/85 | 294/294 | 0 / 44,161 |

No failures were found in those three named EIP groups. Engine X's results JSON has 83,262 case entries, versus the listing's 83,258 tests; the table preserves the listing denominator instead of silently equating the two. Fixture source links in the result descriptions identify execution-specs commit `1562e2f8b5cb1efda7e0d7c517f2dfb5742c0a43`. These are **older client/fixture versions**, not runs of the Nethermind/EELS heads pinned for this review. The 239 whole-suite failures are not attributed here to the three reviewed EIPs, and the passing scoped counts are corroboration rather than a conformance certificate.

## URLs read and review limits

Evidence URLs are the links above and source references below. Files were fetched as `https://raw.githubusercontent.com/{repository}/{pinned-commit}/{path}`; GitHub blob links supply exact paths/lines. The three published EIP pages were read directly: [7843](https://eips.ethereum.org/EIPS/eip-7843), [7954](https://eips.ethereum.org/EIPS/eip-7954), [8024](https://eips.ethereum.org/EIPS/eip-8024). Additional reads followed dispatch, gas and delegation paths.

Search URLs used the public `https://api.github.com/search/issues` endpoint, URL-encoding the exact queries in the known-check section, with `per_page=100`; EXCHANGE used `page=1,2,3`. Initial requests hit rate limits; complete successful responses supplied the reported counts. The 7843 search also used `sort=updated&order=desc`. Issue/PR bodies and merge metadata came from the corresponding public `/repos/{repository}/issues/{number}` and `/pulls/{number}` URLs.

Limits: no local build or runtime reproduction; source tracing and arithmetic only. Public test/search records are mutable observations on the review date. Unreviewed EIPs, chains and future-fork features are outside this conclusion.

[r1]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-7773.md#L21-L70
[r2]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/__init__.py#L5-L20
[r3]: https://github.com/ethereum/consensus-specs/blob/8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2/specs/gloas/beacon-chain.md#L164-L182
[r9]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-7843.md#L1-L13
[r11]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-7954.md#L1-L28
[r15]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-8024.md#L1-L84
[r22]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Specs/MainnetSpecProvider.cs#L27-L43
[r23]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/stack.py#L25-L131
[r24]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/Instructions/EvmInstructions.Stack.cs#L1053-L1163
[r25]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/EvmStack.cs#L23-L29
[r26]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/EvmStack.cs#L1586-L1609
[r27]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/EvmStack.cs#L2088-L2179
[r28]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/VirtualMachine.Dispatch.std.cs#L340-L343
[r30]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Consensus/Producers/BlockProducerBase.cs#L211-L225
[r31]: https://github.com/ethereum/consensus-specs/blob/8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2/specs/gloas/validator.md#L358-L372
[r32]: https://github.com/ethereum/consensus-specs/blob/8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2/specs/gloas/fork-choice.md#L698-L712
[r33]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Consensus/Validators/HeaderValidator.cs#L98-L110
[r34]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Consensus/Validators/HeaderValidator.cs#L479-L500
[r35]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Core/CodeSizeConstants.cs#L6-L10
[r36]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/CodeDepositHandler.cs#L58-L86
[r37]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/interpreter.py#L79-L81
[r38]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/interpreter.py#L183-L196
[r39]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/interpreter.py#L360-L389
[r40]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/evm.go#L675-L701
[r41]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/Instruction.cs#L68-L186
[r43]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/VirtualMachine.OpcodeHandlers.cs#L105-L324
[r47]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/Instructions/EvmInstructions.Environment.cs#L963-L978
[r48]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Core/GasCostOf.cs#L8-L10
[r49]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Core/GasCostOf.cs#L51-L59
[r50]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/block.py#L264-L294
[r51]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Serialization.Rlp/HeaderDecoder.cs#L77-L90
[r52]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Serialization.Rlp/HeaderDecoder.cs#L169-L177
[r53]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Serialization.Rlp/RlpHelpers.Cursor.cs#L248-L300
[r54]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/blocks.py#L247-L269
[r56]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Consensus/Producers/PayloadAttributes.cs#L292-L307
[r57]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Merge.Plugin/Data/ExecutionPayloadV4.cs#L23-L60
[r58]: https://github.com/ethereum/execution-apis/blob/3284ee80c3da3e516c53782dde75157cccf1ebdc/src/engine/amsterdam.md#L81-L91
[r59]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Specs/Forks/25_Amsterdam.cs#L19-L24
[r60]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Core/Specs/IReleaseSpecExtensions.cs#L12-L16
[r61]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/Instructions/EvmInstructions.Create.cs#L126-L158
[r62]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/system.py#L198-L222
[r63]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/system.py#L258-L286
[r64]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Core/TransactionExtensions.cs#L57-L58
[r65]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs#L1010-L1014
[r66]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs#L1418-L1424
[r67]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs#L1828-L1836
[r68]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/transactions.py#L631-L638
[r70]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/VirtualMachine.cs#L717-L746
[r71]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/ReleaseSpecExtensions.cs#L20-L23
[r72]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/GasPolicy/EthereumGasPolicy.cs#L346-L354
[r73]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/GasPolicy/CreateGasCost.cs#L25-L28
[r74]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/Instructions/EvmCalculations.cs#L17-L45
[r75]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/CodeInfoRepository.cs#L72-L100
[r76]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/CodeInfoRepository.cs#L174-L195
[r78]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/stack.py#L228-L314
[r79]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/GasPolicy/IGasCost.cs#L37-L39
[r80]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/gas.py#L221-L229
[r81]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/CodeAnalysis/JumpDestinationAnalyzer.std.cs#L188-L223
[r82]: https://github.com/NethermindEth/nethermind/blob/d48833af88ec4224c86afadd1c596e8f619c406b/src/Nethermind/Nethermind.Evm/CodeAnalysis/JumpDestinationAnalyzer.cs#L140-L152
[r83]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/runtime.py#L22-L69
[r85]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/eips.go#L339-L358
[r86]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/eips.go#L572-L585
[r87]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/jump_table.go#L106-L117
[r88]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/consensus/beacon/consensus.go#L273-L287
[r90]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/params/protocol_params.go#L161-L164
[r91]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/common.go#L28-L53
[r93]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/gas_table.go#L552-L594
[r94]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/instructions.go#L977-L1096
[r95]: https://github.com/ethereum/go-ethereum/blob/8817f99f92852f8ac53e596de6202dd9e3494065/core/vm/analysis_legacy.go#L55-L119
