Commit graph

14062 commits

Author SHA1 Message Date
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
Daniel Liu
5199446cb6
style(node): fix typos (#1997) 2026-02-05 15:31:14 +05:30
Daniel Liu
46765b8486
test(node): more linters #24783 (#1996) 2026-02-05 15:30:40 +05:30
Daniel Liu
67a6e34188
perf(node, p2p): avoid unnecessary check len of map (#1995) 2026-02-05 14:47:48 +05:30
Daniel Liu
9dba15a673
feat(core): implement EIP-7623 increase calldata cost 30946 (#2031)
Link to spec: https://eips.ethereum.org/EIPS/eip-7623

---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: lightclient <lightclient@protonmail.com>
2026-02-05 14:45:11 +05:30
Daniel Liu
99749a2381
feat(crypto): use the ziren keccak precompile and implement ziren keccak state #32816 #32996 (#1991)
* feat(crypto): use the ziren keccak precompile #32816

Uses the go module's `replace` directive to delegate keccak computation
to precompiles.

This is still in draft because it needs more testing. Also, it relies on
a PR that I created, that hasn't been merged yet.

_Note that this PR doesn't implement the stateful keccak state
structure, and it reverts to the current behavior. This is a bit silly
since this is what is used in the tree root computation. The runtime
doesn't currently export the sponge. I will see if I can fix that in a
further PR, but it is going to take more time. In the meantime, this is
a useful first step_

* feat(crypto): implement ziren keccak state #32996

The #32816 was only using the keccak precompile for some minor task.
This PR implements a keccak state, which is what is used for hashing the
tree.

---------

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2026-02-05 14:43:53 +05:30
Daniel Liu
d74c23cca1
perf(core): use uint256 in state #28598 (#1977) 2026-02-05 13:59:23 +05:30
Daniel Liu
1655f801d1
core/vm: add read only protection for opcodes #33637 (#1984) 2026-02-05 12:57:40 +05:30
Daniel Liu
798b0cdf2f
fix(accounts): not use magic numbers for rpc.BlockNumber (#2016) 2026-02-05 11:53:11 +05:30
Daniel Liu
44b4a51ed4
feat(ethclient): add support for eth_simulateV1 #32856 (#1992)
Adds ethclient support for the eth_simulateV1 RPC method, which allows
simulating transactions on top of a base state without making changes to
the blockchain.

---------

Co-authored-by: hero5512 <lvshuaino@gmail.com>
Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2026-02-05 11:46:44 +05:30
Daniel Liu
934c8d0679
perf(all): use big.Int.Sign() to compare with 0 (#1969) 2026-02-05 11:45:44 +05:30
Daniel Liu
a51eaa7200
fix(core, trie): revert error removal in (*state.Trie).Commit #27544 (#1168)
* trie, core/state: revert error removal in (*state.Trie).Commit

* Gary's nitpick :)



---------

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2026-02-05 11:43:33 +05:30
Daniel Liu
d749d54ea5
feate(core, trie): add UpdateContractCode to the Trie interface #27476 (#1167)
Verkle trees store the code inside the trie. This PR changes the interface to pass the code, as well as the dirty flag to tell the trie package if the code is dirty and needs to be updated. This is a no-op for the MPT and the odr trie.

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2026-02-05 11:43:04 +05:30
Daniel Liu
9cf795c908
perf: improve state reader with error handling and committed flag #27428 (#1166)
- Add error returns to Database.Reader() and NodeIterator() methods
- Introduce committed flag to prevent usage of tries after commit
- Update callers to handle new error signatures
- Add MustNodeIterator() helper for backward compatibility

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2026-02-03 20:55:53 +05:30
Daniel Liu
76a53321df
common: fix block numbers for EIP-1559 and cancun (#2020) 2026-01-30 21:06:15 +08:00
Daniel Liu
7ce60a2a79
rpc: add a rpc.rangelimit flag #33163 (#1957) 2026-01-29 11:50:58 +05:30
Daniel Liu
e77ac510d0
all: replace Div/Mul with Rsh/Lsh if possible #29911 (#1966) 2026-01-29 11:31:58 +05:30
Daniel Liu
d12f9803eb
trie: remove parameter 'fromLevel' in Prove #27512 (#1165)
This removes the feature where top nodes of the proof can be elided.
It was intended to be used by the LES server, to save bandwidth
when the client had already fetched parts of the state and only needed
some extra nodes to complete the proof. Alas, it never got implemented
in the client.

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2026-01-29 11:29:02 +05:30
Daniel Liu
222d180a6b
trie: update func ForEachWithOrder #27496 #27909 (#1163)
Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
Co-authored-by: Felix Lange <fjl@twurst.com>
2026-01-29 11:28:36 +05:30
Daniel Liu
a74b7e2466
core/vm: reuse Memory instances #30137 #33056 (#1974) 2026-01-29 11:27:13 +05:30
Daniel Liu
4768d00e1e
eth/filters, cmd: add config of eth_getLogs address limit #33320 #32327 (#1961)
* eth/filters: change error code for invalid parameter errors #33320

* eth/filters, cmd: add config of eth_getLogs address limit #32327
2026-01-29 11:26:45 +05:30
Daniel Liu
84aedaa7bf
core/txpool/legacypool: fix stale counter #33653 (#1990) 2026-01-29 11:25:55 +05:30
Daniel Liu
7fd5927081
accounts/scwallet: fix panic in decryptAPDU #33606 (#1982)
Validate ciphertext length in decryptAPDU, preventing runtime panics on
invalid input.

Co-authored-by: DeFi Junkie <deffie.jnkiee@gmail.com>
2026-01-29 11:25:27 +05:30
Daniel Liu
ecb0408521
core/state: ensure deterministic hook emission order in Finalise #33644 (#1981) 2026-01-29 11:23:33 +05:30
Daniel Liu
0206909058
core/txpool/legacypool: add metric for accounts in txpool #33646 (#1980) 2026-01-29 11:22:31 +05:30
Daniel Liu
b5e617fee0
internal/debug: add integration with Grafana Pyroscope #33623 (#1983) 2026-01-29 11:22:03 +05:30
Daniel Liu
ab39386242
core/types: fix panic on invalid signature length #33647 (#1979)
Replace panic with error return in decodeSignature to prevent crashes on
invalid inputs, and update callers to propagate the error.

Co-authored-by: DeFi Junkie <deffie.jnkiee@gmail.com>
2026-01-27 08:55:23 +05:30
Daniel Liu
105044559b
vm: simplify error handling in vm.EVM.create() #30292 (#1973) 2026-01-27 08:54:08 +05:30
wit liu
b1c239de97
common, core: fix goimports warning (#1972) 2026-01-27 08:53:31 +05:30
Daniel Liu
5190df67d8
core/vm: use uint64 in Memory for indices everywhere #30252 (#1971) 2026-01-27 08:53:03 +05:30
Daniel Liu
7c5cd0a0f9
core/vm: improved stack swap performance #30249 (#1970) 2026-01-27 08:52:42 +05:30
Daniel Liu
2e0e142d2b
params: fix wrong comment #33503 (#1965) 2026-01-27 08:47:30 +05:30
Daniel Liu
b6ae09a36c
accounts/abi/bind/v2: replace rng in test #33612 (#1964) 2026-01-27 08:47:13 +05:30
Daniel Liu
3ce9a1980a
core/vm: fix typo (#1963) 2026-01-27 08:46:49 +05:30
Daniel Liu
bd42edee0b
eth/filters: fix error when blockHash is used with fromBlock/toBlock #31877 (#1962) 2026-01-27 08:46:24 +05:30