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

Cancun code merge [v1.13.0, v1.13.11] #2200

Merged
merged 430 commits into from
Mar 4, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 11, 2023

  1. trie: remove owner and binary marshaling from stacktrie (#28291)

    This change
      - Removes the owner-notion from a stacktrie; the owner is only ever needed for comitting to the database, but the commit-function, the `writeFn` is provided by the caller, so the caller can just set the owner into the `writeFn` instead of having it passed through the stacktrie.
      - Removes the `encoding.BinaryMarshaler`/`encoding.BinaryUnmarshaler` interface from stacktrie. We're not using it, and it is doubtful whether anyone downstream is either.
    holiman authored Oct 11, 2023
    Configuration menu
    Copy the full SHA
    8976a0c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7776a32 View commit details
    Browse the repository at this point in the history
  3. eth/fetcher: throttle tx fetches to 128KB responses (#28304)

    * eth/fetcher: throttle tx fetches to 128KB responses
    
    * eth/fetcher: unindent a clause per review request
    karalabe authored Oct 11, 2023
    Configuration menu
    Copy the full SHA
    a6deb2d View commit details
    Browse the repository at this point in the history
  4. eth/fetcher: fix typo

    karalabe committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    13d1d42 View commit details
    Browse the repository at this point in the history
  5. cmd, core: resolve scheme from a read-write database (#28313)

    * cmd, core: resolve scheme from a read-write database
    
    * cmd, core, eth: move the scheme check in the ethereum constructor
    
    * cmd/geth: dump should in ro mode
    
    * cmd: reverts
    rjl493456442 authored Oct 11, 2023
    Configuration menu
    Copy the full SHA
    eeb5dc3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0004c6b View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. Configuration menu
    Copy the full SHA
    d2c0bed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0d45d72 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2f66d7c View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. eth/protocols/snap: fix snap sync failure on empty storage range (#28…

    …306)
    
    This change addresses an issue in snap sync, specifically when the entire sync process can be halted due to an encountered empty storage range.
    
    Currently, on the snap sync client side, the response to an empty (partial) storage range is discarded as a non-delivery. However, this response can be a valid response, when the particular range requested does not contain any slots.
    
    For instance, consider a large contract where the entire key space is divided into 16 chunks, and there are no available slots in the last chunk [0xf] -> [end]. When the node receives a request for this particular range, the response includes:
    
        The proof with origin [0xf]
        A nil storage slot set
    
    If we simply discard this response, the finalization of the last range will be skipped, halting the entire sync process indefinitely. The test case TestSyncWithUnevenStorage can reproduce the scenario described above.
    
    In addition, this change also defines the common variables MaxAddress and MaxHash.
    rjl493456442 authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    1cb3b6a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1f30cae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    78c8e10 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    660cbe4 View commit details
    Browse the repository at this point in the history
  5. build: move version-info into checksum file (#28324)

    * build: upgrade to golang 1.21.2
    
    * build: verify checksums via tool
    
    * deps: upgrade go to 1.21.3
    
    * build: move more build metadata into checksum file
    
    * build: move gobootsrc to checksums
    holiman authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    ed5da55 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    31b566f View commit details
    Browse the repository at this point in the history
  7. trie: make rhs-proof align with last key in range proofs (#28311)

    During snap-sync, we request ranges of values: either a range of accounts or a range of storage values. For any large trie, e.g. the main account trie or a large storage trie, we cannot fetch everything at once.
    
    Short version; we split it up and request in multiple stages. To do so, we use an origin field, to say "Give me all storage key/values where key > 0x20000000000000000". When the server fulfils this, the server provides the first key after origin, let's say 0x2e030000000000000 -- never providing the exact origin. However, the client-side needs to be able to verify that the 0x2e03.. indeed is the first one after 0x2000.., and therefore the attached proof concerns the origin, not the first key.
    
    So, short-short version: the left-hand side of the proof relates to the origin, and is free-standing from the first leaf.
    
    On the other hand, (pun intended), the right-hand side, there's no such 'gap' between "along what path does the proof walk" and the last provided leaf. The proof must prove the last element (unless there are no elements).
    
    Therefore, we can simplify the semantics for trie.VerifyRangeProof by removing an argument. This doesn't make much difference in practice, but makes it so that we can remove some tests. The reason I am raising this is that the upcoming stacktrie-based verifier does not support such fancy features as standalone right-hand borders.
    holiman authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    f62c58f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    425cb6f View commit details
    Browse the repository at this point in the history
  9. cmd, core, ethdb: enable Pebble on 32 bits and OpenBSD too (#28335)

    * cmd, core, ethdb: enable Pebble on 32 bits and OpenBSD too
    
    * ethdb/pebble: use Pebble's internal constant calculation
    karalabe authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    509a64f View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. tests: update execution-spec-tests to 1.0.5 (#28337)

    Updates execution-spec-tests to 1.0.5: https://github.com/ethereum/execution-spec-tests/releases/tag/v1.0.5, switching to develop which contains Cancun tests (which are also enabled in this change).
    holiman authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    4632b7b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2e478aa View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2023

  1. Configuration menu
    Copy the full SHA
    a5544d3 View commit details
    Browse the repository at this point in the history
  2. internal/ethapi: fix codehash lookup in eth_getProof (#28357)

    This change fixes #28355, where eth_getProof failed to return the correct codehash under certain conditions. This PR changes the logic to unconditionally look up the codehash, and also adds some more tests.
    holiman authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    8b99ad4 View commit details
    Browse the repository at this point in the history
  3. cmd: fix typos (#28323)

    xiaolou86 authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    00c6383 View commit details
    Browse the repository at this point in the history
  4. eth/fetcher: fix fetcher timeout (#28220)

    This changes fixes a bug in the fetcher, where the timeout for how long to remember underpriced transaction was erroneously compared, and the timeout never hit.
    ---------
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    MariusVanDerWijden and holiman authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    667966c View commit details
    Browse the repository at this point in the history
  5. params: release Geth v1.13.4

    karalabe committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    3f907d6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    aeb0abf View commit details
    Browse the repository at this point in the history
  7. core, trie, eth: refactor stacktrie constructor (#28350)

    This change enhances the stacktrie constructor by introducing an option struct. It also simplifies the `Hash` and `Commit` operations, getting rid of the special handling round root node.
    rjl493456442 authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    1b1611b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1f11d2d View commit details
    Browse the repository at this point in the history
  9. internal/ethapi, accounts/abi/bind: use errors.Is for error compari…

    …son (#28348)
    
    
    Co-authored-by: lightclient <lightclient@protonmail.com>
    bnovil and lightclient authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    f62502e View commit details
    Browse the repository at this point in the history
  10. api/bind: add CallOpts.BlockHash to allow calling contracts at a spec…

    …ific block hash (#28084)
    
    * api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash.
    
    * ethclient: Add BalanceAtHash, NonceAtHash and StorageAtHash functions
    ajsutton authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    b85c860 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    20d5256 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d782dc2 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    da55b23 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. tests/fuzzers: update fuzzers to be based on go-native fuzzing (#28352)

    This change modifies the fuzzers to use the native golang fuzzing framework instead of go-fuzz
    MariusVanDerWijden authored Oct 18, 2023
    Configuration menu
    Copy the full SHA
    d10a2f6 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2023

  1. Configuration menu
    Copy the full SHA
    ec1a050 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4d3c0d4 View commit details
    Browse the repository at this point in the history
  3. crypto/blake2b: put architecture-dependent features behind build-tag …

    …(#28381)
    
    This change to fixes a compilation-flaw on master, by putting architecture-specific functions behind corresponding build tags.
    MariusVanDerWijden authored Oct 19, 2023
    Configuration menu
    Copy the full SHA
    cd29535 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2023

  1. core/state, tests: fix memory leak via fastcache (#28387)

    This change fixes a memory leak, when running either state-tests or blockchain-tests, we allocate a `1MB` fastcache during snapshot generation. `fastcache` is a bit special, and requires a `Reset()` (it has it's own memory allocator). 
    
    The `1MB` was hidden [here](https://github.com/ethereum/go-ethereum/blob/master/tests/state_test_util.go#L333) and [here](https://github.com/ethereum/go-ethereum/blob/master/tests/block_test_util.go#L146) respectively.
    holiman authored Oct 20, 2023
    Configuration menu
    Copy the full SHA
    c1d5a01 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2023

  1. crypto/kzg4844: use the new trusted setup file and format (#28383)

    Changes the trusted_setup to the one created during the kzg-ceremony. The trusted setup file can be found in the consensus specs: https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/trusted_setups/trusted_setup_4096.json
    ---------
    
    Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
    kevaundray and MariusVanDerWijden authored Oct 22, 2023
    Configuration menu
    Copy the full SHA
    a6a0ae4 View commit details
    Browse the repository at this point in the history
  2. event: fix Resubscribe deadlock when unsubscribing after inner sub en…

    …ds (#28359)
    
    A goroutine is used to manage the lifetime of subscriptions managed by
    resubscriptions. When the subscription ends with no error, the resub
    goroutine ends as well. However, the resub goroutine needs to live
    long enough to read from the unsub channel. Otheriwse, an Unsubscribe
    call deadlocks when writing to the unsub channel.
    
    This is fixed by adding a buffer to the unsub channel.
    Inphi authored Oct 22, 2023
    Configuration menu
    Copy the full SHA
    ffc6a0f View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. Configuration menu
    Copy the full SHA
    6c69821 View commit details
    Browse the repository at this point in the history
  2. ethstats: fix bug in block reporting (#28398)

    Fixes a bug where the ethstats omits to report full block contents. This bug was a side-effect of ethereum/go-ethereum#26777,  where `CurrentBlock` was changed to return a header instead of a block, leading to a failed type assertion.
    kaliubuntu0206 authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    54f35c6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    062598b View commit details
    Browse the repository at this point in the history
  4. trie/triedb/pathdb, core/rawdb: enhance error message in freezer (#28…

    …198)
    
    This PR adds more error message for debugging purpose.
    rjl493456442 authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    3853f50 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    43e6a3c View commit details
    Browse the repository at this point in the history
  6. core, eth, trie: filter out boundary nodes and remove dangling nodes …

    …in stacktrie (#28327)
    
    * core, eth, trie: filter out boundary nodes in stacktrie
    
    * eth/protocol/snap: add comments
    
    * Update trie/stacktrie.go
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    
    * eth, trie: remove onBoundary callback
    
    * eth/protocols/snap: keep complete boundary nodes
    
    * eth/protocols/snap: skip healing if the storage trie is already complete
    
    * eth, trie: add more metrics
    
    * eth, trie: address comment
    
    ---------
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    rjl493456442 and holiman authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    ab04aeb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a8617c6 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2023

  1. cmd/evm: make t8ntool handle transaction decoding errors better (#28397)

    This change closes ethereum/go-ethereum#27730 . By using an iterator instead of a slice of transactions, we can better handle the case when an individual transaction (within an otherwise well-formed RLP-list) cannot be decoded.
    holiman authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    300df87 View commit details
    Browse the repository at this point in the history
  2. trie: use explicit errors in stacktrie (instead of panic) (#28361)

    This PR removes panics from stacktrie (mostly), and makes the Update return errors instead. While adding tests for this, I also found that one case of possible corruption was not caught, which is now fixed.
    holiman authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    96b7503 View commit details
    Browse the repository at this point in the history
  3. graphql: logs return error if from block > to (#28412)

    As per discussion in ethereum/execution-apis#475
    
    Signed-off-by: jsvisa <delweng@gmail.com>
    jsvisa authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    f7b62e5 View commit details
    Browse the repository at this point in the history
  4. rpc: use correct stringer-method for serializing BlockNumberOrHash (#…

    …28358)
    
    The String() version of BlockNumberOrHash uses decimal for all block numbers, including negative ones used to indicate labels. Switch to using BlockNumber.String() which encodes it correctly for use in the JSON-RPC API.
    ajsutton authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    d8c6ae0 View commit details
    Browse the repository at this point in the history
  5. cmd/geth: test for logging-output (#28373)

    This PR is a bit in preparation for the slog work in #28187 .
    
    Our current test re logging mostly test the internals, but we have no real end-to-end test of the logging output. This PR introduces a simple reexec-based log tester. This also relies upon a special mode in geth, which can be made to eject a set of predefined log messages (only available if the build-tag `integrationtests` is used
    
    e.g. go run --tags=integrationtests ./cmd/geth --log.format terminal logtest
    
    While working on this, I also noticed a quirk in the setup: when geth was configured to use a file output, then two separate handlers were used (one handler for the file, one handler for the console). Using two separate handlers means that two formatters are used, thus the formatting of any/all records happened twice. This PR changes the mechanism to use two separate io.Writers instead, which is both more optimal and fixes a bug which occurs due to a global statefulness in the formatter.
    holiman authored Oct 25, 2023
    Configuration menu
    Copy the full SHA
    58ae1df View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2023

  1. graphql: fix an issue of nil pointer panic (#28416)

    Signed-off-by: jsvisa <delweng@gmail.com>
    jsvisa authored Oct 26, 2023
    Configuration menu
    Copy the full SHA
    abe3fca View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2023

  1. core, cmd/geth: add --override.* flags to geth init (#28407)

    * core, cmd/geth: add --override.* flags to geth init
    
    * also apply overrides before genesis commit with new block
    
    * review feedback
    gballet authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    4cbca51 View commit details
    Browse the repository at this point in the history
  2. graphql: always set content-type to application/json (#28417)

    ---------
    
    Signed-off-by: jsvisa <delweng@gmail.com>
    jsvisa authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    2d7dba0 View commit details
    Browse the repository at this point in the history
  3. all: make vendored copy of reexec (#28382)

    a little copying is better than a little dependency
    
    -- go proverb
    
    We have this dependency on docker, a.k.a moby: a gigantic library, and we only need ~70 LOC,
    so here I tried moving it inline instead.
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    holiman and fjl authored Oct 27, 2023
    Configuration menu
    Copy the full SHA
    233db64 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. trie/triedb/pathdb: improve dirty node flushing trigger (#28426)

    * trie/triedb/pathdb: improve dirty node flushing trigger
    
    * trie/triedb/pathdb: add tests
    
    * trie/triedb/pathdb: address comment
    rjl493456442 authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    ea2e66a View commit details
    Browse the repository at this point in the history
  2. core/rawdb: add logging and fix comments around AncientRange function…

    …. (#28379)
    
    This adds warning logs when the read does not match the expected count.
    We can also remove the size limit since the function documentation explicitly states
    that callers should limit the count.
    jakub-freebit authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    447945e View commit details
    Browse the repository at this point in the history
  3. core: add basic chain history support in GenerateChain (#28428)

    This change improves GenerateChain to support internal chain history access (ChainReader)
    for the consensus engine and EVM.
    
    GenerateChain takes a `parent` block and the number of blocks to create. With my changes,
    the consensus engine and EVM can now access blocks from `parent` up to the block currently
    being generated. This is required to make the BLOCKHASH instruction work, and also needed
    to create real clique chains.  Clique uses chain history to figure out if the current signer is in-turn,
    for example.
    
    I've also added some more accessors to BlockGen. These are helpful when creating transactions:
    
    - g.Signer returns a signer instance for the current block
    - g.Difficulty returns the current block difficulty
    - g.Gas returns the remaining gas amount
    
    Another fix in this commit concerns the receipts returned by GenerateChain. The receipts now
    have properly derived fields (BlockHash, etc.) and should generally match what would be
    returned by the RPC API.
    fjl authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    bc42e88 View commit details
    Browse the repository at this point in the history
  4. cmd/evm: add --run option to blocktest command (#28421)

    Co-authored-by: lightclient <lightclient@protonmail.com>
    marioevz and lightclient authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    285202a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f4ac548 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. core/vm: performance tweak of OpCode.String() (#28453)

    make `opCodeToString` a `[256]string` array
    
    Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
    lmittmann and lmittmann authored Nov 2, 2023
    Configuration menu
    Copy the full SHA
    a3be381 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. eth/tracers: add position field for callTracer logs (#28389)

    Currently, one can use the "withLogs" parameter to include logs in the
    callTracer results, which allows the user to see at which trace level
    was each log emitted.
    This commit adds a position field to the logs which determine
    the exact ordering of a call's logs and its subcalls. This would
    be useful e.g. for explorers wishing to display the flow of execution.
    
    Co-authored-by: jsvisa <delweng@gmail.com>
    alvarosevilla95 and jsvisa authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    b1cec85 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e91cdb4 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. .travis: enable cross building to macos arm64 (#28474)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    karalabe and fjl authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    51b5ad3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    97ae324 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f20b334 View commit details
    Browse the repository at this point in the history
  4. eth: set networkID to chainID by default (#28250)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    MariusVanDerWijden and fjl authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    4d9f3cd View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. core/vm: set basefee to 0 internally on eth_call (#28470)

    * core/vm: set basefee to 0 internally on eth_call
    
    * core: nicer 0-basefee, make it work for blob fees too
    
    * internal/ethapi: make tests a bit more complex
    
    * core: fix blob fee checker
    
    * core: make code a bit more readable
    
    * core: fix some test error strings
    
    * core/vm: Get rid of weird comment
    
    * core: dict wrong typo
    karalabe authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    470dba8 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2023

  1. graphql: type of yParity from Long to BigInt (#28456)

    Signed-off-by: jsvisa <delweng@gmail.com>
    jsvisa authored Nov 9, 2023
    Configuration menu
    Copy the full SHA
    7ea860d View commit details
    Browse the repository at this point in the history
  2. cmd/geth: more testcases for logging (#28501)

    * cmd/geth: more testcases for logging
    
    This adds more edgecases around logging, particularly around handling of different types of nil-values
    as concrete types and within interfaces.
    
    Also adds tests with 'reserved' values which breaks json/logfmt formats. The json output is checked in,
    but not actively used by any testcase at the moment.
    
    * cmd/geth/testdata: remove timestamps
    holiman authored Nov 9, 2023
    Configuration menu
    Copy the full SHA
    b77a9b1 View commit details
    Browse the repository at this point in the history
  3. ethdb/pebble: add Errorf function to panicLogger (#28491)

    cockroachdb/pebble@422dce9 added Errorf to the Logger interface, this change makes it possible to compile geth with that version of pebble by adding the corresponding method to panicLogger.
    mcdee authored Nov 9, 2023
    Configuration menu
    Copy the full SHA
    f7dde2a View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2023

  1. eth/filters: exit early if topics-filter has more than 4 topics (#28494)

    Currently, geth's will return `[]` for any `len(topics) > 4` log filter. The EVM only supports up to four logs, via LOG4 opcode, so larger criterias fail. This change makes the filter query exit early in those cases.
    jsvisa authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    e38b9f1 View commit details
    Browse the repository at this point in the history
  2. core/rawdb: fsync the index file after each freezer write (#28483)

    * core/rawdb: fsync the index and data file after each freezer write
    
    * core/rawdb: fsync the data file in freezer after write
    rjl493456442 authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    326fa00 View commit details
    Browse the repository at this point in the history
  3. cmd/evm: allow state dump regardless if test passes in statetest (#28…

    …484)
    
    This change makes it so that when executing state tess, state is always dumped out if the corresponding flag is set.
    sorpaas authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    2f4833b View commit details
    Browse the repository at this point in the history
  4. ethclient: add empty/nonexist account testcase for eth_getProof RPC (…

    …#28482)
    
    Adds testcases for eth_getProof endpoint for the following cases: 
    
    - the account/contract does not exist
    - the account/contract exists but is empty.
    jsvisa authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    ce5a480 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    49b2c5f View commit details
    Browse the repository at this point in the history
  6. cmd/geth: remove some whitespace in code and comments (#28148)

    This changes just removes some whitespace
    jsvisa authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    f265cc2 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2023

  1. params: release Geth v1.15.5

    karalabe committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    916d6a4 View commit details
    Browse the repository at this point in the history
  2. cmd, core, trie: verkle-capable geth init (#28270)

    This change allows the creation of a genesis block for verkle testnets. This makes for a chunk of code that is easier to review and still touches many discussion points.
    gballet authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    fa8d398 View commit details
    Browse the repository at this point in the history
  3. eth/tracers/js: fix isPush for push0 (#28520)

    Fixes so that `push0` opcode is correctly reported as `true` by the `IsPush` function
    
    ---------
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    s1na and holiman authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    e803ef0 View commit details
    Browse the repository at this point in the history
  4. trie: spelling - fix comments in hasher (#28507)

    Co-authored-by: VM <arimas@foxmail.com>
    sysvm and VM authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    24d4622 View commit details
    Browse the repository at this point in the history
  5. tests/fuzzers: move fuzzers into native packages (#28467)

    This PR moves our fuzzers from tests/fuzzers into whatever their respective 'native' package is.
    
    The historical reason why they were placed in an external location, is that when they were based on go-fuzz, they could not be "hidden" via the _test.go prefix. So in order to shove them away from the go-ethereum "production code", they were put aside.
    
    But now we've rewritten them to be based on golang testing, and thus can be brought back. I've left (in tests/) the ones that are not production (bls128381), require non-standard imports (secp requires btcec, bn256 requires gnark/google/cloudflare deps).
    
    This PR also adds a fuzzer for precompiled contracts, because why not.
    
    This PR utilizes a newly rewritten replacement for go-118-fuzz-build, namely gofuzz-shim, which utilises the inputs from the fuzzing engine better.
    holiman authored Nov 14, 2023
    1 Configuration menu
    Copy the full SHA
    2391fbc View commit details
    Browse the repository at this point in the history
  6. tests: skip tests on windows 32bit CI (#28521)

    tests: skip half the blockchain- and state-tests on windows 32bit CI-tests
    holiman authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    c5b7cfa View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. cmd/geth: more special cases logging tests (#28527)

    adds logging tests for errors and custom fmt.Stringer-types which output strings that needs to be quoted/escaped.
    jwasinger authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    984f826 View commit details
    Browse the repository at this point in the history
  2. accounts,cmd,console,les,metrics: refactor some errors checked by (ST…

    …1005) go-staticcheck (#28532)
    
    fix: fix some (ST1005)go-staticcheck
    BabyHalimao authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    2814ee0 View commit details
    Browse the repository at this point in the history
  3. miner: run tests in parallel (#28506)

    Changes many of the tests in the miner package to run in parallel
    estensen authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    b9504e4 View commit details
    Browse the repository at this point in the history
  4. internal/jsre/deps: fix typo in jsdoc (#28511)

    minor typo fix
    aliening authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    fcc7ae1 View commit details
    Browse the repository at this point in the history
  5. accounts/abi: improve readability of method-to-string conversion (#28…

    …530)
    
    refactor: improve readability of NewMethod print
    Halimao authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    db7895d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a75a2d6 View commit details
    Browse the repository at this point in the history
  7. ethdb/memorydb, trie: reduced allocations (#28473)

    * trie: use pooling of iterator states in iterator
    
    The node iterator burns through a lot of memory while iterating a trie, and a lot of
    that can be avoided by using a fairly small pool (max 40 items).
    
    name        old time/op    new time/op    delta
    Iterator-8    6.22ms ± 3%    5.40ms ± 6%  -13.18%  (p=0.008 n=5+5)
    
    name        old alloc/op   new alloc/op   delta
    Iterator-8    2.36MB ± 0%    1.67MB ± 0%  -29.23%  (p=0.008 n=5+5)
    
    name        old allocs/op  new allocs/op  delta
    Iterator-8     37.0k ± 0%     29.8k ± 0%     ~     (p=0.079 n=4+5)
    
    * ethdb/memorydb: avoid one copying of key
    
    By making the transformation from []byte to string at an earlier point,
    we save an allocation which otherwise happens later on.
    
    name           old time/op    new time/op    delta
    BatchAllocs-8     412µs ± 6%     382µs ± 2%   -7.18%  (p=0.016 n=5+4)
    
    name           old alloc/op   new alloc/op   delta
    BatchAllocs-8     480kB ± 0%     490kB ± 0%   +1.93%  (p=0.008 n=5+5)
    
    name           old allocs/op  new allocs/op  delta
    BatchAllocs-8     3.03k ± 0%     2.03k ± 0%  -32.98%  (p=0.008 n=5+5)
    holiman authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    5bf8769 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. Configuration menu
    Copy the full SHA
    8b78d6a View commit details
    Browse the repository at this point in the history
  2. cmd/evm: validate blockchain tests poststate account storage (#28443)

    This PR verifies the accounts' storage as specified in a blockchain test's postState field
    
    The expect-section, it does really only check that the test works. It's meant for the test-author to verify that "If the test does what it's supposed to, then the nonce of X should be 2, and the slot Y at Z should be 0x123.
    
        This expect-section is not exhaustive (not full post-state)
        It is also not auto-generated, but put there manually by the author.
    
    We can still check it, as a test-sanity-check, in geth
    danceratopz authored Nov 17, 2023
    Configuration menu
    Copy the full SHA
    c8a2202 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. signer: run tests in parallel (#28536)

    marks tests as parallel-safe in package signer
    estensen authored Nov 20, 2023
    Configuration menu
    Copy the full SHA
    77cb21d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a737482 View commit details
    Browse the repository at this point in the history
  3. core/txpool/legacypool: respect nolocals-setting (#28435)

    This change adds a check to ensure that transactions added to the legacy pool are not treated as 'locals' if the global locals-management has been disabled. 
    
    This change makes the pool enforce the --txpool.pricelimit setting.
    jp-imx authored Nov 20, 2023
    Configuration menu
    Copy the full SHA
    14a1e96 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    460cc16 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Configuration menu
    Copy the full SHA
    661bd45 View commit details
    Browse the repository at this point in the history
  2. cmd/evm: capitalize evm commands (#28569)

    * standard:fix for a unified standard
    
    * standard:fix more as a complements
    
    ---------
    
    Co-authored-by: haotian <haotian@haotiandeMacBook-Air.local>
    tmelhao and haotian authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    ad16f11 View commit details
    Browse the repository at this point in the history
  3. accounts/abi: context info on unpack-errors (#28529)

    adds contextual information to errors returned by unpack
    levisyin authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    525db7b View commit details
    Browse the repository at this point in the history
  4. core, trie, rpc: speed up tests (#28461)

    * rpc: make subscription test faster
    
    reduces time for TestClientSubscriptionChannelClose
    from 25 sec to < 1 sec.
    
    * trie: cache trie nodes for faster sanity check
    
    This reduces the time spent on TestIncompleteSyncHash
    from ~25s to ~16s.
    
    * core/forkid: speed up validation test
    
    This takes the validation test from > 5s to sub 1 sec
    
    * core/state: improve snapshot test run
    brings the time for TestSnapshotRandom from 13s down to 6s
    
    * accounts/keystore: improve keyfile test
    
    This removes some unnecessary waits and reduces the
    runtime of TestUpdatedKeyfileContents from 5 to 3 seconds
    
    * trie: remove resolver
    * trie: only check ~5% of all trie nodes
    MariusVanDerWijden authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    146e8d9 View commit details
    Browse the repository at this point in the history
  5. ethdb/pebble: don't double-close iterator inside pebbleIterator (#28566)

    Adds 'released' flag to pebbleIterator to avoid double closing cockroachdb/pebble.Iterator as it is an invalid operation.
    
    Fixes #28565
    magicxyyz authored Nov 21, 2023
    Configuration menu
    Copy the full SHA
    6489a0d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e9f59b5 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. core/types: make 'v' optional for DynamicFeeTx and BlobTx (#28564)

    This fixes an issue where transactions would not be accepted when they have only
    'yParity' and not 'v'.
    marioevz authored Nov 22, 2023
    Configuration menu
    Copy the full SHA
    347fecd View commit details
    Browse the repository at this point in the history
  2. rpc: improve performance of subscription notification encoding (#28328)

    It turns out that encoding json.RawMessage is slow because
    package json basically parses the message again to ensure it is valid.
    We can avoid the slowdown by encoding the entire RPC notification once,
    which yields a 30% speedup.
    jsvisa authored Nov 22, 2023
    Configuration menu
    Copy the full SHA
    d6cea48 View commit details
    Browse the repository at this point in the history
  3. cmd/utils: validate pre-existing genesis in --dev mode (#28468)

    geth --dev can be used with an existing data directory and genesis block. Since
    dev mode only works with PoS, we need to verify that the merge has happened.
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    jwasinger and fjl authored Nov 22, 2023
    Configuration menu
    Copy the full SHA
    104dbf7 View commit details
    Browse the repository at this point in the history
  4. cmd/geth: add support for --dev flag in dumpgenesis (#28463)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    Co-authored-by: lightclient <lightclient@protonmail.com>
    3 people authored Nov 22, 2023
    Configuration menu
    Copy the full SHA
    3cfcd25 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5ff929c View commit details
    Browse the repository at this point in the history
  6. cmd/{geth,utils}: add cmd to export preimages in snap enumeration ord…

    …er (#28256)
    
    Adds a subcommand: `geth snapshot export-preimages`, to export preimages of every hash found during a snapshot enumeration: that is, it exports _only the active state_, and not _all_ preimages that have been used but are no longer part of the state. 
    
    This tool is needed for the verkle transition, in order to distribute the preimages needed for the conversion. Since only the 'active' preimages are exported, the output is shrunk from ~70GB to ~4GB.
    
    The order of the output is the order used by the snapshot enumeration, which avoids database thrashing. However, it also means that storage-slot preimages are not deduplicated.
    gballet authored Nov 22, 2023
    Configuration menu
    Copy the full SHA
    d468c33 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    63127f5 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2023

  1. cmd/devp2p/internal/ethtest: undo debug-hack (#28588)

    cmd/devp2p/internal/ethtest: remove a debug-hack flaw which prevented certain tests from running
    holiman authored Nov 23, 2023
    Configuration menu
    Copy the full SHA
    eec37e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d76efbb View commit details
    Browse the repository at this point in the history
  3. cmd, les, tests: remove light client code (#28586)

    * cmd, les, tests: remove light client code
    
    This commit removes the light client (LES) code.
    Since the merge the light client has been broken and
    it is hard to maintain it alongside the normal client.
    We decided it would be best to remove it for now and
    maybe rework and reintroduce it in the future.
    
    * cmd, eth: remove some more mentions of light mode
    
    * cmd: re-add flags and mark as deprecated
    
    * cmd: warn the user about deprecated flags
    
    * eth: better error message
    MariusVanDerWijden authored Nov 23, 2023
    Configuration menu
    Copy the full SHA
    bdf5e38 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2023

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

Commits on Nov 25, 2023

  1. trie: fix random test generator early terminate (#28590)

    This change fixes a minor bug in the `randTest.Generate` function, which caused the `quick.Check` to be a no-op.
    weiihann authored Nov 25, 2023
    Configuration menu
    Copy the full SHA
    333dd95 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2023

  1. Configuration menu
    Copy the full SHA
    1e28e0b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b57727 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2023

  1. eth/catalyst, eth/downloader: expose more sync information (#28584)

    This change exposes more information from sync module internally
    rjl493456442 authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    71817f3 View commit details
    Browse the repository at this point in the history
  2. light: remove package light(#28614)

    This changes removes the package 'light', which is currently unused.
    lightclient authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    58297e3 View commit details
    Browse the repository at this point in the history
  3. cmd/evm, core/state: fix post-exec dump of state (statetests, blockch…

    …aintests) (#28504)
    
    There were several problems related to dumping state. 
    
    - If a preimage was missing, even if we had set the `OnlyWithAddresses` to `false`, to export them anyway, the way the mapping was constructed (using `common.Address` as key) made the entries get lost anyway. Concerns both state- and blockchain tests. 
    - Blockchain test execution was not configured to store preimages.
    
    This changes makes it so that the block test executor takes a callback, just like the state test executor already does. This callback can be used to examine the post-execution state, e.g. to aid debugging of test failures.
    holiman authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    63979bc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    248dc50 View commit details
    Browse the repository at this point in the history
  5. eth/tracers/js: fix type inconsistencies (#28488)

    This change fixes two type-inconsistencies in the JS tracer:
    
    - In most places we return byte arrays as a `Uint8Array` to the tracer. However it seems we missed doing the conversion for `ctx` fields which are passed to the tracer during `result`. They are passed as simple arrays. I think Uint8Arrays are more suitable and we should change this inconsistency. Note: this will be a breaking-change. But I believe the effect is small. If we look at our tracers we see that these fields (`ctx.from`, `ctx.to`, etc.) are used in 2 ways. Passed to `toHex` which takes both array or buffer. Or the length was measured which is the same for both types.
    - The `slice` taking in `int, int` params versus `memory.slice` taking `int64, int64` params. I suggest changing `slice` types to `int64`. This should have no effect almost in any case.
    s1na authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    bbc5db8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    34dcd74 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e0c7ad0 View commit details
    Browse the repository at this point in the history
  8. eth/gasestimator: allow slight estimation error in favor of less iter…

    …ations (#28618)
    
    * eth/gasestimator: early exit for plain transfer and error allowance
    
    * core, eth/gasestimator: hard guess at a possible required gas
    
    * internal/ethapi: update estimation tests with the error ratio
    
    * eth/gasestimator: I hate you linter
    
    * graphql: fix gas estimation test
    
    ---------
    
    Co-authored-by: Oren <orenyomtov@users.noreply.github.com>
    karalabe and orenyomtov authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    61b844f View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. all: replace log15 with slog (#28187)

    This PR replaces Geth's logger package (a fork of [log15](https://github.com/inconshreveable/log15)) with an implementation using slog, a logging library included as part of the Go standard library as of Go1.21.
    
    Main changes are as follows:
    * removes any log handlers that were unused in the Geth codebase.
    * Json, logfmt, and terminal formatters are now slog handlers.
    * Verbosity level constants are changed to match slog constant values.  Internal translation is done to make this opaque to the user and backwards compatible with existing `--verbosity` and `--vmodule` options.
    * `--log.backtraceat` and `--log.debug` are removed.
    
    The external-facing API is largely the same as the existing Geth logger.  Logger method signatures remain unchanged.
    
    A small semantic difference is that a `Handler` can only be set once per `Logger` and not changed dynamically.  This just means that a new logger must be instantiated every time the handler of the root logger is changed.
    
    ----
    For users of the `go-ethereum/log` module. If you were using this module for your own project, you will need to change the initialization. If you previously did 
    ```golang
    log.Root().SetHandler(log.LvlFilterHandler(log.LvlInfo, log.StreamHandler(os.Stderr, log.TerminalFormat(true))))
    ```
    You now instead need to do 
    ```golang
    log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelInfo, true)))
    ```
    See more about reasoning here: ethereum/go-ethereum#28558 (comment)
    jwasinger authored Nov 29, 2023
    Configuration menu
    Copy the full SHA
    28e7371 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ab0eb46 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2023

  1. trie/triedb/hashdb: take lock around access to dirties cache (#28542)

    Add read locking of db lock around access to dirties cache in hashdb.Database to prevent
    data race versus hashdb.Database.dereference which can modify the dirities map by deleting
    an item.
    
    Fixes #28541
    
    ---------
    
    Co-authored-by: Gary Rong <garyrong0905@gmail.com>
    magicxyyz and rjl493456442 authored Nov 30, 2023
    Configuration menu
    Copy the full SHA
    fa0df76 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2023

  1. Configuration menu
    Copy the full SHA
    f2b509d View commit details
    Browse the repository at this point in the history
  2. slog: faster and less memory-consumption (#28621)

    These changes improves the performance of the non-coloured terminal formatting, _quite a lot_. 
    
    ```
    name               old time/op    new time/op    delta
    TerminalHandler-8    10.2µs ±15%     5.4µs ± 9%  -47.02%  (p=0.008 n=5+5)
    
    name               old alloc/op   new alloc/op   delta
    TerminalHandler-8    2.17kB ± 0%    0.40kB ± 0%  -81.46%  (p=0.008 n=5+5)
    
    name               old allocs/op  new allocs/op  delta
    TerminalHandler-8      33.0 ± 0%       5.0 ± 0%  -84.85%  (p=0.008 n=5+5)
    ```
    
    I tried to _somewhat_ organize the commits, but the it might still be a bit chaotic. Some core insights: 
    
    - The function `terminalHandler.Handl` uses a mutex, and writes all output immediately to 'upstream'. Thus, it can reuse a scratch-buffer every time. 
    - This buffer can be propagated internally, making all the internal formatters either write directly to it,
    - OR, make  use of the `tmp := buf.AvailableBuffer()` in some cases, where a byte buffer "extra capacity" can be temporarily used. 
    - The `slog` package  uses `Attr` by value. It makes sense to minimize operating on them, since iterating / collecting into a new slice, iterating again etc causes copy-on-heap. Better to operate on them only once. 
    - If we want to do padding, it's better to copy from a constant `space`-buffer than to invoke `bytes.Repeat` every single time.
    holiman authored Dec 1, 2023
    Configuration menu
    Copy the full SHA
    dd0d0a2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5fb8ebc View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. Configuration menu
    Copy the full SHA
    6e488c2 View commit details
    Browse the repository at this point in the history
  2. accounts/abi/bind: fixed typos (#28634)

    * Update auth.go
    
    * Update backend.go
    
    * Update bind.go
    
    * Update bind_test.go
    BorkBorked authored Dec 4, 2023
    Configuration menu
    Copy the full SHA
    f04e5bd View commit details
    Browse the repository at this point in the history
  3. eth/fetcher: fix invalid tracking of received at time for block (#28637)

    eth/fetcher: fix invalid tracking of received at time
    manav2401 authored Dec 4, 2023
    Configuration menu
    Copy the full SHA
    70fd0b6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2e13b01 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2023

  1. eth/tracers/logger: make structlog/json-log stack hex again (#28628)

    * common/hexutil: define hex wrappers for uint256.Int
    
    * eth/tracers/logger: make structlog/json-log stack hex again
    
    * common/hexutil: goimports
    holiman authored Dec 5, 2023
    Configuration menu
    Copy the full SHA
    3dc071e View commit details
    Browse the repository at this point in the history
  2. log: remove lazy, remove unused interfaces, unexport methods (#28622)

    This change 
    
    - Removes interface `log.Format`, 
    - Removes method `log.FormatFunc`, 
    - unexports `TerminalHandler.TerminalFormat` formatting methods (renamed to `TerminalHandler.format`)
    - removes the notion of `log.Lazy` values
    
    
    The lazy handler was useful in the old log package, since it
    could defer the evaluation of costly attributes until later in the
    log pipeline: thus, if the logging was done at 'Trace', we could
    skip evaluation if logging only was set to 'Info'.
    
    With the move to slog, this way of deferring evaluation is no longer
    needed, since slog introduced 'Enabled': the caller can thus do
    the evaluate-or-not decision at the callsite, which is much more
    straight-forward than dealing with lazy reflect-based evaluation.
    
    Also, lazy evaluation would not work with 'native' slog, as in, these
    two statements would be evaluated differently:
    
    ```golang
      log.Info("foo", "my lazy", lazyObj)
      slog.Info("foo", "my lazy", lazyObj)
    ```
    holiman authored Dec 5, 2023
    Configuration menu
    Copy the full SHA
    b8d44ed View commit details
    Browse the repository at this point in the history
  3. .github: use github actions to run 32-bit linux tests (#28549)

    use github actions to run 32-bit linux tests
    gballet authored Dec 5, 2023
    Configuration menu
    Copy the full SHA
    69576df View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. ethdb/pebble: remove a dependency (#28627)

    The dependency was not really used anyway, so we can get rid of it.
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    MariusVanDerWijden and fjl authored Dec 6, 2023
    Configuration menu
    Copy the full SHA
    55b483d View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. tests/fuzzers/bls12381: deactivate BLS fuzzer when CGO_ENABLED=0 (#28…

    …653)
    
    tests/fuzzers/bls12381: deactivate fuzzer when CGO_ENABLED=0
    gballet authored Dec 7, 2023
    Configuration menu
    Copy the full SHA
    a113497 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    77c4bbc View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. rpc: fix ns/µs mismatch in metrics (#28649)

    The rpc/duration/all meter was in nanoseconds, the individual meter in microseconds.
    This PR changes it so both of them use nanoseconds.
    holiman authored Dec 8, 2023
    Configuration menu
    Copy the full SHA
    5a45e7a View commit details
    Browse the repository at this point in the history
  2. cmd/evm: fix dump after state-test exec (#28650)

    The dump after state-test didn't work, the problem was an error, "Already committed", which was silently ignored. 
    
    This change re-initialises the state, so the dumping works again.
    holiman authored Dec 8, 2023
    Configuration menu
    Copy the full SHA
    1048e2d View commit details
    Browse the repository at this point in the history
  3. beacon/light: add CommitteeChain (#27766)

    This change implements CommitteeChain which is a key component of the beacon light client. It is a passive data structure that can validate, hold and update a chain of beacon light sync committees and updates, starting from a checkpoint that proves the starting committee through a beacon block hash, header and corresponding state. Once synced to the current sync period, CommitteeChain can also validate signed beacon headers.
    zsfelfoldi authored Dec 8, 2023
    Configuration menu
    Copy the full SHA
    fff843c View commit details
    Browse the repository at this point in the history
  4. cmd/utils, eth: disallow invalid snap sync / snapshot flag combos (#2…

    …8657)
    
    * eth: prevent startup in snap mode without snapshots
    
    * cmd/utils: try to fix bad flag combos wrt snap sync and snapshot generation
    karalabe authored Dec 8, 2023
    Configuration menu
    Copy the full SHA
    d98d70f View commit details
    Browse the repository at this point in the history
  5. trie: remove inconsistent trie nodes during sync in path mode (#28595)

    This fixes a database corruption issue that could occur during state healing.
    When sync is aborted while certain modifications were already committed, and a
    reorg occurs, the database would contain incorrect trie nodes stored by path.
    These nodes need to detected/deleted in order to obtain a complete and fully correct state
    after state healing.
    
    ---------
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    rjl493456442 and fjl authored Dec 8, 2023
    Configuration menu
    Copy the full SHA
    e206d3f View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. cmd/utils: fix HTTPHost, WSHost flag priority (#28669)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    weiihann and fjl authored Dec 12, 2023
    Configuration menu
    Copy the full SHA
    a3ca1b2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    17c2b3c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    81fd1b3 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2023

  1. Configuration menu
    Copy the full SHA
    b2ced97 View commit details
    Browse the repository at this point in the history
  2. all: fix typos in comments (#28662)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    nnsW3 and fjl authored Dec 13, 2023
    Configuration menu
    Copy the full SHA
    0f74aad View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. miner: eliminate the dead loop possibility for newWorkLoop and `mai…

    …nLoop` (#28677)
    
    discard the intervalAdjust message if the channel is full
    FletcherMan authored Dec 15, 2023
    Configuration menu
    Copy the full SHA
    f1794ba View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. all: fix typos in comments (#28682)

    chore(core,eth):fix a couple of typos
    bodhi-crypo authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    edc864f View commit details
    Browse the repository at this point in the history
  2. p2p/discover: add liveness check in collectTableNodes (#28686)

    * p2p/discover: add liveness check in collectTableNodes
    
    * p2p/discover: fix test
    
    * p2p/discover: rename to appendLiveNodes
    
    * p2p/discover: add dedup logic back
    
    * p2p/discover: simplify
    
    * p2p/discover: fix issue found by test
    fjl authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    5b22a47 View commit details
    Browse the repository at this point in the history
  3. internal/flags: add missing flag types for auto-env-var generation (#…

    …28692)
    
    Certain flags, such as `--rpc.txfeecap` currently do not have an env-var auto-generated for them. This change adds three missing cli flag types to the auto env-var helper function to fix this.
    sebastianst authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    02766d3 View commit details
    Browse the repository at this point in the history
  4. cmd/evm: default to mirror mainnet forks enabled (#28691)

    cmd/evm:  default to using dev chain config (all mainnet HFs activated at block/timestamp 0
    jwasinger authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    05bbc56 View commit details
    Browse the repository at this point in the history
  5. cmd/evm, cmd/clef, cmd/bootnode: fix / unify logging (#28696)

    This change fixes a problem with our non-core binaries: evm, clef, bootnode.
    
    First of all, they failed to convert from legacy loglevels 1 to 5, to the new slog loglevels -4 to 4.
    
    Secondly, the logging was actually setup in the init phase, and then overridden in the main. This is not needed for evm, since it used the same flag name as the main geth verbosity. Better to let the flags/internal handle the logging init.
    holiman authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    553bafc View commit details
    Browse the repository at this point in the history
  6. cmd/evm: t8n support custom tracers (#28557)

    This change implements ability for the `evm t8n` tool to use custom tracers; either 'native' golang tracers or javascript tracers.
    jsvisa authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    c18c5c3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a18b845 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5ba3d57 View commit details
    Browse the repository at this point in the history
  9. all: release go-ethereum v1.13.6

    fjl authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    da6cdaf View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4410c14 View commit details
    Browse the repository at this point in the history
  11. internal/ethapi: ethSendTransaction check baseFee (#27834)

    If the EIP-1559 is activated, reject 0-priced transactions in the rpc level
    jsvisa authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    54a400e View commit details
    Browse the repository at this point in the history
  12. core/rawdb: implement size reporting for live items in freezer_table …

    …(#28525)
    
    This is the fix to issue #27483. A new hiddenBytes() is introduced to calculate the byte size of hidden items in the freezer table. When reporting the size of the freezer table, size of the hidden items will be subtracted from the total size.
    
    ---------
    
    Co-authored-by: Yifan <Yifan Wang>
    Co-authored-by: Gary Rong <garyrong0905@gmail.com>
    wangyifan and rjl493456442 authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    cd58897 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. Configuration menu
    Copy the full SHA
    952b343 View commit details
    Browse the repository at this point in the history
  2. .travis: set lower GOGC value (#28705)

    As documented on https://golangci-lint.run/usage/performance/ , a lower
    GOGC value causes less peak mem consumption when running the linter.
    
    Exceeding 3Gb is a common cause for build failures, according to
    https://docs.travis-ci.com/user/common-build-problems/#my-build-script-is-killed-without-any-error
    holiman authored Dec 19, 2023
    Configuration menu
    Copy the full SHA
    5a9dda6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    435bed5 View commit details
    Browse the repository at this point in the history
  4. build(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 (#28702)

    Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.15.0 to 0.17.0.
    - [Commits](golang/crypto@v0.15.0...v0.17.0)
    
    ---
    updated-dependencies:
    - dependency-name: golang.org/x/crypto
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Dec 19, 2023
    Configuration menu
    Copy the full SHA
    0cc192b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3fd5688 View commit details
    Browse the repository at this point in the history
  6. all: release go-ethereum v1.13.7

    fjl authored Dec 19, 2023
    Configuration menu
    Copy the full SHA
    c3d9ca6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9258a44 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. Configuration menu
    Copy the full SHA
    7124057 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d3452a2 View commit details
    Browse the repository at this point in the history
  3. build: upgrade to golangci-lint v1.55.2 (#28712)

    This is primarily to make lint work again on macOS 14. The older version of golangci-lint kept crashing. 
    
    Also included is a fix for a goroutine leak in the recently-introduced function MustRunCommandWithOutput.
    fjl authored Dec 20, 2023
    Configuration menu
    Copy the full SHA
    8c2d455 View commit details
    Browse the repository at this point in the history
  4. cmd/devp2p: update eth/snap protocol test suites for PoS (#28340)

    Here we update the eth and snap protocol test suites with a new test chain,
    created by the hivechain tool. The new test chain uses proof-of-stake. As such,
    tests using PoW block propagation in the eth protocol are removed. The test suite
    now connects to the node under test using the engine API in order to make it
    accept transactions. 
    
    The snap protocol test suite has been rewritten to output test descriptions and
    log requests more verbosely.
    
    ---------
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    lightclient and fjl authored Dec 20, 2023
    Configuration menu
    Copy the full SHA
    577be37 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. core, cmd, trie: fix the condition of pathdb initialization (#28718)

    Original problem was caused by #28595, where we made it so that as soon as we start to sync, the root of the disk layer is deleted. That is not wrong per se, but another part of the code uses the "presence of the root" as an init-check for the pathdb. And, since the init-check now failed, the code tried to re-initialize it which failed since a sync was already ongoing.
    
    The total impact being: after a state-sync has begun, if the node for some reason is is shut down, it will refuse to start up again, with the error message: `Fatal: Failed to register the Ethereum service: waiting for sync.`. 
    
    This change also modifies how `geth removedb` works, so that the user is prompted for two things: `state data` and `ancient chain`. The former includes both the chaindb aswell as any state history stored in ancients. 
    
    ---------
    
    Co-authored-by: Martin HS <martin@swende.se>
    rjl493456442 and holiman authored Dec 21, 2023
    Configuration menu
    Copy the full SHA
    cca9479 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2023

  1. core/rawdb: improve state scheme checking (#28724)

    This pull request improves the condition to check if path state scheme is in use. 
    
    Originally, root node presence was used as the indicator if path scheme is used or not. However due to fact that root node will be deleted during the initial snap sync, this condition is no longer useful.
    
    If PersistentStateID is present, it shows that we've already configured for path scheme.
    rjl493456442 authored Dec 22, 2023
    Configuration menu
    Copy the full SHA
    f469470 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    904a278 View commit details
    Browse the repository at this point in the history
  3. all: release go-ethereum v1.13.8

    Release 1.13.8
    holiman authored Dec 22, 2023
    Configuration menu
    Copy the full SHA
    b20b4a7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8d03918 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2023

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

Commits on Dec 28, 2023

  1. Configuration menu
    Copy the full SHA
    b5b7003 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    09e0208 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2023

  1. Configuration menu
    Copy the full SHA
    76a5474 View commit details
    Browse the repository at this point in the history
  2. log: avoid setting default slog logger in init (#28747)

    slog.SetDefault has undesirable side effects. It also sets the default logger destination,
    for example. So we should not call it by default in init.
    fjl authored Dec 30, 2023
    Configuration menu
    Copy the full SHA
    c053eb7 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. Configuration menu
    Copy the full SHA
    33c94ef View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2365d77 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. cmd/evm: Fix blob-gas-used on invalid transactions in t8n (#28734)

    cmd/evm: fixes the blob gas calculation if a transaction is invalid
    marioevz authored Jan 3, 2024
    Configuration menu
    Copy the full SHA
    0b471c3 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. internal/flags: update copyright year to 2024 (#28760)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    sandakersmann and fjl authored Jan 4, 2024
    Configuration menu
    Copy the full SHA
    99eb49e View commit details
    Browse the repository at this point in the history
  2. ethclient: simplify error handling in TransactionReceipt (#28748)

    Co-authored-by: Martin HS <martin@swende.se>
    Co-authored-by: Felix Lange <fjl@twurst.com>
    3 people authored Jan 4, 2024
    Configuration menu
    Copy the full SHA
    e3eeb64 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

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

Commits on Jan 8, 2024

  1. Configuration menu
    Copy the full SHA
    07b17f9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e7fa158 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f29520f View commit details
    Browse the repository at this point in the history
  4. params, core/forkid: schedule cancun fork on goerli (#28719)

    This PR schedules the cancun fork for the goerli testnet as discussed on ACD.
    Spec: ethereum/execution-specs#860
    
    We schedule:
      goerli at 1705473120
    MariusVanDerWijden authored Jan 8, 2024
    Configuration menu
    Copy the full SHA
    cfff3cb View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. cmd/geth: make it possible to autopilot removedb (#28725)

    When managing geth, it is sometimes desirable to do a partial wipe; deleting state but retaining freezer data. A partial wipe can be somewhat tricky to accomplish. 
    
    This change implements the ability to perform partial wipe by making it possible to run geth removedb non-interactive, using command line options instead.
    holiman authored Jan 9, 2024
    Configuration menu
    Copy the full SHA
    1010a79 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d0edc5a View commit details
    Browse the repository at this point in the history
  3. cmd/geth: update log test data (#28780)

    update logger test data
    jwasinger authored Jan 9, 2024
    Configuration menu
    Copy the full SHA
    9e018ce View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. ethclient/simulated: implement new sim backend (#28202)

    This is a rewrite of the 'simulated backend', an implementation of the ethclient interfaces
    which is backed by a simulated blockchain. It was getting annoying to maintain the old
    version of the simulated backend feature because there was a lot of code duplication with
    the main client. 
    
    The new version is built using parts that we already have: an in-memory geth node instance
    running in developer mode provides the chain, while the Go API is provided by ethclient.
    A backwards-compatibility wrapper is provided, but the simulated backend has also moved to
    a more sensible import path: github.com/ethereum/go-ethereum/ethclient/simulated
    
    ---------
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    Co-authored-by: Gary Rong <garyrong0905@gmail.com>
    3 people authored Jan 10, 2024
    Configuration menu
    Copy the full SHA
    2d08c99 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f82531 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dd938d1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    daa2e5d View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. Configuration menu
    Copy the full SHA
    a162091 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bc0be1b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2e8b118 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. docs: fix badge in README (#28796)

    * Fix broken badge in README.md
    
    Replaced broken Github link with IPFS link for long-term storage.
    
    * update go badge
    
    Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
    drstevenbrule and lightclient authored Jan 12, 2024
    Configuration menu
    Copy the full SHA
    5c2de7f View commit details
    Browse the repository at this point in the history
  2. eth: minor change of config-accessor (#28782)

    eth: refactor `GetVM`
    0xmountaintop authored Jan 12, 2024
    Configuration menu
    Copy the full SHA
    6e235c0 View commit details
    Browse the repository at this point in the history
  3. cmd: fix typos (#28798)

    vuittont60 authored Jan 12, 2024
    Configuration menu
    Copy the full SHA
    ae4ea04 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7280a5b View commit details
    Browse the repository at this point in the history
  5. accounts, ethclient: minor tweaks on the new simulated backend (#28799)

    * accounts, ethclient: minor tweaks on the new simulated backend
    
    * ethclient/simulated: add an initial batch of gas options
    
    * accounts, ethclient: remove mandatory gasLimit constructor param
    
    * accounts, ethclient: minor option naming tweaks
    karalabe authored Jan 12, 2024
    Configuration menu
    Copy the full SHA
    065f82a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    43ba7d6 View commit details
    Browse the repository at this point in the history
  7. cmd/devp2p/internal/ethtest: skip large tx test on github build (#28794)

    This test was failling consistently on the github 32-bit build probably due to slow IO. Skipping it for that green check.
    s1na authored Jan 12, 2024
    Configuration menu
    Copy the full SHA
    a608c0a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1335ba5 View commit details
    Browse the repository at this point in the history
  9. internal/ethapi: avoid using pending for defaults (#28784)

    Given the discussions around deprecating pending (see #28623 or ethereum/execution-apis#495), we can move away from using the pending block internally, and use latest instead
    s1na authored Jan 12, 2024
    Configuration menu
    Copy the full SHA
    407f779 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2024

  1. Configuration menu
    Copy the full SHA
    29b7355 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1485814 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2024

  1. tests: update reference tests (#28778)

    Updates the reference tests to the latest version
    holiman authored Jan 15, 2024
    Configuration menu
    Copy the full SHA
    89ccc68 View commit details
    Browse the repository at this point in the history
  2. ethclient: add tests for TransactionInBlock (#28283)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    hyunchel and fjl authored Jan 15, 2024
    Configuration menu
    Copy the full SHA
    7596db5 View commit details
    Browse the repository at this point in the history
  3. eth: fix potential hang in waitSnapExtension (#28744)

    This should fix a rare hang in waitSnapExtension during shutdown.
    niuxiaojie81 authored Jan 15, 2024
    Configuration menu
    Copy the full SHA
    18e154e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9ee6809 View commit details
    Browse the repository at this point in the history
  5. acounts/usbwallet: fix typo (#28815)

    acounts:fix typo
    bodhi-crypo authored Jan 15, 2024
    Configuration menu
    Copy the full SHA
    566754c View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. Configuration menu
    Copy the full SHA
    d4f25b4 View commit details
    Browse the repository at this point in the history
  2. tracer: use proper base fee in tests (#28775)

     In the tracing tests, the base fee was generally set to nil. This commit changes this to pass the proper base instead, and fixes the few tests which become broken by the change.
    palango authored Jan 16, 2024
    Configuration menu
    Copy the full SHA
    c66ca8b View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2024

  1. Configuration menu
    Copy the full SHA
    2e2e89c View commit details
    Browse the repository at this point in the history
  2. internal/ethapi: handle blobs in API methods (#28786)

    EIP-4844 adds a new transaction type for blobs. Users can submit such transactions via `eth_sendRawTransaction`. In this PR we refrain from adding support to `eth_sendTransaction` and in fact it will fail if the user passes in a blob hash.
    
    However since the chain can handle such transactions it makes sense to allow simulating them. E.g. an L2 operator should be able to simulate submitting a rollup blob and updating the L2 state. Most methods that take in a transaction object should recognize blobs. The change boils down to adding `blobVersionedHashes` and `maxFeePerBlobGas` to `TransactionArgs`. In summary:
    
    - `eth_sendTransaction`: will fail for blob txes
    - `eth_signTransaction`: will fail for blob txes
    
    The methods that sign txes does not, as of this PR, add support the for new EIP-4844 transaction types. Resuming the summary:
    
    - `eth_sendRawTransaction`: can send blob txes
    - `eth_fillTransaction`: will fill in a blob tx. Note: here we simply fill in normal transaction fields + possibly `maxFeePerBlobGas` when blobs are present. One can imagine a more elaborate set-up where users can submit blobs themselves and we fill in proofs and commitments and such. Left for future PRs if desired.
    - `eth_call`: can simulate blob messages
    - `eth_estimateGas`: blobs have no effect here. They have a separate unit of gas which is not tunable in the transaction.
    s1na authored Jan 17, 2024
    Configuration menu
    Copy the full SHA
    e5d5e09 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

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

Commits on Jan 19, 2024

  1. crypto/kzg4844: add helpers for versioned blob hashes (#28827)

    The code to compute a versioned hash was duplicated a couple times, and also had a small
    issue: if we ever change params.BlobTxHashVersion, it will most likely also cause changes
    to the actual hash computation. So it's a bit useless to have this constant in params.
    fjl authored Jan 19, 2024
    Configuration menu
    Copy the full SHA
    0e93da3 View commit details
    Browse the repository at this point in the history
  2. ethclient: apply accessList field in toCallArg (#28832)

    Co-authored-by: Felix Lange <fjl@twurst.com>
    colinlyguo and fjl authored Jan 19, 2024
    Configuration menu
    Copy the full SHA
    1c48829 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2024

  1. params, core/forkid: enable cancun on sepolia and holesky (#28834)

    This change enables Cancun 
    
    - Sepolia at 1706655072 (Jan 31st, 2024)
    - Holesky at 1707305664 (Feb 7th, 2024)
    
    Specification: ethereum/execution-specs#860
    MariusVanDerWijden authored Jan 20, 2024
    Configuration menu
    Copy the full SHA
    f55a10b View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. core, core/rawdb, eth/sync: no tx indexing during snap sync (#28703)

    This change simplifies the logic for indexing transactions and enhances the UX when transaction is not found by returning more information to users.
    
    Transaction indexing is now considered as a part of the initial sync, and `eth.syncing` will thus be `true` if transaction indexing is not yet finished. API consumers can use the syncing status to determine if the node is ready to serve users.
    rjl493456442 authored Jan 22, 2024
    Configuration menu
    Copy the full SHA
    78a3c32 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. Configuration menu
    Copy the full SHA
    6a724b9 View commit details
    Browse the repository at this point in the history
  2. go.{mod,sum}: upgrade go-ole to support arm64 (#28859)

    go.{mod,sum}: upgrade go-ole
    gballet authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    19d9977 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    819a497 View commit details
    Browse the repository at this point in the history
  4. all: use uint256 in state (#28598)

    This change makes use of uin256 to represent balance in state. It touches primarily upon statedb, stateobject and state processing, trying to avoid changes in transaction pools, core types, rpc and tracers.
    holiman authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    a5a4fa7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4c8d92d View commit details
    Browse the repository at this point in the history
  6. core/state/snapshot: use AddHash/ContainHash instead of Hasher interf…

    …ace (#28849)
    
    This change switches from using the `Hasher` interface to add/query the bloomfilter to implementing it as methods.
    This significantly reduces the allocations for Search and Rebloom.
    MariusVanDerWijden authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    c89a3da View commit details
    Browse the repository at this point in the history
  7. core/vm: fix misleading comment (#28860)

    fix misleading comment
    trocher authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    2dc7477 View commit details
    Browse the repository at this point in the history
  8. eth/catalyst: add timestamp checks to fcu and new payload and improve…

    … param checks (#28230)
    
     This PR introduces a few changes with respect to payload verification in fcu and new payload requests:
    
    * First of all, it undoes the `verifyPayloadAttributes(..)` simplification I attempted in #27872. 
    * Adds timestamp validation to fcu payload attributes [as required](https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#specification-1) (section 2) by the Engine API spec. 
    * For the new payload methods, I also update the verification of the executable data. For `newPayloadV2`, it does not currently ensure that cancun values are `nil`. Which could make it possible to submit cancun payloads through it. 
    * On `newPayloadV3` the same types of checks are added. All shanghai and cancun related fields in the executable data must be non-nil, with the addition that the timestamp is _only_ with cancun.
    * Finally it updates a newly failing catalyst test to call the correct fcu and new payload methods depending on the fork.
    lightclient authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    98eaa57 View commit details
    Browse the repository at this point in the history
  9. core/txpool, eth/catalyst: fix racy simulator due to txpool backgroun…

    …d reset (#28837)
    
    This PR fixes an issues in the new simulated backend. The root cause is the fact that the transaction pool has an internal reset operation that runs on a background thread.
    
    When a new transaction is added to the pool via the RPC, the transaction is added to a non-executable queue and will be moved to its final location on a background thread. If the machine is overloaded (or simply due to timing issues), it can happen that the simulated backend will try to produce the next block, whilst the pool has not yet marked the newly added transaction executable. This will cause the block to not contain the transaction. This is an issue because we want determinism from the simulator: add a tx, mine a block. It should be in there.
    
    The PR fixes it by adding a Sync function to the txpool, which waits for the current reset operation (if any) to finish, and then runs an entire round of reset on top. The new round is needed because resets are only triggered by new head events, so newly added transactions will not trigger the outer resets that we can wait on. The transaction pool would eventually internally do a reset even on transaction addition, but there's no easy way to wait on that and there's no meaningful reason to bubble that across everything. A clean outer reset will at worse be a small noop goroutine.
    karalabe authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    542c861 View commit details
    Browse the repository at this point in the history
  10. core: move tx indexer to its own file (#28857)

    This change moves all the transaction indexing functions to a separate txindexer.go file and defines a txIndexer structure as a refactoring.
    rjl493456442 authored Jan 23, 2024
    Configuration menu
    Copy the full SHA
    6b0de79 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2024

  1. eth/catalyst: prefix payload id with version (#28246)

    GetPayloadVX should only return payloads which match its version. GetPayloadV2 is a special snowflake that supports v1 and v2 payloads. This change uses a a version-specific prefix within in the payload id, basically a namespace for the version number.
    lightclient authored Jan 24, 2024
    Configuration menu
    Copy the full SHA
    a8a8758 View commit details
    Browse the repository at this point in the history
  2. ethclient: fix flaky test (#28864)

    Fix flaky test due to incomplete transaction indexing
    rjl493456442 authored Jan 24, 2024
    Configuration menu
    Copy the full SHA
    765f290 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    99dc3fe View commit details
    Browse the repository at this point in the history
  4. all: release go-ethereum v1.13.11 (#28868)

    Release 1.13.11
    holiman authored Jan 24, 2024
    Configuration menu
    Copy the full SHA
    8f7eb9c View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2024

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

Commits on Feb 21, 2024

  1. Cancun code merge v1.13.0 v1.13.11 fix ci (#29)

    * remove i386 linux tests
    
    * test: fix building of tests
    
    * return empty logs instead of nil in receipts
    
    * keep InitialBaseFee same with geth, so not break a ton of cases
    
    * fix eth dir
    
    * fix subdir of core
    
    * fix subdir of eth
    
    * fix cmd/geth dir
    
    * fix ethtest by adding UpgradeStatusMsg when handshake
    
    * fix ethclient_test.go
    
    * fix ethclient/simulated
    
    * fix internal
    
    * fix graphql
    
    * fix consensus
    
    * fix accounts
    
    * fix log
    
    * fix p2p
    
    * fix metrics
    
    * fix tests dir
    
    * fix golangci-lint
    
    ---------
    
    Co-authored-by: Matus Kysel <matus.kysel@bnbchain.org>
    buddh0 and MatusKysel authored Feb 21, 2024
    Configuration menu
    Copy the full SHA
    9ec1223 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a501442 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

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

Commits on Feb 27, 2024

  1. upstream: code review fix (#31)

    * rerun go generate
    
    * fix log in worker
    
    * enable blobpool
    
    * add SubscribeReannoTxsEvent for blobpool
    
    * eth: fix potential hang in waitXXXExtension
    
    * fix networkID when new eth handler
    
    * remove unexpected +
    
    * disable SyncTargetFlag
    
    * add commented code in enableSyncedFeatures
    
    * fix typo
    buddh0 authored Feb 27, 2024
    Configuration menu
    Copy the full SHA
    ba58f57 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. upstream: more code review fix (#33)

    * add GenesisHeader to ChainHeaderReader
    
    * fix check cancun header for parlia
    
    * misc
    buddh0 authored Mar 1, 2024
    3 Configuration menu
    Copy the full SHA
    93d652b View commit details
    Browse the repository at this point in the history