Commit graph

14196 commits

Author SHA1 Message Date
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
Daniel Liu
7e12f036cc
refactor(core): harden SetupGenesisBlock flows (#2019)
- handle missing genesis header/state and validate stored hash
- avoid overwriting unchanged chain config; keep private net config
- extend TestSetupGenesis for missing header/state/config/head cases
2026-02-06 14:41:29 +05:30
Daniel Liu
75c05e5dde
feat(params): start osaka fork #31125 (#2013) 2026-02-06 14:40:58 +05:30
Daniel Liu
d8ce54db87
feat(p2p): add egress/ingress traffic metrics to discv5 udp transport #16369 (#2011) 2026-02-06 14:40:23 +05:30
Daniel Liu
a46e6a9a25
feat(p2p): ENR updates for discovery v4 compatibility #16679 (#2010) 2026-02-06 13:49:44 +05:30
Daniel Liu
70e17f09cd
fix(p2p): fix websocket log line parsing in exec p2p/simulations adapter #16667 (#2008) 2026-02-06 13:26:18 +05:30
Daniel Liu
59e9c72d94
styel(p2p): golint updates for this or self warning #16577 (#2007) 2026-02-06 13:25:53 +05:30
Daniel Liu
6fc437394c
style(p2p): changed if-else blocks to conform with golint #16660 (#2006) 2026-02-06 13:25:37 +05:30
Daniel Liu
5c2ac4d51c
refactor(p2p): enable goimports and varcheck linters #16446 (#2005) 2026-02-06 13:23:25 +05:30
Daniel Liu
9d79d44f1b
fix(p2p): a few minor code inspection fixes #18393 (#2004) 2026-02-06 13:23:01 +05:30
Wanwiset Peerapatanapokin
5340ce712c
all: make nodes publish coinbase address to stats server (#1967)
* allow customizable stats server parameters

* pass coinbase address to stats server
2026-02-05 18:59:00 +07:00
Wanwiset Peerapatanapokin
bfc69a09d7
add private chain test checkbox (#1989)
add private chain test checkbox
2026-02-05 18:56:40 +07:00
Daniel Liu
f08ea319d0
refactor(node): remove unused err var #32398 (#2001) 2026-02-05 16:13:55 +05:30
Daniel Liu
acc9371b8b
fix(node): fix HTTP server always force closing #25755 (#1998) 2026-02-05 16:13:28 +05:30