go-ethereum/core/vm
phrwlk 527ea11e50
core/vm/runtime: don't overwrite user input with default value (#33510)
runtime.setDefaults was unconditionally assigning cfg.Random =
&common.Hash{}, which silently overwrote any caller-provided Random
value. This made it impossible to simulate a specific PREVRANDAO and
also forced post-merge rules whenever London was active, regardless of
the intended environment.

This change only initializes cfg.Random when it is nil, matching how
other fields in Config are defaulted. Existing callers that did not set
Random keep the same behavior (a non-nil zero hash still enables
post-merge semantics), while callers that explicitly set Random now get
their value respected.
2026-04-13 15:46:13 +02:00
..
program all: fix problematic function name in comment (#32513) 2025-08-29 08:54:23 +08:00
runtime core/vm/runtime: don't overwrite user input with default value (#33510) 2026-04-13 15:46:13 +02:00
testdata core/vm: switch modexp gas computation to uint64 (#32527) 2025-09-08 13:33:10 +02:00
analysis_legacy.go core/vm: add configurable jumpdest analysis cache (#32143) 2025-08-01 13:57:38 +02:00
analysis_legacy_test.go core/vm: using testing.B.Loop (#32660) 2025-09-19 17:06:55 -06:00
common.go core: Implement eip-7954 increase Maximum Contract Size (#33832) 2026-03-12 10:23:49 +08:00
contract.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
contracts.go core/vm: touch precompile object with Amsterdam enabled (#33742) 2026-02-24 21:55:10 +08:00
contracts_fuzz_test.go core/vm: touch precompile object with Amsterdam enabled (#33742) 2026-02-24 21:55:10 +08:00
contracts_test.go core/vm: touch precompile object with Amsterdam enabled (#33742) 2026-02-24 21:55:10 +08:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
errors.go core/vm: include operand in error message (#34635) 2026-04-13 14:13:33 +02:00
evm.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
gas.go core/vm: rework gas measurement for call variants (#33648) 2026-03-19 10:02:49 -06:00
gas_table.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
gas_table_test.go core, core/vm: implement EIP-7708 (#33645) 2026-03-23 22:29:53 +08:00
gascosts.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
instructions.go core/vm: include operand in error message (#34635) 2026-04-13 14:13:33 +02:00
instructions_test.go core/vm: include operand in error message (#34635) 2026-04-13 14:13:33 +02:00
interface.go core/state: fix tracer hook for EIP-7708 burn logs (#34688) 2026-04-09 09:12:35 +08:00
interpreter.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
interpreter_test.go core, core/vm: implement EIP-7708 (#33645) 2026-03-23 22:29:53 +08:00
jump_table.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
jump_table_export.go core/vm: use amsterdam jump table in lookup (#33947) 2026-03-04 13:42:25 +08:00
jump_table_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
jumpdests.go core/vm: add configurable jumpdest analysis cache (#32143) 2025-08-01 13:57:38 +02:00
memory.go core/vm: improve memory resize (#33056) 2025-11-26 16:50:16 +01:00
memory_table.go core/vm, cmd/evm: remove EOF (#32000) 2025-06-11 14:50:46 +02:00
memory_test.go core/vm: improve memory resize (#33056) 2025-11-26 16:50:16 +01:00
opcodes.go core/vm: implement eip-7843: SLOTNUM (#33589) 2026-02-26 13:53:46 +01:00
operations_acl.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
operations_verkle.go core: turn gas into a vector <regularGas, stateGas> (#34691) 2026-04-13 14:09:42 +08:00
stack.go core/vm: improved stack swap performance (#30249) 2024-08-06 14:38:47 +02:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00