Skip to content

op-deployer + opcm documentation #934

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 13 commits into from
Oct 3, 2024
Merged

op-deployer + opcm documentation #934

merged 13 commits into from
Oct 3, 2024

Conversation

sbvegan
Copy link
Collaborator

@sbvegan sbvegan commented Sep 26, 2024

Description

Adding first draft to the op-deployer and opcm documentation

@sbvegan sbvegan requested a review from a team as a code owner September 26, 2024 20:16
Copy link
Contributor

coderabbitai bot commented Sep 26, 2024

Walkthrough

The pull request introduces several changes across multiple files, primarily focusing on updating labels in the _meta.json files for operator tools and adding new documentation for the op-deployer and OP Contracts Manager (OPCM). These modifications enhance clarity and usability in the configuration and deployment processes for OP Stack chains.

Changes

File Path Change Summary
pages/builders/chain-operators/tools/_meta.json Updated label for "op-conductor" to "Conductor" and added new label "op-deployer": "Deployer"; unchanged labels for "op-challenger" and "explorer".
pages/builders/chain-operators/tools/op-deployer.mdx Introduced documentation for the op-deployer tool, outlining its functionality and deployment steps.
pages/stack/_meta.json Added new key-value pair "--- Experimental": { "title": "Experimental", "type": "separator" } and "opcm": "OP Contracts Manager".
pages/stack/experimental/_meta.json Added new _meta.json file containing the key-value pair "opcm": "OP Contracts Manager".
pages/stack/experimental/opcm.mdx Introduced documentation for the OP Contracts Manager (OPCM), detailing its deployment capabilities for Layer 1 contracts.
words.txt Added new entries: OPCM, opcm, Terraform, and Terrafrom to expand the recognized terms.

Possibly related PRs

  • 3 new node pages #679: This PR involves changes to the _meta.json file, which is relevant as it also deals with the configuration of operators, similar to the updates made in the main PR's _meta.json.
  • Deploy section #729: The changes in this PR include updates to configuration documentation, which may relate to the operator labels updated in the main PR.
  • challenger docs #759: This PR introduces documentation for the op-challenger, which is part of the broader context of operator tools, similar to the updates made in the main PR.
  • adding op-conductor documentation #818: This PR adds documentation for the op-conductor, which directly relates to the changes made in the main PR regarding the op-conductor label in _meta.json.
  • interop explainers #825: This PR introduces interop explainers, which may relate to the overall context of operator functionalities and enhancements in the main PR.
  • Add ETH and ERC-20 transfer clarification #930: This PR clarifies the transferability of ETH and ERC-20 tokens, which could be relevant in the context of operator functionalities discussed in the main PR.

Suggested labels

documentation

Suggested reviewers

  • bradleycamacho

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>, please review it.
    • 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 gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @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.

@sbvegan sbvegan marked this pull request as draft September 26, 2024 20:16
Copy link

netlify bot commented Sep 26, 2024

Deploy Preview for docs-optimism ready!

Name Link
🔨 Latest commit 6a41011
🔍 Latest deploy log https://app.netlify.com/sites/docs-optimism/deploys/66fe2f8aaeb8260008f20d36
😎 Deploy Preview https://deploy-preview-934--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.

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: 5

🧹 Outside diff range and nitpick comments (9)
pages/stack/experimental/_meta.json (1)

1-3: LGTM! Consider adding a brief comment.

The JSON structure is correct and the key-value pair aligns with the PR objectives. The file appears to be defining a label for the "opcm" (OP Contracts Manager) feature.

Consider adding a brief comment at the top of the file to explain its purpose, for example:

+// Metadata for experimental stack features
 {
     "opcm": "OP Contracts Manager"
 }

This would help other developers understand the file's role in the project structure.

pages/builders/chain-operators/tools/_meta.json (2)

1-5: Consider consistent label formats

For improved clarity and user experience, consider updating the labels for "op-challenger" and "explorer" to match the concise format of "Conductor" and "Deployer". This could look like:

{
  "op-challenger": "Challenger",
  "op-conductor": "Conductor",
  "op-deployer": "Deployer",
  "explorer": "Explorer"
}

This consistency would make the documentation more intuitive and easier to navigate.


1-5: Consider alphabetical ordering

To enhance readability and make it easier to locate specific items, especially as the list grows, consider ordering the entries alphabetically. This is a common practice in documentation. The file could be restructured as follows:

{
  "explorer": "Block Explorer",
  "op-challenger": "Configure Challenger For Your Chain",
  "op-conductor": "Conductor",
  "op-deployer": "Deployer"
}

This ordering would make the structure more predictable for users navigating the documentation.

pages/stack/_meta.json (1)

11-12: LGTM! Consider adding a brief comment for clarity.

