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

Create Granite notice page skeleton #870

merged 2 commits into from
Aug 29, 2024

Conversation

bradleycamacho
Copy link
Member

Creates a notice page for the Granite upgrade.

Copy link
Contributor

coderabbitai bot commented Aug 29, 2024

Walkthrough

The granite-changes.mdx file has been introduced as a guide for developers and operators in preparation for the Granite network upgrade. It provides essential information and instructions for wallet and front-end developers, chain operators, and node operators, detailing necessary changes, configuration options, and steps for upgrading to ensure a smooth transition to the new network version. Additionally, updates were made to the release versions in the releases.mdx file and a modification to the _meta.json file to reflect the focus on Granite.

Changes

File Path Change Summary
pages/builders/notices/granite-changes.mdx Introduced a comprehensive guide for the Granite network upgrade, including instructions for developers and operators.
pages/builders/node-operators/releases.mdx Updated release versions for OP Mainnet and OP Sepolia from v1.7.7 to v1.9.1 and Geth versions from v1.101315.2 to v1.101408.0.
pages/builders/notices/_meta.json Changed the key from "fjord-changes" to "granite-changes" to reflect the new focus on Granite.
words.txt Removed the entry "enablements."

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Guide
    participant WalletDev
    participant ChainOperator
    participant NodeOperator

    User->>Guide: Access Granite upgrade instructions
    Guide->>WalletDev: Provide necessary changes and preparations
    Guide->>ChainOperator: Inform about upgrade implications and configurations
    Guide->>NodeOperator: Outline steps for upgrading to latest releases
Loading

Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 745d6fd and 28079a9.

Files selected for processing (4)
  • pages/builders/node-operators/releases.mdx (1 hunks)
  • pages/builders/notices/_meta.json (1 hunks)
  • pages/builders/notices/granite-changes.mdx (1 hunks)
  • words.txt (1 hunks)
Files skipped from review due to trivial changes (1)
  • words.txt
Additional context used
Path-based instructions (2)
pages/builders/node-operators/releases.mdx (1)

Pattern **/*.mdx: "ALWAYS review Markdown content THOROUGHLY with the following criteria:

  • Use proper nouns in place of personal pronouns like 'We' and 'Our' to maintain consistency in communal documentation.
  • Avoid gender-specific language and use the imperative form.
  • Monitor capitalization for emphasis. Use bold for prominence instead of all caps or italics.
  • Ensure proper nouns are capitalized in sentences.
  • Apply the Oxford comma.
  • Use proper title case for headers, buttons, tab names, page names, and links. Sentence case should be used for body content and short phrases, even in links.
  • Use correct spelling and grammar at all times (IMPORTANT).
    "
pages/builders/notices/granite-changes.mdx (1)

Pattern **/*.mdx: "ALWAYS review Markdown content THOROUGHLY with the following criteria:

  • Use proper nouns in place of personal pronouns like 'We' and 'Our' to maintain consistency in communal documentation.
  • Avoid gender-specific language and use the imperative form.
  • Monitor capitalization for emphasis. Use bold for prominence instead of all caps or italics.
  • Ensure proper nouns are capitalized in sentences.
  • Apply the Oxford comma.
  • Use proper title case for headers, buttons, tab names, page names, and links. Sentence case should be used for body content and short phrases, even in links.
  • Use correct spelling and grammar at all times (IMPORTANT).
    "
LanguageTool
pages/builders/notices/granite-changes.mdx

[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)

Additional comments not posted (6)
pages/builders/notices/_meta.json (1)

2-2: LGTM!

The change from "fjord-changes" to "granite-changes" is straightforward and aligns with the shift in focus.

pages/builders/node-operators/releases.mdx (3)

42-42: LGTM!

The update to the release version for OP Mainnet from v1.7.7 to v1.9.1 is approved.


43-43: LGTM!

The update to the release version for OP Sepolia from v1.7.7 to v1.9.1 is approved.


42-43: LGTM!

The update to the Geth versions from v1.101315.2 to v1.101408.0 is approved.

pages/builders/notices/granite-changes.mdx (2)

1-5: LGTM!

The metadata section is correctly formatted and provides necessary information.


7-7: LGTM!

The import statement is correctly formatted and imports necessary components.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

netlify bot commented Aug 29, 2024

Deploy Preview for docs-optimism ready!

Name Link
🔨 Latest commit 28079a9
🔍 Latest deploy log https://app.netlify.com/sites/docs-optimism/deploys/66d0dfc4fc374700085313fb
😎 Deploy Preview https://deploy-preview-870--docs-optimism.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@sbvegan sbvegan merged commit 40707a2 into main Aug 29, 2024
8 checks passed
@sbvegan sbvegan deleted the granite-notice-page branch August 29, 2024 20:56
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Comment on lines +26 to +82
## 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>
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 -->

Comment on lines +9 to +16
# 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>
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>

Comment on lines +18 to +24
## 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.
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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants