aurora-is-near / aurora-engine

⚙️ Aurora Engine implements an Ethereum Virtual Machine (EVM) on the NEAR Protocol.
https://doc.aurora.dev/develop/compat/evm
322 stars 79 forks source link

Feat: add CANCUN hard fork support #926

Closed mrLSD closed 3 weeks ago

mrLSD commented 3 months ago

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.

mrLSD commented 3 weeks ago

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. [...] What do you think @aleksuss @mrLSD ?

@birchmd We didn't plan to support EIP-4844. But the transaction type was added for compatibility reasons.

But you reasonably point out that it's better just to remove supporting that type of transaction.

My reason for not support EIP-4844 on aurora-engine side is:

birchmd commented 3 weeks ago

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.

aleksuss commented 3 weeks ago

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.