Skip to content

Make Shanghai the default EVM version.#14158

Merged
ekpyron merged 1 commit intodevelopfrom
shanghai
May 8, 2023
Merged

Make Shanghai the default EVM version.#14158
ekpyron merged 1 commit intodevelopfrom
shanghai

Conversation

@ekpyron
Copy link
Collaborator

@ekpyron ekpyron commented Apr 26, 2023

Given our discussion with tooling, we'll flip the switch and will prominently note this in the release notes.

Has hardhat fail hard so far, need to check if we can bump some versions somewhere, supposedly the latest release has support.

Part of #14073

@ekpyron ekpyron added this to the 0.8.20 milestone Apr 26, 2023
@ekpyron ekpyron changed the title Shanghai Make Shanghai the default EVM version. Apr 26, 2023
@axic
Copy link
Contributor

axic commented Apr 26, 2023

I'd wait for the evmone release, because the one used likely still has EOF enabled on Shanghai.

@clabby
Copy link

clabby commented Apr 26, 2023

Not that this should block this PR by any means, but just as a note - some tooling is still catching up to Shanghai, namely Foundry (although, @Evalir is working on upgrading to REVM >=3.0, which will allow foundry to support Shanghai with relative ease).

@ekpyron
Copy link
Collaborator Author

ekpyron commented Apr 26, 2023

Not that this should block this PR by any means, but just as a note - some tooling is still catching up to Shanghai, namely Foundry (although, @Evalir is working on upgrading to REVM >=3.0, which will allow foundry to support Shanghai with relative ease).

Yes, we're aware and brought this up in our communication channels with tooling - hardhat didn't think this would be an issues for them (even though our CI here looks otherwise, so we'll have to look into that) and we were told that foundry always inserts an explicit evm version, so they won't be affected by us changing the default (and can add support and flip the evm version they pass on to us in their own time).

@ekpyron
Copy link
Collaborator Author

ekpyron commented Apr 26, 2023

I'd wait for the evmone release, because the one used likely still has EOF enabled on Shanghai.

Well, that doesn't really affect us significantly, though, does it? And is independent of making this the default - that also already affects the plain support. We plan to release at least the support soon - this PR, i.e. switching to default, we can still postpone for one more release, but I had planned to also see if we can get it in.

@axic
Copy link
Contributor

axic commented Apr 26, 2023

Well, that doesn't really affect us significantly, though, does it? And is independent of making this the default - that also already affects the plain support.

It affects both, and ideally we get confirmation with a proper evmone release before this goes live. Evmone likely will be released by next week.

@axic
Copy link
Contributor

axic commented May 8, 2023

I'd wait for the evmone release, because the one used likely still has EOF enabled on Shanghai.

Release coming out today or tomorrow.

Co-authored-by: Rodrigo Q. Saramago <rodrigoqsaramago@gmail.com>
@ekpyron
Copy link
Collaborator Author

ekpyron commented May 8, 2023

I'd wait for the evmone release, because the one used likely still has EOF enabled on Shanghai.

Release coming out today or tomorrow.

Alright - I'll be merging this today and we can bump the evmone version as soon as it's available.
We plan to release on Wednesday - it would be nice if we had evmone bumped by then - otherwise we'll release anyways, since the likelihood of actually severe test mismatches resulting from using the current evmone is very low.

@ekpyron ekpyron merged commit 94d3747 into develop May 8, 2023
@ekpyron ekpyron deleted the shanghai branch May 8, 2023 15:29
@axic
Copy link
Contributor

axic commented May 9, 2023

Release coming out today or tomorrow.

https://github.com/ethereum/evmone/releases/tag/v0.10.0

Let's hope all the tests pass, otherwise this will be the most yolo Solidity release so far 😅

@ekpyron
Copy link
Collaborator Author

ekpyron commented May 9, 2023

Release coming out today or tomorrow.

https://github.com/ethereum/evmone/releases/tag/v0.10.0

Let's hope all the tests pass, otherwise this will be the most yolo Solidity release so far sweat_smile

The only substantial codegen change for shanghai is push0, and that was already supported by the old evmone release - the danger really wasn't so big :-D. And yeah, all tests still pass in #14200 except slight gas accounting differences in contract creation, so it was fine :-).

@axic
Copy link
Contributor

axic commented May 10, 2023

The only substantial codegen change for shanghai is push0, and that was already supported by the old evmone release - the danger really wasn't so big :-D.

The problem wasn't that, but that the evmone being used had a ton of EOF stuff enabled for Shanghai.

@ekpyron
Copy link
Collaborator Author

ekpyron commented May 10, 2023

The only substantial codegen change for shanghai is push0, and that was already supported by the old evmone release - the danger really wasn't so big :-D.

The problem wasn't that, but that the evmone being used had a ton of EOF stuff enabled for Shanghai.

Yes, but it's not like we generate anything that'd have been affected by that. But yeah, the version is bumped now, so it's fine.

@axic
Copy link
Contributor

axic commented May 10, 2023

I was more worried that something unintentionally get accepted by that version of evmone 😀

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.

4 participants