ACP-24: Shanghai Eips

Details for Avalanche Community Proposal 24: Shanghai Eips

ACP24
TitleActivate Shanghai EIPs on C-Chain
Author(s)Darioush Jalali (@darioush)
StatusActivated
TrackStandards

Abstract

This ACP proposes the adoption of the following EIPs on the Avalanche C-Chain network:

Motivation

The listed EIPs were activated on Ethereum mainnet as part of the Shanghai upgrade. This ACP proposes their activation on the Avalanche C-Chain in the next network upgrade. This maintains compatibility with upstream EVM tooling, infrastructure, and developer experience (e.g., Solidity compiler >= 0.8.20).

Specification & Reference Implementation

This ACP proposes the EIPs be adopted as specified in the EIPs themselves. ANCs (Avalanche Network Clients) can adopt the implementation as specified in the coreth repository, which was adopted from the go-ethereum v1.12.0 release in this PR. In particular, note the following code:

Backwards Compatibility

The following backward compatibility considerations were highlighted by the original EIP authors:

  • EIP-3855: "... introduces a new opcode which did not exist previously. Already deployed contracts using this opcode could change their behaviour after this EIP".
  • EIP-3860 "Already deployed contracts should not be effected, but certain transactions (with initcode beyond the proposed limit) would still be includable in a block, but result in an exceptional abort."

Adoption of this ACP modifies consensus rules for the C-Chain, therefore it requires a network upgrade.

Security Considerations

Refer to the original EIPs for security considerations:

Open Questions

No open questions.

Copyright and related rights waived via CC0.

Is this guide helpful?

Report Issue

On this page