-
Notifications
You must be signed in to change notification settings - Fork 86
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
Feat: add CANCUN hard fork support #926
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a few comments on the EIP-4844 transaction implementation, but now I am wondering if we should remove the implementation and simply return an error saying that transaction type is unsupported.
The reason I am asking about this is because the current implementation of EIP-4844 is incomplete and the work needed to complete it seems too large relative to the benefit we get from having it. The following items are missing:
- Proper implementation of
get_blob_hash
andblob_gas_price
- Implementation of the point evaluation precompile (for verifying KZG proofs)
- Blob transaction validation at runtime
- Ability to send complete transaction data (including the
blobs
,commitments
,proofs
fields which come after thetx_payload_body
), and validation of that additional data
All of this looks like a lot of work to me. The reason I do not think this work is necessarily worth it to us is because this type of transaction is designed for building rollups on top of Ethereum and it does not make sense to try to build a rollup on top of Aurora.
@birchmd We didn't plan to support But you reasonably point out that it's better just to remove supporting that type of transaction. My reason for not support
|
Great, thanks @mrLSD . Since we agree EIP-4844 is not relevant to Aurora please remove the implementation and just return an error if we get a transaction with that type byte. |
My point was that we can know about the EIP-4844 transaction but are not obligated to execute it and just respond to a user that we do not support this type of transaction. But, of course, if we can understand the type of transaction by type byte then the implementation could be removed, and we don't need to deserialize it completely. |
## Description ➡️ Added **EVM CANCUN** hard fork support. Based on SputnikVM release [v0.42.0-aurora](https://github.com/aurora-is-near/sputnikvm/releases/tag/v0.42.0-aurora) ➡️ Changed `engine-tests` that related to **CACUN** changes ➡️ Solidity: updated to `0.8.25` which support **CANCUN** Features ➡️ Extended Transactions fields for **CANCUN** hard fork requirements ### Cancun hard fork ➡️ EVM impelentation of Cancun hard fork: aurora-is-near/sputnikvm/pull/39 ### Breaking changes ➡️ Transaction extended according to [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) requirements ### Gas cost Gas cost changed as expected insignificantly. - 2 tests: gas increased to `1 TGas` - 1 test: gas decreased to `1 TGas`
### Additions - Added support of CANCUN hardfork by [@mrLSD]. ([#926]) - Added support of EIP-3607 by [@mrLSD]. ([#930]) - Removed restrictions from funding XCC sub-accounts by [@birchmd]. ([#931]) ### Changes - Made some EVM gas costs optimisations by [@mrLSD]. ([#934]) - Refactored the gas charge logic form EVM exit reasons by [@mrLSD]. ([#935]) - Updated some dependencies and rust-toolchain by [@mrLSD]. ([#936]) - Removed unused `bytes_to_hex` function by [@dwiekawki]. ([#942]) - Added building of actual version of the `near-sandbox` in the scheduled CI job by [@aleksuss] ([#950]) ### Fixes - Removed duplicated `test` task in the `README.md` by [@dwiekawki]. ([#943]) - Fixed some typos in the `README.md` and `Cargo.toml` by [@DemoYeti]. ([#945]) ([#946]) - Fixed exceeded prepaid gas error in the `mirror_erc20_token` transaction by [@aleksuss] ([#951]) - Modified `hardhat.config.js` to support contract verification by [@spilin] ([#958]) [#926]: #926 [#930]: #930 [#931]: #931 [#934]: #934 [#935]: #935 [#936]: #936 [#942]: #942 [#943]: #943 [#945]: #945 [#946]: #946 [#950]: #950 [#951]: #951 [#958]: #958 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Michael Birch <michael.birch@aurora.dev> Co-authored-by: Evgeny Ukhanov <evgeny@aurora.dev> Co-authored-by: dwiekawki <176287097+dwiekawki@users.noreply.github.com> Co-authored-by: dwiekawki <dwiekawki@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DemoYeti <164791169+DemoYeti@users.noreply.github.com> Co-authored-by: spilin <LyoshaKR@gmail.com>
### Additions - Added support of CANCUN hardfork by [@mrLSD]. ([#926]) - Added support of EIP-3607 by [@mrLSD]. ([#930]) - Removed restrictions from funding XCC sub-accounts by [@birchmd]. ([#931]) ### Changes - Made some EVM gas costs optimisations by [@mrLSD]. ([#934]) - Refactored the gas charge logic form EVM exit reasons by [@mrLSD]. ([#935]) - Updated some dependencies and rust-toolchain by [@mrLSD]. ([#936]) - Removed unused `bytes_to_hex` function by [@dwiekawki]. ([#942]) - Added building of actual version of the `near-sandbox` in the scheduled CI job by [@aleksuss] ([#950]) ### Fixes - Removed duplicated `test` task in the `README.md` by [@dwiekawki]. ([#943]) - Fixed some typos in the `README.md` and `Cargo.toml` by [@DemoYeti]. ([#945]) ([#946]) - Fixed exceeded prepaid gas error in the `mirror_erc20_token` transaction by [@aleksuss] ([#951]) - Modified `hardhat.config.js` to support contract verification by [@spilin] ([#958]) [#926]: #926 [#930]: #930 [#931]: #931 [#934]: #934 [#935]: #935 [#936]: #936 [#942]: #942 [#943]: #943 [#945]: #945 [#946]: #946 [#950]: #950 [#951]: #951 [#958]: #958 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Michael Birch <michael.birch@aurora.dev> Co-authored-by: Evgeny Ukhanov <evgeny@aurora.dev> Co-authored-by: dwiekawki <176287097+dwiekawki@users.noreply.github.com> Co-authored-by: dwiekawki <dwiekawki@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DemoYeti <164791169+DemoYeti@users.noreply.github.com> Co-authored-by: spilin <LyoshaKR@gmail.com>
### Additions - Added support of CANCUN hardfork by [@mrLSD]. ([#926]) - Added support of EIP-3607 by [@mrLSD]. ([#930]) - Removed restrictions from funding XCC sub-accounts by [@birchmd]. ([#931]) ### Changes - Made some EVM gas costs optimisations by [@mrLSD]. ([#934]) - Refactored the gas charge logic form EVM exit reasons by [@mrLSD]. ([#935]) - Updated some dependencies and rust-toolchain by [@mrLSD]. ([#936]) - Removed unused `bytes_to_hex` function by [@dwiekawki]. ([#942]) - Added building of actual version of the `near-sandbox` in the scheduled CI job by [@aleksuss] ([#950]) ### Fixes - Removed duplicated `test` task in the `README.md` by [@dwiekawki]. ([#943]) - Fixed some typos in the `README.md` and `Cargo.toml` by [@DemoYeti]. ([#945]) ([#946]) - Fixed exceeded prepaid gas error in the `mirror_erc20_token` transaction by [@aleksuss] ([#951]) - Modified `hardhat.config.js` to support contract verification by [@spilin] ([#958]) [#926]: #926 [#930]: #930 [#931]: #931 [#934]: #934 [#935]: #935 [#936]: #936 [#942]: #942 [#943]: #943 [#945]: #945 [#946]: #946 [#950]: #950 [#951]: #951 [#958]: #958 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Michael Birch <michael.birch@aurora.dev> Co-authored-by: Evgeny Ukhanov <evgeny@aurora.dev> Co-authored-by: dwiekawki <176287097+dwiekawki@users.noreply.github.com> Co-authored-by: dwiekawki <dwiekawki@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DemoYeti <164791169+DemoYeti@users.noreply.github.com> Co-authored-by: spilin <LyoshaKR@gmail.com>
Description
➡️ Added EVM CANCUN hard fork support. Based on SputnikVM release v0.42.0-aurora
➡️ Changed
engine-tests
that related to CACUN changes➡️ Solidity: updated to
0.8.25
which support CANCUN Features➡️ Extended Transactions fields for CANCUN hard fork requirements
Cancun hard fork
➡️ EVM impelentation of Cancun hard fork: aurora-is-near/sputnikvm/pull/39
Breaking changes
➡️ Transaction extended according to EIP-4844 requirements
Gas cost
Gas cost changed as expected insignificantly.
1 TGas
1 TGas