Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ethereum/go-ethereum] #1

Open
wants to merge 4,714 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
4714 commits
Select commit Hold shift + click to select a range
33a13b6
p2p/simulations: remove packages (#30250)
lightclient Aug 12, 2024
5adf4ad
eth/protocols/snap: cleanup dangling account trie nodes due to incomp…
rjl493456442 Aug 12, 2024
880511d
params: release go-ethereum v1.14.8 stable
fjl Aug 12, 2024
1cf3b5d
params: begin v1.14.9 release cycle
fjl Aug 12, 2024
ab03c57
go.mod: remove github.com/julienschmidt/httprouter (#30290)
islishude Aug 12, 2024
bc95452
build: run 'go mod tidy' check as part of lint (#30291)
jwasinger Aug 12, 2024
bd57f35
core/txpool/blobpool: fix error message (#30247)
withzoo Aug 13, 2024
2b9d198
go.mod: upgrade to pebble v1.1.2 (#30297)
ajsutton Aug 14, 2024
c686485
core: only compute state root once (#30299)
MariusVanDerWijden Aug 15, 2024
2f2e5b0
.golangci.yml: remove lint warning for TxLookupLimit
fjl Aug 15, 2024
c4b01d8
eth/fetcher: always expect transaction metadata in announcement (#30288)
rjl493456442 Aug 15, 2024
c356847
eth/ethconfig: remove LES server config (#30298)
fjl Aug 15, 2024
7a149a1
eth/tracers/js: add coinbase addr to ctx (#30231)
achmand Aug 15, 2024
6eb42a6
eth: dial nodes from discv5 (#30302)
fjl Aug 15, 2024
43640f1
beacon/light: handle endpoint URL more gracefully (#30306)
s1na Aug 16, 2024
09d889d
core: remove withdrawal length check for state processor (#30286)
islishude Aug 16, 2024
710c3f3
vm: simplify error handling in `vm.EVM.create()` (#30292)
ARR4N Aug 16, 2024
60db6a7
internal/build: include git-date on detached head (#30320)
holiman Aug 19, 2024
8486722
build: remove mantic from ppa builds (#30322)
holiman Aug 19, 2024
41b3b30
gitignore: ignore upload-artefacts (#30325)
holiman Aug 19, 2024
84565dc
eth/catalyst: ensure period zero mode leaves no pending txs in pool (…
lightclient Aug 19, 2024
65aaf52
accounts/abi: handle ABIs with contract type parameter (#30315)
chen4903 Aug 20, 2024
3b48b16
core/rawdb: drop MigrateTable (#30331)
s1na Aug 20, 2024
fc88cea
core/vm: reuse Memory instances (#30137)
lmittmann Aug 20, 2024
693e40a
build: attempt at reproducible builds (#30321)
holiman Aug 20, 2024
d0fd133
all: update to go version 1.23.0 (#30323)
holiman Aug 20, 2024
15fb0dc
rpc: add timeout to rpc client Unsubscribe (#30318)
lightclient Aug 20, 2024
0fde506
cmd/devp2p: require dns:read, dns:edit permissions for cloudflare dep…
praetoriansentry Aug 20, 2024
3c37db7
all: clean up goerli flag and config (#30289)
stevemilk Aug 20, 2024
00294e9
cmd/utils,p2p: enable discv5 by default (#30327)
lightclient Aug 20, 2024
2a534ee
travis.yml: use focal for builds (#30319)
holiman Aug 20, 2024
df645e7
trie: use go-verkle helper for speedier (*VerkleTrie).RollBackAccount…
gballet Aug 21, 2024
733fcbb
eth/protocols/eth: handle zero-count header requests (#30305)
holiman Aug 21, 2024
30824fa
eth/tracers: avoid panic in state test runner (#30332)
holiman Aug 21, 2024
941ae33
build: fix hash for go1.23.0.linux-riscv64.tar.gz (#30335)
sandakersmann Aug 22, 2024
ada20c0
build: make go buildid static (#30342)
holiman Aug 23, 2024
020f026
trie: avoid un-needed map copy (#30343)
rjl493456442 Aug 23, 2024
c12a1c9
beacon/blsync: better error information in test (#30336)
karlb Aug 23, 2024
eaf4285
beacon/light/sync: basic tests for rangeLock (#30269)
Gealber Aug 23, 2024
0378dc8
build: debug travis build (#30344)
holiman Aug 23, 2024
1d006bd
gitignore: ignore build signatures (#30346)
holiman Aug 23, 2024
4e17f28
doc: update 2021-08-22-split-postmortem (#30351)
Ocheretovich Aug 26, 2024
a223efc
core: implement EIP-2935 (#29465)
s1na Aug 26, 2024
bfda8ae
core: add metrics for state access (#30353)
rjl493456442 Aug 26, 2024
9b5d141
core/state: fix trie prefetcher for verkle (#30354)
rjl493456442 Aug 26, 2024
87377c5
p2p/discover: fix Write method in metered connection (#30355)
ngotchac Aug 27, 2024
9eb9154
accounts/abi/bind, ethclient/simulated: check SendTransaction error i…
ceyonur Aug 27, 2024
0e5546f
core/state: semantic journalling (part 1) (#28880)
holiman Aug 28, 2024
ea3b509
signer/core/apitypes: support fixed size arrays for EIP-712 typed dat…
mdymalla Aug 28, 2024
e9467ee
consensus/beacon, core/types: add verkle witness builder (#30129)
gballet Aug 29, 2024
ab3ee99
trie, core/state: Nyota EIP-6800 & EIP-4762 spec updates (#30357)
jsign Aug 30, 2024
36a7134
Include tracerConfig in created tracing test (#30364)
karlb Sep 2, 2024
922eb03
core/state: pull the verkle trie from prefetcher for empty storage ro…
rjl493456442 Sep 2, 2024
de597af
funding.json: add funding information file (#30385)
lightclient Sep 3, 2024
dfd33c7
all: implement EIP-6110, execution layer triggered deposits (#29431)
lightclient Sep 4, 2024
b0b67be
all: remove forkchoicer and reorgNeeded (#29179)
MariusVanDerWijden Sep 4, 2024
fdb8499
core: fix compilation error (#30394)
holiman Sep 4, 2024
7ef49e3
all: remove funding verifier (#30391)
lightclient Sep 4, 2024
c3f13b2
node: fix flaky jwt-test (#30388)
holiman Sep 4, 2024
23973bd
build: increase go test timeout (#30398)
MariusVanDerWijden Sep 5, 2024
623b17b
core/state: state reader abstraction (#29761)
rjl493456442 Sep 5, 2024
5035f99
core/state: get rid of field pointer in journal (#30361)
rjl493456442 Sep 6, 2024
83775b1
build: upgrade -dlgo version to Go 1.23.1 (#30404)
sandakersmann Sep 6, 2024
8f4fac7
internal/ethapi: eth_multicall (#27720)
s1na Sep 6, 2024
88c8459
eth/fetcher: fix blob transaction propagation (#30125)
roberto-bayardo Sep 6, 2024
d718312
core/state/snapshot: port changes from 29995 (#30040)
rjl493456442 Sep 6, 2024
c70b0a9
beacon/engine/types: remove PayloadV4 (#30415)
lightclient Sep 10, 2024
ec69830
core/vm: remove panic when address is not present (#30414)
achmand Sep 11, 2024
a01e974
beacon/light/api: fixed blsync update query (#30421)
zsfelfoldi Sep 12, 2024
7c6b3f9
eth/filters: prevent concurrent access in test (#30401)
darioush Sep 13, 2024
c0b5d42
core/rawdb: more accurate description of freezer in docs (#30393)
rjl493456442 Sep 13, 2024
9be2e01
core/state, core/vm: Nyota contract create init simplification (#30409)
gballet Sep 13, 2024
f544fc3
p2p/enode: add quic ENR entry (#30283)
guillaumemichel Sep 13, 2024
07b5a04
core/tracing: fix copy/paste error+comments in reason listing (#30431)
gballet Sep 14, 2024
0dd7e82
core/txpool/blobpool: avoid possible zero index panic (#30430)
mask-pp Sep 14, 2024
ae70744
core/rawdb: remove unused transition status state accessors (#30433)
stevemilk Sep 15, 2024
4c4f212
internal: run tests in parallel (#30381)
estensen Sep 16, 2024
0342496
core/types: more easily extensible tx signing (#30372)
piersy Sep 16, 2024
ec596e0
core, trie: prealloc capacity for maps (#30437)
mask-pp Sep 16, 2024
8dd2962
core/tracing: fix typo in comment (#30443)
eltociear Sep 16, 2024
8032b63
core/tracing: add verkle gas change reasons to changelog (#30444)
s1na Sep 17, 2024
d09600f
Revert "core/rawdb: remove unused transition status state accessors" …
gballet Sep 18, 2024
f321dfa
params: release go-ethereum v1.14.9 stable (#30455)
gballet Sep 18, 2024
af794ef
params: begin v1.14.10 release cycle (#30457)
gballet Sep 18, 2024
868d53c
genesis: fix dev mode alloc (#30460)
s1na Sep 19, 2024
c4c2c4f
core: minor fix for the log wrapper with debug purpose (#30454)
CaraWang Sep 19, 2024
7513966
ethdb/pebble: handle errors (#30367)
mask-pp Sep 19, 2024
deb5c08
.github: add release maintainers to params/ CODEOWNERS (#30458)
gballet Sep 19, 2024
b018da9
build: fix macos builds by working around travis osx flaw (#30479)
holiman Sep 20, 2024
9326a11
beacon, core, eth, miner: integrate witnesses into production Geth (#…
karalabe Sep 20, 2024
f4c6c03
travis: work around travis/osx/go1.23 setup bug (#30491)
holiman Sep 22, 2024
118c84a
cmd/utils: fix `setEtherbase` (#30488)
zhiqiangxu Sep 23, 2024
956d32d
core/state: fix comment of `mode` (#30490)
zhiqiangxu Sep 23, 2024
b805772
core/state: commit snapshot only if the base layer exists (#30493)
rjl493456442 Sep 23, 2024
564b616
internal/ethapi/api: for simulated calls, set gaspool to max value if…
jwasinger Sep 23, 2024
2278647
core/rawdb: make sure specified state scheme is valid (#30499)
mask-pp Sep 24, 2024
f2e13c7
internal/ethapi: fix gascap 0 for eth_simulateV1 (#30496)
s1na Sep 24, 2024
55ed8fe
core/tracing, core/vm: add ContractCode to the OpContext (#30466)
kchojn Sep 24, 2024
80b529e
core/vm: more benchmarks for bls g1/g2-multiexp precompiles (#30459)
jwasinger Sep 24, 2024
b5a88da
p2p/discover: fix flaky tests writing to test.log after completion (#…
holiman Sep 26, 2024
93675d1
deps: update supranational/blst (#30504)
holiman Sep 26, 2024
bb9897f
core/txpool, eth/catalyst: ensure gas tip retains current value upon …
jwasinger Sep 26, 2024
9274f28
core/txpool/blobpool: revert part of #30437, return all reinject-addr…
holiman Sep 27, 2024
abbd3d9
core/txpool/blobpool: add test to check internal shuffling
karalabe Sep 27, 2024
52a9d89
Merge pull request #30518 from holiman/blobpool_fix
karalabe Sep 27, 2024
1df75db
Revert "core/txpool, eth/catalyst: ensure gas tip retains current va…
karalabe Sep 27, 2024
2695518
params: release Geth v1.14.10
karalabe Sep 27, 2024
283be23
params: begin v1.14.11 release cycle
karalabe Sep 27, 2024
6b61b54
p2p/discover: add config option for disabling FINDNODE liveness check…
fjl Sep 30, 2024
0a21cb4
core/txpool/blobpool: use types.Sender instead of signer.Sender (#30473)
minh-bq Sep 30, 2024
cfe25c7
build: use buildx to build multi-platform docker images (#30530)
holiman Sep 30, 2024
e67d5f8
eth/catalyst: use setcanonical instead of sethead in simulated fork (…
holiman Sep 30, 2024
db6ae7f
cmd/geth: remove deprecated lightchaindata db (#30527)
weiihann Sep 30, 2024
40fd887
internal/ethapi: remove td field from block (#30386)
s1na Oct 1, 2024
f14f13b
params: go-ethereum v1.14.11 stable
holiman Oct 1, 2024
096c4d2
params: begin v1.14.12 release cycle
holiman Oct 1, 2024
90970ed
params: begin v1.14.12 release cycle (#30536)
holiman Oct 1, 2024
eff0bed
core/rawdb: freezer index repair (#29792)
rjl493456442 Oct 1, 2024
6416813
internal/web3ext: rm unused modules (#30532)
s1na Oct 1, 2024
56c4f2b
core/vm, cmd/evm: implement eof validation (#30418)
holiman Oct 2, 2024
84a8021
beacon/light: optimize lock usage in `HeadTracker` (#30485)
zhiqiangxu Oct 2, 2024
65e5ca7
build: upgrade -dlgo version to Go 1.23.2 (#30544)
sandakersmann Oct 4, 2024
f8ac95e
log: remove unused parameter (#30432)
asamuj Oct 8, 2024
2936b41
all: implement flat deposit requests encoding (#30425)
fjl Oct 9, 2024
7942a6b
eth/tracers: do system contract processing prior to parallel-tracing …
easyfold Oct 9, 2024
58cf152
eth/catalyst, core/txpool/blobpool: make tests output less logs (#30563)
holiman Oct 10, 2024
5b393ac
eth/protocols/eth: remove Requests in block body (#30562)
islishude Oct 10, 2024
16bf471
core/tracing: add GetTransientState method to StateDB interface (#30531)
kchojn Oct 10, 2024
3a5313f
all: implement EIP-7002 & EIP-7251 (#30571)
fjl Oct 11, 2024
fad7e74
build: add support for ubuntu 24.10 (#30580)
hteevoli Oct 12, 2024
2246d66
cmd/evm: fixup issues with requests in t8n (#30584)
lightclient Oct 13, 2024
16f6409
core: enable EIP-2935 in chain maker (#30575)
fjl Oct 13, 2024
f4dc753
trie: concurrent commit (#30545)
holiman Oct 14, 2024
5adc314
build: update to golangci-lint 1.61.0 (#30587)
holiman Oct 14, 2024
add5709
beacon/engine: strip type byte in requests (#30576)
fjl Oct 14, 2024
4b9c782
internal/ethapi: refactor `TxArgs.setCancunFeeDefaults` (#30541)
jwasinger Oct 15, 2024
30ce173
crypto: use decred secp256k1 directly (#30595)
gartnera Oct 15, 2024
4c4219e
beacon/engine: omit null witness field from payload envelope (#30597)
rkrasiuk Oct 15, 2024
a449057
ethdb/pebble: switch to increasing level sizes (#30602)
karalabe Oct 15, 2024
15bf90e
core, ethdb/pebble: run pebble in non-sync mode (#30573)
rjl493456442 Oct 15, 2024
368e16f
core, eth, ethstats: simplify chain head events (#30601)
karalabe Oct 16, 2024
18a5918
core: reduce peak memory usage during reorg (#30600)
MariusVanDerWijden Oct 16, 2024
978ca5f
eth/tracers: various fixes (#30540)
s1na Oct 17, 2024
1da34a3
miner: send full request when resolving full payload (#30615)
lightclient Oct 17, 2024
e26468f
beacon/engine,eth/catalyst: hex marshal requests in engine api (#30603)
lightclient Oct 17, 2024
afea3bd
beacon/engine, core/txpool, eth/catalyst: add engine_getBlobsV1 API (…
karalabe Oct 17, 2024
f32f868
swarm: nuke this leftover (#30622)
karalabe Oct 18, 2024
9891f02
gitignore: get rid of some relics (#30623)
karalabe Oct 18, 2024
3ff73d4
build: reenable building arm64 concurrently (#30626)
karalabe Oct 18, 2024
b6c62d5
core, trie, triedb: minor changes from snapshot integration (#30599)
rjl493456442 Oct 18, 2024
babd5d8
core/state: fix runaway alloc caused by prefetcher heap escape (#30629)
karalabe Oct 20, 2024
48d05c4
all: get rid of custom MaxUint64 and MaxUint64 (#30636)
karalabe Oct 20, 2024
bb527b9
build: get rid of ci.go -> common direct dependency (#30637)
karalabe Oct 20, 2024
9015a05
common/math: delete some further dead code (#30639)
karalabe Oct 20, 2024
5c3b792
common/math: sigh, keep deleting dead code
karalabe Oct 20, 2024
dac54e3
build, internal, version: break ci.go/version->common dependency (#30…
karalabe Oct 20, 2024
e4dbd5f
eth/tracers/js: avoid compiling js bigint when not needed (#30640)
holiman Oct 20, 2024
31a6418
consensus/clique, miner: remove clique -> accounts dependency (#30642)
karalabe Oct 21, 2024
a5fe735
common: drop BigMin and BigMax, they pollute our dep graph (#30645)
karalabe Oct 21, 2024
459bb4a
core/state: move state log mechanism to a separate layer (#30569)
holiman Oct 23, 2024
74461ae
crypto, tests/fuzzers: add gnark bn254 precompile methods for fuzzing…
kevaundray Oct 23, 2024
478012a
all: remove TerminalTotalDifficultyPassed (#30609)
jwasinger Oct 23, 2024
f8f5609
eth/tracers/internal/tracertest: add missing Random to call context (…
islishude Oct 23, 2024
3e567b8
docs: update security policy (#30606)
fredriksvantes Oct 23, 2024
461afdf
core: fix tracing of system calls (#30666)
s1na Oct 24, 2024
24c5493
core/vm: remove debug printout in eof test (#30665)
jwasinger Oct 24, 2024
6c6bf6f
beacon/blsync: add holesky config and update checkpoints (#30671)
zsfelfoldi Oct 25, 2024
80bdab7
ethdb: add DeleteRange feature (#30668)
zsfelfoldi Oct 25, 2024
c3919f9
build: document doGoModTidy function in ci.go (#30685)
jwasinger Oct 28, 2024
bce420b
cmd/geth: avoid hard coding the IPC name (#30687)
karalabe Oct 28, 2024
98056e1
eth/tracers: add disableCode/Storage options for prestateTracer (#30648)
jsvisa Oct 29, 2024
7180d26
core, eth, node: break rawdb -> {leveldb, pebble} dependency (#30689)
karalabe Oct 29, 2024
236147b
ethdb: refactor Database interface (#30693)
MariusVanDerWijden Oct 29, 2024
8c73523
appveyor, build, internal: ci.go cleanups, add package dep checker (#…
karalabe Oct 29, 2024
87465e9
beacon/light: remove unused CommitteeChain.signerThreshold (#30484)
zhiqiangxu Oct 30, 2024
25bc077
core/vm: speed up push and interpreter loop (#30662)
holiman Oct 30, 2024
9afb18d
core: add code to witness when state object is accessed (#30698)
lightclient Oct 31, 2024
5230b06
cmd/utils, eth/ethconfig: remove some ancient leftover flag (#30705)
karalabe Oct 31, 2024
20bf543
internal/flags: remove Merge, it's identical to slices.Concat (#30706)
karalabe Oct 31, 2024
a1d049c
internal/flags: remove low-use type TextMarshalerFlag (#30707)
karalabe Oct 31, 2024
f3b4bbb
all: remove `personal` RPC namespace (#30704)
holiman Oct 31, 2024
a1093d9
eth/tracers: flatCallTracer error compatible with parity (#30497)
jsvisa Nov 1, 2024
c48e936
build: use slices.Clone for copying slice (#30716)
zhiqiangxu Nov 3, 2024
6e1fedb
tests/fuzzers/bls12381: more verbose fuzzing-output (#30724)
holiman Nov 4, 2024
484f0f4
core/txpool: improve error responses with wrapped errors (#30715)
piersy Nov 4, 2024
7d6e153
eth/catalyst: make engine api test time independent (#30713)
karalabe Nov 4, 2024
014e2b0
core/vm/runtime: invoke tx-end hook (#30711)
holiman Nov 4, 2024
06cbc80
core, trie: verkle state processor tests (#30672)
gballet Nov 4, 2024
da17f2d
all: fix issues with benchmarks (#30667)
holiman Nov 4, 2024
229ce64
eth/tracers: fill the creationMethod in flatCall (#30539)
jsvisa Nov 5, 2024
e56bbd7
core/state: small fix in hooked statedb (#30732)
holiman Nov 5, 2024
9c08631
cmd/utils: change blssync.JWTSecretFlag to DirectoryFlag (#30729)
MariusVanDerWijden Nov 6, 2024
4bac6e6
build(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#…
dependabot[bot] Nov 7, 2024
e92e22a
ethclient: add RevertErrorData function and example (#30669)
fjl Nov 7, 2024
8e00f95
ethclient/gethclient: testcase for createAccessList, make tabledriven…
SangIlMo Nov 8, 2024
0fc9cca
internal/ethapi: Set basefee for `AccessList` based on given block, …
jwasinger Nov 8, 2024
a6037d0
accounts/usbwallet: support dynamic tx (#30180)
shrimalmadhur Nov 8, 2024
5b78aef
signer/core: extended support for EIP-712 array types (#30620)
naveen-imtb Nov 8, 2024
d42d450
cmd/evm: benchmarking via `statetest` command + filter by name, inde…
jwasinger Nov 8, 2024
7cbce8e
beacon/blsync: remove cli dependencies (#30720)
zsfelfoldi Nov 8, 2024
3c7336b
core/state: invoke OnCodeChange-hook on selfdestruct (#30686)
kchojn Nov 8, 2024
896fc51
trie/utils: remove unneeded initialization (#30472)
zhiqiangxu Nov 8, 2024
55fdbb7
travis: build and upload RISC-V docker images too (#30739)
karalabe Nov 8, 2024
74ef474
core/state, triedb/database: refactor state reader (#30712)
rjl493456442 Nov 9, 2024
3f5f2ef
eth/protocols/eth: add ETH68 protocol handler fuzzers (#30417)
MariusVanDerWijden Nov 9, 2024
77f3ef3
tests: fix test panic (#30741)
rjl493456442 Nov 10, 2024
ae83912
p2p/netutil: unittests for addrutil (#30439)
tianyeyouyou Nov 11, 2024
df182a7
docs: fix typo (#30740)
0xwitty Nov 11, 2024
ec280e0
core/state: tests on the binary iterator (#30754)
holiman Nov 15, 2024
a5f0001
cmd/geth: remove unlock commandline flag (#30737)
holiman Nov 15, 2024
7c0ff05
build: upgrade -dlgo version to Go 1.23.3 (#30742)
sandakersmann Nov 15, 2024
83790b0
core: fix typos (#30767)
AtomicInnovation321 Nov 19, 2024
61ff3a1
all: remove kilic dependency from bls12381 fuzzers (#30296)
jwasinger Nov 19, 2024
581e214
core/txpool, eth/catalyst: clear transaction pool in Rollback (#30534)
jwasinger Nov 19, 2024
e20150f
rpc: run tests in parallel (#30384)
estensen Nov 19, 2024
c64cf28
version: go-ethereum v1.14.12 stable
holiman Nov 19, 2024
66d8185
version: begin v1.14.13 release cycle
holiman Nov 19, 2024
aa63692
version: fix typo in v1.14.13 release cycle name
holiman Nov 19, 2024
6d3d252
core/vm/program: evm bytecode-building utility (#30725)
holiman Nov 20, 2024
e3d61e6
core, eth, internal, cmd: rework EVM constructor (#30745)
rjl493456442 Nov 20, 2024
a25be32
core, eth, internal, miner: remove unnecessary parameters (#30776)
rjl493456442 Nov 22, 2024
2cd25fd
internal/ethapi: remove double map-clone (#30788)
hyunsooda Nov 22, 2024
16f2f71
all: typos in comments (#30779)
wangjingcun Nov 22, 2024
6eeff3e
trie: replace custom logic with bytes.HasPrefix (#30771)
j2gg0s Nov 22, 2024
6485d5e
core, triedb: remove destruct flag in state snapshot (#30752)
rjl493456442 Nov 22, 2024
5e1a39d
internal/flags: fix "flag redefined" bug for alias on custom flags (#…
gzliudan Nov 24, 2024
ab4a1cc
eth/tracers/logger: fix json-logger output missing (#30804)
holiman Nov 25, 2024
02159d5
eth/tracers/logger: improve markdown logger (#30805)
holiman Nov 25, 2024
19fa71b
internal/ethapi: remove double map-clone (#30803)
hyunsooda Nov 25, 2024
3c754e2
accounts/abi: fix MakeTopics mutation of big.Int inputs (#30785)
jmank88 Nov 25, 2024
2380012
core/state/snapshot: simplify snapshot rebuild (#30772)
ARR4N Nov 25, 2024
b4d99e3
eth/ethconfig: improve error message if TTD missing (#30807)
fjl Nov 26, 2024
d7e7b54
core/tracing: add GetCodeHash to StateDB (#30784)
nebojsa94 Nov 26, 2024
a11b4be
Revert "core/state/snapshot: simplify snapshot rebuild (#30772)" (#30…
rjl493456442 Nov 26, 2024
915248c
cmd/evm: don't reuse state between iterations, show errors (#30780)
jwasinger Nov 26, 2024
e0deac7
core: better document reason for dropping error on return (#30811)
wangjingcun Nov 27, 2024
8c1a36d
core/state/snapshot: handle legacy journal (#30802)
rjl493456442 Nov 28, 2024
2406305
trie: combine validation loops in VerifyRangeProof (#30823)
weiihann Nov 28, 2024
db8eed8
all: exclude empty outputs in requests commitment (#30670)
fjl Nov 28, 2024
53f66c1
cmd/bootnode: remove bootnode utility (#30813)
MariusVanDerWijden Nov 28, 2024
c7a8bce
core/types: add length check in CalcRequestsHash (#30829)
fjl Nov 28, 2024
05148d9
triedb/pathdb: track flat state changes in pathdb (snapshot integrati…
rjl493456442 Nov 29, 2024
03c37cd
core/state: introduce code reader interface (#30816)
rjl493456442 Nov 29, 2024
a793bc7
core: switch EVM tx context in ApplyMessage (#30809)
rjl493456442 Nov 29, 2024
ce8cec0
eth/tracers: fix state hooks in API (#30830)
s1na Nov 29, 2024
5347280
cmd/evm: improve block/state test runner (#30633)
lightclient Dec 2, 2024
9848e9b
fuzzing: fix oss-fuzz fuzzer (#30845)
holiman Dec 2, 2024
ae5a16f
internal/debug: rename --trace to --go-execution-trace (#30846)
fjl Dec 2, 2024
4afab7e
eth/downloader: move SyncMode to package eth/ethconfig (#30847)
fjl Dec 3, 2024
84cabb5
CODEOWNERS: add some more entries for auto assignment (#30851)
fjl Dec 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
all: exclude empty outputs in requests commitment (ethereum#30670)
Implements changes from these spec PRs:

- ethereum/EIPs#8989
- ethereum/execution-apis#599
  • Loading branch information
fjl authored Nov 28, 2024
commit db8eed860d85b78b9b85b767ede98e47a4b11ffc
21 changes: 2 additions & 19 deletions beacon/engine/types.go
Original file line number Diff line number Diff line change
@@ -265,15 +265,7 @@ func ExecutableDataToBlockNoHash(data ExecutableData, versionedHashes []common.H

var requestsHash *common.Hash
if requests != nil {
// Put back request type byte.
typedRequests := make([][]byte, len(requests))
for i, reqdata := range requests {
typedReqdata := make([]byte, len(reqdata)+1)
typedReqdata[0] = byte(i)
copy(typedReqdata[1:], reqdata)
typedRequests[i] = typedReqdata
}
h := types.CalcRequestsHash(typedRequests)
h := types.CalcRequestsHash(requests)
requestsHash = &h
}

@@ -343,20 +335,11 @@ func BlockToExecutableData(block *types.Block, fees *big.Int, sidecars []*types.
}
}

// Remove type byte in requests.
var plainRequests [][]byte
if requests != nil {
plainRequests = make([][]byte, len(requests))
for i, reqdata := range requests {
plainRequests[i] = reqdata[1:]
}
}

return &ExecutionPayloadEnvelope{
ExecutionPayload: data,
BlockValue: fees,
BlobsBundle: &bundle,
Requests: plainRequests,
Requests: requests,
Override: false,
}
}
16 changes: 7 additions & 9 deletions cmd/evm/internal/t8ntool/execution.go
Original file line number Diff line number Diff line change
@@ -366,21 +366,19 @@ func (pre *Prestate) Apply(vmConfig vm.Config, chainConfig *params.ChainConfig,
// Gather the execution-layer triggered requests.
var requests [][]byte
if chainConfig.IsPrague(vmContext.BlockNumber, vmContext.Time) {
// EIP-6110 deposits
requests = [][]byte{}
// EIP-6110
var allLogs []*types.Log
for _, receipt := range receipts {
allLogs = append(allLogs, receipt.Logs...)
}
depositRequests, err := core.ParseDepositLogs(allLogs, chainConfig)
if err != nil {
if err := core.ParseDepositLogs(&requests, allLogs, chainConfig); err != nil {
return nil, nil, nil, NewError(ErrorEVM, fmt.Errorf("could not parse requests logs: %v", err))
}
requests = append(requests, depositRequests)

// EIP-7002 withdrawals
requests = append(requests, core.ProcessWithdrawalQueue(evm))
// EIP-7251 consolidations
requests = append(requests, core.ProcessConsolidationQueue(evm))
// EIP-7002
core.ProcessWithdrawalQueue(&requests, evm)
// EIP-7251
core.ProcessConsolidationQueue(&requests, evm)
}

// Commit block
15 changes: 6 additions & 9 deletions core/chain_makers.go
Original file line number Diff line number Diff line change
@@ -349,25 +349,22 @@ func GenerateChain(config *params.ChainConfig, parent *types.Block, engine conse

var requests [][]byte
if config.IsPrague(b.header.Number, b.header.Time) {
requests = [][]byte{}
// EIP-6110 deposits
var blockLogs []*types.Log
for _, r := range b.receipts {
blockLogs = append(blockLogs, r.Logs...)
}
depositRequests, err := ParseDepositLogs(blockLogs, config)
if err != nil {
if err := ParseDepositLogs(&requests, blockLogs, config); err != nil {
panic(fmt.Sprintf("failed to parse deposit log: %v", err))
}
requests = append(requests, depositRequests)
// create EVM for system calls
blockContext := NewEVMBlockContext(b.header, cm, &b.header.Coinbase)
evm := vm.NewEVM(blockContext, statedb, cm.config, vm.Config{})
// EIP-7002 withdrawals
withdrawalRequests := ProcessWithdrawalQueue(evm)
requests = append(requests, withdrawalRequests)
// EIP-7251 consolidations
consolidationRequests := ProcessConsolidationQueue(evm)
requests = append(requests, consolidationRequests)
// EIP-7002
ProcessWithdrawalQueue(&requests, evm)
// EIP-7251
ProcessConsolidationQueue(&requests, evm)
}
if requests != nil {
reqHash := types.CalcRequestsHash(requests)
4 changes: 1 addition & 3 deletions core/genesis.go
Original file line number Diff line number Diff line change
@@ -472,9 +472,7 @@ func (g *Genesis) toBlockWithRoot(root common.Hash) *types.Block {
}
}
if conf.IsPrague(num, g.Timestamp) {
emptyRequests := [][]byte{{0x00}, {0x01}, {0x02}}
rhash := types.CalcRequestsHash(emptyRequests)
head.RequestsHash = &rhash
head.RequestsHash = &types.EmptyRequestsHash
}
}
return types.NewBlock(head, &types.Body{Withdrawals: withdrawals}, nil, trie.NewStackTrie(nil))
43 changes: 23 additions & 20 deletions core/state_processor.go
Original file line number Diff line number Diff line change
@@ -106,18 +106,15 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg
// Read requests if Prague is enabled.
var requests [][]byte
if p.config.IsPrague(block.Number(), block.Time()) {
// EIP-6110 deposits
depositRequests, err := ParseDepositLogs(allLogs, p.config)
if err != nil {
requests = [][]byte{}
// EIP-6110
if err := ParseDepositLogs(&requests, allLogs, p.config); err != nil {
return nil, err
}
requests = append(requests, depositRequests)
// EIP-7002 withdrawals
withdrawalRequests := ProcessWithdrawalQueue(evm)
requests = append(requests, withdrawalRequests)
// EIP-7251 consolidations
consolidationRequests := ProcessConsolidationQueue(evm)
requests = append(requests, consolidationRequests)
// EIP-7002
ProcessWithdrawalQueue(&requests, evm)
// EIP-7251
ProcessConsolidationQueue(&requests, evm)
}

// Finalize the block, applying any consensus engine specific extras (e.g. block rewards)
@@ -271,17 +268,17 @@ func ProcessParentBlockHash(prevHash common.Hash, evm *vm.EVM) {

// ProcessWithdrawalQueue calls the EIP-7002 withdrawal queue contract.
// It returns the opaque request data returned by the contract.
func ProcessWithdrawalQueue(evm *vm.EVM) []byte {
return processRequestsSystemCall(evm, 0x01, params.WithdrawalQueueAddress)
func ProcessWithdrawalQueue(requests *[][]byte, evm *vm.EVM) {
processRequestsSystemCall(requests, evm, 0x01, params.WithdrawalQueueAddress)
}

// ProcessConsolidationQueue calls the EIP-7251 consolidation queue contract.
// It returns the opaque request data returned by the contract.
func ProcessConsolidationQueue(evm *vm.EVM) []byte {
return processRequestsSystemCall(evm, 0x02, params.ConsolidationQueueAddress)
func ProcessConsolidationQueue(requests *[][]byte, evm *vm.EVM) {
processRequestsSystemCall(requests, evm, 0x02, params.ConsolidationQueueAddress)
}

func processRequestsSystemCall(evm *vm.EVM, requestType byte, addr common.Address) []byte {
func processRequestsSystemCall(requests *[][]byte, evm *vm.EVM, requestType byte, addr common.Address) {
if tracer := evm.Config.Tracer; tracer != nil {
if tracer.OnSystemCallStart != nil {
tracer.OnSystemCallStart()
@@ -302,26 +299,32 @@ func processRequestsSystemCall(evm *vm.EVM, requestType byte, addr common.Addres
evm.StateDB.AddAddressToAccessList(addr)
ret, _, _ := evm.Call(vm.AccountRef(msg.From), *msg.To, msg.Data, 30_000_000, common.U2560)
evm.StateDB.Finalise(true)
if len(ret) == 0 {
return // skip empty output
}

// Create withdrawals requestsData with prefix 0x01
// Append prefixed requestsData to the requests list.
requestsData := make([]byte, len(ret)+1)
requestsData[0] = requestType
copy(requestsData[1:], ret)
return requestsData
*requests = append(*requests, requestsData)
}

// ParseDepositLogs extracts the EIP-6110 deposit values from logs emitted by
// BeaconDepositContract.
func ParseDepositLogs(logs []*types.Log, config *params.ChainConfig) ([]byte, error) {
func ParseDepositLogs(requests *[][]byte, logs []*types.Log, config *params.ChainConfig) error {
deposits := make([]byte, 1) // note: first byte is 0x00 (== deposit request type)
for _, log := range logs {
if log.Address == config.DepositContractAddress {
request, err := types.DepositLogToRequest(log.Data)
if err != nil {
return nil, fmt.Errorf("unable to parse deposit data: %v", err)
return fmt.Errorf("unable to parse deposit data: %v", err)
}
deposits = append(deposits, request...)
}
}
return deposits, nil
if len(deposits) > 1 {
*requests = append(*requests, deposits)
}
return nil
}
3 changes: 3 additions & 0 deletions core/types/hashes.go
Original file line number Diff line number Diff line change
@@ -41,6 +41,9 @@ var (
// EmptyWithdrawalsHash is the known hash of the empty withdrawal set.
EmptyWithdrawalsHash = common.HexToHash("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421")

// EmptyRequestsHash is the known hash of an empty request set, sha256("").
EmptyRequestsHash = common.HexToHash("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")

// EmptyVerkleHash is the known hash of an empty verkle trie.
EmptyVerkleHash = common.Hash{}
)
2 changes: 1 addition & 1 deletion eth/tracers/internal/tracetest/supply_test.go
Original file line number Diff line number Diff line change
@@ -86,7 +86,7 @@ func TestSupplyOmittedFields(t *testing.T) {

expected := supplyInfo{
Number: 0,
Hash: common.HexToHash("0xc02ee8ee5b54a40e43f0fa827d431e1bd4f217e941790dda10b2521d1925a20b"),
Hash: common.HexToHash("0x3055fc27d6b4a08eb07033a0d1ee755a4b2988086f28a6189eac1b507525eeb1"),
ParentHash: common.HexToHash("0x0000000000000000000000000000000000000000000000000000000000000000"),
}
actual := out[expected.Number]
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
{
"blobGasPrice": "0x1",
"blobGasUsed": "0x20000",
"blockHash": "0x11e6318d77a45c01f89f76b56d36c6936c5250f4e2bd238cb7b09df73cf0cb7d",
"blockHash": "0x17124e31fb075a301b1d7d4135683b0a09fe4e6d453c54e2e734d5ee00744a49",
"blockNumber": "0x6",
"contractAddress": null,
"cumulativeGasUsed": "0x5208",
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[
{
"blockHash": "0x5526cd89bc188f20fd5e9bb50d8054dc5a51a81a74ed07eacf36a4a8b10de4b1",
"blockHash": "0xb3e447c77374fd285964cba692e96b1673a88a959726826b5b6e2dca15472b0a",
"blockNumber": "0x2",
"contractAddress": "0xae9bea628c4ce503dcfd7e305cab4e29e7476592",
"cumulativeGasUsed": "0xcf50",
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[
{
"blockHash": "0x3e946aa9e252873af511b257d9d89a1bcafa54ce7c6a6442f8407ecdf81e288d",
"blockHash": "0x102e50de30318ee99a03a09db74387e79cad3165bf6840cc84249806a2a302f3",
"blockNumber": "0x4",
"contractAddress": null,
"cumulativeGasUsed": "0x538d",
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[
{
"blockHash": "0xc281d4299fc4e8ce5bba7ecb8deb50f5403d604c806b36aa887dfe2ff84c064f",
"blockHash": "0xcc6225bf39327429a3d869af71182d619a354155187d0b5a8ecd6a9309cffcaa",
"blockNumber": "0x3",
"contractAddress": null,
"cumulativeGasUsed": "0x5e28",
@@ -19,7 +19,7 @@
"blockNumber": "0x3",
"transactionHash": "0xeaf3921cbf03ba45bad4e6ab807b196ce3b2a0b5bacc355b6272fa96b11b4287",
"transactionIndex": "0x0",
"blockHash": "0xc281d4299fc4e8ce5bba7ecb8deb50f5403d604c806b36aa887dfe2ff84c064f",
"blockHash": "0xcc6225bf39327429a3d869af71182d619a354155187d0b5a8ecd6a9309cffcaa",
"logIndex": "0x0",
"removed": false
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[
{
"blockHash": "0xda50d57d8802553b00bb8e4d777bd5c4114086941119ca04edb15429f4818ed9",
"blockHash": "0xe9bd1d8c303b1af5c704b9d78e62c54a34af47e0db04ac1389a5ef74a619b9da",
"blockNumber": "0x1",
"contractAddress": null,
"cumulativeGasUsed": "0x5208",
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
{
"blobGasPrice": "0x1",
"blobGasUsed": "0x20000",
"blockHash": "0x11e6318d77a45c01f89f76b56d36c6936c5250f4e2bd238cb7b09df73cf0cb7d",
"blockHash": "0x17124e31fb075a301b1d7d4135683b0a09fe4e6d453c54e2e734d5ee00744a49",
"blockNumber": "0x6",
"contractAddress": null,
"cumulativeGasUsed": "0x5208",
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"blobGasPrice": "0x1",
"blobGasUsed": "0x20000",
"blockHash": "0x11e6318d77a45c01f89f76b56d36c6936c5250f4e2bd238cb7b09df73cf0cb7d",
"blockHash": "0x17124e31fb075a301b1d7d4135683b0a09fe4e6d453c54e2e734d5ee00744a49",
"blockNumber": "0x6",
"contractAddress": null,
"cumulativeGasUsed": "0x5208",
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"blockHash": "0x5526cd89bc188f20fd5e9bb50d8054dc5a51a81a74ed07eacf36a4a8b10de4b1",
"blockHash": "0xb3e447c77374fd285964cba692e96b1673a88a959726826b5b6e2dca15472b0a",
"blockNumber": "0x2",
"contractAddress": "0xae9bea628c4ce503dcfd7e305cab4e29e7476592",
"cumulativeGasUsed": "0xcf50",
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"blockHash": "0xa04ad6be58c45fe483991b89416572bc50426b0de44b769757e95c704250f874",
"blockHash": "0x53bffe54375c0a31fe7bc0db7455db7d48278234c2400efa4d40d1c57cbe868d",
"blockNumber": "0x5",
"contractAddress": "0xfdaa97661a584d977b4d3abb5370766ff5b86a18",
"cumulativeGasUsed": "0xe01c",
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"blockHash": "0x3e946aa9e252873af511b257d9d89a1bcafa54ce7c6a6442f8407ecdf81e288d",
"blockHash": "0x102e50de30318ee99a03a09db74387e79cad3165bf6840cc84249806a2a302f3",
"blockNumber": "0x4",
"contractAddress": null,
"cumulativeGasUsed": "0x538d",
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"blockHash": "0xda50d57d8802553b00bb8e4d777bd5c4114086941119ca04edb15429f4818ed9",
"blockHash": "0xe9bd1d8c303b1af5c704b9d78e62c54a34af47e0db04ac1389a5ef74a619b9da",
"blockNumber": "0x1",
"contractAddress": null,
"cumulativeGasUsed": "0x5208",
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"blockHash": "0xc281d4299fc4e8ce5bba7ecb8deb50f5403d604c806b36aa887dfe2ff84c064f",
"blockHash": "0xcc6225bf39327429a3d869af71182d619a354155187d0b5a8ecd6a9309cffcaa",
"blockNumber": "0x3",
"contractAddress": null,
"cumulativeGasUsed": "0x5e28",
@@ -18,7 +18,7 @@
"blockNumber": "0x3",
"transactionHash": "0xeaf3921cbf03ba45bad4e6ab807b196ce3b2a0b5bacc355b6272fa96b11b4287",
"transactionIndex": "0x0",
"blockHash": "0xc281d4299fc4e8ce5bba7ecb8deb50f5403d604c806b36aa887dfe2ff84c064f",
"blockHash": "0xcc6225bf39327429a3d869af71182d619a354155187d0b5a8ecd6a9309cffcaa",
"logIndex": "0x0",
"removed": false
}
13 changes: 5 additions & 8 deletions miner/worker.go
Original file line number Diff line number Diff line change
@@ -121,18 +121,15 @@ func (miner *Miner) generateWork(params *generateParams, witness bool) *newPaylo
// Collect consensus-layer requests if Prague is enabled.
var requests [][]byte
if miner.chainConfig.IsPrague(work.header.Number, work.header.Time) {
requests = [][]byte{}
// EIP-6110 deposits
depositRequests, err := core.ParseDepositLogs(allLogs, miner.chainConfig)
if err != nil {
if err := core.ParseDepositLogs(&requests, allLogs, miner.chainConfig); err != nil {
return &newPayloadResult{err: err}
}
requests = append(requests, depositRequests)
// EIP-7002 withdrawals
withdrawalRequests := core.ProcessWithdrawalQueue(work.evm)
requests = append(requests, withdrawalRequests)
// EIP-7002
core.ProcessWithdrawalQueue(&requests, work.evm)
// EIP-7251 consolidations
consolidationRequests := core.ProcessConsolidationQueue(work.evm)
requests = append(requests, consolidationRequests)
core.ProcessConsolidationQueue(&requests, work.evm)
}
if requests != nil {
reqHash := types.CalcRequestsHash(requests)