Commit graph

14109 commits

Author SHA1 Message Date
Daniel Liu
f781cee1b8
feat(rlp): add RawList for working with un-decoded lists #33755 (#2040)
This adds a new type wrapper that decodes as a list, but does not
actually decode the contents of the list. The type parameter exists as a
marker, and enables decoding the elements lazily. RawList can also be
used for building a list incrementally.

Co-authored-by: Felix Lange <fjl@twurst.com>
2026-02-28 16:53:16 +04:00
Daniel Liu
466e3684b9
fix(internal): fix error code for revert in eth_simulateV1 #33007 (#2039) 2026-02-28 16:52:55 +04:00
Daniel Liu
7fce11d1f1
fix(metrics): add missing ResettingTimer case in GetAll() #33749 (#2038)
Follow-up to https://github.com/ethereum/go-ethereum/pull/33748

Same issue - ResettingTimer can be registered via loadOrRegister() but
GetAll() silently drops it during JSON export. The prometheus exporter
handles it fine (collector.go:70), so this is just an oversight in the
JSON path.

Note: ResettingTimer.Snapshot() resets the timer by design, which is
consistent with how the prometheus exporter uses it.

Co-authored-by: vickkkkkyy <vickyaviles847@gmail.com>
2026-02-28 16:52:33 +04:00
Daniel Liu
6d11ab7bee
perf(metrics): reduce allocations for metrics #33699 (#2037)
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2026-02-28 16:52:03 +04:00
Daniel Liu
197735a088
fix(cmd): fix wrong flag names in influxdb metrics error messages #33804 (#2036) 2026-02-28 16:51:35 +04:00
Daniel Liu
233154933c
chore(.gitattributes): enable solidity highlighting on github #16425 (#2035)
Co-authored-by: Li Xuanji <xuanji@gmail.com>
2026-02-28 16:49:11 +04:00
Daniel Liu
ff37f8554d
fix(internal/ethapi): include AuthorizationList in gas estimation callArgs #33849 (#2084) 2026-02-28 04:36:04 +04:00
Daniel Liu
d754f363e5
core/state: remove account reset operation v2 #29520 (#1934) 2026-02-24 14:17:27 +05:30
Daniel Liu
fabfd1c485
perf(core): track state change set with account address #27815 (#2076) 2026-02-24 13:49:17 +05:30
Daniel Liu
edec80c08f
refactor(core): make stateobject.create selfcontain #28459 (#2074) 2026-02-24 13:48:29 +05:30
Daniel Liu
677f923125
refactor(all): track state changes in state db #27349 (#1947) 2026-02-24 10:27:31 +05:30
Daniel Liu
3211c8ef2f
perf(core): speed up push and interpreter loop #30662 (#2032) 2026-02-23 07:21:05 +05:30
Daniel Liu
fc6c692097
fix(internal): process prague system calls in eth_simulate #31176 (#2069) 2026-02-23 07:20:38 +05:30
Daniel Liu
9f720806e1
refactor(core): remove unnecessary parameters #30776 (#2068) 2026-02-20 13:51:30 +05:30
Wanwiset Peerapatanapokin
81416e008c
fix(consensus): use signer pubkey to check for unique signatures and optimize performance, close XFN-03 (#1625)
* use signer pubkey to check for unique signatures and optimize performance

* change waitgroup to errgroup

* optimize

* fix typo

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* format files

* after rebase new commits, refactor from snap.NextEpochCandidates to epochInfo.Masternodes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-20 14:34:54 +07:00
Wanwiset Peerapatanapokin
f77d4e5668
test(consensus): add tests for getTCEpochInfo() (#2045)
* add tests for getTCEpochInfo()

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-20 14:34:29 +07:00
Wanwiset Peerapatanapokin
e324a78d94
fix(consensus): fix private chain initialization (#1987)
* revert: use masternodes from snapshot to verify vote

* fix underflow during chain initialization

* add previously removed test

* rename snapshot > snap for consistency
2026-02-19 01:47:03 +07:00
Daniel Liu
296d612167
fix(eth): align traceBlockParallel with Prague parent-hash pre-exec (#2067)
traceBlockParallel replays transactions from the parent state to build per-tx prestate for tracers. In the previous flow, Prague's parent-hash system contract processing was not applied before replay, so the prepared state could diverge from canonical block execution semantics.

This commit keeps the parallel tracing path consistent with block processing rules by applying ProcessParentBlockHash before tx replay when Prague is active.

The regression test TestTraceBlockParallelPragueParentHashSystemCall is strengthened to assert the actual EIP-2935 history slot value (ring-buffer key for block-1) equals block.ParentHash(), instead of relying on an indirect EXTCODESIZE side effect. This makes the test deterministic and directly tied to the bug.

Validation: go test ./eth/tracers -run TestTraceBlockParallelPragueParentHashSystemCall
2026-02-17 15:00:55 +05:30
Daniel Liu
bba58ec20b
fix(eth): fix state hooks in API #30830 (#2066) 2026-02-17 14:44:47 +05:30
Daniel Liu
cfca45a7eb
refactor(all): rework EVM constructor #30745 (#2065) 2026-02-17 14:35:18 +05:30
Daniel Liu
373037032f
fix(eth): do system contract processing prior to parallel-tracing #30520 (#2064) 2026-02-17 14:22:39 +05:30
Daniel Liu
398d9b693d
refactor(core): make signature of ContractCode hash-independent #27209 (#1169) 2026-02-13 09:11:43 +05:30
Daniel Liu
07d3c421f3
fix(trie): no persisted clean trie cache file #27525 (#1170) 2026-02-13 08:48:23 +05:30
benjamin202410
d318152a00
chore(common): setup EIP-7702 block number for devnet (#2021)
* setup eup7702 for devnet testing

* Update pragueBlock value in constants.devnet.go

---------

Co-authored-by: liam.lai <liam.lai@babylonchain.io>
2026-02-12 15:27:19 +05:30
Daniel Liu
e96ec6aab5
fix(core): remove vm.AccountRef (#2055) 2026-02-12 14:57:04 +05:30
Daniel Liu
cc2109342c
feat(core): implement EIP-2935 #29465 #30924 (#2033) 2026-02-12 09:01:26 +05:30
Daniel Liu
50210d90e3
refactor(all): remove term whitelist and blacklist (#1994) 2026-02-10 17:09:21 +05:30
Daniel Liu
85f2bebfd1
refactor(all): move genesis initialization to blockchain #25523 (#2018) 2026-02-10 16:56:34 +05:30
Daniel Liu
35d5bbd240
fix(core): remove panic when address is not present #30414 (#2029) 2026-02-10 16:52:38 +05:30
Daniel Liu
81d0db2344
fix(common): fix race condition in countdown timer StopTimer method (#2014)
The TestCountdownShouldBeAbleToStop test was failing intermittently due to
a race condition in the StopTimer() implementation. Previously, the goroutine
used defer to set initilised=false, which executed after close(q) signaled
completion to StopTimer(). This allowed StopTimer() to return before the
state was properly cleaned up, causing isInitilised() checks to occasionally
see stale true values.

Fixed by explicitly calling setInitilised(false) before close(q), ensuring
the state is updated atomically before StopTimer() returns. This eliminates
the race condition and makes the test pass consistently.

Verified by running the test 30 times consecutively with no failures.
2026-02-10 16:51:42 +05:30
Daniel Liu
ec697ddbdb
core/vm: implement EIP-7939: CLZ opcode #31989 (#2012) 2026-02-10 16:51:20 +05:30
Daniel Liu
7dc82dde0f
fix(p2p): don't discard reason sent by Disconnect() #16559 (#2009) 2026-02-10 16:50:37 +05:30
Daniel Liu
4f7159b119
fix(cmd): fix disabling discovery through config file #33279 (#2003) 2026-02-10 16:49:55 +05:30
Daniel Liu
b95923e25c
fix(node): fix vhosts for adminAPI #32488 (#2002) 2026-02-10 16:44:22 +05:30
Daniel Liu
e6540472e0
fix(node): fix data race on httpConfig.prefix #32047 (#2000)
This fixes a data race when accessing the `httpConfig.prefix` field.
This field can be modified while the server is running through
`enableRPC`. The fix is storing the prefix in the handler, which is
accessed through the atomic pointer.

alternative to #32035
fixes https://github.com/ethereum/go-ethereum/issues/32019

Co-authored-by: Felix Lange <fjl@twurst.com>
2026-02-10 16:42:45 +05:30
Daniel Liu
42f49e3e20
test(node): fix flaky jwt-test #30388 (#1999)
This PR fixes a flaky jwt-test.

The test is a jwt "from one second in the future". The test passes; the
reason for this is that the CI-system is slow, and by the time the jwt
is actually evaluated, that second has passed, and it's no longer
future.

Alternative to #30380

Co-authored-by: Martin HS <martin@swende.se>
2026-02-10 16:42:20 +05:30
Daniel Liu
cf99bd07ff
refactor(node): use standalone flock dependency #19376 #26633 (#1993)
* refactor(node): switching prometheus flock location to tsdb #19376

* refactor(node): use standalone flock dependency #26633
2026-02-10 16:41:27 +05:30
Daniel Liu
d7a42cb038
refactor(core): clean up EVM environmental structure #31061 (#1985) 2026-02-10 16:40:54 +05:30
Daniel Liu
81ac9cfb7e
fix(core): fix genesis error in #2019 (#2034) 2026-02-10 12:22:17 +08:00
Wanwiset Peerapatanapokin
b53fa6c6d9
skip gaslimit check on genesis block (#1968) 2026-02-09 16:06:16 +07:00
Daniel Liu
e39a523260
refactor(all): cleanup the APIs for initializing genesis #25473 #26747 (#2017)
* refactor(all): cleanup the APIs for initializing genesis #25473

* fix(core): fix accessor mismatch for genesis state #26747
2026-02-07 00:18:39 +05:30
Daniel Liu
f744e86dd7
feat(core): add ContractCode to the OpContext #30466 (#2030) 2026-02-07 00:15:38 +05:30
Daniel Liu
ec78122a31
ci: improve github pull request template (#2026) 2026-02-07 00:15:01 +05:30
Daniel Liu
0a7e7dde38
chore: add conventional-pre-commit hook (#2027) 2026-02-07 00:12:08 +05:30
Wanwiset Peerapatanapokin
6120def776
useful logging (#1986) 2026-02-06 17:42:26 +07:00
Daniel Liu
872c1248f3
test(params): move params.V2TestsGasLimit to engine_v2_tests package (#2028)
- V2TestsGasLimit should be changed to const
- V2TestsGasLimit is only used by engine_v2_tests package
2026-02-06 14:44:54 +05:30
Daniel Liu
2e2d12304e
chore: add local hook 'make generate' for pre-commit (#2025) 2026-02-06 14:44:35 +05:30
Daniel Liu
c25fa8d9ab
docs: udpate solidity version for mainnet (#2024) 2026-02-06 14:44:21 +05:30
Daniel Liu
07ed26f790
build: move tidy check to doTidy() (#2023) 2026-02-06 14:44:07 +05:30
Daniel Liu
29ad6db3bd
ci: validate gofmt, tidy, and generated files before test (#2022)
Check

- gofmt
- go mod tidy
- generated files

before tests.
2026-02-06 14:43:52 +05:30