Skip to content

Create Granite notice page skeleton #870

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pages/builders/node-operators/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,5 @@ We follow a consistent tagging convention to make it easier to find the right im

| Network | op-node | op-geth |
| ---------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| OP Mainnet | [v1.7.7](https://github.com/ethereum-optimism/optimism/releases/tag/v1.7.7) | [v1.101315.2](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101315.2) |
| OP Sepolia | [v1.7.7](https://github.com/ethereum-optimism/optimism/releases/tag/v1.7.7) | [v1.101315.2](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101315.2) |
| OP Mainnet | [v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) | [v1.101408.0](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0) |
| OP Sepolia | [v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) | [v1.101408.0](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0) |
4 changes: 2 additions & 2 deletions pages/builders/notices/_meta.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"fp-changes": "Preparing for Fault Proofs Breaking Changes",
"fjord-changes": "Preparing for Fjord Breaking Changes"
"granite-changes": "Preparing for Granite Breaking Changes",
"fp-changes": "Preparing for Fault Proofs Breaking Changes"
}
137 changes: 0 additions & 137 deletions pages/builders/notices/fjord-changes.mdx

This file was deleted.

82 changes: 82 additions & 0 deletions pages/builders/notices/granite-changes.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
title: Preparing for Granite Breaking Changes
lang: en-US
description: Learn how to prepare for Granite upgrade breaking changes.
---

import { Steps, Callout } from 'nextra/components'

# Preparing for Granite Breaking Changes

This page outlines breaking changes related to the Granite network upgrade for chain operators and node operators.
If you experience difficulty at any stage of this process, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).

<Callout type="info">
The Granite upgrade for OP Sepolia was activated on **1723478400 - Mon Aug 12 16:00:00 UTC**. The Granite OP Mainnet upgrade will be optimistically activated **1726070401 - Tue 11 Sep 2024 16:00:01 UTC**, pending [governance approval](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733).
</Callout>
Comment on lines +9 to +16
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Improve conciseness and clarity.

The introductory section is well-written but can be improved for conciseness and clarity.

Apply this diff to improve the section:

-This page outlines breaking changes related to the Granite network upgrade for chain operators and node operators.
-If you experience difficulty at any stage of this process, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).
+This page outlines breaking changes related to the Granite network upgrade for chain and node operators.
+If you experience any difficulty, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).

 <Callout type="info">
-  The Granite upgrade for OP Sepolia was activated on **1723478400 - Mon Aug 12 16:00:00 UTC**.  The Granite OP Mainnet upgrade will be optimistically activated **1726070401 - Tue 11 Sep 2024 16:00:01 UTC**, pending [governance approval](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733).
+  The Granite upgrade for OP Sepolia was activated on **1723478400 - Mon Aug 12 16:00:00 UTC**. The Granite OP Mainnet upgrade will be activated **1726070401 - Tue 11 Sep 2024 16:00:01 UTC**, pending [governance approval](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733).
 </Callout>
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Preparing for Granite Breaking Changes
This page outlines breaking changes related to the Granite network upgrade for chain operators and node operators.
If you experience difficulty at any stage of this process, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).
<Callout type="info">
The Granite upgrade for OP Sepolia was activated on **1723478400 - Mon Aug 12 16:00:00 UTC**. The Granite OP Mainnet upgrade will be optimistically activated **1726070401 - Tue 11 Sep 2024 16:00:01 UTC**, pending [governance approval](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733).
</Callout>
# Preparing for Granite Breaking Changes
This page outlines breaking changes related to the Granite network upgrade for chain and node operators.
If you experience any difficulty, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).
<Callout type="info">
The Granite upgrade for OP Sepolia was activated on **1723478400 - Mon Aug 12 16:00:00 UTC**. The Granite OP Mainnet upgrade will be activated **1726070401 - Tue 11 Sep 2024 16:00:01 UTC**, pending [governance approval](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733).
</Callout>


## What's Included in Granite

This upgrade is proposed in response to security vulnerabilities identified during a series of third-party security audits by Spearbit, Cantina, and Code4rena. None of the vulnerabilities have been exploited, and user assets are not and were never at risk. However, out of an abundance of caution, the permissioned fallback mechanism has been activated in order to avoid any potential instability while the vulnerabilities are patched. For more information on the permissioned fallback mechanism and the OP Stack's defense-in-depth approach to Fault Proof security, see the [fault proof documentation](https://docs.optimism.io/stack/protocol/fault-proofs/fp-security).

