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 v1.12.1 #258

Merged
merged 226 commits into from
Nov 14, 2023
Merged

Merge v1.12.1 #258

merged 226 commits into from
Nov 14, 2023

Conversation

Tristan-Wilson
Copy link
Member

@Tristan-Wilson Tristan-Wilson commented Sep 27, 2023

Merge upstream geth's v1.12.1 release into our geth fork: https://github.com/ethereum/go-ethereum/releases/tag/v1.12.1

Merges were done with my gradual merging script to create a merge commit for the first conflict that is found: https://github.com/Tristan-Wilson/MyScripts/blob/main/bin/merge-helper. This makes for more merge commits but hopefully each one is easier to review.

Companion nitro PR: OffchainLabs/nitro#1903

Testing done

geth and nitro tests pass.

holiman and others added 30 commits May 25, 2023 12:02
* core: replace noarg fmt.Errorf with errors.New

Signed-off-by: jsvisa <[email protected]>

* console: replace noarg fmt.Errorf with errors.New

Signed-off-by: jsvisa <[email protected]>

* core: go autoimport

Signed-off-by: jsvisa <[email protected]>

* core: dry

Signed-off-by: jsvisa <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>
* accounts: replace noarg fmt.Errorf with errors.New

Signed-off-by: jsvisa <[email protected]>

* accounts: go autoimport

Signed-off-by: jsvisa <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>
This change implements async log retrievals via feeding logs in channels, instead of returning slices. This is a first step to implement #15063.  

---------

Signed-off-by: jsvisa <[email protected]>
Co-authored-by: Sina Mahmoodi <[email protected]>
Co-authored-by: Martin Holst Swende <[email protected]>
Co-authored-by: Sina Mahmoodi <[email protected]>
RPC methods `eth_getHeaderBy*` returned a size value which was meant for internal
processes. Please instead use `size` field returned by `eth_getBlockBy*` if you're interested
in the RLP encoded storage size of the block.

Signed-off-by: jsvisa <[email protected]>
This change splits up the multiple API functions / namespaces currently defined in the eth package into different per-namespace files.
eth: make StorageRangeAt take a block hash or number

Co-authored-by: Martin Holst Swende <[email protected]>
Co-authored-by: Sina Mahmoodi <[email protected]>
This is a minor optimization/refactoring of Feed.

---------

