# Erigon: Amsterdam EIPs 7843, 7954 and 8024

Review date: 2026-10-27. **No spec-conformance bug candidate retained at the pinned Erigon head.** This is a static public-source review of the three assigned EIPs, not a claim that the client is bug-free. No client, node, transaction, network probe, or fixture suite was run. HTTP requests retrieved public source and research records only.

## Pins and specification baseline

Heads were resolved through GitHub's commit API, then held fixed throughout the review. Commit dates below are repository committer dates, not test dates.

- Erigon, `main`: **`f32a39d1e5f87a9ec3a9ce2858171c74acc3c242`**, 2026-10-27T16:04:32Z. [Head-resolution API](https://api.github.com/repos/erigontech/erigon/commits/main).

- Execution specs (EELS), `forks/bogota`: **`7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b`**, 2026-10-27T17:40:55Z. [Head-resolution API](https://api.github.com/repos/ethereum/execution-specs/commits/forks/bogota).

- Reth, `main`: **`e0378eb691aa2770bb96fd4ecec2f4445a2a3e7c`**, 2026-10-27T12:11:23Z. [Head-resolution API](https://api.github.com/repos/paradigmxyz/reth/commits/main).

- EIP source, `master`: **`d4c575521d99ec881a444ab3af604e684b5f0743`**, 2026-10-27T16:04:29Z. [Head-resolution API](https://api.github.com/repos/ethereum/EIPs/commits/master).

- Consensus specs, `master`: **`8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2`**, 2026-10-27T16:28:12Z. [Head-resolution API](https://api.github.com/repos/ethereum/consensus-specs/commits/master).

Erigon and Reth code was read from pinned raw.githubusercontent.com URLs; blob links below supply full paths and line anchors. Source prefixes: E=Erigon, S=EELS, R=Reth, C=consensus, P=EIPs, V=EVM2. Reth's EVM2 dependency is pinned in [R:Cargo.toml#L440-L443][f1] to `4a53ec080dfbb904e98e3ca8f0abcc11ab8abae0`; its cited code is at that revision.

Published texts read: [EIP-7843](https://eips.ethereum.org/EIPS/eip-7843), [EIP-7954](https://eips.ethereum.org/EIPS/eip-7954), [EIP-8024](https://eips.ethereum.org/EIPS/eip-8024). All three show Last Call, deadline 2026-11-01. Versions are content-addressed below; EIPs have no numeric revision versions. EELS uses the requested `forks/bogota` head and its `src/ethereum/forks/amsterdam/` implementation.

### Scheduled fork inventory and versions

The meta-EIP's Scheduled for Inclusion section contains **18 EIPs**, listed below: [P:eip-7773.md#L21-L40][f2]. EELS enumerates the 14 execution-side changes in [S:__init__.py#L1-L38][f3]. Gloas enumerates its consensus features and explicitly pins the versions it targets in [C:beacon-chain.md#L163-L186][f4]. This inventory establishes scope; only Erigon's three assigned EIPs were audited here.

Every row identifies `EIPS/eip-N.md` at EIP-source head `d4c575521d99ec881a444ab3af604e684b5f0743`; the Git blob hash is the file's content version from the [pinned tree API](https://api.github.com/repos/ethereum/EIPs/git/trees/d4c575521d99ec881a444ab3af604e684b5f0743?recursive=1). Titles come from the cited meta-EIP. Blob hashes come from the pinned tree API; these identify exact document contents without assuming a semantic version.

| EIP / scheduled change | Exact document blob SHA-1 |
| --- | --- |
| 2780: Resource-Based Intrinsic Transaction Gas | `c41fa1eeced3c08914c6d2333102b04b69e80e68` |
| 7688: Forward Compatible Consensus Data Structures | `bdb1119c814c032e65580118d64e12039eafe63b` |
| 7708: ETH Transfers Emit a Log | `1fa00f6a2a425b73e0054d6b59f41ae68639413c` |
| 7732: Enshrined Proposer-Builder Separation | `5baf745271ab7dce5863c1be123ddb783987bd44` |
| 7778: Block Gas Accounting without Refunds | `f84b208173a52b419164465f4ae304726878fd75` |
| 7843: SLOTNUM Opcode | `0a3c68bbd8af638d9ff91197f64cb07bb104a3a2` |
| 7928: Block-Level Access Lists | `3c4d4ad300e4946303db45710bba02cfb836f9eb` |
| 7954: Increase Maximum Contract Size | `850e9d488f1f7280bdfece3d38a94a3facc0d933` |
| 7976: Increase Calldata Floor Cost | `15abf8001a4296864141700add3bf66c9f1b8721` |
| 7981: Increase Access List Cost | `aaf7a767fe5ccbd6699099ff39fcbda1195b48e7` |
| 7997: Deterministic Factory Contract | `96a932023940e8b5d27539b51499592c5b3cb841` |
| 8024: Backward Compatible SWAPN, DUPN, EXCHANGE | `b15042f65157134c398a8dd0f2d6759893f2f81e` |
| 8037: State Creation Gas Cost Increase | `c8bc85b0bf866089f84d0745769fd848733c2958` |
| 8038: State-Access Gas Cost Update | `a1c73c4f5bffc6b4ed69556c497fec6c3d24e287` |
| 8045: Exclude Slashed Validators from Proposing | `e1e2887cf958f03d25096aa03621f9e2cc1ad311` |
| 8061: Increase Exit and Consolidation Churn | `dadac31f4d7dfb97ff3cbdadf8c6997715ed3c87` |
| 8246: Remove SELFDESTRUCT Burn | `6c80a64ed3651696cc7d9251ec3bac2ed199ec6d` |
| 8282: Builder Execution Requests | `13b923d8effa18ec5eae90c9c5072950539aa0f9` |

The meta-EIP separately lists networking EIPs 7975, 8070, 8136, 8159 and 8189, and informational EIPs 7904 and 8261; they are not additional entries in its Scheduled for Inclusion section ([P:eip-7773.md#L42-L55][f23]). Gloas also lists 8070 and 8261. Gloas pins its targeted EIP revisions and warns they can differ from current published texts; both version baselines are available in the cited sources.

The meta-EIP leaves Mainnet activation blank ([P:eip-7773.md#L62-L70][f24]). The reviewed opcode and raised-size behavior is selected by Amsterdam in Erigon, as cited below. No live-mainnet vulnerability is asserted or detailed.

### Important correction to the brief's older EIP-8024 expectations

The current published EIP and pinned EELS agree on **DUPN = 0xe6, SWAPN = 0xe7, EXCHANGE = 0xe8**, modular/XOR immediate decoding, and **unchanged JUMPDEST analysis**. They do not specify raw immediate-plus-one decoding or masking the new immediates as PUSH data: [P:eip-8024.md#L30-L93][f25]; [S:stack.py#L25-L96][f26]; [S:runtime.py#L45-L69][f27]. Erigon follows these current rules. 

## Candidates

**None retained.** No concrete difference in gas, state, validity or encoding survived static review, so no six-part candidate or severity rating is emitted. Overall confidence is moderate; this is not runtime certification or proof of bug absence.

## Rules checked and found consistent

“Consistent” means the cited code paths agree by inspection with the cited current specification; it does not mean a test was executed.

| Rule and boundary examined | Specification | Erigon evidence and result |
| --- | --- | --- |
| 7843: opcode, result, and gas | [S:block.py#L264-L294][f28] | [E:opcodes.go#L106-L112][f29]; [E:instructions.go#L770-L773][f30]; [E:evm.go#L81-L100][f31]; [E:eips.go#L339-L369][f32]; [E:gas.go#L26-L30][f33]. 0x4b pushes the current header's uint64 slot into a zero-extended stack word; gas is 2, not the block number or a timestamp-derived slot. |
| 7843: header layout and RLP | [S:blocks.py#L241-L269][f34] | [E:block.go#L174-L184][f35]; [E:block.go#L326-L350][f36]; [E:block.go#L515-L540][f37]. Slot is encoded after BAL hash, included in length calculation, decoded as uint64, and list end is checked. Absent versus present-zero are distinct. |
| 7843: header presence before/after fork | [P:eip-7843.md#L44-L52][f38] | [E:merge.go#L391-L409][f39]. Amsterdam requires a slot field; a pre-Amsterdam PoS header carrying one is rejected. This is a presence rule, not an EL-derived slot counter. |
| 7843: payload attributes and imported payload | [C:validator.md#L360-L371][f40] | [E:engine_server.go#L252-L263][f41]; [E:engine_server.go#L951-L954][f42]; [E:create_block.go#L201-L209][f43]; [E:engine_server.go#L383-L430][f44]. V4 attributes require slot; builder copies it exactly. V5 import requires and copies payload slot; pre-V5 rejects a supplied slot. Header/payload value is not separately recomputed. |
| 7843: actual beacon slot and first Amsterdam block | [C:fork-choice.md#L708-L712][f45] | [E:on_execution_payload.go#L188-L195][f46] plus current-header context and builder paths above. Payload must match beacon block slot in Caplin. The first post-fork header receives the CL-provided slot even when its parent has no slot; it is neither forced to zero nor inferred as parent+1. Skipped slots remain representable. |
| 7843: Amsterdam-at-genesis special case | [S:blocks.py#L241-L269][f34] | [E:genesis_write.go#L614-L627][f48]. A supplied genesis slot is retained; otherwise a present uint64 zero is inserted under Amsterdam. This default is for genesis, not the first later fork block. |
| 7843/8024: invalid opcodes before Amsterdam | [S:__init__.py#L7-L19][f49] | [E:interpreter.go#L417-L428][f50]; [E:jump_table.go#L105-L119][f51]; [E:jump_table.go#L1211-L1219][f52]; [E:instructions.go#L1410-L1412][f53]. Only Amsterdam installs these opcodes; earlier instruction sets inherit undefined entries. Fast stack-op paths also require a nonzero active jump-table cost. |
| 7954: exact runtime and initcode limits | [S:interpreter.py#L80-L81][f54] | [E:protocol.go#L148-L151][f55]; [E:common.go#L83-L118][f56]. Amsterdam selects 65,536 / 131,072. Strict greater-than comparison permits equality; earlier rules retain 24 / 48 KiB. |
| 7954: top-level contract creation | [S:transactions.py#L631-L638][f57] | [E:txn_executor.go#L415-L459][f58]. Destination-less transactions use Amsterdam initcode cap, including ApplyFrame. At 131,072 no size error; at 131,073 validation fails. Ordinary call calldata is not subjected to the creation cap. |
| 7954: CREATE and CREATE2 initcode checks | [S:system.py#L210-L222][f60]; [S:system.py#L270-L286][f61] | [E:gas_table.go#L356-L403][f62]. Both use the raised cap, reject oversized or uint64-overflowing sizes, and allow equality. An oversized nested create exceptionally halts the caller frame through the interpreter's gas error path, rather than merely returning a child failure: [E:vm_run_gen.go#L878-L949][f63]. |
| 7954: rounded initcode word gas | [S:gas.py#L878-L883][f64] | [E:common.go#L73-L80][f65]; [E:gas_table.go#L356-L403][f62]; [E:intrinsic_gas.go#L126-L136][f67]; [E:protocol.go#L49-L53][f68]. Still 2 per ceil(size/32); CREATE2 also charges 6 per hash word. Top-level intrinsic path uses same word rounding. 131,072 bytes means 4,096 words and 8,192 initcode gas, not a doubled rate. |
| 7954: code deposit, common creation result | [S:interpreter.py#L360-L389][f69] | [E:evm.go#L768-L848][f70]. Common creation logic checks output length before storing it; 65,536 is permitted subject to prefix, gas and other rules; 65,537 fails and reverts. Amsterdam code deposit uses hash-word execution gas plus per-byte state gas, matching current EELS's concurrent EIP-8037 rules, not an assumed unchanged 200 execution gas/byte. |
| 7954: EIP-7702 delegation to newly large code | [S:interpreter.py#L183-L196][f72] | [E:intra_block_state.go#L945-L959][f73]; [E:evm.go#L289-L297][f74]. Resolution loads target code without reapplying the old 24 KiB cap. Creation is size-checked where code is deposited; calls through delegation do not incorrectly reject a legal 64 KiB target. |
| 8024: immediate decoding and index origins | [S:stack.py#L25-L96][f26] | [E:opcodes.go#L211-L215][f75]; [E:instructions.go#L1510-L1602][f76]; [E:stack.go#L131-L149][f77]. Single decode is (x+145) mod 256; pair decode uses x XOR 143 and the two specified branches. DUPN's helper receives n-1; swaps receive depths n and m. These offsets agree with EELS's one-based positions. |
| 8024: invalid immediates and underflow | [S:stack.py#L213-L314][f78] | [E:instructions.go#L1510-L1602][f76]. Single opcodes reject 91..127, require n / n+1 stack items; EXCHANGE rejects 82..127 and requires max(n,m)+1. Spec decode always has n<m on its allowed domain, making max(n,m)+1 equivalent to m+1. No byte arithmetic wrap narrows the checks. |
| 8024: missing immediate at end of code | [P:eip-8024.md#L46-L75][f80] | [E:instructions.go#L1510-L1602][f76]. Missing byte defaults to zero, not invalid-opcode. Thus DUPN needs 145 items, SWAPN 146, EXCHANGE 17 (decoded pair 9,16). Each consumes the opcode plus one logical immediate byte. |
| 8024: 1024 stack limit and fixed gas | [S:stack.py#L115-L131][f84]; [S:gas.py#L221-L229][f85] | [E:eips.go#L339-L369][f32]; [E:stack_table.go#L26-L28][f87]; [E:vm_run_gen.go#L878-L949][f63]; [E:gas.go#L26-L30][f33]. DUPN permits 1023→1024 and rejects push at 1024; swaps preserve height and can run with 1024. All three cost 3; insufficient gas exceptionally halts. |
| 8024: generated fast path versus general path | [S:stack.py#L213-L314][f78] | [E:vm_run_gen.go#L779-L857][f90]; [E:vm_run_gen.go#L878-L949][f63]. Fast path repeats the same zero-default, invalid ranges, decoders, required heights and stack operations; charges 3 and increments pc twice. Inactive opcode, insufficient gas or full-stack DUPN falls through to normal validation rather than bypassing it. |
| 8024/7954: jump destinations, including beyond old size cap | [S:runtime.py#L45-L69][f27] | [E:analysis.go#L22-L59][f92]. Generic analyzer iterates full code length and skips only PUSH1..PUSH32 payloads. New stack-op immediates are not newly masked: a following 0x5b stays a jump destination; executing that opcode/immediate pair fails its immediate check. A following PUSH still masks its own data. No 24 KiB cutoff in this analyzer. |

## Reth cross-check at the pinned main head

Reth selects Amsterdam by current timestamp in [R:convert.rs#L16-L28][f93]. Its header validation also requires slot after Amsterdam and rejects it before Amsterdam: [R:lib.rs#L250-L264][f94]. Its block environment uses the current header slot: [R:convert.rs#L67-L84][f95]. These agree with Erigon and the spec, including not inventing a parent-based first-fork slot.

For the EVM rules, Reth's pinned EVM2 dependency selects Amsterdam sizes in [V:mod.rs#L101-L107][f97], with the same numeric limits in [V:constants.rs#L8-L22][f98]. Its stack instructions and immediate decoders in [V:stack.rs#L26-L59][f99] agree with Erigon and EELS. This cross-check supports the rules above; it is not a separate complete Reth audit.

## Disproof pass

The strongest initial suspicions were rejected by tracing the sources in the rule table:

1. **Jumpdest masking:** the current EIP preserves old jump targets. Forbidden immediate bytes prevent normal execution of the ambiguous encodings; changing analysis would itself break compatibility.
2. **Index offsets:** Erigon's DUPN helper takes zero-based depth, so n-1 selects the nth item. EXCHANGE uses two absolute decoded depths, not a distance or n+m. Its valid decode domain has n<m, so max(n,m)+1 equals the spec's m+1. Checked boundary immediates 0,81,82,90,91,127,128,255 against the formulas.
3. **Fast-path bypass:** full-stack DUPN and insufficient gas fall through to normal bounds/gas validation. Both execution paths zero-pad a missing immediate and advance pc twice after success.
4. **Partial size-limit update:** traced top-level and nested create through the raised-limit helpers and common deposit check; followed 7702 resolution to target code. No remaining old-cap check was found in those paths. Changed deposit gas matches current EELS's concurrent EIP-8037 rule.
5. **First-fork slot zero:** the current CL slot is supplied and copied; absence of a slot on the parent does not determine the child's slot. The present-zero genesis default is separate.

These are static disproof attempts, not executed client tests. No concrete divergent outcome survived them.

## Known-check and public test evidence

Searches used GitHub's public issues search API, which includes issues and PRs across **both open and closed states** when no state filter is present. All responses below reported `incomplete_results: false`; all fit in one 100-result page. Number searches also include irrelevant issue/PR numbers, so a hit is not itself evidence of a known EIP bug.

| Query (exact GitHub search terms) | Hits |
| --- | --- |
| [repo:erigontech/erigon 7843](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+7843&per_page=100) | 12 |
| [repo:erigontech/erigon SLOTNUM](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+SLOTNUM&per_page=100) | 6 |
| [repo:erigontech/erigon 7954](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+7954&per_page=100) | 19 |
| [repo:erigontech/erigon "contract size"](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+%22contract+size%22&per_page=100) | 42 |
| [repo:erigontech/erigon 8024](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+8024&per_page=100) | 15 |
| [repo:erigontech/erigon SWAPN](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+SWAPN&per_page=100) | 10 |
| [repo:erigontech/erigon DUPN](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+DUPN&per_page=100) | 11 |
| [repo:erigontech/erigon EXCHANGE](https://api.github.com/search/issues?q=repo%3Aerigontech%2Ferigon+EXCHANGE&per_page=100) | 77 |
| [repo:ethereum/execution-specs "Test Release Tracker"](https://api.github.com/search/issues?q=repo%3Aethereum%2Fexecution-specs+%22Test+Release+Tracker%22&per_page=100) | 36 |

Relevant public records found (historical known items, **not new candidates**):

| EIP | Public record and observed state | Consequence for this review |
| --- | --- | --- |
| 7843 | [#19147](https://github.com/erigontech/erigon/pull/19147), closed; [#23449](https://github.com/erigontech/erigon/pull/23449), closed | Initial SLOTNUM implementation; later missing Amsterdam genesis slot fix. The pinned genesis path now inserts a slot field, so the historical omission is not retained. |
| 7843 | [#24453](https://github.com/erigontech/erigon/pull/24453), closed | Embedded Caplin assembled-payload conversion previously lost slot and BAL. This is already reported history, not a new issue inferred from the search. |
| 7954 | [#22085](https://github.com/erigontech/erigon/issues/22085), closed; [#22088](https://github.com/erigontech/erigon/pull/22088), closed | Tracks update to 64 KiB, already present at the code pin. |
| 7954 | [#21363](https://github.com/erigontech/erigon/issues/21363), closed | Public Hive EEST max-initcode test failure report: an oversized transaction was rejected with “previously known bad block” rather than the expected mapped reason. This report alone does not establish acceptance of an invalid block or a current size-limit bug. |
| 8024 | [#19626](https://github.com/erigontech/erigon/pull/19626), closed | Historical decoder/range drift and fixture dependencies were already public. The current modular/XOR formulas and EXCHANGE rejection range match the revised spec. |
| 8024 | [#18853](https://github.com/erigontech/erigon/pull/18853), closed; [#20529](https://github.com/erigontech/erigon/pull/20529), closed | Missing-immediate test coverage and reporting invalid immediate operands were already tracked. Current handlers supply zero for a missing byte. |

There is no retained candidate to label “known” or “not found.” Related historical records were found; no novel defect was established.

The Test Release Tracker search returned 36 records. The Glamsterdam trackers read include [#2915](https://github.com/ethereum/execution-specs/issues/2915) (v6.0.0, closed), [#3518](https://github.com/ethereum/execution-specs/issues/3518) (v8.1.4, closed), and [#3217](https://github.com/ethereum/execution-specs/issues/3217) (`tests@v21.0.0`, open). Tracker #3217 records boundary/transition coverage for 7954, overflow/context/genesis/transition coverage for 7843, and gas/invalid-immediate/JUMPDEST coverage for 8024. Final all-client sweeps remain unchecked: **this does not establish a pass at the Erigon pin**.

[Hive Glamsterdam listing](https://hive.ethpandaops.io/glamsterdam/listing.jsonl): direct public retrieval returned **HTTP 403 Forbidden**; browser retrieval also failed. Per-run results could not be inspected. No Hive pass/fail conclusion is drawn; #21363 is issue evidence, not an independently retrieved run.

## URLs read and limits

Pinned source URLs relied on are indexed by the link definitions below; code contents were read from the corresponding raw.githubusercontent.com URLs. Publication, API, search, issue/PR and Hive URLs are inline above. Issue/PR bodies were read in public API search responses. Repository content was treated as data.

Limits: static inspection only; no runtime differential tests, complete optional-backend/architecture audit, transaction-pool audit, or review of other assigned clients/EIPs. Hive retrieval failed. A negative review does not prove absence of bugs.

[f1]: https://github.com/paradigmxyz/reth/blob/e0378eb691aa2770bb96fd4ecec2f4445a2a3e7c/Cargo.toml#L440-L443
[f2]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-7773.md#L21-L40
[f3]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/__init__.py#L1-L38
[f4]: https://github.com/ethereum/consensus-specs/blob/8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2/specs/gloas/beacon-chain.md#L163-L186
[f23]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-7773.md#L42-L55
[f24]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-7773.md#L62-L70
[f25]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-8024.md#L30-L93
[f26]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/stack.py#L25-L96
[f27]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/runtime.py#L45-L69
[f28]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/block.py#L264-L294
[f29]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/opcodes.go#L106-L112
[f30]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/instructions.go#L770-L773
[f31]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/protocol/evm.go#L81-L100
[f32]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/eips.go#L339-L369
[f33]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/gas.go#L26-L30
[f34]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/blocks.py#L241-L269
[f35]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/types/block.go#L174-L184
[f36]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/types/block.go#L326-L350
[f37]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/types/block.go#L515-L540
[f38]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-7843.md#L44-L52
[f39]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/protocol/rules/merge/merge.go#L391-L409
[f40]: https://github.com/ethereum/consensus-specs/blob/8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2/specs/gloas/validator.md#L360-L371
[f41]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/engineapi/engine_server.go#L252-L263
[f42]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/engineapi/engine_server.go#L951-L954
[f43]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/builder/create_block.go#L201-L209
[f44]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/engineapi/engine_server.go#L383-L430
[f45]: https://github.com/ethereum/consensus-specs/blob/8a80ffa82bd49aac0dd6db17f9e8150aa257fbc2/specs/gloas/fork-choice.md#L708-L712
[f46]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/cl/phase1/forkchoice/on_execution_payload.go#L188-L195
[f48]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/state/genesiswrite/genesis_write.go#L614-L627
[f49]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/__init__.py#L7-L19
[f50]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/interpreter.go#L417-L428
[f51]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/jump_table.go#L105-L119
[f52]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/jump_table.go#L1211-L1219
[f53]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/instructions.go#L1410-L1412
[f54]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/interpreter.py#L80-L81
[f55]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/protocol/params/protocol.go#L148-L151
[f56]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/common.go#L83-L118
[f57]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/transactions.py#L631-L638
[f58]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/protocol/txn_executor.go#L415-L459
[f60]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/system.py#L210-L222
[f61]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/system.py#L270-L286
[f62]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/gas_table.go#L356-L403
[f63]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/vm_run_gen.go#L878-L949
[f64]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/gas.py#L878-L883
[f65]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/common.go#L73-L80
[f67]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/protocol/mdgas/intrinsic_gas.go#L126-L136
[f68]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/protocol/params/protocol.go#L49-L53
[f69]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/interpreter.py#L360-L389
[f70]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/evm.go#L768-L848
[f72]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/interpreter.py#L183-L196
[f73]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/state/intra_block_state.go#L945-L959
[f74]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/evm.go#L289-L297
[f75]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/opcodes.go#L211-L215
[f76]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/instructions.go#L1510-L1602
[f77]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/stack.go#L131-L149
[f78]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/instructions/stack.py#L213-L314
[f80]: https://github.com/ethereum/EIPs/blob/d4c575521d99ec881a444ab3af604e684b5f0743/EIPS/eip-8024.md#L46-L75
[f84]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/stack.py#L115-L131
[f85]: https://github.com/ethereum/execution-specs/blob/7f2f4c9bf6d73b09ecb8b24eb14d08bf0cf0247b/src/ethereum/forks/amsterdam/vm/gas.py#L221-L229
[f87]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/stack_table.go#L26-L28
[f90]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/vm_run_gen.go#L779-L857
[f92]: https://github.com/erigontech/erigon/blob/f32a39d1e5f87a9ec3a9ce2858171c74acc3c242/execution/vm/analysis.go#L22-L59
[f93]: https://github.com/paradigmxyz/reth/blob/e0378eb691aa2770bb96fd4ecec2f4445a2a3e7c/crates/ethereum/evm/src/convert.rs#L16-L28
[f94]: https://github.com/paradigmxyz/reth/blob/e0378eb691aa2770bb96fd4ecec2f4445a2a3e7c/crates/ethereum/consensus/src/lib.rs#L250-L264
[f95]: https://github.com/paradigmxyz/reth/blob/e0378eb691aa2770bb96fd4ecec2f4445a2a3e7c/crates/ethereum/evm/src/convert.rs#L67-L84
[f97]: https://github.com/alloy-rs/evm2/blob/4a53ec080dfbb904e98e3ca8f0abcc11ab8abae0/crates/evm2/src/version/mod.rs#L101-L107
[f98]: https://github.com/alloy-rs/evm2/blob/4a53ec080dfbb904e98e3ca8f0abcc11ab8abae0/crates/evm2/src/constants.rs#L8-L22
[f99]: https://github.com/alloy-rs/evm2/blob/4a53ec080dfbb904e98e3ca8f0abcc11ab8abae0/crates/evm2/src/interpreter/instructions/stack.rs#L26-L59