The upgrade includes both a set of smart contract upgrades to fix the vulnerabilities identified in the audit as well as an L2 hardfork to improve the stability and performance of the fault proof system. In addition, we propose extending the capabilities of the Guardian and DeputyGuardian to set the anchor state for the fault proof system in order to prevent referencing invalid anchor states. Aside from implementing these fixes, the primary impact of this upgrade would be to reset user withdrawals at the planned time, similar to the initial Fault Proof upgrade.

Please refer to the [governance proposal](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733) for the full details.
Comment on lines +18 to +24
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Improve conciseness and grammatical correctness.

The section is informative but can be improved for conciseness and grammatical correctness.

Apply this diff to improve the section:

-This upgrade is proposed in response to security vulnerabilities identified during a series of third-party security audits by Spearbit, Cantina, and Code4rena. None of the vulnerabilities have been exploited, and user assets are not and were never at risk. However, out of an abundance of caution, the permissioned fallback mechanism has been activated in order to avoid any potential instability while the vulnerabilities are patched. For more information on the permissioned fallback mechanism and the OP Stack's defense-in-depth approach to Fault Proof security, see the [fault proof documentation](https://docs.optimism.io/stack/protocol/fault-proofs/fp-security).
+This upgrade is proposed in response to security vulnerabilities identified during third-party security audits by Spearbit, Cantina, and Code4rena. None of the vulnerabilities have been exploited, and user assets are not and were never at risk. However, out of an abundance of caution, the permissioned fallback mechanism has been activated to avoid any potential instability while the vulnerabilities are patched. For more information on the permissioned fallback mechanism and the OP Stack's defense-in-depth approach to Fault Proof security, see the [fault proof documentation](https://docs.optimism.io/stack/protocol/fault-proofs/fp-security).

-The upgrade includes both a set of smart contract upgrades to fix the vulnerabilities identified in the audit as well as an L2 hardfork to improve the stability and performance of the fault proof system. In addition, we propose extending the capabilities of the Guardian and DeputyGuardian to set the anchor state for the fault proof system in order to prevent referencing invalid anchor states. Aside from implementing these fixes, the primary impact of this upgrade would be to reset user withdrawals at the planned time, similar to the initial Fault Proof upgrade. 
+The upgrade includes a set of smart contract upgrades to fix the vulnerabilities identified in the audit and an L2 hardfork to improve the stability and performance of the fault proof system. In addition, we propose extending the capabilities of the Guardian and DeputyGuardian to set the anchor state for the fault proof system to prevent referencing invalid anchor states. Aside from implementing these fixes, the primary impact of this upgrade would be to reset user withdrawals at the planned time, similar to the initial Fault Proof upgrade.

 Please refer to the [governance proposal](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733) for the full details.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## What's Included in Granite
This upgrade is proposed in response to security vulnerabilities identified during a series of third-party security audits by Spearbit, Cantina, and Code4rena. None of the vulnerabilities have been exploited, and user assets are not and were never at risk. However, out of an abundance of caution, the permissioned fallback mechanism has been activated in order to avoid any potential instability while the vulnerabilities are patched. For more information on the permissioned fallback mechanism and the OP Stack's defense-in-depth approach to Fault Proof security, see the [fault proof documentation](https://docs.optimism.io/stack/protocol/fault-proofs/fp-security).
The upgrade includes both a set of smart contract upgrades to fix the vulnerabilities identified in the audit as well as an L2 hardfork to improve the stability and performance of the fault proof system. In addition, we propose extending the capabilities of the Guardian and DeputyGuardian to set the anchor state for the fault proof system in order to prevent referencing invalid anchor states. Aside from implementing these fixes, the primary impact of this upgrade would be to reset user withdrawals at the planned time, similar to the initial Fault Proof upgrade.
Please refer to the [governance proposal](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733) for the full details.
## What's Included in Granite
This upgrade is proposed in response to security vulnerabilities identified during third-party security audits by Spearbit, Cantina, and Code4rena. None of the vulnerabilities have been exploited, and user assets are not and were never at risk. However, out of an abundance of caution, the permissioned fallback mechanism has been activated to avoid any potential instability while the vulnerabilities are patched. For more information on the permissioned fallback mechanism and the OP Stack's defense-in-depth approach to Fault Proof security, see the [fault proof documentation](https://docs.optimism.io/stack/protocol/fault-proofs/fp-security).
The upgrade includes a set of smart contract upgrades to fix the vulnerabilities identified in the audit and an L2 hardfork to improve the stability and performance of the fault proof system. In addition, we propose extending the capabilities of the Guardian and DeputyGuardian to set the anchor state for the fault proof system to prevent referencing invalid anchor states. Aside from implementing these fixes, the primary impact of this upgrade would be to reset user withdrawals at the planned time, similar to the initial Fault Proof upgrade.
Please refer to the [governance proposal](https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733) for the full details.
Tools
LanguageTool

