Daniel Liu
ad0eea0f07
refactor(crypto): vendor in golang.org/x/crypto/sha3 #33323 ( #2046 )
...
The upstream libray has removed the assembly-based implementation of
keccak. We need to maintain our own library to avoid a peformance
regression.
---------
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: lightclient <lightclient@protonmail.com>
2026-02-28 17:23:57 +04:00
Daniel Liu
3454841ade
fix(core): hex encode validators/validator/penalties in Header JSON ( #2057 )
...
Ensure JSON marshal/unmarshal uses hex for validators, validator, and penalties so Header encoding is consistent with RPC output.
2026-02-28 16:56:37 +04:00
Daniel Liu
240b318dfb
feat(core): extends tracing.Hooks with OnSystemCallStartV2 #30786 ( #2073 )
2026-02-28 16:55:51 +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
9f720806e1
refactor(core): remove unnecessary parameters #30776 ( #2068 )
2026-02-20 13:51:30 +05:30
Daniel Liu
cfca45a7eb
refactor(all): rework EVM constructor #30745 ( #2065 )
2026-02-17 14:35:18 +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
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
ec697ddbdb
core/vm: implement EIP-7939: CLZ opcode #31989 ( #2012 )
2026-02-10 16:51:20 +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
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
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
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
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
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
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
a74b7e2466
core/vm: reuse Memory instances #30137 #33056 ( #1974 )
2026-01-29 11:27:13 +05:30
Daniel Liu
84aedaa7bf
core/txpool/legacypool: fix stale counter #33653 ( #1990 )
2026-01-29 11:25:55 +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
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
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
3ce9a1980a
core/vm: fix typo ( #1963 )
2026-01-27 08:46:49 +05:30
Daniel Liu
3518be8c8b
core/state: move slot RLP encoding into the MPT implementation #27000 ( #1162 )
...
Continuing with a series of PRs to make the Trie interface more generic, this PR moves
the RLP encoding of storage slots inside the StateTrie and light.Trie implementations,
as other types of tries don't use RLP.
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2026-01-26 18:04:50 +05:30
Daniel Liu
e40208f3db
trie: new empty trie with types.EmptyRootHash instead of null #27230 ( #1160 )
2026-01-26 18:04:14 +05:30
Daniel Liu
3d194d4303
all: port boring changes from pbss #27176 ( #1158 )
...
* all: port boring changes from pbss
* core, trie: address comments from martin
* trie: minor fixes
* core/rawdb: update comment
* core, eth, tests, trie: address comments
* tests, trie: add extra check when update trie database
* trie/triedb/hashdb: degrade the error to warning
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2026-01-26 11:21:46 +05:30
Daniel Liu
43b005c479
txpool: make unreserve idempotent to avoid false non-reserved errors, fix #1975 ( #1976 )
2026-01-26 11:20:33 +05:30
Daniel Liu
a1b0d5476d
core/txpool: add 7702 protection to blobpool #31526 ( #1930 )
2026-01-26 11:20:02 +05:30
Daniel Liu
48b6063261
core/txpool/legacypool: reject gapped tx from delegated account #31430 ( #1928 )
2026-01-21 13:28:23 +05:30
Daniel Liu
96a9c89aa6
core/txpool: move setcode tx validation into legacyPool #31209 ( #1927 )
2026-01-21 11:13:10 +05:30
Daniel Liu
1f3faa5184
all: set gas limit dynamically ( #1945 )
2026-01-21 10:49:20 +05:30