Skip to content

Upstream ethereum-optimism/op-geth/v1.101411.4 to master-legacy#17

Open
0xsharma wants to merge 682 commits intomaster-legacyfrom
legacy-v1.101411.4
Open

Upstream ethereum-optimism/op-geth/v1.101411.4 to master-legacy#17
0xsharma wants to merge 682 commits intomaster-legacyfrom
legacy-v1.101411.4

Conversation

@0xsharma
Copy link
Member

In this PR, we take the upstream merge of op-geth from ethereum-optimism/op-geth/v1.101411.4.

fjl and others added 30 commits July 18, 2024 11:09
The pubkey type was moved to package v4wire a long time ago. Remaining uses of
encPubkey were probably left in due to laziness.
* eth/gasprice: remove default from config

* eth/gasprice: sanitize startPrice
This makes the test resilient to changes of types.Header -- otherwise the test needs to be
updated each time the header structure is modified.
Originally, these metrics were added to track the largest storage wiping.
Since account self-destruction was deprecated with the Cancun fork,
these metrics have become meaningless.
Here we add distinct error messages for network timeouts and JSON parsing errors.
Note this specifically applies to HTTP connections serving a single RPC request.

Co-authored-by: Felix Lange <fjl@twurst.com>
…#30208)

The address recover is executed and cached in ValidateTransaction already. It's
expected that the cached one is returned in ValidateTransaction. However,
currently, we use the wrong function signer.Sender instead of types.Sender which
will do all the address recover again.
This pull request adds an additional error check after statedb.IntermediateRoot,
ensuring that no errors occur during this call. This step is essential, as the call might
encounter database errors.
Currently, we have 3 flags to configure blob pool. However, we don't
read these flags and set the blob pool configuration in eth config
accordingly. This commit adds a function to check if these flags are
provided and set blob pool configuration based on them.
This pull request fixes the broken feature where the entire storage set is overridden.

Originally, the storage set override was achieved by marking the associated account
as deleted, preventing access to the storage slot on disk. However, since #29520, this
flag is also checked when accessing the account, rendering the account unreachable.

A fix has been applied in this pull request, which re-creates a new state object with all
account metadata inherited.
This pull request explicitly prints out the full hash for debugging
purpose.
Looks like #30094 became a bit stale after #30185 was merged and now we
have a stale ref to a state override object causing CI to fail on
master.
Return the actually requested external port instead of 0 in the
AddMapping implementation for `--nat extip:<IP>`.
The test specifies `ListenAddr: ":0"`, which means a random ephemeral
port will be chosen for the TCP listener by the OS. Additionally, since
no `DiscAddr` was specified, the same port that is chosen automatically
by the OS will also be used for the UDP listener in the discovery UDP
setup. This sometimes leads to test failures if the TCP listener picks a
free TCP port that is already taken for UDP. By specifying `DiscAddr:
":0"`, the UDP port will be chosen independently from the TCP port,
fixing the random failure.

See issue #29830.

Verified using
```
cd p2p
go test -c -race
stress ./p2p.test -test.run=TestServerPortMapping
...
5m0s: 4556 runs so far, 0 failures
```

The issue described above can technically lead to sporadic failures on
systems that specify a listen address via the `--port` flag of 0 while
not setting `--discovery.port`. Since the default is using port `30303`
and using a random ephemeral port is likely not used much to begin with,
not addressing the root cause might be acceptable.
…(#30239)

## Issue

If `nextTime` has passed, but all nodes are excluded, `get` would return
`nil` and `run` would therefore not invoke `schedule`. Then, we schedule
a timer for the past, as neither `nextTime` value has been updated. This
creates a busy loop, as the timer immediately returns.

## Fix

With this PR, revalidation will be also rescheduled when all nodes are
excluded.

---------

Co-authored-by: lightclient <lightclient@protonmail.com>
This PR fixes an issue in the setMode method of beaconBackfiller where the
log message was not displaying the previous mode correctly. The log message
now shows both the old and new sync modes.
The package `github.com/golang/protobuf/proto` is deprecated in favor
`google.golang.org/protobuf/proto`. We should update the codes to
recommended package.

Signed-off-by: Icarus Wu <icaruswu66@qq.com>
Adding the correct accessList parameter when calling a contract can
reduce gas consumption. However, the current version only allows adding
the accessList manually when constructing the transaction. This PR can
provide convenience for saving gas.
Removing because memsize will very likely be broken by Go 1.23. See
fjl/memsize#4
Fixes #30254 

It seems like the removed CreateAccount call is very old and not needed anymore.
After removing it, setting a sender that does not exist in the state doesn't seem to cause
an issue.
…sed (#30267)

Seems it is checked with the wrong argument

Signed-off-by: jsvisa <delweng@gmail.com>
axelKingsley and others added 29 commits November 4, 2024 22:52
interop: Ingress Filtering for Interop Enabled Mempool
Co-authored-by: Adrian Sutton <adrian@oplabs.co>
* fix name of test

* Update miner/payload_building_test.go

---------

Co-authored-by: Sebastian Stammler <stammler.s@gmail.com>
* Bumps supported ProtocolVersion to 9.0.0-rc.1 (9 for Holocene)
* Also bumps Go CI version to 1.22
…etal

Update superchain-registry to include metal-sepolia
brings in the unichain sepolia holocene_time
core: fix call to post-validation evm message hook
Signed-off-by: mountcount <cuimoman@outlook.com>
Co-authored-by: Sebastian Stammler <seb@oplabs.co>
core: make isForkTimestampIncompatible return false when either fork is post genesis
…orage root

* update checks for l2 withdrawal root to be gated on Isthmus
* core: pass chainConfig to NewBlock for withdrawalRoot checks and fix usage
  this is so that we can check whether Isthmus is active within NewBlock()
* genesis: read and set withdrawalsRoot to storageRoot of L2toL1MP contract
* prioritize supplied withdrawalsRoot in beacon engine header check
…h #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
Brings in minato sepolia Holocene activation time
@0xsharma 0xsharma changed the title Merge ethereum-optimism/op-geth/v1.101411.4 to master-legacy Upstream ethereum-optimism/op-geth/v1.101411.4 to master-legacy Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.