[style] ~20-~20: Consider a shorter alternative to avoid wordiness.
Context: ...d fallback mechanism has been activated in order to avoid any potential instability while t...

(IN_ORDER_TO_PREMIUM)


[grammar] ~22-~22: Probable usage error. Use “and” after ‘both’.
Context: ...vulnerabilities identified in the audit as well as an L2 hardfork to improve the stability...

(BOTH_AS_WELL_AS)


[style] ~22-~22: Consider a shorter alternative to avoid wordiness.
Context: ...anchor state for the fault proof system in order to prevent referencing invalid anchor stat...

(IN_ORDER_TO_PREMIUM)


## For Chain Operators

The proposed Granite upgrade impacts OP chains and requires chain operators to upgrade their chain and configure the sequencer for Granite.

<Steps>

### Prepare Sequencer Node

<Callout type="warning">
If you are operating an OP Chain that has an entry in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), the Granite activation date is part of the `op-node` and `op-geth` nodes, and are using the [--network](/builders/node-operators/configuration/consensus-config#network) and [--op-network](/builders/node-operators/configuration/execution-config#op-network-betaop-network) flags. No action is needed for the sequencer after preparing the `SystemConfig` transaction.
</Callout>

For custom chains not included in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), you will need to manually configure the [activation timestamp](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml). You have two configuration options for your sequencer node:

* **Option 1:** Set the Granite activation date in your `rollup.json` config file. You will still need to set the `override.granite` flag in `op-geth` with the UNIX timestamp.
* **Option 2:** Alternatively, chain operators can use the override flags to configure your sequencer node by specifying a time in the future when Granite will activate.
* Set `override.granite` in both `op-node` and `op-geth` to the UNIX timestamp of the block you want to activate the Granite hardfork or corresponding env vars for this.
* In general, run `op-node --help` or `op-geth --help` to see flags, their descriptions and environment variables.
</Steps>

<Callout type="info">
To verify proper configuration, chain operators should confirm in the startup logs of their `op-node` and `op-geth` that the correct Granite activation timestamps are set.
</Callout>

## For Node Operators

Node operators will need to upgrade to Granite before the activation date.
The op-node release [v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1)
and op-geth release [v1.101408.0](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0) contain these changes.

These following steps are necessary for every node operator:

<Steps>
### Update to the Latest Release

* [`op-node`](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1)
* [`op-geth`](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0)

### Configure the Granite Activation Date

<Callout type="warning">
If you are operating a node for an OP Chain that has an entry in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), the Granite activation date is part of the `op-node` and `op-geth` nodes. So, no action is needed for the sequencer after upgrading to the latest release. Please skip to [Step 3: Verify Your Configuration](#verify-your-configuration).
</Callout>

For node operators of custom chains not included in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), you will need to manually configure the [activation timestamp](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml). This can be done one of two ways:

* **Option 1:** Set the activation time in the `rollup.json` for `op-node`. You will still need to set the `override.granite` flag in `op-geth` if you use this option.
* **Option 2:** Set the activation time via overrides (CLI) in both `op-node` and `op-geth`. These will need to be set on `op-node` and `op-geth` for the sequencer and all other nodes.

### Verify Your Configuration

Make the following checks to verify that your node is properly configured.

* `op-node` and `op-geth` will log their configurations at startup
* Check that the Granite time is set to `activation-timestamp` in the op-node startup logs
* Check that the Granite time is set to `activation-timestamp` in the op-geth startup logs
</Steps>
Comment on lines +26 to +82
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Improve clarity and conciseness.

The sections for chain operators and node operators are well-written but can be improved for clarity and conciseness.

Apply this diff to improve the sections:

-The proposed Granite upgrade impacts OP chains and requires chain operators to upgrade their chain and configure the sequencer for Granite.
+The proposed Granite upgrade impacts OP chains and requires chain operators to upgrade their chain and configure the sequencer.

 <Steps>

