Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
407 commits
Select commit Hold shift + click to select a range
2eb1ccc
core/state: ensure deterministic hook emission order in Finalise (#33…
forkfury Jan 20, 2026
54ab4e3
core/txpool/legacypool: add metric for accounts in txpool (#33646)
cskiraly Jan 21, 2026
8fad02a
core/types: fix panic on invalid signature length (#33647)
BZO95 Jan 21, 2026
35922bc
core/txpool/legacypool: reset gauges on clear (#33654)
cskiraly Jan 21, 2026
1022c76
core, eth, internal, triedb/pathdb: enable eth_getProofs for history …
rjl493456442 Jan 22, 2026
251b863
core/vm: update EIP-8024 - Missing immediate byte is now treated as 0…
jrhea Jan 22, 2026
9a8e14e
core/txpool/legacypool: fix stale counter (#33653)
cskiraly Jan 23, 2026
c259538
core: extend the code reader statistics (#33659)
rjl493456442 Jan 26, 2026
e250836
trie: preallocate slice capacity (#33689)
marukai67 Jan 27, 2026
181a3ae
triedb/pathdb: improve trienode reader for searching (#33681)
rjl493456442 Jan 27, 2026
56be36f
cmd/keeper: export getInput in wasm builds (#33686)
gballet Jan 28, 2026
344d01e
core/rawdb: preallocate slice in iterateTransactions (#33690)
adblesss Jan 28, 2026
3d05284
trie/bintrie: fix tree key hashing to match spec (#33694)
weiihann Jan 28, 2026
0a8fd68
eth/tracers/native: add index to callTracer log (#33629)
MariusVanDerWijden Jan 28, 2026
1e9dfd5
core: standardize slow block JSON output for cross-client metrics (#3…
CPerezz Jan 28, 2026
424bc22
eth/gasprice: reduce allocations (#33698)
MariusVanDerWijden Jan 28, 2026
2513fed
crypto/kzg4844: preallocate proof slice in ComputeCellProofs (#33703)
adblesss Jan 29, 2026
7046e63
trie: fix flaky test (#33711)
rjl493456442 Jan 29, 2026
628ff79
ethdb/pebble: disable seek compaction for Pebble (#33697)
rjl493456442 Jan 29, 2026
9a69053
core/txpool/legacypool: clarify and fix non-executable tx heartbeat (…
cskiraly Jan 29, 2026
c974722
crypto/ecies: fix ECIES invalid-curve handling (#33669)
fengjian Jan 29, 2026
a179ccf
core/state: add bounds check in heap eviction loop (#33712)
Noisyxl Jan 29, 2026
845009f
ethclient: fix timeout param for eth_sendRawTransactionSync (#33693)
milan-cb Jan 29, 2026
cb97c48
triedb/pathdb: preallocate slices in decodeRestartTrailer (#33715)
Aleksandr1732 Jan 30, 2026
a5e6a15
signer/core/apitypes: add cell proofs (#32910)
MariusVanDerWijden Feb 2, 2026
a951aac
triedb/pathdb: preallocate slices in encode methods (#33736)
0xxFloki Feb 2, 2026
6530945
internal/ethapi: Add timestamp to eth_getTransactionByHash (#33709)
0xjvn Feb 2, 2026
16a6531
core: miner: reduce allocations in block building (#33375)
MariusVanDerWijden Feb 3, 2026
19f3700
trie/bintrie: fix debug_executionWitness for binary tree (#33739)
gballet Feb 3, 2026
b928876
accounts/usbwallet: add support for Ledger Nano Gen5 (#33297)
mmsqe Feb 3, 2026
54a91b3
core/types, internal/ethapi, signer/core/apitypes: avoid copying 128K…
adblesss Feb 3, 2026
8e1de22
crypto/keccak: vendor in golang.org/x/crypto/sha3 (#33323)
fjl Feb 3, 2026
bba41f8
core/txpool/legacypool: reduce unnecessary allocations during add (#3…
MariusVanDerWijden Feb 4, 2026
6b82cef
metrics: add missing GaugeInfo case in GetAll() (#33748)
vickkkkkyy Feb 4, 2026
7b7be24
rlp: add RawList for working with un-decoded lists (#33755)
fjl Feb 4, 2026
14c2408
internal/ethapi: fix error code for revert in eth_simulateV1 (#33007)
s1na Feb 6, 2026
aa457ed
core/txpool/blobpool: reset counters and gapped on Clear (#33775)
cskiraly Feb 6, 2026
9967fb7
metrics: add missing ResettingTimer case in GetAll() (#33749)
vickkkkkyy Feb 6, 2026
e64c8d8
core/rawdb: check pruning tail in HasBody and HasReceipts (#33747)
Forostovec Feb 6, 2026
ad459f4
metrics: reduce allocations for metrics (#33699)
MariusVanDerWijden Feb 6, 2026
7772656
core/rawdb: close freezer table in InspectFreezerTable (#33776)
GarmashAlex Feb 6, 2026
bc0db30
core/vm: add missing PUSH0 handler in EIP-8024 test mini-interpreter …
sashass1315 Feb 9, 2026
c12959d
core/rawdb: fix incorrect tail value in unindexTransactions log outpu…
vickkkkkyy Feb 9, 2026
c9b7ae4
internal/era: New EraE implementation (#32157)
shazam8253 Feb 9, 2026
32a35bf
cmd/geth: fix wrong flag names in influxdb metrics error messages (#3…
vickkkkkyy Feb 10, 2026
7faa676
core/rawdb: close directory fd on Readdirnames error in cleanup (#33798)
Galoretka Feb 10, 2026
bbb1ab8
core/vm: 8024 tests should enforce explicit errors (#33787)
jrhea Feb 10, 2026
986d115
eth: fix targetView==nil case (#33810)
zsfelfoldi Feb 10, 2026
e2d21d0
ethdb/pebble: fix CompactionDebtConcurrency comment (#33805)
vickkkkkyy Feb 10, 2026
4d48837
trie: fix embedded node size validation (#33803)
sashass1315 Feb 10, 2026
15a9e92
ethclient/gethclient: callTracer methods (#31510)
DeVikingMark Feb 10, 2026
30656d7
trie/bintrie: use correct key mapping in GetStorage and DeleteStorage…
phrwlk Feb 11, 2026
341907c
rlp: return Iterator as non-pointer (#33818)
fjl Feb 11, 2026
3011d83
cmd/evm/internal/t8ntool, core/rawdb: fix RLP iterator error handling…
fjl Feb 11, 2026
919b238
triedb/pathdb: return nodeLoc by value to avoid heap allocation (#33819)
sashass1315 Feb 11, 2026
995fa79
eth/tracers: tests for bad block tracing (#33821)
s1na Feb 11, 2026
9426444
internal/era: update eraE type IDs to match spec (#33827)
s1na Feb 11, 2026
f286979
node: http2 for JSON-RPC API (#33812)
s1na Feb 12, 2026
ece2b19
rlp: add AppendRaw method to RawList (#33834)
fjl Feb 13, 2026
4f38a76
rlp: validate and cache element count in RawList (#33840)
fjl Feb 13, 2026
ac85a6f
rlp: add back Iterator.Count, with fixes (#33841)
fjl Feb 13, 2026
d8b92cb
rpc,internal/telemetry: fix deferred spanEnd to capture errors via po…
jrhea Feb 14, 2026
c50e5ed
cmd/geth, internal/telemetry: wire OpenTelemetry tracing via CLI flag…
jrhea Feb 14, 2026
ad88b68
internal/download: show progress bar only if server gives length (#33…
fjl Feb 14, 2026
0cba803
eth/protocols/eth, eth/protocols/snap: delayed p2p message decoding (…
fjl Feb 15, 2026
a4b3898
internal/telemetry: don't create internal spans without parents (#33780)
jrhea Feb 17, 2026
550ca91
consensus/misc: hardening header verification (#33860)
s1na Feb 17, 2026
c709c19
eth/catalyst: add initial OpenTelemetry tracing for newPayload (#33521)
jrhea Feb 17, 2026
9b78f45
crypto/secp256k1: fix coordinate check
fjl Feb 17, 2026
0cf3d3b
version: release go-ethereum v1.17.0 stable
fjl Feb 17, 2026
1054276
version: begin v1.17.1 release cycle
fjl Feb 17, 2026
3eed058
cmd/evm: add --opcode.count flag to t8n (#33800)
spencer-tb Feb 17, 2026
01fe1d7
core/vm: disable the value transfer in syscall (#33741)
rjl493456442 Feb 18, 2026
2a62df3
.github: fix actions 32bit test (#33866)
s1na Feb 18, 2026
54f72c7
core/rawdb: revert "check pruning tail in HasBody and HasReceipts" (#…
rjl493456442 Feb 19, 2026
8380ef7
Merge commit 'd39af344dc63f44c115b8f4ffab75c8fec5a57ad' into merge-v1…
ganeshvanahalli Feb 19, 2026
4bac305
Merge commit 'ebc7dc9e37a8f9b2ed54ca9578e88b7f2ae968e3' into merge-v1…
ganeshvanahalli Feb 19, 2026
e768c6c
Merge commit '2a2f106a0166ef2b3e20e7a4d0b2aa36f03cb7de' into merge-v1…
ganeshvanahalli Feb 19, 2026
353118a
Merge commit '495a1d2b1ab77121b64a0c4e8173033db8c628e5' into merge-v1…
ganeshvanahalli Feb 19, 2026
a08a65d
Merge commit '689ea10f3516fcf62ebd5570af232b3e4ef266f7' into merge-v1…
ganeshvanahalli Feb 19, 2026
2d85d1b
Merge commit 'aa1a8dacaeef8a37e8e382d404a5a9709f654107' into merge-v1…
ganeshvanahalli Feb 19, 2026
c4e4814
Merge commit 'a122dbe459932868a73fb937376c6badd01d364f' into merge-v1…
ganeshvanahalli Feb 19, 2026
73d4c5f
Merge commit '5d512083347d7bdd1c9d92416dfd1d20dfc01544' into merge-v1…
ganeshvanahalli Feb 19, 2026
7fbd6b7
Merge commit '042c47ce1a089ab15b7b0eed58e9d0b629b6dde6' into merge-v1…
ganeshvanahalli Feb 19, 2026
6a76aca
Merge commit '212967d0e18e456a532c9ba8c8883d8cb1f3f895' into merge-v1…
ganeshvanahalli Feb 19, 2026
3d804d1
Merge commit 'dbca85869f6d699441a913df9871dc6ac48b1d34' into merge-v1…
ganeshvanahalli Feb 19, 2026
78add73
Merge commit '31f9c9ff75af85be24b386ab28399206467f2586' into merge-v1…
ganeshvanahalli Feb 19, 2026
bacdc62
Merge commit '9a346873b8d3b8e7c1bec9e88370aac7a924a26d' into merge-v1…
ganeshvanahalli Feb 19, 2026
110c61e
Merge commit '56d201b0feb90b3e4a863349d0883c5502bc792f' into merge-v1…
ganeshvanahalli Feb 19, 2026
911df4a
Merge commit '15f52a29370cf44256b15ec2fc31c6eb1a227cfd' into merge-v1…
ganeshvanahalli Feb 19, 2026
723e0f5
Merge commit 'ffe9dc97e5e04994ebcd72059c38e6e9ee4bd7fc' into merge-v1…
ganeshvanahalli Feb 19, 2026
115c38d
Merge commit 'bd77b77ede8a019a8cb7a3a4d9aae797fa330dd6' into merge-v1…
ganeshvanahalli Feb 19, 2026
00fb38f
Merge commit 'dd7daace9ddc5e02bd23aeb5fbced9fda20b1ab5' into merge-v1…
ganeshvanahalli Feb 19, 2026
8543105
Merge commit '57f84866bc6e5a638eea604298c3813b88de1e29' into merge-v1…
ganeshvanahalli Feb 19, 2026
db14077
Merge commit '3f641dba872dd43c8232b9384b4c09f0b9e3bd96' into merge-v1…
ganeshvanahalli Feb 19, 2026
28c4490
Merge commit '01b39c96bfc38e4bd1e4d04bb0ecda831e847b7e' into merge-v1…
ganeshvanahalli Feb 19, 2026
db9fe85
Merge commit 'a9acb3ff93bb1319aa1a822f1c1f3b54c8c27b77' into merge-v1…
ganeshvanahalli Feb 19, 2026
49ea94a
minor fix
ganeshvanahalli Feb 19, 2026
61b083c
Merge commit '23c3498836f66f2ec4f33efa3917be1968d6518a' into merge-v1…
ganeshvanahalli Feb 19, 2026
c3786da
Merge commit 'b6fb79cdf977e0652c531c0019b0dac1ae01a375' into merge-v1…
ganeshvanahalli Feb 19, 2026
a4c1410
Merge commit '715bf8e81e143255686a9e488a0fb87193cb2d17' into merge-v1…
ganeshvanahalli Feb 19, 2026
789d1ac
Merge commit 'add1890a572a01ab7c9424082d794f1ba9475a44' into merge-v1…
ganeshvanahalli Feb 19, 2026
3c0cc8c
Merge commit '3d78da9171cc4e6ecc013ce1c9a4df911cdaa88d' into merge-v1…
ganeshvanahalli Feb 19, 2026
5ada6fd
Merge commit '500931bc82808b63c1377d5e5713e23721bf4060' into merge-v1…
ganeshvanahalli Feb 19, 2026
4e9d999
Merge commit 'd58f6291a2b16350799b6bb31103fc74bf36113a' into merge-v1…
ganeshvanahalli Feb 19, 2026
4a19e66
Merge commit '1022c7637dcd0cc063105f2709cadf0b88c50ae9' into merge-v1…
ganeshvanahalli Feb 19, 2026
ca12096
Merge commit 'c2595381bf4a6638a910459a1f678f354f9b9909' into merge-v1…
ganeshvanahalli Feb 19, 2026
0a3723f
Merge commit '0a8fd6841c826a4ea448f8ac52f4b694a9aa2efc' into merge-v1…
ganeshvanahalli Feb 19, 2026
7297395
Merge commit '1e9dfd5bb0f9913ee80b5b69e592a87ff64163d2' into merge-v1…
ganeshvanahalli Feb 19, 2026
acf2d89
Merge commit '628ff79be3c0a4415cf9429bbd52118980915a66' into merge-v1…
ganeshvanahalli Feb 19, 2026
70d7634
Merge commit 'a5e6a157e58ef01c3addbd4581dac4e897f8e7a8' into merge-v1…
ganeshvanahalli Feb 19, 2026
2b199d7
Merge commit '16a6531ac204c110ea4b51c7905b3f71595b8f0c' into merge-v1…
ganeshvanahalli Feb 19, 2026
ad0dee3
Merge commit '8e1de223ad46b23bb397f7eff7844858d69a0be1' into merge-v1…
ganeshvanahalli Feb 19, 2026
f4350e3
Merge commit 'c9b7ae422c1d2d4a4de859007553a4ad2118afdb' into merge-v1…
ganeshvanahalli Feb 19, 2026
29b7eb8
Merge commit 'e2d21d0e9cc6cd25e1066b79eedf8ad9934fdc28' into merge-v1…
ganeshvanahalli Feb 19, 2026
935d1ca
Merge commit 'c50e5edfafe408d911f3cdd2191a6808dc95cb42' into merge-v1…
ganeshvanahalli Feb 20, 2026
83403f7
Merge commit '0cba803fbafb12e9daaea53b76de847842ab3055' into merge-v1…
ganeshvanahalli Feb 20, 2026
e7ad54a
Merge commit 'c709c19b40f4b6655d7944c3fb0c36a14c6774d6' into merge-v1…
ganeshvanahalli Feb 20, 2026
c937004
Merge tag 'v1.17.0' into merge-v1.17.0
ganeshvanahalli Feb 20, 2026
2237c77
fix lint error
ganeshvanahalli Feb 20, 2026
3ef28f4
Fix expected multigas for static call write protection
MishkaRogachev Feb 20, 2026
569a025
Merge pull request #628 from OffchainLabs/fix-test-staticcall_err_wri…
ganeshvanahalli Feb 20, 2026
654d47c
fix simulate v1
ganeshvanahalli Feb 20, 2026
6d865cc
build: upgrade -dlgo version to 1.25.7 (#33874)
fjl Feb 21, 2026
453d0f9
build: upgrade to golangci-lint v2.10.1 (#33875)
fjl Feb 21, 2026
00cbd2e
p2p/discover/v5wire: use Whoareyou.ChallengeData instead of storing e…
fjl Feb 22, 2026
d3dd48e
metrics: allow changing influxdb interval (#33767)
cskiraly Feb 23, 2026
e40aa46
eth/catalyst: implement testing_buildBlockV1 (#33656)
MariusVanDerWijden Feb 23, 2026
1d1a094
beacon/blsync: ignore beacon syncer reorging errors (#33628)
MariusVanDerWijden Feb 23, 2026
1625064
internal/ethapi: include AuthorizationList in gas estimation (#33849)
vickkkkkyy Feb 23, 2026
82fad31
internal/ethapi: add eth_getStorageValues method (#32591)
quantumshiro Feb 23, 2026
c2e1785
eth/protocols/snap: restore peers to idle pool on request revert (#33…
CPerezz Feb 24, 2026
59ad40e
eth: check for tx on chain as well (#33607)
cskiraly Feb 24, 2026
0108373
core/txpool/blobpool: remove unused adds slice in Add() (#33887)
ionodeionode Feb 24, 2026
199ac16
core/types/bal: change code change type to list (#33774)
rjl493456442 Feb 24, 2026
cbf3d8f
core/vm: touch precompile object with Amsterdam enabled (#33742)
rjl493456442 Feb 24, 2026
e636e4e
core/state: track slot reads for empty storage (#33743)
rjl493456442 Feb 24, 2026
9ecb6c4
core: reduce alloc (#33576)
cuiweixie Feb 24, 2026
8450e40
cmd/geth: add inspect trie tool to analysis trie storage (#28892)
fynnss Feb 24, 2026
2a45272
eth/protocols/eth: fix handshake timeout metrics classification (#33539)
ANtutov Feb 25, 2026
406a852
AGENTS.md: add AGENTS.md (#33890)
gballet Feb 25, 2026
f811bfe
core/vm: implement eip-7843: SLOTNUM (#33589)
MariusVanDerWijden Feb 26, 2026
8a43456
build: update ubuntu distros list (#33864)
s1na Feb 26, 2026
be92f54
trie: error out for unexpected key-value pairs preceding the range (#…
rjl493456442 Feb 26, 2026
1b1133d
go.mod: update ckzg (#33901)
MariusVanDerWijden Feb 26, 2026
7793e00
Dockerfile: upgrade to Go 1.26 (#33899)
fjl Feb 26, 2026
95c6b05
trie/bintrie: fix endianness in code chunk key computation (#33900)
gballet Feb 27, 2026
cee751a
eth: fix the flaky test of TestSnapSyncDisabling68 (#33896)
jsvisa Feb 27, 2026
723aae2
eth/protocols/eth: drop protocol version eth/68 (#33511)
healthykim Feb 28, 2026
825436f
AGENTS.md: add instruction not to commit binaries (#33921)
gballet Mar 2, 2026
5695fbc
.github: set @gballet as codeowner for keeper (#33920)
gballet Mar 2, 2026
2726c9e
core/vm: enable 8024 instructions in Amsterdam (#33928)
jwasinger Mar 2, 2026
1eead2e
core/types: fix transaction pool price-heap comparison (#33923)
cskiraly Mar 2, 2026
48cfc97
core/txpool/blobpool: delay announcement of low fee txs (#33893)
cskiraly Mar 2, 2026
b25080c
miner: account for generateWork elapsed time in payload rebuild timer…
vickkkkkyy Mar 2, 2026
d318e8e
node: disable http2 for auth API (#33922)
s1na Mar 2, 2026
9962e2c
p2p/tracker: fix crash in clean when tracker is stopped (#33940)
fjl Mar 3, 2026
16783c1
version: release go-ethereum v1.17.1 stable
fjl Mar 3, 2026
db7d3a4
version: begin v1.17.2 release cycle
fjl Mar 3, 2026
856e4d5
go.mod: bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0 (#33946)
jrhea Mar 3, 2026
773f71b
miner: enable trie prefetcher in block builder (#33945)
jrhea Mar 4, 2026
4f75049
miner: avoid unnecessary work after payload resolution (#33943)
jrhea Mar 4, 2026
fe3a74e
core/vm: use amsterdam jump table in lookup (#33947)
BZO95 Mar 4, 2026
6d99759
cmd, core, eth, tests: prevent state flushing in RPC (#33931)
rjl493456442 Mar 4, 2026
814edc5
core/vm: Switch to branchless normalization and extend EXCHANGE (#33869)
jrhea Mar 4, 2026
dd202d4
core, ethdb, triedb: add batch close (#33708)
rjl493456442 Mar 4, 2026
6d0dd08
core: implement eip-7778: block gas accounting without refunds (#33593)
MariusVanDerWijden Mar 4, 2026
28dad94
cmd/geth: set default cache to 4096 (#33836)
jrhea Mar 4, 2026
402c71f
internal/telemetry: fix undersized span queue causing dropped spans (…
jrhea Mar 4, 2026
fc8c104
internal/ethapi: add MaxUsedGas field to eth_simulateV1 response (#32…
Rhovian Mar 4, 2026
ce64ab4
internal/ethapi: fix gas cap for eth_simulateV1 (#33952)
s1na Mar 5, 2026
344ce84
eth/fetcher: fix flaky test by improving event unsubscription (#33950)
healthykim Mar 5, 2026
a0fb810
trie/bintrie: fix overflow management in slot key computation (#33951)
gballet Mar 5, 2026
3f18715
trie/bintrie: cache hashes of clean nodes so as not to rehash the who…
gballet Mar 6, 2026
ecee64e
core: fix TestProcessVerkle flaky test (#33971)
gballet Mar 6, 2026
0d043d0
signer/core: prevent nil pointer panics in keystore operations (#33829)
marukai67 Mar 6, 2026
e15d4cc
core/types: reduce alloc in hot code path (#33523)
cuiweixie Mar 7, 2026
00540f9
go.mod: update go-eth-kzg (#33963)
MariusVanDerWijden Mar 8, 2026
b08aac1
eth/catalyst: allow getPayloadV2 for pre-shanghai payloads (#33932)
Muzry Mar 9, 2026
b8a3fa7
cmd/utils, eth/ethconfig: change default cache settings (#33975)
rjl493456442 Mar 9, 2026
91cec92
core, miner, tests: introduce codedb and simplify cachingDB (#33816)
rjl493456442 Mar 10, 2026
aa417b0
core/tracing: fix nonce revert edge case (#33978)
s1na Mar 10, 2026
8adb907
Merge branch 'master' into merge-v1.17.0
ganeshvanahalli Mar 10, 2026
27c4ca9
eth: resolve finalized from disk if it's not recently announced (#33150)
rjl493456442 Mar 11, 2026
f6068e3
eth/tracers: fix accessList StorageKeys return null (#33976)
georgehao Mar 11, 2026
32f05d6
core: end telemetry span for ApplyTransactionWithEVM if error is retu…
jwasinger Mar 11, 2026
88f8549
cmd/geth: correct misleading flag description in removedb command (#3…
aso20455 Mar 11, 2026
3c20e08
cmd/geth: add Prague pruning points (#33657)
s1na Mar 11, 2026
59512b1
cmd/fetchpayload: add payload-building utility (#33919)
gballet Mar 11, 2026
7d13acd
core/rawdb, triedb/pathdb: enable trienode history alongside existing…
rjl493456442 Mar 12, 2026
de0a452
eth/filters: fix race in pending tx and new heads subscriptions (#33990)
Copilot Mar 12, 2026
95b9a2e
core: Implement eip-7954 increase Maximum Contract Size (#33832)
0xjvn Mar 12, 2026
1c9ddee
trie/bintrie: use a sync.Pool when hashing binary tree nodes (#33989)
gballet Mar 12, 2026
eaa9418
core/rawdb: enforce exact key length for num->hash and td in db inspe…
legm0310 Mar 13, 2026
dba741f
console: fix autocomplete digit range to include 0 (#34003)
adblesss Mar 13, 2026
189f9d0
eth/filters: check history pruning cutoff in GetFilterLogs (#33823)
vickkkkkyy Mar 13, 2026
ede376a
internal/ethapi: encode slotNumber as hex in RPCMarshalHeader (#34005)
jwasinger Mar 13, 2026
24025c2
build: fix signify flag name in doWindowsInstaller (#34006)
vickkkkkyy Mar 14, 2026
77e7e5a
go.mod, go.sum: update karalabe/hid to fix broken FreeBSD ports build…
gballet Mar 16, 2026
a7d09cc
core: fix code database initialization in stateless mode (#34011)
rjl493456442 Mar 16, 2026
98b13f3
miner: add OpenTelemetry spans for block building path (#33773)
jrhea Mar 16, 2026
4b915af
core/state: avoid Bytes() allocation in flatReader hash computations …
CPerezz Mar 17, 2026
519a450
core/state: skip redundant trie Commit for Verkle in stateObject.comm…
CPerezz Mar 17, 2026
fc1b0c0
internal/ethapi: warn on reaching global gas cap for eth_simulateV1 (…
s1na Mar 17, 2026
9b2ce12
triedb/pathdb: enhance history index initer (#33640)
rjl493456442 Mar 17, 2026
ab35715
cmd/evm: don't strip prefixes on requests over t8n (#33997)
fselmo Mar 17, 2026
b6115e9
core: fix txLookupLock mutex leak on error returns in reorg() (#34039)
Mayveskii Mar 18, 2026
6138a11
trie/bintrie: parallelize InternalNode.Hash at shallow tree depths (#…
CPerezz Mar 18, 2026
6ae3f9f
core/history: refactor pruning configuration (#34036)
s1na Mar 18, 2026
b35645b
build: fix missing '!' in shebang of generated oss-fuzz scripts (#34044)
haoyu-haoyu Mar 18, 2026
3341d8a
eth/filters: rangeLogs should error on invalid block range (#33763)
vickkkkkyy Mar 18, 2026
4faadf1
rlp: add AppendList method to RawList (#34048)
healthykim Mar 19, 2026
a3083ff
cmd: add support for enumerating a single storage trie (#34051)
rjl493456442 Mar 19, 2026
fd85963
core/vm: rework gas measurement for call variants (#33648)
jwasinger Mar 19, 2026
35b9109
rlp: add Size method to EncoderBuffer (#34052)
fjl Mar 19, 2026
59ce2cb
p2p: track in-progress inbound node IDs (#33198)
0xjvn Mar 20, 2026
77779d1
core/state: bypass per-account updateTrie in IntermediateRoot for bin…
CPerezz Mar 20, 2026
305cd7b
trie/bintrie: fix NodeIterator Empty node handling and expose tree ac…
gballet Mar 20, 2026
e23b0cb
core/rawdb: fix key length check for num -- hash in db inspect (#34074)
adblesss Mar 23, 2026
a61e5cc
core, internal/ethapi: fix incorrect max-initcode RPC error mapping (…
gzliudan Mar 23, 2026
b87340a
core, core/vm: implement EIP-7708 (#33645)
zsfelfoldi Mar 23, 2026
745b0a8
cmd/utils: guard SampleRatio flag with IsSet check (#34062)
vickkkkkyy Mar 23, 2026
e951bcb
cmd/devp2p: fix discv5 PingMultiIP test session key mismatch (#34031)
cskiraly Mar 24, 2026
8f9061f
cmd/utils: optimize history import with batched insertion (#33894)
Savid Mar 24, 2026
5d0e18f
core/tracing: fix NonceChangeAuthorization comment (#34085)
aso20455 Mar 25, 2026
8a3a309
core/txpool/legacypool: remove redundant nil check in Get (#34092)
adblesss Mar 26, 2026
1b3b028
miner: fix txFitsSize comment (#34100)
gzliudan Mar 27, 2026
acdd139
miner: set slot number when building test payload (#34094)
jwasinger Mar 27, 2026
c3467dd
core, miner, trie: relocate witness stats (#34106)
rjl493456442 Mar 27, 2026
a249685
p2p/discover: resolve DNS hostnames for bootstrap nodes (#34101)
cgdusek Mar 28, 2026
bd3c843
build, cmd/keeper: add "womir" target (#34079)
gballet Mar 28, 2026
d1369b6
core/txpool/legacypool: use types.Sender instead of signer.Sender (#3…
gzliudan Mar 28, 2026
e585ad3
core/rawdb: fix freezer dir.Sync() failure on Windows (#34115)
cgdusek Mar 30, 2026
ceabc39
internal/ethapi: limit number of calls to eth_simulateV1 (#34616)
s1na Mar 30, 2026
95705e8
internal/ethapi: limit number of getProofs keys (#34617)
s1na Mar 30, 2026
be4dc0c
version: release go-ethereum v1.17.2 stable (#34618)
rjl493456442 Mar 30, 2026
eb4112d
merge master and resolve conflicts
ganeshvanahalli Apr 23, 2026
ba99912
Merge commit '01fe1d716c0e2b22eca5d94bef37795843d70b9c' into merge-v1…
ganeshvanahalli Apr 27, 2026
c145d50
Merge commit 'e40aa46e88d122d8a95a11fb05c7b396a1c49746' into merge-v1…
ganeshvanahalli Apr 27, 2026
cdad9e9
Merge commit '82fad31540d10d97b69329732c2e33b0be5e8186' into merge-v1…
ganeshvanahalli Apr 27, 2026
fc577f0
Merge commit '199ac16e07f5ac7845a3d1cb44fa85821fd0921a' into merge-v1…
ganeshvanahalli Apr 27, 2026
f226d0d
Merge commit 'cbf3d8fed2fbe1fa07e9548a42a4883d5e276409' into merge-v1…
ganeshvanahalli Apr 27, 2026
e6c2b25
Merge commit 'f811bfe4fdec2fe1dd384a65db415848787a9ab8' into merge-v1…
ganeshvanahalli Apr 27, 2026
4ac5f46
Merge commit '1b1133d669e198028eaf4b686428131e44c6f1f3' into merge-v1…
ganeshvanahalli Apr 27, 2026
6e3a930
Merge commit '723aae2b4e77af7b2a1173280a05382c739ca4e1' into merge-v1…
ganeshvanahalli Apr 27, 2026
bac3948
Merge commit '856e4d55d8e861f9c737ef8b9da436c505f6f867' into merge-v1…
ganeshvanahalli Apr 27, 2026
e12e7d4
Merge commit '6d99759f01dc1f8697f424a6baee93621f269069' into merge-v1…
ganeshvanahalli Apr 27, 2026
fe8a8d9
Merge commit '6d0dd0886000a2011bc79872b74ccfe9c672c40d' into merge-v1…
ganeshvanahalli Apr 27, 2026
dba009f
merge v1.17.2
ganeshvanahalli Apr 27, 2026
7801dbe
more fixes for the nitro side
ganeshvanahalli Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ beacon/merkle/ @zsfelfoldi
beacon/types/ @zsfelfoldi @fjl
beacon/params/ @zsfelfoldi @fjl
cmd/evm/ @MariusVanDerWijden @lightclient
cmd/keeper/ @gballet
core/state/ @rjl493456442
crypto/ @gballet @jwasinger @fjl
core/ @rjl493456442
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ jobs:

- name: Install cross toolchain
run: |
apt-get update
apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib
sudo apt-get update
sudo apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib

- name: Build
run: go run build/ci.go test -arch 386 -short -p 8
Expand Down
60 changes: 60 additions & 0 deletions .github/workflows/validate_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,77 @@ jobs:
validate-pr:
runs-on: ubuntu-latest
steps:
- name: Check for Spam PR
uses: actions/github-script@v7
with:
script: |
const prTitle = context.payload.pull_request.title;
const spamRegex = /^(feat|chore|fix)(\(.*\))?\s*:/i;

if (spamRegex.test(prTitle)) {
// Leave a comment explaining why
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: `## PR Closed as Spam

This PR was automatically closed because the title format \`feat:\`, \`fix:\`, or \`chore:\` is commonly associated with spam contributions.

If this is a legitimate contribution, please:
1. Review our contribution guidelines
2. Use the correct PR title format: \`directory, ...: description\`
3. Open a new PR with the proper title format

Thank you for your understanding.`
});

// Close the PR
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number,
state: 'closed'
});

core.setFailed('PR closed as spam due to suspicious title format');
return;
}

console.log('✅ PR passed spam check');

- name: Checkout repository
uses: actions/checkout@v4

- name: Check PR Title Format
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const path = require('path');
const prTitle = context.payload.pull_request.title;
const titleRegex = /^([\w\s,{}/.]+): .+/;

if (!titleRegex.test(prTitle)) {
core.setFailed(`PR title "${prTitle}" does not match required format: directory, ...: description`);
return;
}

const match = prTitle.match(titleRegex);
const dirPart = match[1];
const directories = dirPart.split(',').map(d => d.trim());
const missingDirs = [];
for (const dir of directories) {
const fullPath = path.join(process.env.GITHUB_WORKSPACE, dir);
if (!fs.existsSync(fullPath)) {
missingDirs.push(dir);
}
}

if (missingDirs.length > 0) {
core.setFailed(`The following directories in the PR title do not exist: ${missingDirs.join(', ')}`);
return;
}

console.log('✅ PR title format is valid');

Expand Down
102 changes: 102 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# AGENTS

## Guidelines

- **Keep changes minimal and focused.** Only modify code directly related to the task at hand. Do not refactor unrelated code, rename existing variables or functions for style, or bundle unrelated fixes into the same commit or PR.
- **Do not add, remove, or update dependencies** unless the task explicitly requires it.

## Pre-Commit Checklist

Before every commit, run **all** of the following checks and ensure they pass:

### 1. Formatting

Before committing, always run `gofmt` and `goimports` on all modified files:

```sh
gofmt -w <modified files>
goimports -w <modified files>
```

### 2. Build All Commands

Verify that all tools compile successfully:

```sh
make all
```

This builds all executables under `cmd/`, including `keeper` which has special build requirements.

### 3. Tests

While iterating during development, use `-short` for faster feedback:

```sh
go run ./build/ci.go test -short
```

Before committing, run the full test suite **without** `-short` to ensure all tests pass, including the Ethereum execution-spec tests and all state/block test permutations:

```sh
go run ./build/ci.go test
```

### 4. Linting

```sh
go run ./build/ci.go lint
```

This runs additional style checks. Fix any issues before committing.

### 5. Generated Code

```sh
go run ./build/ci.go check_generate
```

Ensures that all generated files (e.g., `gen_*.go`) are up to date. If this fails, first install the required code generators by running `make devtools`, then run the appropriate `go generate` commands and include the updated files in your commit.

### 6. Dependency Hygiene

```sh
go run ./build/ci.go check_baddeps
```

Verifies that no forbidden dependencies have been introduced.

## What to include in commits

Do not commit binaries, whether they are produced by the main build or byproducts of investigations.

## Commit Message Format

Commit messages must be prefixed with the package(s) they modify, followed by a short lowercase description:

```
<package(s)>: description
```

Examples:
- `core/vm: fix stack overflow in PUSH instruction`
- `eth, rpc: make trace configs optional`
- `cmd/geth: add new flag for sync mode`

Use comma-separated package names when multiple areas are affected. Keep the description concise.

## Pull Request Title Format

PR titles follow the same convention as commit messages:

```
<list of modified paths>: description
```

Examples:
- `core/vm: fix stack overflow in PUSH instruction`
- `core, eth: add arena allocator support`
- `cmd/geth, internal/ethapi: refactor transaction args`
- `trie/archiver: streaming subtree archival to fix OOM`

Use the top-level package paths, comma-separated if multiple areas are affected. Only mention the directories with functional changes, interface changes that trickle all over the codebase should not generate an exhaustive list. The description should be a short, lowercase summary of the change.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG VERSION=""
ARG BUILDNUM=""

# Build Geth in a stock Go builder container
FROM golang:1.24-alpine AS builder
FROM golang:1.26-alpine AS builder

RUN apk add --no-cache gcc musl-dev linux-headers git

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.alltools
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG VERSION=""
ARG BUILDNUM=""

# Build Geth in a stock Go builder container
FROM golang:1.24-alpine AS builder
FROM golang:1.26-alpine AS builder

RUN apk add --no-cache gcc musl-dev linux-headers git

Expand Down
1 change: 0 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ Audit reports are published in the `docs` folder: https://github.com/ethereum/go

To find out how to disclose a vulnerability in Ethereum visit [https://bounty.ethereum.org](https://bounty.ethereum.org) or email bounty@ethereum.org. Please read the [disclosure page](https://github.com/ethereum/go-ethereum/security/advisories?state=published) for more information about publicly disclosed security vulnerabilities.

Use the built-in `geth version-check` feature to check whether the software is affected by any known vulnerability. This command will fetch the latest [`vulnerabilities.json`](https://geth.ethereum.org/docs/vulnerabilities/vulnerabilities.json) file which contains known security vulnerabilities concerning `geth`, and cross-check the data against its own version number.

The following key may be used to communicate sensitive information to developers.

Expand Down
4 changes: 2 additions & 2 deletions accounts/abi/bind/v2/dep_tree_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,10 +158,10 @@ func testLinkCase(tcInput linkTestCaseInput) error {
overrideAddrs = make(map[rune]common.Address)
)
// generate deterministic addresses for the override set.
rand.Seed(42)
rng := rand.New(rand.NewSource(42))
for contract := range tcInput.overrides {
var addr common.Address
rand.Read(addr[:])
rng.Read(addr[:])
overrideAddrs[contract] = addr
overridesAddrs[addr] = struct{}{}
}
Expand Down
2 changes: 2 additions & 0 deletions accounts/keystore/keystore.go
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,7 @@ func (ks *KeyStore) Export(a accounts.Account, passphrase, newPassphrase string)
if err != nil {
return nil, err
}
defer zeroKey(key.PrivateKey)
var N, P int
if store, ok := ks.storage.(*keyStorePassphrase); ok {
N, P = store.scryptN, store.scryptP
Expand Down Expand Up @@ -477,6 +478,7 @@ func (ks *KeyStore) Update(a accounts.Account, passphrase, newPassphrase string)
if err != nil {
return err
}
defer zeroKey(key.PrivateKey)
return ks.storage.StoreKey(a.URL.Path, key, newPassphrase)
}

Expand Down
3 changes: 3 additions & 0 deletions accounts/keystore/presale.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ func decryptPreSaleKey(fileContent []byte, password string) (key *Key, err error
*/
passBytes := []byte(password)
derivedKey := pbkdf2.Key(passBytes, passBytes, 2000, 16, sha256.New)
if len(cipherText)%aes.BlockSize != 0 {
return nil, errors.New("ciphertext must be a multiple of block size")
}
plainText, err := aesCBCDecrypt(derivedKey, cipherText, iv)
if err != nil {
return nil, err
Expand Down
4 changes: 4 additions & 0 deletions accounts/scwallet/securechannel.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,10 @@ func (s *SecureChannelSession) decryptAPDU(data []byte) ([]byte, error) {
return nil, err
}

if len(data) == 0 || len(data)%aes.BlockSize != 0 {
return nil, fmt.Errorf("invalid ciphertext length: %d", len(data))
}

ret := make([]byte, len(data))

crypter := cipher.NewCBCDecrypter(a, s.iv)
Expand Down
12 changes: 11 additions & 1 deletion accounts/usbwallet/hub.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ const refreshCycle = time.Second
// trashing.
const refreshThrottling = 500 * time.Millisecond

const (
// deviceUsagePage identifies Ledger devices by HID usage page (0xffa0) on Windows and macOS.
// See: https://github.com/LedgerHQ/ledger-live/blob/05a2980e838955a11a1418da638ef8ac3df4fb74/libs/ledgerjs/packages/hw-transport-node-hid-noevents/src/TransportNodeHid.ts
deviceUsagePage = 0xffa0
// deviceInterface identifies Ledger devices by USB interface number (0) on Linux.
deviceInterface = 0
)

// Hub is a accounts.Backend that can find and handle generic USB hardware wallets.
type Hub struct {
scheme string // Protocol scheme prefixing account and wallet URLs.
Expand Down Expand Up @@ -82,14 +90,16 @@ func NewLedgerHub() (*Hub, error) {
0x0005, /* Ledger Nano S Plus */
0x0006, /* Ledger Nano FTS */
0x0007, /* Ledger Flex */
0x0008, /* Ledger Nano Gen5 */

0x0000, /* WebUSB Ledger Blue */
0x1000, /* WebUSB Ledger Nano S */
0x4000, /* WebUSB Ledger Nano X */
0x5000, /* WebUSB Ledger Nano S Plus */
0x6000, /* WebUSB Ledger Nano FTS */
0x7000, /* WebUSB Ledger Flex */
}, 0xffa0, 0, newLedgerDriver)
0x8000, /* WebUSB Ledger Nano Gen5 */
}, deviceUsagePage, deviceInterface, newLedgerDriver)
}

// NewTrezorHubWithHID creates a new hardware wallet manager for Trezor devices.
Expand Down
2 changes: 1 addition & 1 deletion accounts/usbwallet/ledger.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@
return nil, accounts.ErrWalletClosed
}
// Ensure the wallet is capable of signing the given transaction
if w.version[0] < 1 && w.version[1] < 5 {
if w.version[0] < 1 || (w.version[0] == 1 && w.version[1] < 5) {
//lint:ignore ST1005 brand name displayed on the console
return nil, fmt.Errorf("Ledger version >= 1.5.0 required for EIP-712 signing (found version v%d.%d.%d)", w.version[0], w.version[1], w.version[2])
}
Expand Down Expand Up @@ -509,7 +509,7 @@
// Optional APDU data | arbitrary
func (w *ledgerDriver) ledgerExchange(opcode ledgerOpcode, p1 ledgerParam1, p2 ledgerParam2, data []byte) ([]byte, error) {
// Construct the message payload, possibly split into multiple chunks
apdu := make([]byte, 2, 7+len(data))

Check failure

Code scanning / CodeQL

Size computation for allocation may overflow High

This operation, which is used in an
allocation
, involves a
potentially large value
and might overflow.
This operation, which is used in an
allocation
, involves a
potentially large value
and might overflow.

binary.BigEndian.PutUint16(apdu, uint16(5+len(data)))
apdu = append(apdu, []byte{0xe0, byte(opcode), byte(p1), byte(p2), byte(len(data))}...)
Expand Down
2 changes: 1 addition & 1 deletion accounts/usbwallet/wallet.go
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,7 @@ func (w *wallet) SignTx(account accounts.Account, tx *types.Transaction, chainID
// data is not supported for Ledger wallets, so this method will always return
// an error.
func (w *wallet) SignTextWithPassphrase(account accounts.Account, passphrase string, text []byte) ([]byte, error) {
return w.SignText(account, accounts.TextHash(text))
return w.SignText(account, text)
}

// SignTxWithPassphrase implements accounts.Wallet, attempting to sign the given
Expand Down
4 changes: 2 additions & 2 deletions arbcrypto/keccak.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ package arbcrypto
import (
"hash"

"golang.org/x/crypto/sha3"
"github.com/ethereum/go-ethereum/crypto/keccak"
)

func NewLegacyKeccak256() hash.Hash {
return sha3.NewLegacyKeccak256()
return keccak.NewLegacyKeccak256()
}
2 changes: 1 addition & 1 deletion arbitrum/apibackend.go
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@ func StateAndHeaderFromHeader(ctx context.Context, chainDb ethdb.Database, bc *c
return statedb, NoopStateRelease, nil
}
}
liveState, liveStateRelease, err := stateFor(bc.StateCache(), bc.Snapshots())(header)
liveState, liveStateRelease, err := stateFor(state.NewDatabase(bc.TrieDB(), bc.CodeDB()), bc.Snapshots())(header)
if err == nil {
liveStatesReferencedCounter.Inc(1)
liveState.SetArbFinalizer(func(*state.ArbitrumExtraData) {
Expand Down
2 changes: 1 addition & 1 deletion arbitrum/recreatestate.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ func AdvanceStateByBlock(ctx context.Context, bc *core.BlockChain, state *state.
if logFunc != nil {
logFunc(block.Header(), true)
}
result, err := bc.Processor().Process(block, state, vmConfig)
result, err := bc.Processor().Process(ctx, block, state, vmConfig)
if err != nil {
return nil, nil, nil, fmt.Errorf("failed recreating state for block %d : %w", blockToRecreate, err)
}
Expand Down
2 changes: 1 addition & 1 deletion arbitrum/retryables/scheduled_txes.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func RunScheduledTxes(ctx context.Context, b core.NodeInterfaceBackendAPI, state
evm.Cancel()
}()

scheduledTxResult, err := core.ApplyMessage(evm, msg, new(core.GasPool).AddGas(math.MaxUint64))
scheduledTxResult, err := core.ApplyMessage(evm, msg, core.NewGasPool(math.MaxUint64))
if err != nil {
return nil, err
}
Expand Down
Loading
Loading