Skip to content

Commit

Permalink
Resolve TODOs in past network upgrades
Browse files Browse the repository at this point in the history
  • Loading branch information
dapplion committed Sep 10, 2024
1 parent 183f0d5 commit ede6c5d
Show file tree
Hide file tree
Showing 9 changed files with 56 additions and 26 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This repository hosts the current specifications for Gnosis chain and Gnosis bea
| London | 19040000 (Nov 12 2021) | [london.md](./network-upgrades/london.md) |
| Berlin | 16101500 (May 17 2021) | [berlin.md](./network-upgrades/berlin.md) |
| Istanbul | 7298030 (Dec 12 2019) | [istanbul.md](./network-upgrades/istanbul.md) |
| ?? | 2508800 (Mar 06 2019) | EIP-1283 Disable |
| Constantinople-B | 2508800 (Mar 06 2019) | [constantinople-b.md](./network-upgrades/constantinople-b.md) |
| Constantinople | 1604400 (Jan 11 2019) | [constantinople.md](./network-upgrades/constantinople.md) |
| Genesis | 0 | _TODO_ |

8 changes: 4 additions & 4 deletions network-upgrades/berlin.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ Table below list differences if any.

| EIP | |
| - | - |
| [EIP-2565](https://eips.ethereum.org/EIPs/eip-2565): ModExp Gas Cost | Not modified?
| [EIP-2718](https://eips.ethereum.org/EIPs/eip-2718): Typed Transaction Envelope | (**TODO included?**)
| [EIP-2929](https://eips.ethereum.org/EIPs/eip-2929): Gas cost increases for state access opcodes | Not modified?
| [EIP-2930](https://eips.ethereum.org/EIPs/eip-2930): Optional access lists | Not modified?
| [EIP-2565](https://eips.ethereum.org/EIPS/eip-2565): ModExp Gas Cost | Not modified
| [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718): Typed Transaction Envelope | Not modified
| [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929): Gas cost increases for state access opcodes | Not modified
| [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930): Optional access lists | Not modified

## Upgrade Schedule

Expand Down
25 changes: 25 additions & 0 deletions network-upgrades/constantinople-b.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Constantinople-B Upgrade Specification

## Included EIPs

This hard fork is unique to Gnosis Chain and sole
This hard fork activates all EIPs also activated on Ethereum mainnet [hard-fork EIP](https://eips.ethereum.org/EIPS/eip-1013).
Table below list differences if any.

| EIP | |
| - | - |
| [EIP-1283](https://eips.ethereum.org/EIPs/eip-1283): Net gas metering for SSTORE without dirty maps | **De-activated** |

## Differences with Ethereum mainnet

### [EIP-1283](https://eips.ethereum.org/EIPs/eip-1283)

[EIP-1283](https://eips.ethereum.org/EIPs/eip-1283) is de-activated reverting to the prior rules as specified in Genesis.

## Upgrade Schedule

| Network | Block | Date & Time (UTC) |
| ------- | ------- | ----------------------------- |
| Mainnet | 2508800 | Mar-06-2019 01:35:45 PM +UTC |


13 changes: 9 additions & 4 deletions network-upgrades/constantinople.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@ Table below list differences if any.

| EIP | |
| - | - |
| [EIP-145](https://eips.ethereum.org/EIPs/eip-145:) Bitwise shifting instructions in EVM | Not modified? |
| [EIP-1014](https://eips.ethereum.org/EIPs/eip-1014): Skinny CREATE2 | Not modified? |
| [EIP-1052](https://eips.ethereum.org/EIPs/eip-1052): EXTCODEHASH opcode | Not modified? |
| [EIP-1283](https://eips.ethereum.org/EIPs/eip-1283): Net gas metering for SSTORE without dirty maps (* what happened with this EIP?) | Not modified? |
| [EIP-145](https://eips.ethereum.org/EIPs/eip-145:) Bitwise shifting instructions in EVM | Not modified |
| [EIP-1014](https://eips.ethereum.org/EIPs/eip-1014): Skinny CREATE2 | Not modified |
| [EIP-1052](https://eips.ethereum.org/EIPs/eip-1052): EXTCODEHASH opcode | Not modified |
| [EIP-1283](https://eips.ethereum.org/EIPs/eip-1283): Net gas metering for SSTORE without dirty maps | Different scheduling |

## Differences with Ethereum mainnet

### [EIP-1283](https://eips.ethereum.org/EIPs/eip-1283)

[EIP-1283](https://eips.ethereum.org/EIPs/eip-1283) activated in Gnosis Chain but it never activated in Ethereum. Latter stages of testing in Ethereum revealed issues that lead to the deprecation of the EIP. Gnosis Chain de-activated the EIP in a latter fork [Constantinople-B](../constantinople-b.md).

## Upgrade Schedule

Expand Down
4 changes: 2 additions & 2 deletions network-upgrades/dencun.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ Table below list differences if any.
| - | - | - |
| [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153): Transient storage opcodes | EL | Not modified
| [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788): Beacon block root in the EVM | CL, EL | Not modified, same addresses as Ethereum
| [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844): Shard Blob Transactions | CL, EL | Constants maybe modified from Ethereum (* )
| [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844): Shard Blob Transactions | CL, EL | [**Modified constants**](#eip-4844)
| [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656): MCOPY - Memory copying instruction | EL | Not modified
| [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780): SELFDESTRUCT only in same transaction | EL | Not modified
| [EIP-7044](https://eips.ethereum.org/EIPS/eip-7044): Perpetually Valid Signed Voluntary Exits | CL | Not modified
| [EIP-7045](https://eips.ethereum.org/EIPS/eip-7045): Increase max attestation inclusion slot | CL | Not modified
| [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514): Add Max Epoch Churn Limit | CL | Constants maybe modified from Ethereum (* )
| [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514): Add Max Epoch Churn Limit | CL | [**Modified constants**](#eip-7514)
| [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516): BLOBBASEFEE opcode | EL | Not modified

\* See [Differences with Ethereum mainnet](#differences-with-ethereum-mainnet)
Expand Down
16 changes: 8 additions & 8 deletions network-upgrades/istanbul.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ Table below list differences if any.

| EIP | |
| - | - |
| [EIP-152](https://eips.ethereum.org/EIPs/eip-152): Add BLAKE2 compression function `F` precompile | Not modified?
| [EIP-1108](https://eips.ethereum.org/EIPs/eip-1108): Reduce alt_bn128 precompile gas costs | Not modifed?
| [EIP-1283](https://eips.ethereum.org/EIPs/eip-1283): Net gas metering for SSTORE without dirty maps | **Re-enable** disabled EIP in previous fork |
| [EIP-1344](https://eips.ethereum.org/EIPs/eip-1344): ChainID opcode | Not modified?
| [EIP-1706](https://eips.ethereum.org/EIPs/eip-1706): Disable SSTORE with gasleft lower than call stipend | Not modified?
| [EIP-1884](https://eips.ethereum.org/EIPs/eip-1884): Repricing for trie-size-dependent opcodes | Not modified?
| [EIP-2028](https://eips.ethereum.org/EIPs/eip-2028): Transaction data gas cost reduction | Not modified?
| [EIP-2200](https://eips.ethereum.org/EIPs/eip-2200): Structured Definitions for Net Gas Metering | (**Missing?**) Not modified?
| [EIP-152](https://eips.ethereum.org/EIPs/eip-152): Add BLAKE2 compression function `F` precompile | Not modified
| [EIP-1108](https://eips.ethereum.org/EIPs/eip-1108): Reduce alt_bn128 precompile gas costs | Not modifed
| [EIP-1283](https://eips.ethereum.org/EIPs/eip-1283): Net gas metering for SSTORE without dirty maps | **Re-enable** (legacy version disabled EIP in previous fork) |
| [EIP-1344](https://eips.ethereum.org/EIPs/eip-1344): ChainID opcode | Not modified
| [EIP-1706](https://eips.ethereum.org/EIPs/eip-1706): Disable SSTORE with gasleft lower than call stipend | Not modified
| [EIP-1884](https://eips.ethereum.org/EIPs/eip-1884): Repricing for trie-size-dependent opcodes | Not modified
| [EIP-2028](https://eips.ethereum.org/EIPs/eip-2028): Transaction data gas cost reduction | Not modified
| [EIP-2200](https://eips.ethereum.org/EIPs/eip-2200): Structured Definitions for Net Gas Metering | **Not included**

## Upgrade Schedule

Expand Down
8 changes: 4 additions & 4 deletions network-upgrades/london.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ This hard fork activates all EIPs also activated on Ethereum mainnet, [london sp

| EIP | |
| - | - |
| [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559): Fee market change for ETH 1.0 chain | Modified
| [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198): BASEFEE opcode | Not modified?
| [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529): Reduction in refunds | Not modified?
| [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541): Reject new contract code starting with the 0xEF byte | Not modified?
| [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559): Fee market change for ETH 1.0 chain | [**Modified**](#eip-1559)
| [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198): BASEFEE opcode | Not modified
| [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529): Reduction in refunds | Not modified
| [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541): Reject new contract code starting with the 0xEF byte | Not modified

## Differences with Ethereum mainnet

Expand Down
2 changes: 1 addition & 1 deletion network-upgrades/merge.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Table below list differences if any.

| EIP | Scope | |
| - | - | - |
| [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675): Upgrade consensus to Proof-of-Stake | CL, EL | Modified
| [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675): Upgrade consensus to Proof-of-Stake | CL, EL | [**Modified**](#eip-3675)
| [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399): Supplant DIFFICULTY opcode with PREVRANDAO | EL | Not modified

## Differences with Ethereum mainnet
Expand Down
4 changes: 2 additions & 2 deletions network-upgrades/shapella.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ Table below list differences if any.

| EIP | Scope | |
| - | - | - |
| [EIP-170](https://eips.ethereum.org/EIPS/eip-170): Contract code size limit | EL | Activated in Gnosis at a latter fork than Ethereum
| [EIP-170](https://eips.ethereum.org/EIPS/eip-170): Contract code size limit | EL | [**Different scheduling**](#eip-170) (at a latter fork than Ethereum)
| [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651): Warm COINBASE | EL | Not modified
| [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855): PUSH0 instruction | EL | Not modified
| [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860): Limit and meter initcode | EL | Not modified
| [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895): Beacon chain push withdrawals as operations | CL, EL | Modified
| [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895): Beacon chain push withdrawals as operations | CL, EL | [**Modified**](#eip-4895)
| [EIP-6049](https://eips.ethereum.org/EIPS/eip-6049): Deprecate SELFDESTRUCT | EL | Not modified

## Differences with Ethereum mainnet
Expand Down

0 comments on commit ede6c5d

Please sign in to comment.