From b11cdefd3db09986e44c8a641bf95be93362169b Mon Sep 17 00:00:00 2001 From: Tim Beiko Date: Thu, 8 Dec 2022 09:39:04 -0800 Subject: [PATCH] Update Shanghai and add Cancun Signed-off-by: Tim Beiko --- network-upgrades/mainnet-upgrades/cancun.md | 44 +++++++++++++++++++ network-upgrades/mainnet-upgrades/shanghai.md | 28 +++++------- 2 files changed, 54 insertions(+), 18 deletions(-) create mode 100644 network-upgrades/mainnet-upgrades/cancun.md diff --git a/network-upgrades/mainnet-upgrades/cancun.md b/network-upgrades/mainnet-upgrades/cancun.md new file mode 100644 index 0000000000..454e2e9db0 --- /dev/null +++ b/network-upgrades/mainnet-upgrades/cancun.md @@ -0,0 +1,44 @@ +## Cancun Network Upgrade Specification + +### Included EIPs +Changes included in the Network Upgrade. + +* [EIP-4844: Shard Blob Transactions](https://eips.ethereum.org/EIPS/eip-4844) + +### EIPs Considered for Inclusion +Changes [Considered for Inclusion](https://github.com/ethereum/execution-specs/tree/master/network-upgrades#definitions) as part of this upgrade, or potentially future ones. + +* [EIP-1153: Transient storage opcodes](https://eips.ethereum.org/EIPS/eip-1153) +* [EIP-2537: Precompile for BLS12-381 curve operations](https://eips.ethereum.org/EIPS/eip-2537) + +### Implementation Progresss + +Implementation status of Included & CFI'd EIPs across participating clients. + + +| EIP | [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153) | [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) | [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) | +|----------------|-----------------------------------------------------------------------|----------------------------------------------------------------------|---------------------------------------------------------------------------| +| **Geth** | [Merged](https://github.com/ethereum/go-ethereum/pull/26003) | [Merged](https://github.com/ethereum/go-ethereum/pull/21018) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26283) | +| **Besu** | [Not merged](https://github.com/hyperledger/besu/pull/4118) | [Merged](https://github.com/hyperledger/besu/pull/964) | | +| **Nethermind** | [Merged](https://github.com/NethermindEth/nethermind/pull/4126) | | [Not merged](https://github.com/NethermindEth/nethermind/pull/4858) | +| **Erigon** | [Not merged](https://github.com/ledgerwatch/erigon/pull/6133) | | | +| **EthereumJS** | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1860) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/785) | [Not merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2349) | + + +### Readiness Checklist + +**List of outstanding items before deployment.** + +- [ ] Client Integration Testing + - [ ] Deploy a Client Integration Testnet + - [ ] Integration Tests + - [ ] Fuzz Testing + - [ ] Select Fork Blocks + - [ ] Deploy Clients + - [ ] Geth + - [ ] Besu + - [ ] Nethermind + - [ ] OpenEthereum + - [ ] Erigon + - [ ] EthereumJS + - [ ] Pass Fork Blocks \ No newline at end of file diff --git a/network-upgrades/mainnet-upgrades/shanghai.md b/network-upgrades/mainnet-upgrades/shanghai.md index 23658e04c8..ee72f41b8b 100644 --- a/network-upgrades/mainnet-upgrades/shanghai.md +++ b/network-upgrades/mainnet-upgrades/shanghai.md @@ -3,35 +3,27 @@ ### Included EIPs Changes included in the Network Upgrade. +* [EIP-3540: EVM Object Format (EOF) v1](https://eips.ethereum.org/EIPS/eip-3540) * [EIP-3651: Warm COINBASE](https://eips.ethereum.org/EIPS/eip-3651) +* [EIP-3670: EOF - Code Validation](https://eips.ethereum.org/EIPS/eip-3670) * [EIP-3855: PUSH0 instruction](https://eips.ethereum.org/EIPS/eip-3855) * [EIP-3860: Limit and meter initcode](https://eips.ethereum.org/EIPS/eip-3860) -* [EIP-4895: Beacon chain push withdrawals as operations](https://eips.ethereum.org/EIPS/eip-4895) - -### EIPs Considered for Inclusion -Changes [Considered for Inclusion](https://github.com/ethereum/execution-specs/tree/master/network-upgrades#definitions) as part of this upgrade, or potentially future ones. - -* [EIP-1153: Transient storage opcodes](https://eips.ethereum.org/EIPS/eip-1153) -* [EIP-2537: Precompile for BLS12-381 curve operations](https://eips.ethereum.org/EIPS/eip-2537) -* [EIP-3540: EVM Object Format (EOF) v1](https://eips.ethereum.org/EIPS/eip-3540) -* [EIP-3670: EOF - Code Validation](https://eips.ethereum.org/EIPS/eip-3670) * [EIP-4200: EOF - Static relative jumps](https://eips.ethereum.org/EIPS/eip-4200) * [EIP-4750: EOF - Functions](https://eips.ethereum.org/EIPS/eip-4750) -* [EIP-4844: Shard Blob Transactions](https://eips.ethereum.org/EIPS/eip-4844) +* [EIP-4895: Beacon chain push withdrawals as operations](https://eips.ethereum.org/EIPS/eip-4895) * [EIP-5450: EOF - Stack Validation](https://eips.ethereum.org/EIPS/eip-5450) ### Implementation Progresss Implementation status of Included & CFI'd EIPs across participating clients. - -| EIP | [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153) | [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) | [EIP-3540](https://eips.ethereum.org/EIPS/eip-3540) | [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651) | [EIP-3670](https://eips.ethereum.org/EIPS/eip-3670) | [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855) | [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860) | [EIP-4200](https://eips.ethereum.org/EIPS/eip-4200) | [EIP-4750](https://eips.ethereum.org/EIPS/eip-4750) | [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) | [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) | [EIP-5450](https://eips.ethereum.org/EIPS/eip-5450) | -|------|------|------|------|------|------|------|------|------|------|------|------|------| -| **Geth** | [Merged](https://github.com/ethereum/go-ethereum/pull/26003) | [Merged](https://github.com/ethereum/go-ethereum/pull/21018) | [Not merged](https://github.com/ethereum/go-ethereum/pull/22958) | [Merged](https://github.com/ethereum/go-ethereum/pull/25819) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26133) | [Merged](https://github.com/ethereum/go-ethereum/pull/24039) | [Not merged](https://github.com/ethereum/go-ethereum/pull/23847) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26133) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26133) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26283) | [Not merged](https://github.com/ethereum/go-ethereum/pull/25838) | | -| **Besu** | [Not merged](https://github.com/hyperledger/besu/pull/4118) | [Merged](https://github.com/hyperledger/besu/pull/964) | [Merged](https://github.com/hyperledger/besu/pull/4644) | [Merged](https://github.com/hyperledger/besu/pull/4620) | [Merged](https://github.com/hyperledger/besu/pull/4644) | [Merged](https://github.com/hyperledger/besu/pull/4660) | [Merged](https://github.com/hyperledger/besu/pull/4726) | [Not merged](https://github.com/hyperledger/besu/pull/4760) | [Not merged](https://github.com/hyperledger/besu/pull/4781) | | [Not merged](https://github.com/hyperledger/besu/pull/4552) | | -| **Nethermind** | [Merged](https://github.com/NethermindEth/nethermind/pull/4126) | | [Not merged](https://github.com/NethermindEth/nethermind/pull/4608)| [Merged](https://github.com/NethermindEth/nethermind/pull/4594)|[Not merged](https://github.com/NethermindEth/nethermind/pull/4609)|[Merged](https://github.com/NethermindEth/nethermind/pull/4599) | [Merged](https://github.com/NethermindEth/nethermind/pull/4740) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4865) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4864) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4858) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4731) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4950) | -| **Erigon** | [Not merged](https://github.com/ledgerwatch/erigon/pull/6133) | | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | [Merged](https://github.com/ledgerwatch/erigon/pull/5745) | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | [Merged](https://github.com/ledgerwatch/erigon/pull/5256) | [Merged](https://github.com/ledgerwatch/erigon/pull/5892) | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | | Partly merged ([1](https://github.com/ledgerwatch/erigon/pull/6009), [2](https://github.com/ledgerwatch/erigon/pull/6180)) | | -| **EthereumJS** | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1860) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/785) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1719) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1814) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1743) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1616) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1619) | | | [Not merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2349) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2353) | | +| EIP | [EIP-3540](https://eips.ethereum.org/EIPS/eip-3540) | [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651) | [EIP-3670](https://eips.ethereum.org/EIPS/eip-3670) | [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855) | [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860) | [EIP-4200](https://eips.ethereum.org/EIPS/eip-4200) | [EIP-4750](https://eips.ethereum.org/EIPS/eip-4750) | [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) | [EIP-5450](https://eips.ethereum.org/EIPS/eip-5450) | +|----------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------|---------------------------------------------------------------------|---------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------| +| **Geth** | [Not merged](https://github.com/ethereum/go-ethereum/pull/22958) | [Merged](https://github.com/ethereum/go-ethereum/pull/25819) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26133) | [Merged](https://github.com/ethereum/go-ethereum/pull/24039) | [Not merged](https://github.com/ethereum/go-ethereum/pull/23847) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26133) | [Not merged](https://github.com/ethereum/go-ethereum/pull/26133) | [Not merged](https://github.com/ethereum/go-ethereum/pull/25838) | | +| **Besu** | [Merged](https://github.com/hyperledger/besu/pull/4644) | [Merged](https://github.com/hyperledger/besu/pull/4620) | [Merged](https://github.com/hyperledger/besu/pull/4644) | [Merged](https://github.com/hyperledger/besu/pull/4660) | [Merged](https://github.com/hyperledger/besu/pull/4726) | [Not merged](https://github.com/hyperledger/besu/pull/4760) | [Not merged](https://github.com/hyperledger/besu/pull/4781) | [Not merged](https://github.com/hyperledger/besu/pull/4552) | | +| **Nethermind** | [Not merged](https://github.com/NethermindEth/nethermind/pull/4608) | [Merged](https://github.com/NethermindEth/nethermind/pull/4594) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4609) | [Merged](https://github.com/NethermindEth/nethermind/pull/4599) | [Merged](https://github.com/NethermindEth/nethermind/pull/4740) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4865) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4864) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4731) | [Not merged](https://github.com/NethermindEth/nethermind/pull/4950) | +| **Erigon** | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | [Merged](https://github.com/ledgerwatch/erigon/pull/5745) | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | [Merged](https://github.com/ledgerwatch/erigon/pull/5256) | [Merged](https://github.com/ledgerwatch/erigon/pull/5892) | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | [Not merged](https://github.com/ledgerwatch/erigon/pull/6215) | Partly merged ([1](https://github.com/ledgerwatch/erigon/pull/6009), [2](https://github.com/ledgerwatch/erigon/pull/6180)) | | +| **EthereumJS** | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1719) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1814) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1743) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1616) | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/1619) | | | [Merged](https://github.com/ethereumjs/ethereumjs-monorepo/pull/2353) | | ### Readiness Checklist