Skip to content

merge with upstream #34

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

Merged
merged 1,333 commits into from
May 6, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
1333 commits
Select commit Hold shift + click to select a range
bd8b61f
Update params/config.go
geoknee Dec 10, 2024
8d79249
Merge pull request #447 from ethereum-optimism/gk/hf-compat-edge
geoknee Dec 10, 2024
4ecf085
core/vm: remove unnecessary comment (#30887)
hzysvilla Dec 10, 2024
9045b79
metrics, cmd/geth: change init-process of metrics (#30814)
holiman Dec 10, 2024
4ed36ea
build: update to Go 1.23.4 (#30872)
hteevoli Dec 10, 2024
330190e
accounts/abi: support unpacking solidity errors (#30738)
darrenvechain Dec 10, 2024
d11e6d6
all: withdrawals root in header is reused to commit to OP-Stack L2 wi…
protolambda Sep 21, 2024
2024d83
config: add check for Isthmus hardfork
vdamle Dec 6, 2024
87534bd
all: more changes for usage of hdr withdrawals root/l2 withdrawals st…
vdamle Dec 6, 2024
7b60d97
core: add rlp roundtrip test for Header w/ withdrawalHash
vdamle Dec 6, 2024
d2027d6
t8ntool: update fork.yaml with t8ntool non-update caveat
vdamle Dec 6, 2024
1750edc
all: minor OP-Stack Isthmus withdrawals-root fixes
protolambda Dec 5, 2024
2ff9b8b
Merge pull request #383 from ethereum-optimism/l2-withdrawals-root
tynes Dec 10, 2024
7721729
Prepare Holocene mainnet release (#448)
sebastianst Dec 10, 2024
a7e2bc5
Revert "Isthmus: withdrawals root in block header" (#449)
protolambda Dec 10, 2024
c7e740f
core/state: remove pointless wrapper functions (#30891)
gitglorythegreat Dec 11, 2024
d5dbfcf
core: Move blockchain head verification after possible rewind (op-get…
sebastianst Dec 11, 2024
c1c2507
p2p: fix DiscReason encoding/decoding (#30855)
lorenzo-dev1 Dec 12, 2024
88cbfab
internal/ethapi: add block override to estimateGas (#30695)
antonydenyer Dec 12, 2024
efa05b1
update superchain dependency (#450)
geoknee Dec 13, 2024
804d45c
p2p: DNS resolution for static nodes (#30822)
0xVasconcelos Dec 13, 2024
441da96
all: merge upstream geth v1.14.12
protolambda Dec 13, 2024
84ca9f2
Reapply "Isthmus: withdrawals root in block header" (#449)
vdamle Dec 12, 2024
16dd209
fork.yaml: update upstream reference to v1.14.12
protolambda Dec 13, 2024
3be043b
go.sum: go mod tidy
protolambda Dec 13, 2024
f808d73
all: implement eip-7702 set code tx (#30078)
lightclient Dec 16, 2024
bc1ec69
trie/pathdb: state iterator (snapshot integration pt 4) (#30654)
rjl493456442 Dec 16, 2024
a55434e
core: add BlockType interface for use in block building
vdamle Dec 13, 2024
7ba3850
Isthmus (#451): re-introduce optimism withdrawals root in block header
protolambda Dec 16, 2024
5c58612
core/vm, go.mod: update uint256 and use faster method to write to mem…
holiman Dec 17, 2024
3c208cd
accounts/abi/bind: make it possible to wait for tx hash (#30079)
mask-pp Dec 17, 2024
71c28d8
core: fixes for Prague fork in GenerateChain (#30924)
fjl Dec 17, 2024
feaf1c9
build(deps): bump golang.org/x/crypto from 0.26.0 to 0.31.0 (#30921)
dependabot[bot] Dec 17, 2024
94bb3f6
all: deconflict withdrawals-root isthmus changes
protolambda Dec 17, 2024
5b9a3ea
core/vm: make all opcodes proper type (#30925)
holiman Dec 17, 2024
06dfb42
core/types, internal/ethapi: fixes for prague RPC encoding (#30926)
fjl Dec 17, 2024
1321a42
cmd/evm: make evm statetest accept non-json files (#30927)
holiman Dec 17, 2024
9d4b29f
core/types: updates for EIP-7702 API functions (#30933)
fjl Dec 18, 2024
73a4ecf
core/types: rename SetCodeAuthorization 'v' to 'yParity'
fjl Dec 18, 2024
f861535
cmd/evm: update tests for SetCodeAuthorization JSON encoding change (…
fjl Dec 18, 2024
f1e6372
core, core/types: rename AuthList to SetCodeAuthorizations (#30935)
fjl Dec 19, 2024
341647f
params: update system contracts for prague devnet-5 (#30938)
fjl Dec 19, 2024
928070c
beacon: add nil check for AccessEvents (#453)
vdamle Dec 19, 2024
f4e8e87
internal/flags: update copyright year to 2025 (#30976)
ronething-bot Jan 2, 2025
0feb999
crypto/bn256: fix MulScalar (#30974)
gitglorythegreat Jan 2, 2025
85ffbde
all: use cmp.Compare (#30958)
gitglorythegreat Jan 2, 2025
06883c1
eth/tracers/logger: skip system calls (#30923)
fjl Jan 2, 2025
58aed22
ci: add build-and-deploy job for GitHub Pages deployment (#454)
raffaele-oplabs Jan 2, 2025
a9ab53d
internal/ethapi: update default simulation timestamp increment to 12 …
s1na Jan 3, 2025
c5a8d34
core/rawdb: fix panic in freezer (#30973)
MariusVanDerWijden Jan 6, 2025
6897a4a
core/types: improve printList in DeriveSha test (#30969)
georgehao Jan 6, 2025
ae1828f
ci: update CircleCI config for GitHub Pages deployment process (#459)
raffaele-oplabs Jan 6, 2025
9298074
eth/protocols/eth: prevent hanging dispatch (#30918)
holiman Jan 6, 2025
e75f354
cmd/clef: fix JS issues in documentation (#30980)
savvar9991 Jan 7, 2025
5065e6c
triedb/pathdb: fix tester generator (#30972)
ceyonur Jan 7, 2025
033de2a
README: remove private network section from readme (#31005)
MariusVanDerWijden Jan 8, 2025
b8c040c
ci: complete circleci migration (#461)
raffaele-oplabs Jan 9, 2025
82e963e
triedb/pathdb: configure different node hasher in pathdb (#31008)
rjl493456442 Jan 10, 2025
c088242
build: upgrade golangci-lint to v1.63.4 (#31019)
gzliudan Jan 13, 2025
f460f01
eth/tracers/logger: return revert reason (#31013)
reds Jan 13, 2025
8752785
cmd/devp2p/internal/ethtest: using slices.SortFunc to simplify the co…
dashangcun Jan 13, 2025
fcf5204
core/txpool/legacypool: fix flaky test TestAllowedTxSize (#30975)
qdm12 Jan 13, 2025
864e717
core: remove unused function parameters (#31001)
palango Jan 13, 2025
37c0e69
cmd, core, miner: rework genesis setup (#30907)
rjl493456442 Jan 14, 2025
1843f27
all: fix some typos in comments and names (#31023)
georgehao Jan 14, 2025
04a336a
core/types: change SetCodeTx.ChainID to uint256 (#30982)
fjl Jan 14, 2025
8dfad57
eth/gasprice: ensure cache purging goroutine terminates with subscrip…
jwasinger Jan 14, 2025
82acd5a
go: update SCR dependency to include Soneium Mainnet (#465)
sebastianst Jan 15, 2025
1338fc3
triedb: cleanup triedb diff
protolambda Jan 15, 2025
f508330
eth/catalyst: engine API test add back require payloadID equality
protolambda Jan 15, 2025
6c1047a
Merge pull request #452 from ethereum-optimism/update_v1_14_12
protolambda Jan 15, 2025
9b68875
beacon/engine: check for empty requests (#31010)
s1na Jan 15, 2025
9e4f08c
core: use sync.Once for SenderCacher initialization (#31029)
georgehao Jan 16, 2025
47d17ac
core/txpool/legacypool: ensure pending nonces are reset by SubPool.Cl…
jwasinger Jan 16, 2025
4d94bd8
core/tracing: document `OnCodeChange` now being called from SelfDestr…
maoueh Jan 16, 2025
a7f9523
all: implement state history v2 (#30107)
rjl493456442 Jan 17, 2025
ea31bd9
ethdb/memorydb: faster DeleteRange (#31038)
zsfelfoldi Jan 17, 2025
cc814d6
cmd/abigen: require either `--abi` or `--combined-json` (#31045)
cedrickah Jan 20, 2025
17199da
core/types: correct chainId check for pragueSigner (#31032)
islishude Jan 20, 2025
448e16a
build: upgrade -dlgo version to Go 1.23.5 (#31037)
levisyin Jan 20, 2025
530adfc
core/types: initialize ChainID in SetCodeTx copy method (#31054)
islishude Jan 20, 2025
e25cedf
core/txpool: terminate subpool reset goroutine if pool was closed (#…
jwasinger Jan 21, 2025
2bf4a8f
cmd/evm: refactor handling output-files for `t8n` (#30854)
holiman Jan 21, 2025
6c10996
eth/filters: ensure API timeoutLoop terminates with event system (#31…
jwasinger Jan 21, 2025
831e3fd
Add bindings for SR2.0 (#466)
mslipper Jan 21, 2025
4af9af4
go.mod: remove toolchain line (#31057)
fjl Jan 21, 2025
c43faa3
cmd/evm: restore --bench flag to evm statetest (#31055)
shemnon Jan 21, 2025
218b697
p2p: support configuring NAT in TOML file (#31041)
fjl Jan 22, 2025
d10c61c
go.mod: gencodec stable v0.1.0 (#31062)
ucwong Jan 22, 2025
a840e9b
triedb/pathdb: fix state revert on v2 history (#31060)
rjl493456442 Jan 22, 2025
d3cc618
trie: reduce allocations in stacktrie (#30743)
holiman Jan 23, 2025
3375680
eth/catalyst: fail on duplicate request types (#31071)
s1na Jan 23, 2025
f700ed9
accounts/usbwallet: fix ledger access for latest firmware and add Led…
mdehoog Jan 24, 2025
3003a13
core/vm: implement EIP-2537 spec updates (#30978)
s1na Jan 24, 2025
75526bb
p2p/nat: add stun protocol (#31064)
fearlessfe Jan 24, 2025
10a2aef
feat: add Isthmus fork rules (#471)
meyer9 Jan 24, 2025
1ab3985
Add getters for SR2 superchain tomls (#476)
mslipper Jan 24, 2025
f0e8a3e
fix README.md (#31076)
cratiu222 Jan 25, 2025
aa5cd31
Align HoloceneTime printout in banner
geoknee Jan 27, 2025
9516e0f
chore: fix various comments (#31082)
cratiu222 Jan 28, 2025
87936fe
Merge branch 'upstream_geth_prerelease' into merge_review_prerelease
protolambda Jan 28, 2025
c058cf2
Merge pull request #477 from ethereum-optimism/gk/align-holocene-banner
geoknee Jan 28, 2025
39638c8
all: nuke total difficulty (#30744)
karalabe Jan 28, 2025
3fcbb67
.github: add lint step (#31068)
s1na Jan 28, 2025
7496603
Separate loading config and genesis files (#482)
mslipper Jan 28, 2025
90e3b5c
fork.yaml: update upstream geth commit reference
protolambda Jan 29, 2025
52766be
core/{.,state,vm},miner,eth/tracers,tests: implement 7709 with a sysc…
gballet Jan 29, 2025
11e841e
build: bump test timeout (#31095)
s1na Jan 30, 2025
7b96ec4
.travis.yml: change arch for Docker build to arm64 (#31096)
fjl Jan 30, 2025
d80da7c
Revert ".travis.yml: change arch for Docker build to arm64 (#31096)"
fjl Jan 30, 2025
7d0e197
build: retry PPA upload up to three times (#31099)
fjl Jan 30, 2025
fa9a2ff
crypto: add IsOnCurve check (#31100)
fjl Jan 30, 2025
b3833e5
build: provide a flag to disable publishing in dockerx build (#31098)
fjl Jan 30, 2025
9bc8256
version: begin v1.15.0 release cycle
fjl Jan 30, 2025
9b9e7cc
all: add build tags for wasip1 (#31090)
nolag Jan 30, 2025
0e1a19d
core: implement eip-7623 floor data gas (#30946)
s1na Jan 30, 2025
a50cac5
core/vm: EXTCODE* return delegation designator for 7702 (#31089)
s1na Jan 30, 2025
b95f77d
core: genesis.go op-stack simplifications
protolambda Jan 30, 2025
bd43e57
crypto: add IsOnCurve check (#31100)
fjl Jan 30, 2025
0bc177c
Merge pull request #485 from ethereum-optimism/seb/upstream-p2p-fix
sebastianst Jan 30, 2025
38fc52c
chore: add missing Isthmus chain config options (#484)
meyer9 Jan 31, 2025
d68dd32
scr: Update superchain-registry (#486)
sebastianst Jan 31, 2025
8daefeb
params: update system contract addresses for devnet-6 (#31102)
lightclient Jan 31, 2025
5c61e47
Merge remote-tracking branch 'origin/optimism' into merge_review_prer…
sebastianst Jan 31, 2025
73137b4
Merge pull request #480 from ethereum-optimism/merge_review_prerelease
sebastianst Jan 31, 2025
fc12dbe
eth/catalyst: fix validation of type 0 request (#31103)
s1na Jan 31, 2025
55a1861
core/vm: simplify tracer hook invocation in interpreter loop (#31074)
jwasinger Feb 3, 2025
2d0bdaf
core/rawdb: improve log for NewDatabaseWithFreezer. (#488)
scharissis Feb 3, 2025
44c1a60
ci: Remove check releases job (#489)
ajsutton Feb 4, 2025
e26dd77
tests/fuzzers/bls12381: fix error message in fuzzCrossG2Add (#31113)
0xkazak Feb 4, 2025
0ad0966
core/rawdb: introduce flush offset in freezer (#30392)
rjl493456442 Feb 4, 2025
665c851
core: copy genesis before modifying (#31097)
MariusVanDerWijden Feb 4, 2025
eee8682
params: start osaka fork (#31125)
MariusVanDerWijden Feb 4, 2025
03e95db
cmd/geth: add RollupEnableTxPoolAdmissionFlag to node flags (#434)
pengin7384 Feb 4, 2025
e6f3ce7
params,core: add max and target value to chain config (#31002)
lightclient Feb 4, 2025
e332431
core: assign default difficulty to zero for chain without ethash (#31…
fjl Feb 4, 2025
7c7b7f6
core/txpool: remove locals-tracking from txpools (#30559)
holiman Feb 4, 2025
59d2eec
core/txpool/blobpool: fix incorrect arguments in test (#31127)
MariusVanDerWijden Feb 4, 2025
c4ad459
consensus/misc/eip4844: use head's target blobs, not parent (#31101)
lightclient Feb 4, 2025
0d597e5
feat: ensure requests array empty post-Isthmus (#478)
meyer9 Feb 4, 2025
ed1d46b
consensus/misc/eip4844: more changes for blob gas calculation (#31128)
fjl Feb 5, 2025
aaaf01d
core/tracing: state journal wrapper (#30441)
s1na Feb 5, 2025
06f3281
feat: add BLS precompile size limits for Isthmus (#490)
meyer9 Feb 5, 2025
9462f05
eth/catalyst: Check that extraData is empty in newPayload pre-Holocen…
sebastianst Feb 5, 2025
5d97db8
all: update license comments and AUTHORS (#31133)
fjl Feb 5, 2025
9e33b29
build: update to Go 1.23.6 (#31130)
ericxtheodore Feb 5, 2025
1847b5f
build: update EEST fixtures to prague devnet-6 (#31088)
s1na Feb 6, 2025
756cca7
version: release go-ethereum v1.15.0
fjl Feb 6, 2025
d74c47f
version: begin v1.15.1 release cycle
fjl Feb 6, 2025
0251cf7
txpool: Use CrossUnsafe for Interop Ingress Filter (#428)
axelKingsley Feb 6, 2025
d11e9c0
cmd/devp2p/internal/ethtest: remove TD from status validation (#31137)
marcindsobczak Feb 7, 2025
d0016ee
node: Enable miner rpc in authrpc if enabled in http (#491)
ferranbt Feb 7, 2025
4cda8f0
params,core/forkid: enable prague on holesky and sepolia (#31139)
lightclient Feb 8, 2025
7374890
pathdb: Pathdb full write-buffer check (#497)
protolambda Feb 10, 2025
3de516d
Add bootnodes ran by UL (#502)
trianglesphere Feb 10, 2025
9111c8f
sr: update to 4e0b67b7fa7d652d613e6f2f0e73d9656023c770 to add uni-mai…
sebastianst Feb 10, 2025
9064038
consensus/beacon: remove TestingTTDBlock (#31153)
fjl Feb 11, 2025
d2ca7cf
p2p/discover: remove unused parameter in revalidationList.get (#31155)
huyngopt1994 Feb 11, 2025
22b9354
p2p/discover: make discv5 response timeout configurable (#31119)
GrapeBaBa Feb 11, 2025
cdb66c8
core/txpool/legacypool: add support for SetCode transactions (#31073)
lightclient Feb 11, 2025
da71839
internal/ethapi: fix panic in debug methods (#31157)
s1na Feb 11, 2025
58f65c6
trie: copy preimage store pointer in StateTrie.Copy (#31158)
jwasinger Feb 12, 2025
c5afb51
Merge tag 'v1.15.0' into seb/geth-v1.15.0
sebastianst Feb 12, 2025
24ed0b5
go.mod: update blst to v0.3.14 (#31165)
MariusVanDerWijden Feb 13, 2025
acea125
feat: ensure no requests are included in isthmus blocks (#498)
meyer9 Feb 13, 2025
8ec4a06
core: sanity-check fork configuration in genesis (#31171)
fjl Feb 13, 2025
913fee4
core/rawdb: skip setting flushOffset in read-only mode (#31173)
rjl493456442 Feb 13, 2025
b027a90
version: release go-ethereum v1.15.1 stable
fjl Feb 13, 2025
7776282
version: begin v1.15.2 release cycle
fjl Feb 13, 2025
68de26e
core/types: create block's bloom by merging receipts' bloom (#31129)
minh-bq Feb 13, 2025
e5bc789
consensus/beacon: fix isPostMerge for mainnet (#31191)
fjl Feb 17, 2025
c113e3b
p2p: fix marshaling of NAT in TOML (#31192)
fjl Feb 17, 2025
d37a0b8
eth/protocols/eth: add discovery iterator to protocol (#31185)
fjl Feb 17, 2025
c8c62da
version: release go-ethereum v1.15.2 stable
fjl Feb 17, 2025
aec1964
version: begin v1.15.3 release cycle
fjl Feb 17, 2025
3adfa1f
trie: do not expect ordering in stacktrie during fuzzing (#31170)
MariusVanDerWijden Feb 18, 2025
68d4776
utils: clarify description for history.state flag (#31164)
piersy Feb 18, 2025
7332a1b
ethclient: add comment describing block number tags (#30984)
EdisonSR Feb 18, 2025
32c6aa8
core/vm: clean up EVM environmental structure (#31061)
rjl493456442 Feb 18, 2025
ef00a6e
params: add osaka blob schedule (#31174)
MariusVanDerWijden Feb 18, 2025
35e2c85
node: Enable debug rpc in authrpc if enabled in http (#512)
zhiqiangxu Feb 18, 2025
dab746b
eth/catalyst: support earlier forks in SimulatedBeacon (#31084)
maoueh Feb 18, 2025
07d7fe2
build: upgrade -dlgo version to Go 1.24.0 (#31159)
levisyin Feb 19, 2025
aac6219
core/asm: delete assembler/disassembler (#31211)
fjl Feb 19, 2025
dac5eca
upgrade circleci-utils
raffaele-oplabs Feb 19, 2025
67cd4cd
.github: downgrade go for lint step (#31217)
s1na Feb 20, 2025
377bbb5
Add Jovian time config (#463)
mdehoog Feb 20, 2025
c8781be
core/txpool/legacypool: add setCodeTx reorg test (#31206)
MariusVanDerWijden Feb 20, 2025
b1f88ef
internal/ethapi: handle prague system calls in eth_simulate (#31176)
nethoxa Feb 20, 2025
dcc0b37
eth/tracers: refactor block context in test runner (#29450)
jsvisa Feb 20, 2025
301a868
oss-fuzz: remove deprecated targets (#31224)
holiman Feb 20, 2025
2a81bba
p2p/nat: remove test with default servers (#31225)
fjl Feb 21, 2025
53e8e1f
core/types: remove unneeded todo marker (#31179)
SatoshiIsHere Feb 21, 2025
5552ada
signer/core: fix encoding of `bytes` nested within array (#31049)
jwasinger Feb 21, 2025
8a14362
internal/ethapi: fix prev hashes in eth_simulate (#31122)
s1na Feb 21, 2025
cb9653d
cmd/clef: improve documentation in readme (#31218)
gap-editor Feb 21, 2025
92ca152
Merge branch 'optimism' into upgrade-circleci-utils
raffaele-oplabs Feb 21, 2025
d103f17
build: replace `tenv` linter with `usetesting` (#31172)
levisyin Feb 21, 2025
04d1157
ci: only mark finalized releases as 'latest' (#515)
sebastianst Feb 21, 2025
7017b54
sr: update to 68ebaf81202ee7e21638232c54404074a49a63f6 (#516)
sebastianst Feb 21, 2025
9e6f924
eth: report error from setupDiscovery at startup (#31233)
fjl Feb 23, 2025
a0e6381
go.mod: update cloudflare-go (#31240)
MariusVanDerWijden Feb 24, 2025
fbe0005
crypto: add comment to FromECDSAPub (#31241)
MariusVanDerWijden Feb 24, 2025
9211a0e
core/txpool: move setcode tx validation into legacyPool (#31209)
rjl493456442 Feb 24, 2025
7d8aca9
params: add deposit contract addresses (#31247)
MariusVanDerWijden Feb 24, 2025
e9fce87
Merge pull request #514 from ethereum-optimism/upgrade-circleci-utils
raffaele-oplabs Feb 25, 2025
f688343
ethclient/simulated: add goroutine leak test (#31033)
jwasinger Feb 25, 2025
756310f
eth/protocols/eth: fix loading "eth" ENR key in dial filter (#31251)
islishude Feb 25, 2025
612c9e0
version: release go-ethereum v1.15.3 stable
fjl Feb 25, 2025
87b0a27
interop: New sequencer executing message check API (#521)
Inphi Feb 25, 2025
00cc4f2
eth/interop: use checkMessagesV2, but fallback to V1 if not found (#522)
protolambda Feb 25, 2025
c31cb46
all: Adapt OP-Stack diff after merging upstream geth/v1.15.0
sebastianst Feb 13, 2025
acece60
Merge remote-tracking branch 'origin/optimism' into seb/geth-v1.15.0-…
sebastianst Feb 26, 2025
27eb353
all: Merge go-ethereum v1.15.0 (#525)
protolambda Feb 26, 2025
31738ca
forkdiff: update base to geth/v1.15.0 (#527)
sebastianst Feb 27, 2025
e136827
isthmus: operator fee (#388)
yuwen01 Feb 28, 2025
cca9ecc
Merge tag 'v1.15.3' into gk/geth-v1.15.3-rewritten
geoknee Mar 3, 2025
f488db7
core,miner: disable requests queue processing in isthmus (#532)
meyer9 Mar 4, 2025
ebfc2a5
ethapi: fix eth_createAccessList unmarshaling error (#524)
sebaespindola Mar 5, 2025
3a8a214
superchain: Add optional fork PectraBlobSchedule (#533)
sebastianst Mar 6, 2025
299899c
all: Merge go-ethereum v1.15.3 (#530)
protolambda Mar 6, 2025
963ab50
Update latest signer for optimism to prague (#535)
meyer9 Mar 7, 2025
219d897
superchain: update SR to 08e3fe429c776a532c2b6dc09571fc13e6dba5d4 (#537)
sebastianst Mar 7, 2025
27ec85a
superchain: update SR to cb1b645b35813b8dd3a900b9f99c46614e466a2c (#538)
sebastianst Mar 10, 2025
7ec3382
eth: fix OP-Stack fee-history RPC (#543)
protolambda Mar 13, 2025
fbc739c
Update superchain-registry@84bce73573f130008d84bae6e924163bab589a11 (…
geoknee Mar 13, 2025
8c96154
eth/catalyst: validate withdrawalsRoot in NewPayloadV4 (#544)
geoknee Mar 14, 2025
332a1ce
interop: Access List Ingress Filtering (#540)
axelKingsley Mar 14, 2025
ba37ece
interop: Check Access Lists in Builder (#541)
axelKingsley Mar 14, 2025
28ddc5e
accounts/abi: estimate gas with access-list (#546)
protolambda Mar 15, 2025
4bc345b
Fix operator fee deposit (#552)
sebastianst Mar 20, 2025
c3a989e
superchain: Support reading superchain configs from arbitrary data. (…
ajsutton Mar 27, 2025
928e061
core/txpool: Take total rollup cost into account (L1 + operator fee) …
sebastianst Mar 31, 2025
cd1571b
sr: update to 877ef2c1dc37b3cdc083819b2acb3e86881711ff (Isthmus Sepol…
sebastianst Mar 31, 2025
37be9e0
core/txpool: fix rollup cost accounting (#567)
sebastianst Apr 1, 2025
eec054d
rpc: RPC recording functions (#562)
protolambda Apr 1, 2025
02dfe86
interop: fix debug message in miner/worker (#557)
pcw109550 Apr 1, 2025
d298e6a
txpool: Reorganize Filter Checks (#572)
axelKingsley Apr 4, 2025
e666543
sr: update to 84838da8305c55bdd28c0eea1fd4fd65c097e296 to fix Worldch…
sebastianst Apr 9, 2025
695c40f
Merge commit 'e666543dc5500428ee7c940e54263fe4968c5efd' into HEAD
ClaytonNorthey92 Apr 11, 2025
211fc20
rebase/merge follow-ups
ClaytonNorthey92 Apr 11, 2025
45d708e
re-add depricated flag for localnet testing
ClaytonNorthey92 Apr 22, 2025
be5dcd7
attempt to fix errors
ClaytonNorthey92 Apr 22, 2025
5a23342
more fixes
ClaytonNorthey92 Apr 22, 2025
59242a8
insecure unlock allows for HEMI
ClaytonNorthey92 Apr 23, 2025
da8bccd
Fix hVM precompile for mapping to match address list
max-sanchez May 6, 2025
6d67258
Port hVM full CL sync fix
max-sanchez May 6, 2025
218bb30
Add SetCodeTxType to receipt serialization
max-sanchez May 6, 2025
e004071
fix merge conflict
ClaytonNorthey92 May 6, 2025
73c4e4d
Update Dockerfile
ClaytonNorthey92 May 6, 2025
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
core: Move blockchain head verification after possible rewind (op-geth
…ethereum-optimism#446)

* core: Move blockchain head verification after possible rewind

If the blockchain needs a rewind due to a config change, it makes more
sense to first perform that rewind and only then check the chain head's
validity. The change in config might cause the loaded chain's head to be
invalid before the rewind.

* log configs at startup

* fix logging
  • Loading branch information
sebastianst authored Dec 11, 2024
commit d5dbfcfaedbae9a58251e34288d512ea9f155bf2
9 changes: 5 additions & 4 deletions core/blockchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -410,10 +410,6 @@ func NewBlockChain(db ethdb.Database, cacheConfig *CacheConfig, genesis *Genesis
}
}
}
// The first thing the node will do is reconstruct the verification data for
// the head block (ethash cache or clique voting snapshot). Might as well do
// it in advance.
bc.engine.VerifyHeader(bc, bc.CurrentHeader())

if bc.logger != nil && bc.logger.OnBlockchainInit != nil {
bc.logger.OnBlockchainInit(chainConfig)
Expand Down Expand Up @@ -467,6 +463,11 @@ func NewBlockChain(db ethdb.Database, cacheConfig *CacheConfig, genesis *Genesis
rawdb.WriteChainConfig(db, genesisHash, chainConfig)
}

// The first thing the node will do is reconstruct the verification data for
// the head block (ethash cache or clique voting snapshot). Might as well do
// it in advance.
bc.engine.VerifyHeader(bc, bc.CurrentHeader())

// Start tx indexer if it's enabled.
if txLookupLimit != nil {
bc.txIndexer = newTxIndexer(*txLookupLimit, bc)
Expand Down
12 changes: 11 additions & 1 deletion core/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,7 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, triedb *triedb.Database, g
// Get the existing chain configuration.
newcfg := genesis.configOrDefault(stored)
applyOverrides(newcfg)

if err := newcfg.CheckConfigForkOrder(); err != nil {
return newcfg, common.Hash{}, err
}
Expand All @@ -390,7 +391,9 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, triedb *triedb.Database, g
rawdb.WriteChainConfig(db, stored, newcfg)
return newcfg, stored, nil
}

storedData, _ := json.Marshal(storedcfg)
log.Info("Stored config", "json", string(storedData))
// Special case: if a private network is being used (no genesis and also no
// mainnet hash in the database), we must not apply the `configOrDefault`
// chain config as that would be AllProtocolChanges (applying any new fork
Expand All @@ -400,6 +403,9 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, triedb *triedb.Database, g
newcfg = storedcfg
applyOverrides(newcfg)
}
newData, _ := json.Marshal(newcfg)
log.Info("New config", "json", string(newData), "genesis-nil", genesis == nil)

// Check config compatibility and write the config. Compatibility errors
// are returned to the caller unless we're already at block zero.
head := rawdb.ReadHeadHeader(db)
Expand All @@ -414,9 +420,13 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, triedb *triedb.Database, g
if compatErr != nil && ((head.Number.Uint64() != 0 && compatErr.RewindToBlock != 0) || (head.Time != 0 && compatErr.RewindToTime != 0)) {
return newcfg, stored, compatErr
}

// Don't overwrite if the old is identical to the new
if newData, _ := json.Marshal(newcfg); !bytes.Equal(storedData, newData) {
if !bytes.Equal(storedData, newData) {
log.Info("Configs differ")
rawdb.WriteChainConfig(db, stored, newcfg)
} else {
log.Info("Configs equal")
}
return newcfg, stored, nil
}
Expand Down
2 changes: 2 additions & 0 deletions params/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"math/big"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/params/forks"
)

Expand Down Expand Up @@ -709,6 +710,7 @@ func (c *ChainConfig) CheckCompatible(newcfg *ChainConfig, height, time uint64,
var lasterr *ConfigCompatError
for {
err := c.checkCompatible(newcfg, bhead, btime, genesisTimestamp)
log.Info("Checking compatibility", "height", bhead, "time", btime, "error", err)
if err == nil || (lasterr != nil && err.RewindToBlock == lasterr.RewindToBlock && err.RewindToTime == lasterr.RewindToTime) {
break
}
Expand Down
12 changes: 12 additions & 0 deletions params/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,18 @@ func TestCheckCompatible(t *testing.T) {
RewindToTime: 9,
},
},
{
stored: &ChainConfig{HoloceneTime: newUint64(10)},
new: &ChainConfig{HoloceneTime: newUint64(20)},
headTimestamp: 15,
genesisTimestamp: newUint64(5),
wantErr: &ConfigCompatError{
What: "Holocene fork timestamp",
StoredTime: newUint64(10),
NewTime: newUint64(20),
RewindToTime: 9,
},
},
}

for i, test := range tests {
Expand Down