Sina Mahmoodi
b267363c65
fix nil checks in runtime
2024-03-25 15:10:30 -04:00
Martin Holst Swende
8ae03dd42a
core/vm: documentation + minor refactoring
2024-03-18 15:56:36 -04:00
Matthieu Vachon
17fcdfaadf
Fixed incorrect captureBeging/captureEnd in EVM
2024-03-15 10:58:50 -04:00
Matthieu Vachon
3834f135a9
Series of changes to get backport to 1.13.5 working
2024-03-14 16:53:22 -04:00
Sina Mahmoodi
77a701cca4
rm extra param
...
# Conflicts:
# core/vm/evm.go
2024-03-14 16:24:51 -04:00
Sina Mahmoodi
77486e91fb
fix lint issue
2024-03-14 16:23:56 -04:00
Sina Mahmoodi
d0a86c45b5
rm canceler
2024-03-14 16:23:56 -04:00
Sina Mahmoodi
a476051c48
add fn refundGas
2024-03-14 16:23:56 -04:00
Sina Mahmoodi
94fc0b4a9e
replace opcode with byte
...
# Conflicts:
# core/tracing/hooks.go
# core/vm/evm.go
# core/vm/instructions.go
# eth/tracers/js/tracer_test.go
2024-03-14 16:23:54 -04:00
Sina Mahmoodi
5c6fb316b7
rm OnKeccakPreimage
...
# Conflicts:
# core/tracing/hooks.go
2024-03-14 16:16:43 -04:00
Sina Mahmoodi
03e48ee451
rename tracer methods to On pattern
...
# Conflicts
# core/vm/interpreter.go
# eth/tracers/directory/noop.go
# eth/tracers/js/goja.go
# eth/tracers/live/noop.go
# eth/tracers/logger/logger.go
# eth/tracers/logger/logger_json.go
# eth/tracers/native/4byte.go
# eth/tracers/native/call.go
# eth/tracers/native/call_flat.go
# eth/tracers/native/mux.go
2024-03-14 16:16:18 -04:00
Sina Mahmoodi
25a3a744c3
rename Capture hooks to On
...
# Conflicts:
# cmd/evm/internal/t8ntool/execution.go
# core/vm/instructions.go
# eth/tracers/directory/noop.go
# eth/tracers/internal/tracetest/calltrace_test.go
# eth/tracers/internal/tracetest/flat_calltrace_test.go
# eth/tracers/internal/tracetest/prestate_test.go
# eth/tracers/js/goja.go
# eth/tracers/js/tracer_test.go
# eth/tracers/live/noop.go
# eth/tracers/native/4byte.go
# eth/tracers/native/call.go
# eth/tracers/native/call_flat.go
# eth/tracers/native/mux.go
# eth/tracers/native/prestate.go
2024-03-14 16:07:18 -04:00
Sina Mahmoodi
a2ad953d21
rm old logger file
2024-03-14 16:03:37 -04:00
Sina Mahmoodi
688f0b9654
rename scopeContext to opContext
2024-03-14 16:03:07 -04:00
Sina Mahmoodi
39fc9dcafb
move logger interface to core/tracing
...
# Conflicts:
# cmd/evm/internal/t8ntool/execution.go
# consensus/beacon/consensus.go
# consensus/ethash/consensus.go
# consensus/misc/dao.go
# core/evm.go
# core/genesis.go
# core/state/state_object.go
# core/state/state_test.go
# core/state/statedb.go
# core/state/statedb_fuzz_test.go
# core/state/statedb_test.go
# core/state/sync_test.go
# core/state/trie_prefetcher_test.go
# core/state_transition.go
# core/txpool/blobpool/blobpool_test.go
# core/txpool/legacypool/legacypool2_test.go
# core/txpool/legacypool/legacypool_test.go
# core/vm/evm.go
# core/vm/instructions.go
# core/vm/interface.go
# eth/api_debug_test.go
# internal/ethapi/api.go
# tests/block_test_util.go
# tests/state_test_util.go
2024-03-14 15:59:21 -04:00
Sina Mahmoodi
e1c669b3aa
moaar fixes
...
# Conflicts:
# core/state/state_test.go
# core/state/statedb_fuzz_test.go
# core/state/statedb_test.go
# core/state/sync_test.go
# core/state/trie_prefetcher_test.go
# core/txpool/blobpool/blobpool_test.go
# core/txpool/legacypool/legacypool2_test.go
# core/txpool/legacypool/legacypool_test.go
# eth/api_debug_test.go
2024-03-14 13:56:15 -04:00
Sina Mahmoodi
29ebfb30c3
fixes, rm t8ntool tracewriter
...
# Conflicts:
# cmd/evm/internal/t8ntool/execution.go
# cmd/evm/internal/t8ntool/transition.go
# core/vm/instructions.go
# eth/tracers/internal/tracetest/calltrace_test.go
# eth/tracers/internal/tracetest/flat_calltrace_test.go
# eth/tracers/internal/tracetest/prestate_test.go
# eth/tracers/js/tracer_test.go
# eth/tracers/logger/logger_test.go
# eth/tracers/tracers_test.go
# tests/block_test_util.go
# tests/state_test_util.go
2024-03-14 13:51:16 -04:00
Sina Mahmoodi
e0b96540b7
Add canceler interface
2024-03-14 13:42:40 -04:00
Sina Mahmoodi
4e43718bd0
full struct-based tracing infra
...
# Conflicts:
# consensus/beacon/consensus.go
# consensus/ethash/consensus.go
# consensus/misc/dao.go
# core/blockchain.go
# core/evm.go
# core/genesis.go
# core/state/dump.go
# core/state/state_object.go
# core/state/statedb.go
# core/state_transition.go
# core/vm/evm.go
# core/vm/instructions.go
# core/vm/interface.go
# internal/ethapi/api.go
2024-03-14 12:09:18 -04:00
Sina Mahmoodi
4df6904051
use struct for tracing events
...
# Conflicts:
# core/blockchain.go
# core/state/state_object.go
# core/state/statedb.go
2024-03-14 11:57:58 -04:00
Matthieu Vachon
7f8926e716
Backporting extended-tracer branch
...
We backported branch `extended-tracer` at commit 3078dfe80b back to v1.13.5 of Geth.
To achieve the backport, we did:
- git checkout -b extended-tracer-squashed
- git reset --hard 3078dfe80b
- git reset --mixed fc380f52ef # This was the latest merged commit not from `extended-tracer` branch
- git commit -A -m "<This message>"
- git checkout v1.13.5
- git checkout -b extended-tracer-backport-v1.13.5
- git cherry-pick extended-tracer-squashed
2024-02-06 13:06:08 -05:00
Péter Szilágyi
470dba8fc1
core/vm: set basefee to 0 internally on eth_call ( #28470 )
...
* core/vm: set basefee to 0 internally on eth_call
* core: nicer 0-basefee, make it work for blob fees too
* internal/ethapi: make tests a bit more complex
* core: fix blob fee checker
* core: make code a bit more readable
* core: fix some test error strings
* core/vm: Get rid of weird comment
* core: dict wrong typo
2023-11-08 11:22:08 +02:00
lmittmann
a3be38127c
core/vm: performance tweak of OpCode.String() ( #28453 )
...
make `opCodeToString` a `[256]string` array
Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
2023-11-02 08:54:28 +02:00
kevaundray
a6a0ae45b6
crypto/kzg4844: use the new trusted setup file and format ( #28383 )
...
Changes the trusted_setup to the one created during the kzg-ceremony. The trusted setup file can be found in the consensus specs: https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/trusted_setups/trusted_setup_4096.json
---------
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2023-10-22 16:05:04 +02:00
0xbstn
fa6107c85e
core: fix typos ( #28255 )
...
fixes various typos in core
2023-10-10 10:22:03 +02:00
Marius van der Wijden
c39cbc1a78
core: implement BLOBBASEFEE opcode (0x4a) ( #28098 )
...
Implements "EIP-7516: BLOBBASEFEE opcode" for cancun, as per spec: https://eips.ethereum.org/EIPS/eip-7516
2023-10-02 05:49:29 -04:00
hzysvilla
4de89e92e4
core/vm: minor code formatting ( #28199 )
...
Adding a space beween function opOrigin() and opcCaller() in instruciton.go.
Adding a space beween function opkeccak256() and opAddress() in instruciton.go.
2023-09-26 11:58:01 +03:00
Guido Vranken
0ba2d3cfa4
core/vm/runtime: Add Random field to config ( #28001 )
2023-08-25 04:05:33 -04:00
Martin Holst Swende
e13fa32cea
core/vm: update 4844 - point evaluation precompile address ( #27874 )
2023-08-08 15:54:19 +03:00
Darioush Jalali
57cdbaef30
all: remove trailing whitespace ( #27741 )
2023-08-05 00:24:32 +02:00
Péter Szilágyi
57268f7e6c
all: rename dataGas to blobGas ( #27789 )
2023-07-27 16:53:28 +03:00
jwasinger
988d84aa7c
core/state, core/vm: implement EIP 6780 ( #27189 )
...
EIP-6780: SELFDESTRUCT only in same transaction
> SELFDESTRUCT will recover all funds to the caller but not delete the account, except when called in the same transaction as creation
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-07-17 13:02:18 -04:00
Martin Holst Swende
b058cf454b
core, tests: EIP-4844 transaction processing logic ( #27721 )
...
This updates the reference tests to the latest version and also adds logic
to process EIP-4844 blob transactions into the state transition. We are now
passing most Cancun fork tests.
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-07-15 23:27:36 +02:00
ucwong
99e000cb13
core/vm: use types.EmptyCodeHash ( #27729 )
2023-07-15 17:45:57 +02:00
jwasinger
d233b6b23a
core: replace instances of 'suicide' with 'selfdestruct' to improve code consistency. ( #27716 )
...
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
2023-07-15 10:35:30 -04:00
Charles Cooper
5c9cbc218a
core/vm: implement EIP-5656, mcopy instruction ( #26181 )
...
Implements [EIP 5656](https://eips.ethereum.org/EIPS/eip-5656 ), MCOPY instruction, and enables it for Cancun.
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-07-11 03:55:34 -04:00
Martin Holst Swende
af8b138c1a
core/vm: define cancun + enable 1153 (tstore/tload) in cancun ( #27663 )
2023-07-10 14:40:31 -04:00
Guillaume Ballet
85b8d1c06c
params, trie: add verkle fork management + upgrade go-verkle ( #27464 )
...
* params, trie: add verkle fork management + upgrade go-verkle
* remove the two verkle files
* core, eth, params: add missing function
* Gary's feedback
* remove trie/utils/verkle.go
* add verkle block override
---------
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2023-06-28 12:08:48 +03:00
Marius van der Wijden
d7ea278fe3
core/vm: move TSTORE,TLOAD to correct opcode nums ( #27613 )
...
* core/vm: move TSTORE,TLOAD to correct opcode nums
* core/vm: cleanup
2023-06-27 03:25:08 -04:00
Marius van der Wijden
091c25d983
go.mod: update kzg libraries to use big-endian ( #27510 )
...
* go.mod: update kzg libraries to use big-endian
* go.sum: ran go mod tidy
* core/testdata/precompiles: fix blob verification test
* core/testdata/precompiles: fix blob verification test
2023-06-19 15:08:13 +03:00
Marius van der Wijden
c537ace249
core: 4844 opcode and precompile ( #27356 )
...
* core: crypto: implement BLOBHASH and pointEval precompile
* core: crypto: fixed nitpicks, moved precompile return value
* core/vm: fix review comments
2023-06-05 16:43:25 +03:00
rjl493456442
a14301823e
all: new empty trie with types.EmptyRootHash instead of null ( #27230 )
2023-05-11 10:19:42 +03:00
Alex Beregszaszi
3f7afc3f57
core/vm: order opcodes properly ( #27113 )
2023-04-20 02:52:00 -04:00
Delweng
5e4d726e2a
params: remove EIP150Hash from chainconfig ( #27087 )
...
The EIP150Hash was an idea where, after the fork, we hardcoded the forked hash as an extra defensive mechanism. It wasn't really used, since forks weren't contentious and for all the various testnets and private networks it's been a hassle to have around.
This change removes that config field.
---------
Signed-off-by: jsvisa <delweng@gmail.com>
2023-04-18 03:49:09 -04:00
Martin Holst Swende
ab1a404b01
all: remove debug-field from vm config ( #27048 )
...
This PR removes the Debug field from vmconfig, making it so that if a tracer is set, debug=true is implied.
---------
Co-authored-by: 0xTylerHolmes <tyler@ethereum.org>
Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com>
2023-04-04 09:50:13 -04:00
joohhnnn
9b1a82c600
core/vm: clarify comment ( #27045 )
2023-04-04 02:59:40 -04:00
s7v7nislands
881fed032c
core/vm: use atomic.Bool ( #26951 )
...
Make use of new atomic types
---------
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-03-27 09:40:20 -04:00
Martin Holst Swende
b3f43c89b3
core/vm: expose jumptable constructors ( #26880 )
...
When interacting with geth as a library to e.g. produce state tests, it is desirable to obtain the consensus-correct jumptable definition for a given fork. This changes adds accessors so the instructionset can be obtained and characteristics about opcodes can be inspected.
2023-03-21 07:14:47 -04:00
rjl493456442
bba2a1bac5
core: show db error-info in case of mismatched hash root ( #26870 )
...
When a database failure occurs, bubble it up a into statedb, and report it in suitable places, such as during a 'bad block' report.
2023-03-16 03:12:34 -04:00
xiyang
ca61048178
code/vm: fix comment typo ( #26865 )
...
it should be constantinople rather than contantinople
2023-03-13 09:30:32 +02:00