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

Release v1.13.10 #21

Merged
merged 179 commits into from
Jan 16, 2024
Merged

Release v1.13.10 #21

merged 179 commits into from
Jan 16, 2024

Conversation

dupontcy
Copy link

@dupontcy dupontcy commented Jan 12, 2024

Bump from upstream v1.13.10

https://taurusgroup.atlassian.net/browse/DEV-28967

Upstream added a github workflow that i disabled

Local build and go test is successful

 go test ./...
?       github.com/ethereum/go-ethereum [no test files]
ok      github.com/ethereum/go-ethereum/accounts        (cached)
ok      github.com/ethereum/go-ethereum/accounts/abi    (cached)
ok      github.com/ethereum/go-ethereum/accounts/abi/bind       (cached)
?       github.com/ethereum/go-ethereum/accounts/abi/bind/backends      [no test files]
?       github.com/ethereum/go-ethereum/accounts/external       [no test files]
?       github.com/ethereum/go-ethereum/accounts/scwallet       [no test files]
ok      github.com/ethereum/go-ethereum/accounts/keystore       (cached)
?       github.com/ethereum/go-ethereum/accounts/usbwallet      [no test files]
?       github.com/ethereum/go-ethereum/beacon/merkle   [no test files]
?       github.com/ethereum/go-ethereum/accounts/usbwallet/trezor       [no test files]
?       github.com/ethereum/go-ethereum/beacon/engine   [no test files]
ok      github.com/ethereum/go-ethereum/beacon/light    (cached)
?       github.com/ethereum/go-ethereum/beacon/params   [no test files]
?       github.com/ethereum/go-ethereum/beacon/types    [no test files]
?       github.com/ethereum/go-ethereum/cmd/abidump     [no test files]
?       github.com/ethereum/go-ethereum/cmd/bootnode    [no test files]
ok      github.com/ethereum/go-ethereum/cmd/abigen      (cached)
ok      github.com/ethereum/go-ethereum/cmd/clef        (cached)
ok      github.com/ethereum/go-ethereum/cmd/devp2p      (cached)
ok      github.com/ethereum/go-ethereum/cmd/devp2p/internal/ethtest     (cached)
?       github.com/ethereum/go-ethereum/cmd/devp2p/internal/v4test      [no test files]
?       github.com/ethereum/go-ethereum/cmd/devp2p/internal/v5test      [no test files]
?       github.com/ethereum/go-ethereum/cmd/evm/internal/compiler       [no test files]
?       github.com/ethereum/go-ethereum/cmd/evm/internal/t8ntool        [no test files]
ok      github.com/ethereum/go-ethereum/cmd/ethkey      (cached)
ok      github.com/ethereum/go-ethereum/cmd/evm (cached)
?       github.com/ethereum/go-ethereum/cmd/p2psim      [no test files]
ok      github.com/ethereum/go-ethereum/cmd/geth        (cached)
?       github.com/ethereum/go-ethereum/common/compiler [no test files]
?       github.com/ethereum/go-ethereum/consensus       [no test files]
?       github.com/ethereum/go-ethereum/consensus/beacon        [no test files]
ok      github.com/ethereum/go-ethereum/cmd/rlpdump     (cached)
ok      github.com/ethereum/go-ethereum/cmd/utils       (cached)
ok      github.com/ethereum/go-ethereum/common  (cached)
ok      github.com/ethereum/go-ethereum/common/bitutil  (cached)
ok      github.com/ethereum/go-ethereum/common/fdlimit  (cached)
ok      github.com/ethereum/go-ethereum/common/hexutil  (cached)
ok      github.com/ethereum/go-ethereum/common/lru      (cached)
ok      github.com/ethereum/go-ethereum/common/math     (cached)
ok      github.com/ethereum/go-ethereum/common/mclock   (cached)
ok      github.com/ethereum/go-ethereum/common/prque    (cached)
ok      github.com/ethereum/go-ethereum/consensus/clique        (cached)
ok      github.com/ethereum/go-ethereum/consensus/ethash        (cached)
?       github.com/ethereum/go-ethereum/consensus/misc  [no test files]
ok      github.com/ethereum/go-ethereum/consensus/misc/eip1559  (cached)
ok      github.com/ethereum/go-ethereum/consensus/misc/eip4844  (cached)
ok      github.com/ethereum/go-ethereum/console (cached)
?       github.com/ethereum/go-ethereum/console/prompt  [no test files]
ok      github.com/ethereum/go-ethereum/core    (cached)
ok      github.com/ethereum/go-ethereum/core/asm        (cached)
ok      github.com/ethereum/go-ethereum/core/bloombits  (cached)
ok      github.com/ethereum/go-ethereum/core/forkid     (cached)
ok      github.com/ethereum/go-ethereum/core/rawdb      (cached)
?       github.com/ethereum/go-ethereum/core/state/pruner       [no test files]
ok      github.com/ethereum/go-ethereum/core/state      (cached)
?       github.com/ethereum/go-ethereum/core/txpool     [no test files]
ok      github.com/ethereum/go-ethereum/core/state/snapshot     (cached)
ok      github.com/ethereum/go-ethereum/core/txpool/blobpool    (cached)
ok      github.com/ethereum/go-ethereum/core/txpool/legacypool  (cached)
ok      github.com/ethereum/go-ethereum/core/types      (cached)
ok      github.com/ethereum/go-ethereum/core/vm (cached)
ok      github.com/ethereum/go-ethereum/core/vm/runtime (cached)
ok      github.com/ethereum/go-ethereum/crypto  (cached)
ok      github.com/ethereum/go-ethereum/crypto/blake2b  (cached)
?       github.com/ethereum/go-ethereum/crypto/bn256    [no test files]
ok      github.com/ethereum/go-ethereum/crypto/bls12381 (cached)
ok      github.com/ethereum/go-ethereum/crypto/bn256/cloudflare (cached)
ok      github.com/ethereum/go-ethereum/crypto/bn256/google     (cached)
ok      github.com/ethereum/go-ethereum/crypto/ecies    (cached)
ok      github.com/ethereum/go-ethereum/crypto/kzg4844  (cached)
ok      github.com/ethereum/go-ethereum/crypto/secp256k1        (cached)
ok      github.com/ethereum/go-ethereum/crypto/signify  (cached)
ok      github.com/ethereum/go-ethereum/eth     (cached)
?       github.com/ethereum/go-ethereum/eth/ethconfig   [no test files]
?       github.com/ethereum/go-ethereum/eth/gasestimator        [no test files]
ok      github.com/ethereum/go-ethereum/eth/catalyst    (cached)
ok      github.com/ethereum/go-ethereum/eth/downloader  (cached)
ok      github.com/ethereum/go-ethereum/eth/fetcher     (cached)
ok      github.com/ethereum/go-ethereum/eth/filters     (cached)
ok      github.com/ethereum/go-ethereum/eth/gasprice    (cached)
ok      github.com/ethereum/go-ethereum/eth/protocols/eth       (cached)
ok      github.com/ethereum/go-ethereum/eth/protocols/snap      (cached)
ok      github.com/ethereum/go-ethereum/eth/tracers     (cached)
ok      github.com/ethereum/go-ethereum/eth/tracers/internal/tracetest  (cached)
?       github.com/ethereum/go-ethereum/eth/tracers/js/internal/tracers [no test files]
ok      github.com/ethereum/go-ethereum/eth/tracers/js  (cached)
?       github.com/ethereum/go-ethereum/eth/tracers/native      [no test files]
ok      github.com/ethereum/go-ethereum/eth/tracers/logger      (cached)
ok      github.com/ethereum/go-ethereum/ethclient       (cached)
ok      github.com/ethereum/go-ethereum/ethclient/gethclient    (cached)
ok      github.com/ethereum/go-ethereum/ethclient/simulated     (cached)
?       github.com/ethereum/go-ethereum/ethdb   [no test files]
?       github.com/ethereum/go-ethereum/ethdb/dbtest    [no test files]
ok      github.com/ethereum/go-ethereum/ethdb/leveldb   (cached)
ok      github.com/ethereum/go-ethereum/ethdb/memorydb  (cached)
?       github.com/ethereum/go-ethereum/ethdb/remotedb  [no test files]
ok      github.com/ethereum/go-ethereum/ethdb/pebble    (cached)
ok      github.com/ethereum/go-ethereum/ethstats        (cached)
ok      github.com/ethereum/go-ethereum/event   (cached)
?       github.com/ethereum/go-ethereum/graphql/internal/graphiql       [no test files]
?       github.com/ethereum/go-ethereum/internal/blocktest      [no test files]
?       github.com/ethereum/go-ethereum/internal/build  [no test files]
ok      github.com/ethereum/go-ethereum/graphql (cached)
?       github.com/ethereum/go-ethereum/internal/cmdtest        [no test files]
?       github.com/ethereum/go-ethereum/internal/debug  [no test files]
ok      github.com/ethereum/go-ethereum/internal/ethapi (cached)
?       github.com/ethereum/go-ethereum/internal/jsre/deps      [no test files]
?       github.com/ethereum/go-ethereum/internal/syncx  [no test files]
?       github.com/ethereum/go-ethereum/internal/shutdowncheck  [no test files]
?       github.com/ethereum/go-ethereum/internal/reexec [no test files]
?       github.com/ethereum/go-ethereum/internal/testlog        [no test files]
ok      github.com/ethereum/go-ethereum/internal/flags  (cached)
ok      github.com/ethereum/go-ethereum/internal/guide  (cached)
?       github.com/ethereum/go-ethereum/internal/version        [no test files]
?       github.com/ethereum/go-ethereum/internal/web3ext        [no test files]
ok      github.com/ethereum/go-ethereum/internal/jsre   (cached)
ok      github.com/ethereum/go-ethereum/internal/utesting       (cached)
ok      github.com/ethereum/go-ethereum/log     (cached)
ok      github.com/ethereum/go-ethereum/metrics (cached)
?       github.com/ethereum/go-ethereum/metrics/exp     [no test files]
ok      github.com/ethereum/go-ethereum/metrics/influxdb        (cached)
?       github.com/ethereum/go-ethereum/metrics/librato [no test files]
?       github.com/ethereum/go-ethereum/miner/stress/clique     [no test files]
ok      github.com/ethereum/go-ethereum/metrics/internal        (cached)
ok      github.com/ethereum/go-ethereum/metrics/prometheus      (cached)
ok      github.com/ethereum/go-ethereum/miner   (cached)
ok      github.com/ethereum/go-ethereum/node    (cached)
ok      github.com/ethereum/go-ethereum/p2p     (cached)
ok      github.com/ethereum/go-ethereum/p2p/discover    (cached)
ok      github.com/ethereum/go-ethereum/p2p/discover/v4wire     (cached)
ok      github.com/ethereum/go-ethereum/p2p/discover/v5wire     (cached)
ok      github.com/ethereum/go-ethereum/p2p/dnsdisc     (cached)
ok      github.com/ethereum/go-ethereum/p2p/enode       (cached)
ok      github.com/ethereum/go-ethereum/p2p/enr (cached)
ok      github.com/ethereum/go-ethereum/p2p/msgrate     (cached)
ok      github.com/ethereum/go-ethereum/p2p/nat (cached)
ok      github.com/ethereum/go-ethereum/p2p/netutil     (cached)
ok      github.com/ethereum/go-ethereum/p2p/nodestate   (cached)
ok      github.com/ethereum/go-ethereum/p2p/rlpx        (cached)
ok      github.com/ethereum/go-ethereum/p2p/simulations (cached)
?       github.com/ethereum/go-ethereum/p2p/simulations/examples        [no test files]
ok      github.com/ethereum/go-ethereum/p2p/simulations/adapters        (cached)
?       github.com/ethereum/go-ethereum/p2p/simulations/pipes   [no test files]
?       github.com/ethereum/go-ethereum/p2p/tracker     [no test files]
ok      github.com/ethereum/go-ethereum/params  (cached)
ok      github.com/ethereum/go-ethereum/rlp     (cached)
?       github.com/ethereum/go-ethereum/rlp/internal/rlpstruct  [no test files]
ok      github.com/ethereum/go-ethereum/rlp/rlpgen      (cached)
ok      github.com/ethereum/go-ethereum/rpc     (cached)
ok      github.com/ethereum/go-ethereum/signer/core     (cached)
ok      github.com/ethereum/go-ethereum/signer/core/apitypes    (cached)
ok      github.com/ethereum/go-ethereum/signer/fourbyte (cached)
ok      github.com/ethereum/go-ethereum/signer/rules    (cached)
ok      github.com/ethereum/go-ethereum/signer/storage  (cached)
ok      github.com/ethereum/go-ethereum/tests   (cached)
ok      github.com/ethereum/go-ethereum/tests/fuzzers/bls12381  (cached)
ok      github.com/ethereum/go-ethereum/tests/fuzzers/bn256     (cached)
ok      github.com/ethereum/go-ethereum/tests/fuzzers/difficulty        (cached)
ok      github.com/ethereum/go-ethereum/tests/fuzzers/rangeproof        (cached)
ok      github.com/ethereum/go-ethereum/tests/fuzzers/secp256k1 (cached)
ok      github.com/ethereum/go-ethereum/tests/fuzzers/txfetcher (cached)
?       github.com/ethereum/go-ethereum/trie/testutil   [no test files]
ok      github.com/ethereum/go-ethereum/trie    (cached)
?       github.com/ethereum/go-ethereum/trie/triedb/hashdb      [no test files]
?       github.com/ethereum/go-ethereum/trie/trienode   [no test files]
ok      github.com/ethereum/go-ethereum/trie/triedb/pathdb      (cached)
?       github.com/ethereum/go-ethereum/trie/triestate  [no test files]
ok      github.com/ethereum/go-ethereum/trie/utils      (cached)

