-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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 Support #14739
Comments
Regarding this item, I did some research, and it appears that the current proposal does not require any changes in the compiler. Instead, it involves modifications to the execution and consensus clients. Although, while reading the EIP I thought that the Originally, the EIP was drafted requiring a new opcode ( |
I can confirm @r0qs analysis, there's nothing for us to do there. It's implemented as a system contract and does not add any new opcodes. The fact that EIP-4788 is never mentioned in evmc 10.1...11 diff (including the changelog) confirms that. BTW, thanks for digging into the history of this EIP. Reading it now, I see no mention that it went from opcode, to precompile, to system contract, so that's useful to know. |
Actually, maybe absence of this in evmc does not really confirm it (e.g. MCOPY does not require any changes there either). On the evmone side the change was done in ethereum/evmone#709. Still, looks like this does not require any special compiler support. The VM automatically executes the system call that updates the circular buffer with block roots before every block. It does not deploy the system contract on its own, but, as far as I understand the EIP, it's not really the responsibility of the VM. Presence of the contract is optional. It might at most affect our testing if we wanted to include contracts that call this system contract. For that I guess we'd have to deploy it when we set up the test environment? That does not seem like something we need right now though. |
For Lines 186 to 187 in fbbac9c
This might not be the only change. |
Any plans to have |
It's planned but not a priority at the moment. Other things, especially the new type system and improving the IR pipeline before we enable it by default, take precedence. |
#13889 was the last thing to do here and it's done so I'm closing the issue. |
Prerequisites:
Tracked in Bump evmone/evmc to version 11.0.0 for Cancun support #14744 @nikola-matic
We need full support for the EIPs of Cancun:
PR: Introduce transient storage support for inline assembly #14737 @matheusaaguiar
TODO: verify if there's anything for us to do here. @r0qs
Tracked in Support for BLOBHASH from EIP-4844 #14740 @r0qs
Tracked in Support for MCOPY #14741
This will mean documentation adjustment, so falls together with Clean up documentation with regards to deprecated
selfdestruct
#13889.We should also add the change in behaviour to the deprecation warning.
Tracked in Support for BLOBBASEFEE from EIP 7516 #14742 @nikola-matic
Additionally we will need to:
Cancun
EVM version #14705 (review) and check if anything else needs to be done)The text was updated successfully, but these errors were encountered: