- Backward Compatibility
- Reference Implementation
This proposal specifies the activation of Shanghai features (introduced by Ethereum - L1) on Polygon PoS network (L2). This will enable a set of functionalities which are live on Ethereum Mainnet since Beacon Chain Epoch
1681338455, UTC datetime
4/12/2023 10:27:35 PM, fork hash
bor is a fork of
geth, the practice of merging upstream changes gives Polygon the opportunity to enable new features defined in the L1.
With the Shanghai PIP, we plan to upgrade our network with a subset of EIPs included in Ethereum.
The Shanghai PIP will enable the following upgrades:
- EIP-3651: Warm COINBASE
- EIP-3855: PUSH0 instruction
- EIP-3860: Limit and meter initcode
- EIP-6049: Deprecate SELFDESTRUCT
Compared to Ethereum Shanghai upgrade, the following EIP will not be included in Polygon specs:
The aforementioned EIP has been specifically excluded because Polygon PoS has no concept of beacon chain. Whilst Ethereum validators are now enabled to withdraw ETHs, in Polygon PoS chain the validators staking is done on Ethereum L1 directly, and its operations are synced with
bor chain by using
This PIP will not be backward compatible with the current implementation of
bor and will therefore require a hard fork.
The following PRs implements the changes from upstream
go-ethereum v1.11.6, including the mentioned Shanghai related EIPs.
New changes to the code will be made once the block heights for the hard forks (on testnet and mainnet) are defined.
All copyrights and related rights in this work are waived under CC0 1.0 Universal.