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

Merge/foundation release/1.10.23 #500

Closed
wants to merge 99 commits into from

Conversation

meowsbits
Copy link
Contributor

@meowsbits meowsbits commented Sep 1, 2022

Merges with latest version of upstream ethereum/go-ethereum branch release/1.10.

fjl and others added 30 commits July 27, 2022 13:56
* core, trie, eth, cmd: rework preimage store

* trie: address comment
eth/catalyst: fix NewPayload warn log when dropping due to snap sync
* node: set JWT expiry to 60 seconds

* node: rename var
* eth/catalyst: return syncing not accepted

* eth/catalyst: fix test
* eth/catalyst: return 0x0 if latestvalid is pow block

* eth/catalyst: return 0x0 if latestvalid is pow block

* eth/catalyst: fix header retrieval, fix sign check

Co-authored-by: Péter Szilágyi <[email protected]>
complier/solidity:add json.Unmarshal err check
* cmd, core, eth, les, params: add merge-passed chain config

* eth/catalyst, params: add various warning on malfunctioning beacons

* eth/catalyst: fix warning for beacons without transition exchanges
build: upgrade -dlgo version to Go 1.18.5
…5381)

This makes it remove not only the actual DAG file, but also the temporary file
which the DAG data is written to while generating.
This change makes http.Server.ReadHeaderTimeout configurable separately
from ReadTimeout for RPC servers. The default is set to the same as
ReadTimeout, which in order to cause no change in existing deployments.
This change reduces allocations when committing bloombits indexes
by creating the database batch with a larger initial size.
…eAccessList (#25467)

Because the goal of eth_createAccessList is providing the caller with the largest-possible
access list, it's generally not important that the gas limit used by the tracer will match the usage
of the call exactly. Avoiding the gas estimation step is a performance improvement. As long as the
call does not branch based on gas limit, the returned access list will be accurate.
This creates some infrastructure to share resources between graphql
API objects.
* all: rework trie and trie committer

* all: get rid of internal cache in trie

* all: fixes

* trie: polish

* core, trie: address comments

* trie: fix imports

* core/state: address comments

* core/state/snapshot: polish

* trie: remove unused code

* trie: update tests

* trie: don't set db as nil

* trie: address comments

* trie: unskip test
…5458)

* core: use TryGetAccount to read where TryUpdateAccount has been used to write

* Gary's review feedback

* implement Gary's suggestion

* fix bug + rename NewSecure into NewStateTrie

* trie: add backwards-compatibility aliases for SecureTrie

* Update database.go

* make the linter happy

Co-authored-by: Felix Lange <[email protected]>
Co-authored-by: rjl493456442 <[email protected]>
* cmd, core, ethdb, node: create chain freezer in a sub folder

* core/rawdb: remove unused code

* core, ethdb, node: add AncientDatadir API back

* cmd, core: extend freezer info dump for sub-ancient-store

* core/rawdb: rework freezer inspector

* core/rawdb: address comments from Peter

* core/rawdb: fix build issue
…sh and Flush

These were introduced upstream.
They are not export upstream but we need
them to be because weve move the genesis
library out of core/

Date: 2022-08-31 15:29:36-07:00
Signed-off-by: meows <[email protected]>
…h impls

Date: 2022-08-31 15:47:28-07:00
Signed-off-by: meows <[email protected]>
…ndefined

Date: 2022-08-31 15:47:57-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 15:50:29-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 15:53:21-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 15:54:28-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 15:55:52-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 16:21:43-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 16:21:58-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 16:22:48-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 16:24:53-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 16:25:44-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 16:25:57-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 16:32:28-07:00
Signed-off-by: meows <[email protected]>
…rs.New

Date: 2022-08-31 16:34:58-07:00
Signed-off-by: meows <[email protected]>
I've checked that the built geth binary also
produces this document, including eth_getFilterChanges.

I'm considering now writing a test for that, too,
since now I see behavior in the test can differ from
real life.

Date: 2022-08-31 18:44:51-07:00
Signed-off-by: meows <[email protected]>
Date: 2022-08-31 18:54:55-07:00
Signed-off-by: meows <[email protected]>
Like previous commit, the eth_ subscription-based
filter service now needs to be added manually to
backends.

Date: 2022-08-31 19:17:17-07:00
Signed-off-by: meows <[email protected]>
@@ -171,15 +172,15 @@ type TraceConfig struct {
Timeout *string
Reexec *uint64
NestedTraceOutput bool // Returns the trace output JSON nested under the trace name key. This allows full Parity compatibility to be achieved.
// Config specific to given tracer. Note struct logger
// config are historically embedded in main object.
TracerConfig json.RawMessage
Copy link
Contributor Author

@meowsbits meowsbits Sep 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ziogaschr PTAL. This field added here, and seems to correspond to an addition in the interface function signature too. See below.

@@ -104,10 +105,10 @@ func (t *callParityTracer) CaptureTxEnd(restGas uint64) {}

// NewCallParityTracer returns a native go tracer which tracks
// call frames of a tx, and implements vm.EVMLogger.
func NewCallParityTracer(ctx *tracers.Context) tracers.Tracer {
func NewCallParityTracer(ctx *tracers.Context, j json.RawMessage) (tracers.Tracer, error) {
Copy link
Contributor Author

@meowsbits meowsbits Sep 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ziogaschr This type (an interface type, ctor?, I think) changes throughout the tracer implementations. I added these signature values to the Parity and StateDiff tracers. PTAL if what I did here is OK.

@@ -682,6 +682,14 @@ func (g *Genesis) SetEthashTerminalTotalDifficulty(n *big.Int) error {
return g.Config.SetEthashTerminalTotalDifficulty(n)
}

func (g *Genesis) GetEthashTerminalTotalDifficultyPassed() bool {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's a new Configurator interface function.

Fatalf("Failed to register the GraphQL service: %v", err)
}
}

// RegisterFilterAPI adds the eth log filtering RPC API to the node.
func RegisterFilterAPI(stack *node.Node, backend ethapi.Backend, ethcfg *ethconfig.Config) *filters.FilterSystem {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The refactoring to this function caused us to have to call it manually from a couple tests in ethclient. Otherwise it gets called OK as normal during geth start up.

}

// gaDeriveHash computes the state root according to the genesis specification.
func gaDeriveHash(ga *genesisT.GenesisAlloc) (common.Hash, error) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was (another) refactoring upstream around Genesis methods, mostly Genesis.ToBlock() and CommitGenesis or something. gaDeriveHash is our implementation of upstream's genesisAlloc.deriveHash; for import cycle reasons its a function here and not a method on the genesisT#GenesisAlloc type.

@@ -41,7 +41,7 @@ var (
var (
// SupportedProtocolVersions are the supported versions of the `eth` protocol (first
// is primary).
SupportedProtocolVersions = []uint{66}
SupportedProtocolVersions = []uint{67, 66}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heads up.

Base automatically changed from merge/foundation-release/1.10.21-tests-generate-etchash-mordor-pr-2 to master September 5, 2022 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.