hiero-ledger / hiero-ledger/hiero-consensus-node
[A4 EPIC] Add Pectra Upgrade to Hedera EVM - HSCS
- Dominant language
- Java
- Stars
- 406
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
***Context***
We agreed on updating our EVM 1 quarter later than the Ethereum mainnet, for stability, adoption reasons.
As the Upgrade was done the 7th of May in ETH mainnet , its time to implement it.
***Dependencies***
To upgrade to Pectra, we need update besu to [25.4.1](https://github.com/hyperledger/besu/releases/tag/25.4.1)
We upgraded Besu to 25.2.2 and found a blocking issue mentioned here https://github.com/hiero-ledger/hiero-consensus-node/pull/18865
***What we wlll support***
All the included features are mentioned [here](https://eips.ethereum.org/EIPS/eip-7600)
_The ones that we will adopt as hedera and add value to the network_
[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Set EOA account code
[EIP-2537](https://eips.ethereum.org/EIPS/eip-2537): Precompile for BLS12-381 curve operations
[EIP-7623] (https://eips.ethereum.org/EIPS/eip-7623): Call data cost
_These are the ones we dont apply and the reason_
[EIP-7691](https://eips.ethereum.org/EIPS/eip-7691): Blob throughput increase
=>We dont support BLOBS
[EIP-7840](https://eips.ethereum.org/EIPS/eip-7840): Add blob schedule to EL config files (Informational)
=>We dont support BLOBS
[EIP-7002](https://eips.ethereum.org/EIPS/eip-7002): Execution layer triggerable exits
[EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Supply validator deposits on chain
[EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Increase the MAX_EFFECTIVE_BALANCE
[EIP-7685](https://eips.ethereum.org/EIPS/eip-7685): General purpose execution layer requests
=> Eth2 validator related
[EIP-7549](https://eips.ethereum.org/EIPS/eip-7549): Move committee index outside Attestation
[EIP-2935](https://eips.ethereum.org/EIPS/eip-2935): Save historical block hashes in state
=> L2 related
***Solutioning***
We will execute the execution tests for prague excluding the features we dont apply
https://github.com/ethereum/execution-spec-tests/tree/main/tests/prague
This execution tests, will be added to the new testing repo, on a new folder calle eth-execution-spec-tests
We will also add a new base folder, eth-ugrades, we we will add a pectra folder, and add a set of tests, covering a full EIP-7702 use cases
Contributor guide
Research direction
Start by reviewing the Besu 25.4.1 dependency and the blocking issue referenced in PR #18865. Then inspect the Prague execution tests and the planned testing-repository folders, eth-execution-spec-tests and eth-ugrades. Done means running the applicable Prague tests and adding coverage for the supported EIP-7702 use cases while excluding unsupported features.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- blockchain, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100