Co-authored-by: Felix Lange <[email protected]>
…mplementation (#27310)

Deserialize hex keys early to shortcut on invalid input, and re-use the account storageTrie for each proof for each proof in the account, preventing repeated deep-copying of the trie.

Closes #27308

 --------

Co-authored-by: Martin Holst Swende <[email protected]>
Co-authored-by: Marius van der Wijden <[email protected]>
Drop the notions of uncles, and disables activities while syncing

-  Disable activities (e.g. generate pending state) while node is syncing,
-  Disable empty block submission (but empty block is still kept for payload building),
-  Drop uncle notion since (ethash is already deprecated)
* p2p/discover: remove ReadRandomNodes

Even though it's public, this method is not callable by code outside of
package p2p/discover because one can't get a valid instance of Table.

* p2p/discover: add Table.Nodes

* p2p/discover: make Table settings configurable

In unit tests and externally developed cmd/devp2p test runs, it can be
useful to tune the timer intervals used by Table.
Continuing with a series of PRs to make the Trie interface more generic, this PR moves
the RLP encoding of storage slots inside the StateTrie and light.Trie implementations,
as other types of tries don't use RLP.
This changes the journal logic to mark the state object dirty immediately when it
is reset. 

We're mostly adding this change to appease the fuzzer. Marking it dirty immediately
makes no difference in practice because accounts will always be modified by EVM
right after creation.
…(#27397)

* eth/downloader: drop beacon head updates if the syncer is restarting

* eth/donwloader: v2 of the goroutine spike preventer
* core/state: remove cached snap data if reset occurs

* core/state: address comment from peter

* core/state: skip revert in case data is nil
* core: crypto: implement BLOBHASH and pointEval precompile

* core: crypto: fixed nitpicks, moved precompile return value

* core/vm: fix review comments
… (#27323)

* core/state/snapshot, core/types, eth: move account definition to type

* core, eth: revert snapshot Account API change
* cmd/evm: make evm blocktest output logs if so instructed

* Apply suggestions from code review

Co-authored-by: Marius van der Wijden <[email protected]>

---------

Co-authored-by: Marius van der Wijden <[email protected]>
This fix a minor implementation issue with the newly introduced isGapped function and it is described in ticket: ethereum/go-ethereum#27401
Fixed conflict around block number arg added to addStateVerify upstream,
while we had changed code surrounding a call to it on master.
@cla-bot
Copy link

cla-bot bot commented Sep 27, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

jwasinger and others added 2 commits October 11, 2023 14:39
Co-authored-by: Martin Holst Swende <[email protected]>
(cherry picked from commit f56ee7d)
…e) (#27992)

Signed-off-by: jsvisa <[email protected]>
Co-authored-by: Jared Wasinger <[email protected]>
(cherry picked from commit cde462c)
@cla-bot
Copy link

cla-bot bot commented Oct 11, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

Conflicts:
rpc/handler.go
In master we made more changes to our batch limit handling code that had
already been reverted in merge-v1.12.1 because we are using upstream
geth's batch limiting code instead, so we resolve the conflicts in this
file by going with what was already on merge-v1.12.1.
@cla-bot
Copy link

cla-bot bot commented Oct 20, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

@Tristan-Wilson Tristan-Wilson marked this pull request as ready for review October 20, 2023 14:59
statedb must now be recreated after Commit is called on it, see
ethereum/go-ethereum#27428
@cla-bot
Copy link

cla-bot bot commented Oct 27, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

Conflicts:
	core/txpool/txpool.go
We added max code size to ChainConfig on master (#255) and this conflicted with
upstream changes to refactoring txpool. Resolved by putting the check in
ValidateTransaction in the file it was moved to.
@cla-bot
Copy link

cla-bot bot commented Oct 31, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

Copy link

cla-bot bot commented Nov 1, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

Fix conflicts between adding apiFilter and rpcEndpointConfig.
Copy link

cla-bot bot commented Nov 2, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

Copy link
Contributor

@tsahee tsahee left a comment

Choose a reason for hiding this comment

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

initial

@@ -12,7 +12,7 @@ import (
type TransactionArgs = ethapi.TransactionArgs

func EstimateGas(ctx context.Context, b ethapi.Backend, args TransactionArgs, blockNrOrHash rpc.BlockNumberOrHash, gasCap uint64) (hexutil.Uint64, error) {
return ethapi.DoEstimateGas(ctx, b, args, blockNrOrHash, gasCap)
return ethapi.DoEstimateGas(ctx, b, args, blockNrOrHash, nil, gasCap)
Copy link
Contributor

@tsahee tsahee Nov 6, 2023

Choose a reason for hiding this comment

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

I think we'll want to also get the overrides *StateOverride argument and pass it to DoEstimateGas, just like the EstimateGas func in BlockChainAPI

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed it

Copy link
Contributor

@tsahee tsahee left a comment

Choose a reason for hiding this comment

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

tiny comments. great job on the merge commits

rlp.Encode(w, data)
default:
w.WriteByte(r.Type)
// Arbitrum: same as above, but this should help prevent future merge conflicts,
// by keeping above case statement the same.
Copy link
Contributor

Choose a reason for hiding this comment

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

A thought: maybe add a case with all arbitrum types that will do rlp.Encode, and add a default that does nothing (including the original comment)?
I think it will be clearer / easier to merge future geth changes, but require us to remember updating new Arbitrum types

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

core/state/statedb_arbitrum.go Show resolved Hide resolved
- Add state overrides to arbitrum.EstimateGas
- Non-functional change to EncodeIndex to avoid future merge conflicts.
Copy link

cla-bot bot commented Nov 13, 2023

We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please sign the linked documents below to get yourself added. https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=b15c81cc-b5ea-42a6-9107-3992526f2898&env=na3&acct=6e152afc-6284-44af-a4c1-d8ef291db402&v=2

Copy link
Contributor

@tsahee tsahee left a comment

Choose a reason for hiding this comment

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

LGTM

@Tristan-Wilson Tristan-Wilson merged commit 6cacfc9 into master Nov 14, 2023
2 of 3 checks passed
@Tristan-Wilson Tristan-Wilson deleted the merge-v1.12.1 branch November 14, 2023 23:47
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.