The additions of "operators" and "experimental" entries are consistent with the existing structure and will enhance the documentation coverage. These new sections align well with the PR objectives of introducing documentation for op-deployer and opcm.

Consider adding a brief comment above these new entries to provide context, especially for the "experimental" section. For example:

  "security": "Security",
+  // New sections for advanced users and experimental features
  "operators": "Operators",
  "experimental": "Experimental"

This comment would help other contributors understand the purpose of these sections at a glance.

pages/stack/experimental/opcm.mdx (4)

10-15: Minor improvements needed in the introduction.

The introduction effectively explains the purpose of the OP Contracts Manager. However, there are two minor issues to address:

  1. In line 14, "Optimism Monorepo" should be capitalized as "Optimism Monorepo" for consistency with proper noun capitalization.
  2. The use of "We" in line 14 should be replaced with a more specific noun to maintain consistency in communal documentation.

Consider applying this change:

-The version deployed is always a governance-approved contract release. We can find the set of governance approved contract releases on the optimism Monorepo releases page, and is the set of releases named `op-contracts/vX.Y.Z`.
+The version deployed is always a governance-approved contract release. The set of governance-approved contract releases can be found on the Optimism Monorepo releases page, and is the set of releases named `op-contracts/vX.Y.Z`.

16-23: Enhance clarity in the problem statement section.

The problem statement effectively outlines the challenges with the current L2 chain deployment approach. However, there are a few minor improvements that can be made:

  1. In line 18, consider adding "a" before "single L1 target" for grammatical correctness.
  2. In line 18, add a comma after "Since then" to improve readability.
  3. In line 20, consider rephrasing "The interop team needs a way to configure new multi-L2 deployments" to be more specific about who the interop team is.

Consider applying these changes:

-The current L2 chain deployment approach originates from a time with Hardhat, single L1 target, and a single monolithic set of features. Since then the system has migrated to Foundry and extended for more features, but remains centered around a single monolithic deploy-config for all its features.
+The current L2 chain deployment approach originates from a time with Hardhat, a single L1 target, and a single monolithic set of features. Since then, the system has migrated to Foundry and extended for more features, but remains centered around a single monolithic deploy-config for all its features.

-The interop team needs a way to configure new multi-L2 deployments: The number of ways to compose L2s in tests grows past what a single legacy config template can support.
+The Optimism interoperability team requires a method to configure new multi-L2 deployments: The number of ways to compose L2s in tests grows past what a single legacy config template can support.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~18-~18: You might be missing the article “a” here.
Context: ...ch originates from a time with Hardhat, single L1 target, and a single monolithic set ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[typographical] ~18-~18: It seems that a comma is missing after this introductory phrase.
Context: ...nd a single monolithic set of features. Since then the system has migrated to Foundry and ...

(SINCE_THEN_COMMA)


24-33: Refine the purpose section for clarity and consistency.

The purpose section effectively outlines the main aspects of OPCM's functionality. However, there are a few minor improvements that can enhance clarity and consistency:

  1. In line 29, change "contracts release" to "contract release" for grammatical correctness.
  2. In line 32, consider rephrasing "it also is meant to handle" to "it is also intended to handle" for better flow.
  3. The repetitive use of "This occurs" at the beginning of sentences in points 2 and 3 could be varied for better readability.

Consider applying these changes:

-2.  **Deploy Shared Implementation Contracts.** This occurs once per contracts release in production, but is needed for every OP chain deployment in devnet and testnet.
-3.  **Deploy OP Chain Contracts.** This occurs for every OP chain deployment in production, devnet, and testnet.
+2.  **Deploy Shared Implementation Contracts.** This process takes place once per contract release in production, but is necessary for every OP chain deployment in devnet and testnet.
+3.  **Deploy OP Chain Contracts.** This deployment is required for every OP chain deployment across all environments: production, devnet, and testnet.

-In a future iteration, it also is meant to handle upgrading the smart contracts.
+In a future iteration, it is also intended to handle upgrading the smart contracts.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~29-~29: Did you mean “contract”? If following ‘per’, nouns are often singular.
Context: ...ation Contracts.** This occurs once per contracts release in production, but is needed fo...

(CONFUSION_OF_NNS_NN_UN)


[style] ~30-~30: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...deployment in devnet and testnet. 3. Deploy OP Chain Contracts. This occurs for e...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


34-37: Minor correction needed in the "Learn more" section.

The "Learn more" section provides valuable links to additional resources. However, there's a minor stylistic issue to address:

  1. In lines 36 and 37, "Checkout" should be "Check out" as it's being used as a verb phrase.

Consider applying this change:

