Daniel Liu
6e33633d28
common: drop BigMin and BigMax, they pollute our dep graph ( #30645 )
2024-12-28 09:06:31 +08:00
Daniel Liu
6ec35b9644
all: get rid of custom MaxUint64 and MaxUint64 ( #30636 )
2024-12-28 09:06:31 +08:00
Daniel Liu
ff13d16fe5
core/vm: make structlog/json-log stack hex again ( #28628 )
2024-12-28 09:06:31 +08:00
Daniel Liu
4cc2b2ea5f
tests/fuzzers: move fuzzers into native packages ( #28467 )
2024-12-28 09:06:31 +08:00
JukLee0ira
7491a7ba74
all: improve EstimateGas API ( #20830 )
2024-12-21 14:35:44 +08:00
Daniel Liu
ad5e7d6db3
crypto: add SignatureLength constant and use it everywhere ( #19996 )
2024-12-09 17:48:59 +08:00
Daniel Liu
733c298b0e
core/vm: improve EVM reusability ( #26341 )
2024-12-09 17:47:05 +08:00
Daniel Liu
0d0ea46bfa
core: implement EIP-3651, warm coinbase ( #25819 )
2024-12-09 17:44:30 +08:00
Daniel Liu
4cac1865ba
all: remove noop vm config flags ( #23111 )
2024-11-15 20:12:49 +08:00
Daniel Liu
ed242b4763
all: implement EIP-1153 transient storage ( #26003 )
2024-11-15 19:39:18 +08:00
Daniel Liu
f64aea4ba0
core/vm: implement EIP-3860: Limit and meter initcode ( #23847 )
2024-11-01 11:36:53 +08:00
Emmanuel T Odeke
59bc3bfd09
eth/tracers/logger: remove unnecessary comparisons in accessList.equal ( #24663 )
...
This change removes extraneous/unnecessary checks for equality
when comparing 2 accessList values A and B. Given that we validate that
their lengths of A and B are equal, if so and if every element in A is
in B, reflexively every element in B is already in A. If that weren't
the case and an element g existed in A but not in B, that would mean
that there is an extra element and hence a mathematical contradiction.
Fixes #24658
2024-11-01 11:36:53 +08:00
Daniel Liu
1c47afb286
core/vm/runtime: add function TestColdAccountAccessCost
2024-11-01 11:36:52 +08:00
Daniel Liu
c7d49072f1
core/vm: evm fix panic ( #23047 )
2024-11-01 11:36:52 +08:00
Daniel Liu
18bc355e89
core, internal: support various eth_call invocations post 1559 ( #23027 )
2024-11-01 11:36:52 +08:00
Daniel Liu
e18553b855
all: implement eip-1559 ( #22837 )
2024-11-01 11:36:52 +08:00
Daniel Liu
6a3b818069
core, params: implement EIP-3529 ( #22733 )
2024-11-01 11:36:52 +08:00
Martin Holst Swende
b5fe81f093
core/vm: make gas cost reporting to tracers correct ( #22702 )
...
Previously, the makeCallVariantGasCallEIP2929 charged the cold account access cost directly, leading to an incorrect gas cost passed to the tracer from the main execution loop.
This change still temporarily charges the cost (to allow for an accurate calculation of the available gas for the call), but then afterwards refunds it and instead returns the correct total gas cost to be then properly charged in the main loop.
2024-11-01 11:36:52 +08:00
Daniel Liu
87a6b5f4c3
Merge pull request #689 from gzliudan/fix-st1005
...
all: fix staticcheck warning ST1005
2024-10-25 15:28:07 +08:00
Daniel Liu
c6e4e880ea
all: fix staticcheck warning SA4006: never used value
2024-10-24 17:37:19 +08:00
Daniel Liu
a79411fa06
all: fix staticcheck warning ST1005: incorrectly formatted error string
2024-10-24 09:48:20 +08:00
Daniel Liu
1c84a31bb6
core/vm: deepcopy jumptable when enabling extra eips ( #26137 )
2024-10-17 11:23:04 +08:00
Daniel Liu
4482ea4d84
core/vm: fix docstrings
2024-10-17 11:23:04 +08:00
Daniel Liu
480adaf960
core/vm: minor trivial clean up ( #25880 )
2024-10-17 11:23:04 +08:00
Daniel Liu
69cb57a0f4
core/vm: not deep copy return data slice upon call completion ( #25183 )
2024-10-17 11:23:04 +08:00
Daniel Liu
ee5dd8673f
core/vm: remove empty lines
2024-10-17 11:23:04 +08:00
Daniel Liu
16f2aabc64
core/vm: more linters ( #24783 )
2024-10-17 11:23:04 +08:00
Paweł Bylica
be6631beb0
core/vm: optimize jumpdest analysis ( #23500 )
...
core/vm: optimize PUSH opcode discrimination
2024-10-17 11:23:04 +08:00
Daniel Liu
1fa9e81870
core/vm: reduce overhead in instructions-benchmark ( #24860 )
2024-10-17 11:23:04 +08:00
Daniel Liu
c78b9e6245
core/vm: for tracing, do not report post-op memory ( #24867 )
2024-10-17 11:23:04 +08:00
Daniel Liu
45c644c43d
core/vm: update benchmark to use Errorf instead of Sprintf ( #24845 )
2024-10-17 11:23:04 +08:00
Daniel Liu
6fa968201f
core/vm: fix some typos
2024-10-17 11:23:04 +08:00
Daniel Liu
224caa5a08
core/vm: avoid memory expansion check for trivial ops ( #24048 )
2024-10-17 11:23:04 +08:00
Daniel Liu
532137c37b
core/vm: use golang native big.Int ( #26834 )
2024-10-17 10:36:53 +08:00
Daniel Liu
8e15f825ce
core/vm: use optimized bigint ( #26021 )
2024-10-17 10:36:53 +08:00
Daniel Liu
c87b7c3135
common/math: optimized modexp ( #25525 )
2024-10-17 10:36:53 +08:00
Daniel Liu
b653dbc60c
core/vm, protocol_params: implement eip-2565 modexp repricing ( #21607 )
2024-10-17 10:36:53 +08:00
Daniel Liu
edace6ac6c
all: change format 0x%x to %#x ( #25221 )
2024-09-27 15:24:31 +08:00
Daniel Liu
4f9501f12c
common, crypto: move fuzzers out of core ( #22029 )
2024-09-22 19:25:37 +08:00
Daniel Liu
a5531a2470
core/vm: remove redundant conversions ( #21903 )
2024-09-22 18:42:11 +08:00
Daniel Liu
67b5b2bf9a
core/vm: less allocations for various call variants ( #21222 )
2024-09-22 18:42:11 +08:00
Daniel Liu
a575d731d3
core/vm: combine function precompile and precompile2
2024-09-21 22:40:57 +08:00
Daniel Liu
5470485450
all: split vm.Context into BlockContext and TxContext ( #21672 )
2024-09-21 22:18:10 +08:00
Daniel Liu
05e52efbad
core/vm: marshall returnData as hexstring in trace logs ( #21715 )
2024-09-21 22:14:47 +08:00
Daniel Liu
4e832ee6f0
core/vm: avoid map lookups for accessing jumpdest analysis ( #21411 )
2024-09-21 22:01:56 +08:00
Daniel Liu
a020259bb5
core/vm: fix Byzantium address list ( #22603 )
2024-09-19 13:04:55 +08:00
Daniel Liu
3e4932e408
core/vm: surface some internal methods ( #20958 )
2024-08-30 12:50:04 +08:00
Daniel Liu
1f45af089a
core/vm: implement EIP 3541 ( #22809 )
2024-08-26 11:59:28 +08:00
Daniel Liu
6f1d1b6688
core/vm: implement EIP-2681: Limit account nonce to 2^64-1 ( #23853 )
2024-08-26 09:04:15 +08:00
wgr523
52077f18f3
support for golang tracers + add golang callTracer ( #558 )
...
* feat: rename Tracer interface to EVMLogger;
minor changes in API
refine api_tracer.go
refine Tracer interface
* fix: broken tracer tests
* feat: add BenchmarkTransactionTrace
* feat: tracer CaptureEnter CaptureExit in evm
* feat: upgrade js tracers with geth upstream
* chore: clean test
* feat: eth/tracers: support for golang tracers + add golang callTracer
cf. https://github.com/ethereum/go-ethereum/pull/23708
* chore: clean testdata json
* fix: change test due to IntrinsicGas is not upgraded
* feat: make native Tracer the default Tracer
* fix: update tracers.New in api
* fix: addr prefix in callTracer
* fix: remove `native` in BenchmarkTracers
* fix: return consensus error of InsufficientBalance for tx, instead of vmerr
* chore: drop js tracers: call and noop
2024-08-06 00:14:04 -07:00