hiero-ledger / hiero-ledger/hiero-consensus-node

[A4 EPIC] Add Pectra Upgrade to Hedera EVM - HSCS

Open
#20,043 0 comments 0 reactions 0 assignees View on GitHub
Hedera Smart Contract Service
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.