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

geth/v1.14.8 upstream merge #363

Merged
merged 61 commits into from
Aug 16, 2024
Merged

geth/v1.14.8 upstream merge #363

merged 61 commits into from
Aug 16, 2024

Commits on Jul 11, 2024

  1. Configuration menu
    Copy the full SHA
    bcaf374 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cf03784 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. core/txpool/blobpool: use nonce from argument instead of tx.Nonce() (…

    …#30148)
    
    This does not change the behavior here as the nonce in the argument is
    tx.Nonce(). This commit helps to make the function easier to read and avoid
    capturing the tx in the function.
    minh-bq authored Jul 15, 2024
    Configuration menu
    Copy the full SHA
    a0631f3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    79d2327 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4bbe993 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    169aa91 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a0d2613 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8adce57 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    71210b0 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. Configuration menu
    Copy the full SHA
    0d38b0c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b530d8e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    15936c6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c54294b View commit details
    Browse the repository at this point in the history
  5. core/rawdb, triedb, cmd: create an isolated disk namespace for verkle…

    … (#30105)
    
    * core, triedb/pathdb, cmd: define verkle state ancient store
    
    * core/rawdb, triedb: add verkle namespace in pathdb
    rjl493456442 authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    f59d013 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. p2p/discover: remove type encPubkey (#30172)

    The pubkey type was moved to package v4wire a long time ago. Remaining uses of
    encPubkey were probably left in due to laziness.
    fjl authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    ad49c70 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    df3f0a8 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. ethdb: remove snapshot (#30189)

    s1na authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    944718b View commit details
    Browse the repository at this point in the history
  2. eth/gasprice: remove default from config (#30080)

    * eth/gasprice: remove default from config
    
    * eth/gasprice: sanitize startPrice
    MariusVanDerWijden authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    380688c View commit details
    Browse the repository at this point in the history
  3. rpc: use stable object in notifier test (#30193)

    This makes the test resilient to changes of types.Header -- otherwise the test needs to be
    updated each time the header structure is modified.
    lightclient authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    7abe84c View commit details
    Browse the repository at this point in the history
  4. core/state: remove useless metrics (#30184)

    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.
    rjl493456442 authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    ef583e9 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. rpc: show more error detail for invalidMessageError (#30191)

    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>
    zhiqiangxu and fjl authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    57e6627 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7026bae View commit details
    Browse the repository at this point in the history
  3. core/txpool: use the cached address in ValidateTransactionWithState (…

    …#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.
    minh-bq authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    6693fe1 View commit details
    Browse the repository at this point in the history
  4. core/state: check db error after intermediate call (#30171)

    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.
    rjl493456442 authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    1939813 View commit details
    Browse the repository at this point in the history
  5. cmd/utils: allow configurating blob pool from flags (#30203)

    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.
    minh-bq authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    35b4183 View commit details
    Browse the repository at this point in the history
  6. core/state: fix SetStorage override behavior (#30185)

    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.
    rjl493456442 authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    766ce23 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. triedb/pathdb: print out all trie owner and hash information (#30200)

    This pull request explicitly prints out the full hash for debugging
    purpose.
    rjl493456442 authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    4ad88e9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4dfc75d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ac0f220 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. internal/ethapi: fix state override test (#30228)

    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.
    lightclient authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    f94baab View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. p2p/nat: return correct port for ExtIP NAT (#30234)

    Return the actually requested external port instead of 0 in the
    AddMapping implementation for `--nat extip:<IP>`.
    dknopik authored Jul 27, 2024
    Configuration menu
    Copy the full SHA
    b0f66e3 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. p2p: fix flaky test TestServerPortMapping (#30241)

    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.
    bearpebble authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    6e33dbf View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. p2p/discover: schedule revalidation also when all nodes are excluded …

    …(#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>
    dknopik and lightclient authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    de6d597 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Configuration menu
    Copy the full SHA
    ff6e43e View commit details
    Browse the repository at this point in the history
  2. eth/downloader: correct sync mode logging to show old mode (#30219)

    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.
    smin-k authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    dad8f23 View commit details
    Browse the repository at this point in the history
  3. all: remove deprecated protobuf dependencies (#30232)

    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>
    Icarus9913 authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    b635089 View commit details
    Browse the repository at this point in the history
  4. accounts/abi/bind: add accessList support to base bond contract (#30195)

    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.
    ysh0566 authored Aug 1, 2024
    Configuration menu
    Copy the full SHA
    67b8137 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. internal/debug: remove memsize (#30253)

    Removing because memsize will very likely be broken by Go 1.23. See
    fjl/memsize#4
    fjl authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    e467577 View commit details
    Browse the repository at this point in the history
  2. eth/downloader: gofmt (#30261)

    Fixes a regression introduced in
    ethereum/go-ethereum#30219
    fjl authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    16cf5c5 View commit details
    Browse the repository at this point in the history
  3. cmd/evm: don't overwrite sender account (#30259)

    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.
    lightclient authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    142c94d View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. eth/catalyst: get params.ExcessBlobGas but check with params.BlobGasU…

    …sed (#30267)
    
    Seems it is checked with the wrong argument
    
    Signed-off-by: jsvisa <delweng@gmail.com>
    jsvisa authored Aug 5, 2024
    Configuration menu
    Copy the full SHA
    1058695 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. Configuration menu
    Copy the full SHA
    cf8aa31 View commit details
    Browse the repository at this point in the history
  2. core/vm/runtime: ensure tracer benchmark calls OnTxStart (#30257)

    The struct-based tracing added in #29189 seems to have caused an issue
    with the benchmark `BenchmarkTracerStepVsCallFrame`. On master we see
    the following panic:
    
    ```console
    BenchmarkTracerStepVsCallFrame
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x2 addr=0x40 pc=0x1019782f0]
    
    goroutine 37 [running]:
    github.com/ethereum/go-ethereum/eth/tracers/js.(*jsTracer).OnOpcode(0x140004c4000, 0x0, 0x10?, 0x989680, 0x1, {0x101ea2298, 0x1400000e258}, {0x1400000e258?, 0x14000155928?, 0x10173020c?}, ...)
            /Users/matt/dev/go-ethereum/eth/tracers/js/goja.go:328 +0x140
    github.com/ethereum/go-ethereum/core/vm.(*EVMInterpreter).Run(0x14000307da0, 0x140003cc0d0, {0x0, 0x0, 0x0}, 0x0)
     ...
    FAIL    github.com/ethereum/go-ethereum/core/vm/runtime 0.420s
    FAIL
    ```
    
    The issue seems to be that `OnOpcode` expects that `OnTxStart` has
    already been called to initialize the `env` value in the tracer. The JS
    tracer uses it in `OnOpcode` for the `GetRefund()` method.
    
    This patch resolves the issue by reusing the `Call` method already
    defined in `runtime_test.go` which correctly calls `OnTxStart`.
    lightclient authored Aug 6, 2024
    Configuration menu
    Copy the full SHA
    dbc1d04 View commit details
    Browse the repository at this point in the history
  3. ethclient: support networkID in hex format (#30263)

    Some chains’ network IDs use hexadecimal such as Optimism ("0xa" instead
    of "10"), so when converting the string to big.Int, we cannot specify
    base 10; otherwise, it will encounter errors with hexadecimal network
    IDs.
    kkqy authored Aug 6, 2024
    Configuration menu
    Copy the full SHA
    e9981bc View commit details
    Browse the repository at this point in the history
  4. core/vm: improved stack swap performance (#30249)

    This PR adds the methods `Stack.swap1..16()` that faster than `Stack.swap(1..16)`. 
    
    Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
    lmittmann and lmittmann authored Aug 6, 2024
    Configuration menu
    Copy the full SHA
    b37ac5c View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. signer/core: improve performance of isPrimitiveTypeValid function (#3…

    …0274) (#30277)
    
    Precomputes valid primitive types into a map to use for validation, thus removing sprintf.
    llkhacquan authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    978041f View commit details
    Browse the repository at this point in the history
  2. core/vm: use uint64 in memory for indices everywhere (#30252)

    Consistently use `uint64` for indices in `Memory` and drop lots of type
    conversions from `uint64` to `int64`.
    
    ---------
    
    Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
    lmittmann and lmittmann authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    4a3aed3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9ea766d View commit details
    Browse the repository at this point in the history
  4. tests: fix TransactionTest to actually run (#30272)

    Due to https://github.com/ethereum/tests/releases/tag/v10.1, the format
    of the TransactionTest changed, but it was not properly addressed, causing the test
    to pass unexpectedly.
    
    ---------
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    taiking and holiman authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    d3dae66 View commit details
    Browse the repository at this point in the history
  5. eth/downloader, core/types: take withdrawals-size into account in dow…

    …nloader queue (#30276)
    
    Fixes a slight miscalculation in the downloader queue, which was not accurately taking block withdrawals into account when calculating the size of the items in the queue
    psogv0308 authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    ebe31df View commit details
    Browse the repository at this point in the history
  6. cmd/evm: fix evm basefee (#30281)

    fixes #30279 -- previously we did not use the basefee from the genesis, and instead the defaults were used from `runtime.go/setDefaults`-function
    holiman authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    83e70aa View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Configuration menu
    Copy the full SHA
    811a69c View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2024

  1. beacon/engine, consensus/beacon: use params.MaximumExtraDataSize inst…

    …ead of hard-coded value (#29721)
    
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
    Co-authored-by: lightclient <lightclient@protonmail.com>
    4 people authored Aug 10, 2024
    Configuration menu
    Copy the full SHA
    32a1e06 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. p2p/simulations: remove packages (#30250)

    Looking at the history of these packages over the past several years, there
    haven't been any meaningful contributions or usages:
    https://github.com/ethereum/go-ethereum/commits/master/p2p/simulations?before=de6d5976794a9ed3b626d4eba57bf7f0806fb970+35
    
    Almost all of the commits are part of larger refactors or low-hanging-fruit contributions.
    Seems like it's not providing much value and taking up team + contributor time.
    lightclient authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    33a13b6 View commit details
    Browse the repository at this point in the history
  2. eth/protocols/snap: cleanup dangling account trie nodes due to incomp…

    …lete storage (#30258)
    
    This pull request fixes #30229.
     
    During snap sync, large storage will be split into several pieces and
    synchronized concurrently. Unfortunately, the tradeoff is that the respective
    merkle trie of each storage chunk will be incomplete due to the incomplete
    boundaries. The trie nodes on these boundaries will be discarded, and any
    dangling nodes on disk will also be removed if they fall on these paths,
    ensuring the state healer won't be blocked.
    
    However, the dangling account trie nodes on the path from the root to the
    associated account are left untouched. This means the dangling account trie
    nodes could potentially stop the state healing and break the assumption that the
    entire subtrie should exist if the subtrie root exists. We should consider the
    account trie node as the ancestor of the corresponding storage trie node.
    
    In the scenarios described in the above ticket, the state corruption could occur
    if there is a dangling account trie node while some storage trie nodes are
    removed due to synchronization redo.
    
    The fixing idea is pretty straightforward, the trie nodes on the path from root
    to account should all be explicitly removed if an incomplete storage trie
    occurs. Therefore, a `delete` operation has been added into `gentrie` to
    explicitly clear the account along with all nodes on this path. The special
    thing is that it's a cross-trie clearing. In theory, there may be a dangling
    node at any position on this account key and we have to clear all of them.
    rjl493456442 authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    5adf4ad View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    880511d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a9523b6 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. Configuration menu
    Copy the full SHA
    8f93f81 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    25dbf70 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    75b673d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9f481ea View commit details
    Browse the repository at this point in the history