-  ### Prepare Sequencer Node
+  ### Prepare the Sequencer Node

   <Callout type="warning">
-    If you are operating an OP Chain that has an entry in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), the Granite activation date is part of the `op-node` and `op-geth` nodes, and are using the [--network](/builders/node-operators/configuration/consensus-config#network) and [--op-network](/builders/node-operators/configuration/execution-config#op-network-betaop-network) flags. No action is needed for the sequencer after preparing the `SystemConfig` transaction. 
+    If you are operating an OP Chain that has an entry in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), the Granite activation date is part of the `op-node` and `op-geth` nodes, and you are using the [--network](/builders/node-operators/configuration/consensus-config#network) and [--op-network](/builders/node-operators/configuration/execution-config#op-network-betaop-network) flags. No action is needed for the sequencer after preparing the `SystemConfig` transaction.
   </Callout>

-  For custom chains not included in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), you will need to manually configure the [activation timestamp](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml). You have two configuration options for your sequencer node:
+  For custom chains not included in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), you will need to manually configure the [activation timestamp](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml). You have two configuration options:

   *   **Option 1:** Set the Granite activation date in your `rollup.json` config file. You will still need to set the `override.granite` flag in `op-geth` with the UNIX timestamp.
   *   **Option 2:** Alternatively, chain operators can use the override flags to configure the sequencer node by specifying a time in the future when Granite will activate.
       *   Set `override.granite` in both `op-node` and `op-geth` to the UNIX timestamp of the block you want to activate the Granite hardfork or corresponding env vars for this.
       *   In general, run `op-node --help` or `op-geth --help` to see flags, their descriptions, and environment variables.

 <Callout type="info">
-  To verify proper configuration, chain operators should confirm in the startup logs of their `op-node` and `op-geth` that the correct Granite activation timestamps are set.
+  To verify proper configuration, chain operators should confirm in the startup logs of their `op-node` and `op-geth` that the correct Granite activation timestamps are set.
 </Callout>

 ## For Node Operators

-Node operators will need to upgrade to Granite before the activation date. 
+Node operators will need to upgrade to Granite before the activation date.
 The op-node release [v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1)
 and op-geth release [v1.101408.0](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0) contain these changes.

-These following steps are necessary for every node operator:
+The following steps are necessary for every node operator:

 <Steps>
-  ### Update to the Latest Release
+  ### Update to the Latest Releases

   *   [`op-node`](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1)
   *   [`op-geth`](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101408.0)

-  ### Configure the Granite Activation Date
+  ### Configure the Granite Activation Dates

   <Callout type="warning">
-    If you are operating a node for an OP Chain that has an entry in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), the Granite activation date is part of the `op-node` and `op-geth` nodes. So, no action is needed for the sequencer after upgrading to the latest release. Please skip to [Step 3: Verify Your Configuration](#verify-your-configuration).
+    If you are operating a node for an OP Chain that has an entry in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), the Granite activation date is part of the `op-node` and `op-geth` nodes. So, no action is needed for the sequencer after upgrading to the latest release. Please skip to [Step 3: Verify Your Configuration](#verify-your-configuration).
   </Callout>

-  For node operators of custom chains not included in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), you will need to manually configure the [activation timestamp](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml). This can be done one of two ways:
+  For node operators of custom chains not included in the [`superchain-registry`](https://github.com/ethereum-optimism/superchain-registry/blob/main/chainList.json), you will need to manually configure the [activation timestamp](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/superchain.toml). This can be done in one of two ways:

   *   **Option 1:** Set the activation time in the `rollup.json` for `op-node`. You will still need to set the `override.granite` flag in `op-geth` if you use this option.
   *   **Option 2:** Set the activation time via overrides (CLI) in both `op-node` and `op-geth`. These will need to be set on `op-node` and `op-geth` for the sequencer and all other nodes.

-  ### Verify Your Configuration
+  ### Verify the Configuration

   Make the following checks to verify that your node is properly configured.

   *   `op-node` and `op-geth` will log their configurations at startup
   *   Check that the Granite time is set to `activation

<!-- This is an auto-generated comment by CodeRabbit -->

1 change: 0 additions & 1 deletion words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ Drand
Eigen
ENABLEDEPRECATEDPERSONAL
enabledeprecatedpersonal
enablements
enginekind
Erigon
erigon
Expand Down
Loading