dupontcy@gva-cdu-64:~/Repos/go-ethereum$

karalabe and others added 30 commits October 17, 2023 14:18
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.
…ific block hash (ethereum#28084)

* api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash.

* ethclient: Add BalanceAtHash, NonceAtHash and StorageAtHash functions
…eum#28352)

This change modifies the fuzzers to use the native golang fuzzing framework instead of go-fuzz
…thereum#28381)

This change to fixes a compilation-flaw on master, by putting architecture-specific functions behind corresponding build tags.
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.
…8383)

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 <[email protected]>
…ds (ethereum#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.
Fixes a bug where the ethstats omits to report full block contents. This bug was a side-effect of ethereum#26777,  where `CurrentBlock` was changed to return a header instead of a block, leading to a failed type assertion.
…ereum#28198)

This PR adds more error message for debugging purpose.
…in stacktrie (ethereum#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 <[email protected]>

* 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 <[email protected]>
…reum#28397)

This change closes 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.
…8361)

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.
…thereum#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.
This PR is a bit in preparation for the slog work in ethereum#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.
* core, cmd/geth: add --override.* flags to geth init

* also apply overrides before genesis commit with new block

* review feedback
rjl493456442 and others added 28 commits December 22, 2023 07:50
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.
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.
…8734)

cmd/evm: fixes the blob gas calculation if a transaction is invalid
This PR schedules the cancun fork for the goerli testnet as discussed on ACD.
Spec: ethereum/execution-specs#860

We schedule:
  goerli at 1705473120
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.
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 <[email protected]>
Co-authored-by: Gary Rong <[email protected]>
@dupontcy dupontcy merged commit e4105b9 into master Jan 16, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.