Skip to content

Commit 2b4f379

Browse files
mgarbslukelee-slNana-EC
authored
chore: Update HIP-1341 headers and date (#1372)
Signed-off-by: Luke Lee <luke.lee@hashgraph.com> Signed-off-by: Michael Garber <michael.garber@hashgraph.com> Co-authored-by: Luke Lee <luke.lee@hashgraph.com> Co-authored-by: Nana Essilfie-Conduah <56320167+Nana-EC@users.noreply.github.com>
1 parent 8437795 commit 2b4f379

1 file changed

Lines changed: 153 additions & 0 deletions

File tree

HIP/hip-1341.md

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
---
2+
hip: 1341
3+
title: Support for Ethereum Pectra Release
4+
author: Luke Lee(@lukelee-sl), Lukasz Gasior(@lukasz-hashgraph)
5+
working-group: Fernando Paris(@Ferparishuertas), Luis Mastrangelo(@acuarica)
6+
discussions-to: https://github.com/hiero-ledger/hiero-improvement-proposals/pull/1341
7+
type: Standards Track
8+
category: Service
9+
needs-hiero-approval: Yes
10+
needs-hedera-review: Yes
11+
hedera-review-date:
12+
hedera-acceptance-decision:
13+
status: Review
14+
created: 2025-11-14
15+
updated: 2026-01-14
16+
requires: 1340
17+
---
18+
19+
## Abstract
20+
Ethereum's [Pectra upgrade](https://ethereum.org/roadmap/pectra/) (activated May 7, 2025) introduced [11 EIPs](https://eips.ethereum.org/EIPS/eip-7600), but not all of them are applicable to the Hiero network.
21+
This HIP defines the adoption of Pectra for the Smart Contract Service by distinguishing which EIPs are applicable to Hiero versus non-applicable.
22+
23+
## Motivation
24+
To maintain EVM compatibility, applicable EIPs introduced in Ethereum's Pectra upgrade must be supported by the Hiero network.
25+
26+
## Rationale
27+
Maintaining EVM compatibility is a core goal of the Hiero network, so updates from Ethereum releases must be adopted.
28+
However, not every EIP needs to be implemented. Each EIP needs to be evaluated individually for applicability.
29+
Some EIPs address functionality that is (i) not supported by Hiero (e.g., blobs), (ii) aimed at improving validators—which have no Hiero equivalent—or
30+
(iii) focuses on layers outside of L1 execution engine. All other EIPs should be considered for support.
31+
32+
## User stories
33+
- As a smart contract developer, I want to access BLS12-381 precompiles as described in EIP-2537.
34+
- As a smart contract developer, I expect the gas cost for call data to increase as described in EIP-7623 so that gas costs are consistent with Ethereum after the Pectra release.
35+
- As a smart contract developer, I want to set code for EOAs and execute it when the EOA address is called, as described in EIP-7702 so that new use cases such as batching, sponsorship and privilege de-escalation become possible.
36+
- As an end user, I want to be able to be able to call an EOA that has executable code so that I can make use of new use cases made available by EIP-7702.
37+
- As an EOA, I want to be able to set execution code for myself via signing an authorization and including the authorization in a transaction so that I can add smart contract functionalities and improved user experience without the need to migrate assets to a new wallet address. .
38+
39+
## Specification
40+
The eleven EIPs in the Pectra release are listed below and categorized as either applicable or non-applicable to Hiero.
41+
42+
## **Applicable EIPs**
43+
44+
### EIP-2537
45+
46+
[EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) introduces new precompiles for BLS12-381 operations. Besu has already implemented these precompiles. The necessary work for Hiero is to make them available within HSCS. The new precompile functions and addresses are summarized in this table.
47+
These precompile functions can be called utilizing functions such as `call` and `staticcall`. BLS encryption offers features such as
48+
efficient aggregation, constant size and faster verification. While possible to implement in Solidity, the gas costs are prohibitive. The precompiles introduced in EIP-2537 provides a native implementation in order to provide efficient execution and lower gas cost.
49+
50+
| Function Name | Precompile address | How to use it | Input size (bytes) |
51+
|---------------------|--------------------|----------------------------------------------|--------------------|
52+
| BLS12_G1ADD | 0x0b | address(0x0b).call(abi.encodePacked(input)); | 256 |
53+
| BLS12_G1MSM | 0x0c | address(0x0c).call(abi.encodePacked(input)); | 160 * k slices |
54+
| BLS12_G2ADD | 0x0d | address(0x0d).call(abi.encodePacked(input)); | 512 |
55+
| BLS12_G2MSM | 0x0e | address(0x0e).call(abi.encodePacked(input)); | 288 * k slices |
56+
| BLS12_PAIRING_CHECK | 0x0f | address(0x0f).call(abi.encodePacked(input)); | 384 * k slices |
57+
| BLS12_MAP_FP_TO_G1 | 0x10 | address(0x10).call(abi.encodePacked(input)); | 64 |
58+
| BLS12_MAP_FP2_TO_G2 | 0x11 | address(0x11).call(abi.encodePacked(input)); | 128 |
59+
60+
The EIP specifies the input format for each precompile function. For more details, please refer to the EIP document.
61+
62+
### EIP-7623
63+
64+
[EIP-7623](https://eips.ethereum.org/EIPS/eip-7623) increases the gas cost of calldata to reduce the maximum block size. Although the limit to maximum block size and block gas limit do not directly apply to Hiero, for EVM equivalence, Hiero will also adopt these gas costs. The necessary changes have been implemented in the `PragueGasCalculator` in Besu, but these changes must be made available to the gas calculator used by Hiero SCS.
65+
66+
More specifically, the gas calculation remains the same but a minimum floor value defined as
67+
`TOTAL_COST_FLOOR_PER_TOKEN ***** tokens_in_calldata` is introduced
68+
69+
where `TOTAL_COST_FLOOR_PER_TOKEN = 10`
70+
71+
and `tokens_in_calldata = zero_bytes_in_calldata + nonzero_bytes_in_calldata * 4`
72+
73+
### EIP-7702
74+
75+
[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) is the most complex EIP to implement from the Pectra release. It allows for setting and executing contract code for EOAs. HIP-related details can be found in [HIP-1340](https://hips.hedera.com/hip/hip-1340).
76+
77+
### Non-Applicable EIPs
78+
79+
The non-applicable EIPs are described and categorized below.
80+
81+
- EIPs that enhance blob support. These are not applicable since Hiero does not support blobs.
82+
- [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691)
83+
- [EIP-7840](https://eips.ethereum.org/EIPS/eip-7840)
84+
- EIPs related to Ethereum validators. Hiero does not have validators, so these EIPs are not applicable.
85+
- [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110)
86+
- [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002)
87+
- [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251)
88+
- [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685)
89+
- EIPs related to Ethereum 2.0. These are not applicable since Hiero does not implement Ethereum 2.0 features.
90+
- [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935)
91+
- [EIP-7549](https://eips.ethereum.org/EIPS/eip-7549)
92+
93+
### Impact on Mirror Node
94+
EIP-2537 and EIP-7623 do not meaningfully impact the mirror node beyond normal acceptance of the new code once it is available for simulation.
95+
EIP-7702 impact can be found in the related [HIP-1340](https://hips.hedera.com/hip/hip-1340).
96+
97+
### Impact on JSON-RPC relay
98+
EIP-7623 changes the calculation for determining intrinsic gas. As this value is also calculated by the JSON-RPC relay, the relay must be updated to reflect the new calculation.
99+
EIP-7702 also changes the definition of intrinsic gas and the impact can be found in the related [HIP-1340](https://hips.hedera.com/hip/hip-1340).
100+
101+
### Impact on SDK
102+
EIP-2537 and EIP-7623 do not meaningfully impact the SDK.
103+
EIP-7702 impact can be found in the related [HIP-1340](https://hips.hedera.com/hip/hip-1340).
104+
105+
## Backwards Compatibility
106+
EIP-2537 does not impact backwards compatibility.
107+
EIP-7623 alters the gas consumption for transaction and this may impact new and subsequent interactions with existing contracts by end users seeing an increase in gas costs.
108+
109+
## Security Implications
110+
There are no known security implications from EIP-2537 and EIP-7623.
111+
EIP-7702 impact can be found in the related [HIP-1340](https://hips.hedera.com/hip/hip-1340).
112+
113+
## How to Teach This
114+
Hiero will support EIP-2537, EIP-7623, and EIP-7702 to maintain EVM compatibility. Other Pectra EIPs are not applicable to Hiero.
115+
Documentation for these and other Pectra related EIPs are available via the official Ethereum EIP website <eips.ethereum.org>
116+
117+
## Rejected Ideas
118+
With the implementation of [HIP-1086](https://hips.hedera.com/hip/hip-1086) which allows for jumbo transactions, the
119+
ability to support blobs was considered but ultimately rejected in this HIP as out of scope for the Pectra upgrade. A future HIP
120+
could be proposed to add blob support to Hiero and allow for the adoption of blob related EIPs from Pectra.
121+
122+
## Open Issues
123+
None.
124+
125+
## References
126+
[HIP-1340](https://hips.hedera.com/hip/hip-1340) Hedera Support for EIP-7702: Set EOA Account Code
127+
128+
[EIP-7600](https://eips.ethereum.org/EIPS/eip-7600) Pectra Hardfork
129+
[EIP-2537](https://eips.ethereum.org/EIPS/eip-2537): Precompile for BLS12-381 curve operations
130+
131+
[EIP-2935](https://eips.ethereum.org/EIPS/eip-2935): Save historical block hashes in state
132+
133+
[EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Supply validator deposits on chain
134+
135+
[EIP-7002](https://eips.ethereum.org/EIPS/eip-7002): Execution layer triggerable exits
136+
137+
[EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Increase the MAX_EFFECTIVE_BALANCE
138+
139+
[EIP-7549](https://eips.ethereum.org/EIPS/eip-7549): Move committee index outside Attestation
140+
141+
[EIP-7623](https://eips.ethereum.org/EIPS/eip-7623): Increase calldata cost
142+
143+
[EIP-7685](https://eips.ethereum.org/EIPS/eip-7685): General purpose execution layer requests
144+
145+
[EIP-7691](https://eips.ethereum.org/EIPS/eip-7691): Blob throughput increase
146+
147+
[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Set EOA account code
148+
149+
[EIP-7840](https://eips.ethereum.org/EIPS/eip-7840): Add blob schedule to EL config files (Informational)
150+
151+
## Copyright/license
152+
This document is licensed under the Apache License, Version 2.0 —
153+
see [LICENSE](../LICENSE) or <https://www.apache.org/licenses/LICENSE-2.0>.

0 commit comments

Comments
 (0)