Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
e0d81d1
eth: fix panic in randomDuration when min equals max (#33193)
maradini77 Nov 18, 2025
f4817b7
core: initialize tracer before DAO fork logic (#33214)
wit765 Nov 19, 2025
f8e5b53
cmd/utils: make datadir.minfreedisk an IntFlag (#33252)
phrwlk Nov 24, 2025
495a1d2
core, cmd: removed tablewriter from the dependencies (#33218)
cedrickah Nov 24, 2025
b5c3b32
eth/catalyst: remove the outdated comments of ForkchoiceUpdatedV1 (#3…
georgehao Nov 24, 2025
5748dd1
consensus/beacon: fix blob gas error message formatting (#33201)
rizkyikiw42 Nov 24, 2025
a6191d8
core/txpool/blobpool: drain and signal pending conversion tasks on sh…
sashass1315 Nov 25, 2025
2a4847a
core/rawdb: fix underflow in freezer inspect for empty ancients (#33203)
VolodymyrBg Nov 25, 2025
b04df22
cmd/geth: skip resolver for zero-commitment verkle children (#33265)
Bashmunta Nov 25, 2025
ebf9355
consensus/misc: fix blob gas error message formatting (#33275)
rizkyikiw42 Nov 26, 2025
960c87a
triedb/pathdb: implement iterator of history index (#32981)
rjl493456442 Nov 26, 2025
62334a9
beacon: update beacon light client for fusaka (#33272)
zsfelfoldi Nov 26, 2025
cf93077
rlp: finalize listIterator on parse error to prevent non-advancing lo…
radik878 Nov 26, 2025
3f7cd90
accounts/usbwallet: fix double hashing in SignTextWithPassphrase (#33…
lucia-w Nov 26, 2025
1468331
p2p/discover/v5wire: remove redundant bytes clone in WHOAREYOU encodi…
soniseth0 Nov 26, 2025
ed4d00f
miner: add --miner.maxblobs flag (#33129)
MariusVanDerWijden Nov 26, 2025
689ea10
core/vm: implement EIP-8024 (#33095)
jrhea Nov 26, 2025
3e48e07
beacon/config: add ELECTRA, FULU to knownForks (#32674)
klim0v Nov 26, 2025
c55a121
beacon/config: ignore nil values in config file (#33065)
klim0v Nov 26, 2025
3bbf5f5
core/vm: improve memory resize (#33056)
MariusVanDerWijden Nov 26, 2025
7805e20
.github/workflows: validate that the directories exist (#33289)
gballet Nov 26, 2025
6452b7a
beacon/light: optimize database key assembling (#33292)
justinbay Nov 27, 2025
9bab01b
consensus/clique: fix blob gas error message formatting (#33296)
rizkyikiw42 Nov 27, 2025
6426257
eth/tracers/logger: rename WriteTo to Write (#33227)
davidjsonn Nov 27, 2025
8d1b1c2
core/txpool/blobpool: auto-start next conversion batch after completi…
radik878 Nov 27, 2025
aa1a8da
cmd/keeper/go.mod: bump github.com/consensys/gnark-crypto from 0.18.0…
dependabot[bot] Nov 27, 2025
795a7ab
go.mod: bump gnark-crypto to 0.18.1 (#33305)
gballet Nov 27, 2025
b3b46ce
eth/downloader: remove dead proc counter (#33309)
ANtutov Nov 28, 2025
446fdeb
consensus/ethash: fix blob gas error message formatting (#33300)
rizkyikiw42 Nov 28, 2025
f432281
cmd/utils: fix dumpconfig (#33302)
cuiweixie Nov 28, 2025
f691d66
cmd/utils: fix disabling discovery through config file (#33279)
cuiweixie Nov 28, 2025
fed8e09
cmd/evm: add stdin support to blocktest command (#32824)
bshastry Nov 28, 2025
a122dbe
internal/ethapi: return error code -32602 for invalid storage key (#3…
fjl Nov 28, 2025
28376ae
eth/catalyst: check fork timestamps during `engine_getPayload` (#32754)
lightclient Nov 28, 2025
fbbaa3c
eth/catalyst: fix tests for getPayload change (#33322)
fjl Nov 28, 2025
f12f0ec
cmd/utils: allow --networkid to override other config options (#32999)
lightclient Nov 28, 2025
5d51208
internal/ethapi: change default tx type to 0x2 (#33058)
s1na Nov 28, 2025
cd3f9b2
cmd/utils: fix disabling cache preimages through config file (#33330)
cuiweixie Dec 1, 2025
6f2cbb7
triedb/pathdb: allow single-element history ranges (#33329)
Forostovec Dec 1, 2025
da3822d
internal/debug: fix log memory limit format (#33336)
Fallengirl Dec 1, 2025
042c47c
core: log detailed statistics for slow block (#32812)
rjl493456442 Dec 2, 2025
be94ea1
cmd/utils: fix handling of boolean flags when they are set to false (…
cuiweixie Dec 2, 2025
212967d
ethdb/pebble: add configuration changes (#33315)
rjl493456442 Dec 2, 2025
d3679c2
core/state: export statistics to metrics (#33254)
rjl493456442 Dec 2, 2025
129c562
eth/catalyst: benchmark GetBlobsV2 at API level (#33196)
cskiraly Dec 3, 2025
657c99f
beacon/types: update for fulu (#33349)
fjl Dec 3, 2025
73a2df2
eth/filters: change error code for invalid parameter errors (#33320)
fjl Dec 4, 2025
e63e37b
core/filtermaps: fix operator precedence in delete logging condition …
davidjsonn Dec 6, 2025
dbca858
ethdb/pebble: change the Pebble database configuration (#33353)
rjl493456442 Dec 8, 2025
af47d9b
p2p/nat: fix err shadowing in UPnP addAnyPortMapping (#33355)
Snezhkko Dec 8, 2025
31f9c9f
common/bitutil: deprecate XORBytes in favor of stdlib crypto/subtle (…
cuiweixie Dec 8, 2025
66134b3
core/vm: fix PC increment for EIP-8024 opcodes (#33361)
frangio Dec 8, 2025
228933a
eth/downloader: keep current syncmode in downloader only (#33157)
rjl493456442 Dec 8, 2025
e58c785
build: fix check_generate not printing changed files (#33299)
wit765 Dec 8, 2025
9a34687
core/state: fix incorrect contract code state metrics (#33376)
weiihann Dec 10, 2025
c21fe54
tests: integrate BlockTest.run into BlockTest.Run (#33383)
jwasinger Dec 10, 2025
215ee6a
internal/ethapi: select precompiles using the simulated header (#33363)
Fibonacci747 Dec 10, 2025
1ce71a1
eth/tracers/native: include SWAP16 in default ignored opcodes (#33381)
SashaMalysehko Dec 10, 2025
13a8798
p2p/tracker: fix head detection in Fulfil to avoid unnecessary timer …
kurahin Dec 10, 2025
b98b255
core/rawdb: fix size counting in memory freezer (#33344)
Bashmunta Dec 10, 2025
1b702f7
triedb/pathdb: use copy instead of append to reduce memory alloc (#33…
jsvisa Dec 11, 2025
56d201b
eth/fetcher: add metadata validation in tx announcement (#33378)
healthykim Dec 11, 2025
472e3a2
core/stateless: cap witness depth metrics buckets (#33389)
yyhrnk Dec 11, 2025
16f5028
cmd/utils: fix DeveloperFlag handling when set to false (#33379)
rizkyikiw42 Dec 12, 2025
3a5560f
core/state: make test output message readable (#33400)
gzliudan Dec 13, 2025
a9eaf2f
crypto/signify: fix fuzz test compilation (#33402)
davidjsonn Dec 13, 2025
e20b05e
core/overlay: fix incorrect debug log key/value in LoadTransitionStat…
Galoretka Dec 14, 2025
15f52a2
core/state: fix code existence not marked correctly (#33415)
weiihann Dec 15, 2025
6978ab4
cmd/workload, eth/tracers/native: introduce state proof tests (#32247)
rjl493456442 Dec 15, 2025
7aae33e
eth/catalyst: fix invalid timestamp log message (#33440)
jrhea Dec 17, 2025
ffe9dc9
core: add code read statistics (#33442)
rjl493456442 Dec 18, 2025
bd77b77
core/txpool/blobpool: remove legacy sidecar conversion (#33352)
rjl493456442 Dec 18, 2025
5dfcffc
tests/fuzzers: remove unused field from kv struct in rangeproof fuzze…
0xxFloki Dec 19, 2025
dd7daac
eth/catalyst: return empty response for GetBlobsV2 before Osaka (#33444)
0xjvn Dec 19, 2025
bf141fb
core, eth: add lock protection in snap sync (#33428)
rjl493456442 Dec 19, 2025
2e5cd21
graphql: add nil check in block resolver (#33225)
rizkyikiw42 Dec 19, 2025
27b3a60
core/txpool/blobpool: fix slotter size limit (#33474)
cskiraly Dec 24, 2025
4531bfe
eth/downloader: fix stale beacon header deletion (#33481)
rjl493456442 Dec 29, 2025
b9702ed
console/prompt: use PromptInput in PromptConfirm method (#33445)
oooLowNeoNooo Dec 29, 2025
57f8486
params: fix wrong comment (#33503)
Archkon Dec 29, 2025
3f641db
trie, go.mod: remove all references to go-verkle and go-ipa (#33461)
gballet Dec 30, 2025
b84097d
.github/workflows: preventively close PRs that seem AI-generated (#33…
gballet Dec 30, 2025
b3e7d9e
triedb/pathdb: optimize history indexing efficiency (#33303)
rjl493456442 Dec 30, 2025
d9aaab1
beacon/light/sync: clear reqFinalityEpoch on server unregistration (#…
Fibonacci747 Dec 30, 2025
52ae75a
cmd/geth: remove deprecated vulnerability check command (#33498)
rdin777 Dec 30, 2025
25439aa
core/state/snapshot: fix storageList memory accounting (#33505)
Bashmunta Dec 31, 2025
b2843a1
eth/catalyst: implement getBlobsV3 (#33404)
MarcoPolo Dec 31, 2025
32fea00
core/blockchain.go: cleanup finalized block on rewind in setHeadBeyon…
0xjvn Dec 31, 2025
b635e06
eth/fetcher: improve the condition to stall peer in tx fetcher (#32725)
rjl493456442 Dec 31, 2025
de5ea2f
core/rawdb: add trienode freezer support to InspectFreezerTable (#33515)
m6xwzzz Jan 4, 2026
a8a4804
ethstats: report newPayload processing time to stats server (#33395)
Savid Jan 5, 2026
eaaa5b7
core: re-organize the stats category (#33525)
rjl493456442 Jan 6, 2026
7100084
eth: txs fetch/send log at trace level only (#33541)
cskiraly Jan 7, 2026
957a360
core/vm: avoid escape to heap (#33537)
cuiweixie Jan 7, 2026
01b39c9
core/state, core/tracing: new state update hook (#33490)
weiihann Jan 8, 2026
9623dcb
core/state: add cache statistics of contract code reader (#33532)
rjl493456442 Jan 8, 2026
64d22fd
internal/flags: update copyright year to 2026 (#33550)
LittleBingoo Jan 8, 2026
a32851f
graphql: fix GasPrice for blob and setcode transactions (#33542)
m6xwzzz Jan 8, 2026
d5efd34
triedb/pathdb: introduce extension to history index structure (#33399)
rjl493456442 Jan 8, 2026
52f998d
ethclient: omit nil address/topics from filter args (#33464)
madisoncarter1234 Jan 8, 2026
f51870e
rlp, trie, triedb/pathdb: compress trienode history (#32913)
rjl493456442 Jan 8, 2026
b993cb6
core/txpool/blobpool: allow gaps in blobpool (#32717)
cskiraly Jan 9, 2026
4eb5b66
ethclient: restore BlockReceipts support for `BlockNumberOrHash` obje…
maradini77 Jan 9, 2026
7cd4006
tests: check correct revert on invalid tests (#33543)
helium729 Jan 9, 2026
127d1f4
core: remove duplicate chainHeadFeed.Send code (#33563)
cskiraly Jan 9, 2026
c890637
core/rawdb: skip missing block bodies during tx unindexing (#33573)
jrhea Jan 12, 2026
31d5d82
internal/ethapi: refactor RPC tx formatter (#33582)
0xcharry Jan 12, 2026
1278b48
tests: repair oss-fuzz coverage command (#33304)
aso20455 Jan 13, 2026
5a1990d
rpc: fix limitedBuffer.Write to properly enforce size limit (#33545)
maximevtush Jan 13, 2026
ea49354
version: begin v1.17.0 release cycle
fjl Jan 13, 2026
5b99d2b
core/txpool: drop peers on invalid KZG proofs
MariusVanDerWijden Dec 19, 2025
3b17e78
crypto/ecies: use aes blocksize
lightclient Jan 9, 2026
94710f7
accounts/keystore: fix panic in decryptPreSaleKey (#33602)
BZO95 Jan 14, 2026
a9acb3f
rpc, internal/telemetry: add OpenTelemetry tracing for JSON-RPC calls…
jrhea Jan 14, 2026
e3e556b
rpc: extract OpenTelemetry trace context from request headers (#33599)
jrhea Jan 14, 2026
494908a
triedb/pathdb: change the bitmap to big endian (#33584)
rjl493456442 Jan 15, 2026
9ba13b6
eth/fetcher: refactor test code (#33610)
cskiraly Jan 15, 2026
23c3498
core/vm: check if read-only in gas handlers (#33281)
jwasinger Jan 15, 2026
b6fb79c
core/vm: in selfdestruct gas calculation, return early if there isn't…
jwasinger Jan 16, 2026
715bf8e
core: invoke selfdestruct tracer hooks during finalisation (#32919)
jwasinger Jan 16, 2026
588dd94
triedb/pathdb: implement trienode history indexing scheme (#33551)
rjl493456442 Jan 17, 2026
add1890
triedb/pathdb: enable trienode history (#32621)
rjl493456442 Jan 17, 2026
3d78da9
rpc: add a rpc.rangelimit flag (#33163)
MqllR Jan 17, 2026
0495350
accounts/abi/bind/v2: replace rng in test (#33612)
adblesss Jan 17, 2026
e78be59
build: remove circleci config (#33616)
lightclient Jan 17, 2026
ef815c5
rlp: improve SplitListValues allocation efficiency (#33554)
mask-pp Jan 18, 2026
500931b
core/vm: add read only protection for opcodes (#33637)
rjl493456442 Jan 19, 2026
d0af257
triedb/pathdb: double check the list availability before regeneration…
cuiweixie Jan 19, 2026
d58f629
internal/debug: add integration with Grafana Pyroscope (#33623)
fjl Jan 20, 2026
46d8047
accounts/scwallet: fix panic in decryptAPDU (#33606)
BZO95 Jan 20, 2026
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
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
8adb907
Merge branch 'master' into merge-v1.17.0
ganeshvanahalli Mar 10, 2026
eb4112d
merge master and resolve conflicts
ganeshvanahalli Apr 23, 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
  •  
  •  
  •  
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
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/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
28 changes: 14 additions & 14 deletions beacon/blsync/engineclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,16 @@ func (ec *engineClient) callNewPayload(fork string, event types.ChainHeadEvent)
params = []any{execData}
)
switch fork {
case "electra":
case "altair", "bellatrix":
method = "engine_newPayloadV1"
case "capella":
method = "engine_newPayloadV2"
case "deneb":
method = "engine_newPayloadV3"
parentBeaconRoot := event.BeaconHead.ParentRoot
blobHashes := collectBlobHashes(event.Block)
params = append(params, blobHashes, parentBeaconRoot)
default: // electra, fulu and above
method = "engine_newPayloadV4"
parentBeaconRoot := event.BeaconHead.ParentRoot
blobHashes := collectBlobHashes(event.Block)
Expand All @@ -110,15 +119,6 @@ func (ec *engineClient) callNewPayload(fork string, event types.ChainHeadEvent)
hexRequests[i] = hexutil.Bytes(event.ExecRequests[i])
}
params = append(params, blobHashes, parentBeaconRoot, hexRequests)
case "deneb":
method = "engine_newPayloadV3"
parentBeaconRoot := event.BeaconHead.ParentRoot
blobHashes := collectBlobHashes(event.Block)
params = append(params, blobHashes, parentBeaconRoot)
case "capella":
method = "engine_newPayloadV2"
default:
method = "engine_newPayloadV1"
}

ctx, cancel := context.WithTimeout(ec.rootCtx, time.Second*5)
Expand All @@ -145,12 +145,12 @@ func (ec *engineClient) callForkchoiceUpdated(fork string, event types.ChainHead

var method string
switch fork {
case "deneb", "electra":
method = "engine_forkchoiceUpdatedV3"
case "altair", "bellatrix":
method = "engine_forkchoiceUpdatedV1"
case "capella":
method = "engine_forkchoiceUpdatedV2"
default:
method = "engine_forkchoiceUpdatedV1"
default: // deneb, electra, fulu and above
method = "engine_forkchoiceUpdatedV3"
}

ctx, cancel := context.WithTimeout(ec.rootCtx, time.Second*5)
Expand Down
74 changes: 34 additions & 40 deletions beacon/engine/gen_ed.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading