codchen
c3763a0835
create with address
2024-05-14 12:59:52 +08:00
codchen
beaf8119e7
Update depth for precompile calls
2024-05-01 12:32:54 +08:00
codchen
0c20536427
Pass calling contract to precompiles
2024-04-09 13:23:31 +08:00
codchen
92059878bb
Pass ReadOnly flag to precompiles
2024-04-08 14:54:24 +08:00
Matthieu Vachon
caf980e5ee
Merge branch 'extended-tracer-backport-1.13.5' into feature/sei-extended-tracer-more-backport
...
# Conflicts:
# core/state_processor.go
# eth/tracers/api.go
# lib/ethapi/api.go
# lib/ethapi/transaction_args.go
2024-03-25 16:19:42 -04:00
Sina Mahmoodi
ca8ae560cb
drop directory pkg
...
# Conflicts:
# cmd/evm/internal/t8ntool/transition.go
2024-03-25 15:18:37 -04:00
Sina Mahmoodi
b267363c65
fix nil checks in runtime
2024-03-25 15:10:30 -04:00
Matthieu Vachon
9beae74e50
Merge branch 'extended-tracer-backport-1.13.5' into extended-tracer-sei
2024-03-18 16:33:37 -04:00
Martin Holst Swende
8ae03dd42a
core/vm: documentation + minor refactoring
2024-03-18 15:56:36 -04:00
Matthieu Vachon
7ea867c727
Reverted some changes that are not required anymore with the new tracing interface
...
The new tracing interface avoids an import cycle we have before around `core`, `core/vm` and `core/state`. So I can revert some of the changes needed previously.
2024-03-15 17:16:44 -04:00
Matthieu Vachon
45cb5cd202
Merge branch 'extended-tracer-backport-1.13.5' into extended-tracer-sei
...
# Conflicts:
# accounts/abi/bind/backends/simulated.go
# cmd/evm/blockrunner.go
# cmd/geth/config.go
# cmd/geth/snapshot.go
# core/genesis.go
# core/genesis_test.go
# core/state_processor.go
# core/vm/contracts.go
# eth/api_backend.go
# eth/state_accessor.go
# eth/tracers/api.go
# eth/tracers/api_test.go
# eth/tracers/js/goja.go
# les/api_backend.go
# les/state_accessor.go
# lib/ethapi/api.go
# light/odr_test.go
# tests/block_test_util.go
2024-03-15 15:37:30 -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
39b25c9163
Merge remote-tracking branch 'sei/master' into extended-tracer-sei
...
# Conflicts:
# core/vm/contracts.go
# core/vm/evm.go
2024-02-22 17:03:04 -05:00
codchen
6f9b23cefe
pass value to precompile calls
2024-02-22 15:30:53 +08:00
Matthieu Vachon
301839fbfe
Merge branch 'extended-tracer-backport-1.13.5' into release/sei-1.x-fh3.0
...
# Conflicts:
# accounts/abi/bind/backends/simulated.go
# cmd/geth/config.go
# consensus/beacon/consensus.go
# consensus/ethash/consensus.go
# core/state_processor.go
# core/vm/contracts.go
# core/vm/contracts_test.go
# core/vm/evm.go
# eth/tracers/api.go
# eth/tracers/js/goja.go
# lib/ethapi/api.go
# light/odr_test.go
2024-02-06 15:18:47 -05: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
codchen
39ab532d6e
Set EVM in StateDB in gasestimator
2024-01-30 13:42:33 +08:00
codchen
47856d75b3
pass orig caller to precompile
2024-01-18 11:34:18 +08:00
codchen
5d14fa58be
Pass IsDelegateCall to precompile calls
2024-01-18 11:24:44 +08:00
codchen
b19992f4b3
Send correct sender to precompile in delegatecall
2024-01-08 11:29:52 +08:00
codchen
10ddd7304d
add precompile interface with dynamically-calculated gas
2024-01-04 16:04:01 +08:00
codchen
7654bc2cb9
resolve conflicts
2023-12-12 14:32:36 +08:00
codchen
9ecc4274eb
make setDefaults public
2023-12-12 10:58:59 +08:00
codchen
43497a4c38
Pass sender to precompile Run()
2023-12-12 10:58:59 +08:00
codchen
42d0052297
fix import
2023-12-12 10:52:36 +08:00
codchen
d04ef5cf81
Use interface as Copy() result
2023-12-12 10:52:35 +08:00
codchen
16a8208f36
use interface instead of concrete state type
2023-12-12 10:52:02 +08:00
codchen
ff86dbf72a
Pass EVM pointer when running precompile
2023-12-12 10:46:41 +08:00
Martin Holst Swende
2391fbc676
tests/fuzzers: move fuzzers into native packages ( #28467 )
...
This PR moves our fuzzers from tests/fuzzers into whatever their respective 'native' package is.
The historical reason why they were placed in an external location, is that when they were based on go-fuzz, they could not be "hidden" via the _test.go prefix. So in order to shove them away from the go-ethereum "production code", they were put aside.
But now we've rewritten them to be based on golang testing, and thus can be brought back. I've left (in tests/) the ones that are not production (bls128381), require non-standard imports (secp requires btcec, bn256 requires gnark/google/cloudflare deps).
This PR also adds a fuzzer for precompiled contracts, because why not.
This PR utilizes a newly rewritten replacement for go-118-fuzz-build, namely gofuzz-shim, which utilises the inputs from the fuzzing engine better.
2023-11-14 14:34:29 +01:00
Sina Mahmoodi
e803ef09ad
eth/tracers/js: fix isPush for push0 ( #28520 )
...
Fixes so that `push0` opcode is correctly reported as `true` by the `IsPush` function
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-14 13:14:38 +01: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