-*   Checkout the [OPCM specs](https://specs.optimism.io/experimental/op-contracts-manager.html)
-*   Checkout the [OPCM design document](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/op-contracts-manager-arch.md)
+*   Check out the [OPCM specs](https://specs.optimism.io/experimental/op-contracts-manager.html)
+*   Check out the [OPCM design document](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/op-contracts-manager-arch.md)
🧰 Tools
🪛 LanguageTool

[grammar] ~36-~36: This sentence should probably be started with a verb instead of the noun ‘Checkout’. If not, consider inserting a comma for better clarity.
Context: ...he smart contracts. ## Learn more * Checkout the [OPCM specs](https://specs.optimism...

(SENT_START_NN_DT)

words.txt (1)

230-230: LGTM. Consider adding a brief explanation.

The addition of "OPCM" is consistent with other uppercase entries in the file. However, to improve clarity, consider adding a brief comment or explanation about what OPCM stands for, as it may not be immediately obvious to all contributors or users.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between f3c598f and 2db308b.

📒 Files selected for processing (6)
  • pages/builders/chain-operators/tools/_meta.json (1 hunks)
  • pages/builders/chain-operators/tools/op-deployer.mdx (1 hunks)
  • pages/stack/_meta.json (1 hunks)
  • pages/stack/experimental/_meta.json (1 hunks)
  • pages/stack/experimental/opcm.mdx (1 hunks)
  • words.txt (2 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
pages/builders/chain-operators/tools/op-deployer.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/stack/experimental/opcm.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/chain-operators/tools/op-deployer.mdx

[grammar] ~54-~54: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...ct ``` ## Genesis Creation todo: is this baked into the commands above?...

(TO_DO_HYPHEN)

pages/stack/experimental/opcm.mdx

[uncategorized] ~18-~18: You might be missing the article “a” here.
Context: ...ch originates from a time with Hardhat, single L1 target, and a single monolithic set ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[typographical] ~18-~18: It seems that a comma is missing after this introductory phrase.
Context: ...nd a single monolithic set of features. Since then the system has migrated to Foundry and ...

(SINCE_THEN_COMMA)


[uncategorized] ~29-~29: Did you mean “contract”? If following ‘per’, nouns are often singular.
Context: ...ation Contracts.** This occurs once per contracts release in production, but is needed fo...

(CONFUSION_OF_NNS_NN_UN)


[style] ~30-~30: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...deployment in devnet and testnet. 3. Deploy OP Chain Contracts. This occurs for e...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~36-~36: This sentence should probably be started with a verb instead of the noun ‘Checkout’. If not, consider inserting a comma for better clarity.
Context: ...he smart contracts. ## Learn more * Checkout the [OPCM specs](https://specs.optimism...

(SENT_START_NN_DT)

🔇 Additional comments (6)
pages/builders/chain-operators/tools/_meta.json (2)

3-3: Improved label clarity for op-conductor

The change from "op-conductor" to "Conductor" enhances readability and user-friendliness. This is a positive update that aligns well with the documentation improvement goals.


4-4: New entry added for op-deployer

The addition of the "op-deployer" entry with the label "Deployer" is consistent with the PR objectives and follows the same naming convention as the updated "Conductor" label. This contributes to the documentation's completeness and clarity.

pages/builders/chain-operators/tools/op-deployer.mdx (2)

1-10: LGTM: Frontmatter and import statement are correctly formatted.

The frontmatter contains appropriate metadata for the page, and the import statement for Nextra components is correctly placed.


1-62: LGTM: Overall document structure and adherence to guidelines.

The document follows a clear and logical structure, adhering to the provided coding guidelines. It uses proper nouns instead of personal pronouns, applies correct title case for headers, and maintains a consistent writing style. The content is informative and well-organized, providing a good foundation for understanding the op-deployer tool.

🧰 Tools
🪛 LanguageTool

[grammar] ~54-~54: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...ct ``` ## Genesis Creation todo: is this baked into the commands above?...

(TO_DO_HYPHEN)

pages/stack/experimental/opcm.mdx (1)

1-9: LGTM: Frontmatter and imports are well-structured.

The frontmatter contains appropriate metadata, and the import statement for Nextra components is correctly placed. The title uses proper capitalization, and the description is concise and informative.

words.txt (1)

231-231: LGTM. Consistent with file patterns.

The addition of "opcm" in lowercase is consistent with the file's pattern of including both uppercase and lowercase versions of terms. This approach provides flexibility for various use cases.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@bradleycamacho
Copy link
Member

@sbvegan feel free to ping me when this is ready for review

@sbvegan
Copy link
Collaborator Author

sbvegan commented Sep 26, 2024

@bradleycamacho thank you, will do! I'm going to wait for slipper to update the readme in the monorepo to finalize some of these outstanding todos

Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
@sbvegan sbvegan changed the title Op deployer opcm op-deployer + opcm documentation Sep 27, 2024
@sbvegan sbvegan marked this pull request as ready for review October 1, 2024 18:59
This was referenced Oct 21, 2024
This was referenced Nov 11, 2024
This was referenced Jan 5, 2025
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.

7 participants