-
Notifications
You must be signed in to change notification settings - Fork 269
Migrating to permissionless fault proofs on OP Stack #1539
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
Conversation
✅ Deploy Preview for docs-optimism ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Warning Rate limit exceeded@krofax has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 42 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe changes introduce a new tutorial titled "Migrating to permissionless fault proofs on OP Stack" within the documentation for chain operators. A new card has been added to the existing list of tutorial cards in the Possibly related PRs
Suggested reviewers
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (2)
244-246
: Typographical refinement for compound terms.Consider hyphenating "counter claim" to "counter-claim" for consistency and clarity, as recommended by standard documentation style guidelines.
🧰 Tools
🪛 LanguageTool
[misspelling] ~245-~245: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
95-119
: Minor style consideration for technical terms.Verify that the usage of the term “prestate” is aligned with the project’s established nomenclature (as defined in nouns.txt). Consistent terminology in technical documentation improves clarity.
🧰 Tools
🪛 LanguageTool
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...(A_INFINITIVE)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
pages/operators/chain-operators/tutorials.mdx
(1 hunks)pages/operators/chain-operators/tutorials/_meta.json
(1 hunks)pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)words.txt
(0 hunks)
💤 Files with no reviewable changes (1)
- words.txt
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials.mdx
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...
(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...
(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...
(A_INFINITIVE)
[misspelling] ~245-~245: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~250-~250: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
🔇 Additional comments (6)
pages/operators/chain-operators/tutorials/_meta.json (1)
1-9
: New metadata entry is correctly added.The new key
"migrating-permissionless"
with the description"Migrating to permissionless fault proofs on OP Stack"
is correctly structured and integrated within the JSON object. The file remains well-formatted and consistent with existing entries.pages/operators/chain-operators/tutorials.mdx (3)
1-22
: Frontmatter validation.The frontmatter section includes all the necessary fields: title, lang, description, topic, personas, categories, and content_type. All values are non-empty and conform to the documentation guidelines.
41-42
: New tutorial card added as expected.The card with the title "Migrating to permissionless fault proofs on OP Stack" and the corresponding link (
href="/operators/chain-operators/tutorials/migrating-permissionless"
) has been inserted appropriately. Please confirm that the referenced tutorial document exists at the target path.
39-43
: Tutorial card ordering consistency.The new card appears to be placed logically among the other tutorial entries. Verify that this ordering meets the overall design and navigation flow for chain operators.
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (2)
1-18
: Frontmatter is complete and correct.All required metadata fields (title, description, lang, content_type, topic, personas, categories, and is_imported_content) are present and properly populated, conforming to the documentation standards.
20-308
: Well-structured tutorial content.The document provides a comprehensive, step-by-step guide covering prerequisites, configuration details, deployment commands, and testing procedures for migrating to permissionless fault proofs. Headings, code blocks, and instructions enhance readability and clarity.
🧰 Tools
🪛 LanguageTool
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...(A_INFINITIVE)
[misspelling] ~245-~245: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~250-~250: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (5)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (5)
20-23
: Title and Introduction Clarity
The title and introductory lines clearly state the guide’s purpose and target audience. For consistency, consider changing “technical decision makers” to “technical decision-makers.”
93-118
: Building Required Prestates for Non-Registry Chains
This section offers detailed steps for generating prestates. Note that several bullet points use phrases like “The prestate used for permissioned games.”
Please consider verifying that the use of “prestate” (following the definite article) is the intended domain-specific term. If a neutral form is preferred, you might change it to “a prestate used for…” to improve clarity.🧰 Tools
🪛 LanguageTool
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...(A_INFINITIVE)
190-200
: Initializing Bond Amounts
The commands for setting bond amounts to exactly 0.08ether are presented clearly. It may be worthwhile to confirm whether the command’s syntax expects a space (i.e. “0.08 ether”) or if it is correct as shown.
243-247
: Verification Expectations for Valid Proposals
The bulleted list of expected outcomes (such as logging messages and claim statuses) is useful. Note that “counter claim” appears without a hyphen; for consistency with common usage, consider revising it to “counter-claim.”🧰 Tools
🪛 LanguageTool
[misspelling] ~245-~245: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
248-260
: Testing Off-Chain Agents – Countering Invalid Claims
The command for posting an invalid counter-claim is clearly documented. Again, ensure that the accompanying text uniformly uses “counter-claim” (with a hyphen) to be consistent.🧰 Tools
🪛 LanguageTool
[misspelling] ~250-~250: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...
(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...
(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...
(A_INFINITIVE)
[misspelling] ~245-~245: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~250-~250: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (16)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (16)
1-18
: Frontmatter and Metadata Validation
The frontmatter includes all required metadata fields (title, description, lang, content_type, topic, personas, and categories) and they are properly populated.
24-34
: Overview Section Overview
The overview succinctly explains the benefits and purpose of transitioning from permissioned to permissionless fault proofs. The language is clear and matches the documentation tone.
35-41
: Prerequisites Section
The prerequisites are well listed and ensure that users verify key conditions (such as running a standard OP Stack implementation and using recommended infrastructure services).
50-67
: Dispute Monitoring Setup – Upgrade and Network Configuration Commands
The code blocks for upgrading the op‑challenger (lines 50–55) and updating the network configuration (lines 57–67) are clear and actionable. Ensure that the specified branch (op‑challenger/v1.3.3) is verified for your deployment’s compatibility.
69-81
: Cannon Trace Type Setup
The instructions, including both the flag usage and environment variable setup for enabling the cannon trace type, are clear and complete.
83-89
: Prestates Access Configuration
Using the--prestates-url
flag is clearly explained, and naming conventions for prestates are provided. This section is well structured.
120-127
: Sufficient Funds for Bonds
The guidelines for maintaining a minimum balance and having ample funds for attack scenarios are clearly stated.
128-132
: op‑dispute‑mon Setup
The instructions to set upop-dispute-mon
are concise and include a useful link for further details. It would be a good idea to periodically verify that the link remains current.
141-149
: OPCM Deployment Instructions
The steps for cloning, installing, and configuring OPCM are clearly documented and appropriate for the intended audience.
151-167
: Configuring Game Implementations with OPCM
The code block for executing the deployment commands using OPCM is clear, with placeholders that indicate where specific chain parameters are required.
168-188
: AnchorStateRegistryProxy Upgrade Process
The multi-stage upgrade instructions—including switching to the StorageSetter and then reverting with initialization—are detailed and clear.
204-212
: Privileged Roles Explanation
The section on ProxyAdmin Owner and Guardian roles is precise and informative, with a clear reference link for additional context.
214-241
: Testing Off-Chain Agents – Valid Proposals
The detailed steps (with commands for casting blocks and creating test games) for defending valid proposals are well structured and straightforward.
263-268
: Listing Claims Command
The command provided to list claims is straightforward and complements the invalid claim test well.
295-302
: Next Steps Section
The list of additional resources and links offers valuable next steps for the reader. The content is well presented.
303-307
: Conclusion Section
The conclusion effectively summarizes the guide’s purpose and the benefits of migrating to permissionless fault proofs. The language is clear and motivational.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (4)
91-119
: Building Required Prestates for Non-registry Chains
This section thoroughly explains the need for two distinct prestates and provides step-by-step instructions to build them. Note that the term “prestate” (as used in “The prestate used for permissioned games” and “The prestate matching thefaultGameAbsolutePrestate
configuration”) has been flagged by static analysis. Although it is domain specific, verify that this usage corresponds to the accepted terminology in your glossary.🧰 Tools
🪛 LanguageTool
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...(A_INFINITIVE)
244-248
: Consistent Terminology for Counter-Claim
The bullet point notes that "op-challenger
doesn't post a counter claim" when a valid proposal is submitted. Consider standardizing this term to “counter‑claim” (with a hyphen) to align with industry conventions and the suggestions from static analysis.🧰 Tools
🪛 LanguageTool
[misspelling] ~246-~246: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
249-269
: Test Countering Invalid Claims
The procedure for posting an invalid counter‑claim and verifying the outcome is comprehensive. As with the previous section, consider using “counter‑claim” consistently throughout this segment.🧰 Tools
🪛 LanguageTool
[misspelling] ~251-~251: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
309-309
: Remove Trailing Artifact
Line 309 appears to contain an extraneous artifact (a stray number). It is recommended to remove this line to ensure the document remains clean and professional.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...
(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...
(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...
(A_INFINITIVE)
[misspelling] ~246-~246: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~251-~251: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (23)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (23)
1-18
: Frontmatter Verification
The frontmatter contains all the required metadata fields (title, description, lang, content_type, topic, personas, categories, and is_imported_content) and appears well-formed. Please ensure that the values continue to align with the project’s metadata standards.
20-23
: Header and Introduction Clarity
The main header and introductory paragraph clearly communicate the scope of the guide. The title uses proper nouns (e.g., OP Stack) accurately, and the text is appropriately directed at technical decision makers and implementation teams.
24-34
: Overview Section Review
The Overview section effectively outlines the key components of the migration. The bullet list is comprehensive, and the embedded link for “monitoring services” appears correct. Ensure that all referenced documentation remains up-to-date.
35-41
: Prerequisites Section
The prerequisites are clearly listed, ensuring that users are aware of the necessary chain configuration and infrastructure requirements before starting the migration.
42-56
: Configure the Dispute Monitoring Stack
The instructions for upgradingop-challenger
are clear and include a well-documented bash code snippet. It is advisable to double-check that version "1.3.3 or later" aligns with current best practices and security requirements.
57-68
: Update Network Configuration
The steps for updating the network configuration are concise. The clear distinction between chains in the registry and those outside is beneficial for users configuring their network settings.
69-76
: Enable Cannon Trace Type
The command provided to enable the cannon trace type is straightforward and serves the purpose of supporting both permissioned and permissionless game types.
77-82
: Environment Variable Setup for Trace Type
Presenting the alternative of using an environment variable offers flexibility. The instructions here are clear and correctly formatted.
83-90
: Configure Prestates Access
The guide clearly describes replacing the--cannon-prestate
flag with--prestates-url
and details the acceptable protocols for the URL. Consider adding a brief note or link for users who might be less familiar with prestates.
120-128
: Ensure Sufficient Funds for Bonds
The bond requirements are clearly defined, including a minimum balance and contingency measures. This level of detail is critical for operational security and financial planning.
129-132
: Configure op-dispute-mon
A brief but effective pointer to the steps for configuringop-dispute-mon
is provided. Just make sure that the linked instructions remain consistent with the current tool version.
133-151
: Deploy and Configure Smart Contracts Using OPCM
The instructions for cloning the repository, installing dependencies, and setting up the configuration file for OPCM are clear and actionable.
152-169
: Set Game Implementations with OPCM
The walkthrough for callingsetImplementation
on theDisputeGameFactoryProxy
is detailed and includes necessary placeholders. Ensure that users replace the placeholder values with their specific contract addresses and prestate hashes.
170-190
: Upgrade AnchorStateRegistryProxy
The dual-step upgrade process (first to aStorageSetter
and then back to the proper implementation) is well explained. Confirm that the sequence of commands is validated in a test environment before production deployment.
191-203
: Initialize Bond Amounts
The commands to set bond amounts to exactly 0.08 ETH for both game types are clearly noted. Verify that the format (e.g., "0.08ether") is accepted by OPCM or consider clarifying the format if needed.
205-214
: Clarify Roles: ProxyAdmin Owner and Guardian
This section clearly differentiates the responsibilities of the ProxyAdmin Owner and Guardian. The definitions are precise and linked to additional documentation, which is helpful for users needing further clarification.
215-234
: Testing Off-Chain Agents Introduction
The introduction to the testing section successfully outlines the need to verify off-chain monitoring services prior to enabling permissionless proofs.
224-242
: Test Defending Valid Proposals
The step-by-step instructions, including obtaining a block, retrieving an output root, and creating a test game, are detailed and clear. Be sure that any placeholder texts (e.g.,<SIGNER_OPTIONS>
) are well explained elsewhere in the documentation.
271-273
: Verification of Test Outcome
The expectation that there should be 3 claims in the game after the test provides clear validation criteria. Ensure that this number accurately reflects the intended behavior in the dispute game.
274-282
: Switch to Permissionless Proofs
The instructions to set therespectedGameType
on theOptimismPortal
and switch the system to permissionless proofs are precise. Confirm that “CANNON” is correctly referenced as game type0
per the system’s specification.
283-295
: Configure op-proposer for Permissionless Proposals
The adjustments for the op‑proposer configuration—both via CLI flags and an environment variable—are clear and pragmatic. This ensures that game type configuration is consistent across the system.
296-303
: Next Steps Section
The list of recommended next steps and external documentation provides a comprehensive roadmap for further actions. Verify that all URLs and linked documents are current and accessible.
304-308
: Conclusion Section
The conclusion effectively summarizes the transition process and reinforces the importance of thorough testing and security monitoring. The tone is formal and appropriately directive.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (2)
91-119
: Building Required Prestates
The process for building prestates is detailed and provides step-by-step instructions, which are very helpful.
- Nitpick: The phrase “The prestate used for permissioned games” (and similar phrases in this block) might be clearer if rephrased to “The prestate file used for permissioned games.” This change can reduce potential grammatical ambiguities regarding the use of “prestate” as a noun.
🧰 Tools
🪛 LanguageTool
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...(A_INFINITIVE)
250-261
: Testing Counter-Claims for Invalid Proposals
The section on posting an invalid counter-claim is clear and instructive.
- Nitpick: Consider using “counter-claim” (with a hyphen) instead of “counter claim” to conform to industry-standard spelling. For example:
- Post an invalid counter claim to the valid proposal created above: + Post an invalid counter-claim to the valid proposal created above:🧰 Tools
🪛 LanguageTool
[misspelling] ~251-~251: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~97-~97: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate used for permissioned games 2. The pre...
(A_INFINITIVE)
[grammar] ~98-~98: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate used for permissioned games 2. The prestate matching the `faultGameAbsolutePrestate...
(A_INFINITIVE)
[grammar] ~117-~117: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...R_L2_CHAIN_ID> \ --exec.prestate ``` The prestate will be generated at `op-program/bin/pr...
(A_INFINITIVE)
[misspelling] ~246-~246: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~251-~251: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
🔇 Additional comments (22)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (22)
1-18
: Frontmatter Metadata Complete and Correct
The frontmatter section includes all the required fields (title, lang, description, content_type, topic, personas, and categories) with non-empty values. Consider verifying whether theis_imported_content
field should be a boolean instead of a string for consistency with other metadata definitions (if applicable).
20-23
: Title and Introduction Clarity
The title and introductory paragraph clearly state the guide’s purpose and are well aligned with the PR objectives. The use of language is concise and accessible for the intended technical audience.
24-34
: Overview Section Effectiveness
The "Overview" section provides a clear summary of the migration and outlines the key components involved. The bullet points help to break down the process effectively. Consider adding links or references to further internal documentation where relevant to enhance cross-referencing.
35-41
: Prerequisites Section
The prerequisites are clearly stated and form a solid foundation for the guide. It may be beneficial to review these requirements periodically to ensure they remain current with the latest OP Stack standards.
42-55
: Dispute Monitoring Stack Configuration
The instructions for configuring theop-challenger
and the accompanying shell command examples are clear and actionable. This section effectively communicates the upgrade process.
57-68
: Network Configuration Instructions
The guidance on updating the network configuration is well-organized, with clear differentiation for chains in and out of the Superchain Registry. The code block formatting is also correct.
69-76
: Enabling Cannon Trace Type
Both the direct command-line flag and environment variable approaches are presented clearly. The instructions are concise and leave little room for ambiguity.
77-90
: Configuring Prestates Access
The switch from the--cannon-prestate
flag to--prestates-url
is documented clearly, along with the explanation of acceptable protocols and file naming conventions.
120-128
: Ensuring Sufficient Funds for Bonds
The guidelines for maintaining funds to support bond postings are clear and practical. The inclusion of specific ETH amounts provides actionable advice for chain operators.
129-132
: Setting Up op-dispute-mon
The link and brief instructions for configuringop-dispute-mon
are well integrated. This section effectively connects the setup with the overall monitoring strategy.
133-151
: Deploying and Configuring Smart Contracts with OPCM
The steps for using OPCM, including cloning the repository, installing dependencies, and configuring the JSON file, are clear and well structured. Ensure that any required modifications toconfig.json
are documented elsewhere if not covered in this guide.
152-168
: Setting Game Implementations
The instructions for executing smart contract upgrades via OPCM are precise, articulating the necessary parameters for both permissionless and permissioned game types. The bash code block is well formatted.
169-190
: AnchorStateRegistry Upgrade Process
The two-step upgrade for theAnchorStateRegistryProxy
is clearly explained, including the temporary switch to theStorageSetter
contract followed by reverting to the proper implementation. This clear delineation minimizes potential confusion.
191-201
: Initializing Bond Amounts
Setting the bond amounts for both game types to exactly 0.08 ETH is clearly stated. The command examples are direct and align with the PR goals.
205-213
: ProxyAdmin Owner and Guardian Roles Explained
This section provides a detailed explanation of the roles and their responsibilities. The segmentation of privileges between the ProxyAdmin Owner and the Guardian is clear and informative.
215-223
: Testing Off-Chain Agents Overview
The introductory part of the testing section sets clear expectations for the later, more detailed test instructions. It successfully emphasizes the importance of thorough testing before switching to permissionless proofs.
224-233
: Testing Valid Proposals
Instructions for testing valid proposals, including usingcast
commands to check block status and output roots, are clear, precise, and practical for ensuring system integrity.
234-242
: Test Game Creation Procedures
The step-by-step commands for creating a test game are well laid out. It might be useful to include additional documentation for the<SIGNER_OPTIONS>
placeholder to guide users who might be unfamiliar with it.
263-271
: Listing Claims Post-Countering
The instructions for listing claims after submitting a counter-claim are straightforward. Specifying that there should be three claims in the game provides a clear validation checkpoint.
273-295
: Switching to Permissionless Proofs
The steps for switching the chain to permissionless proofs—including the setting of therespectedGameType
and configuringop-proposer
—are presented in a clear and actionable manner.
296-303
: Next Steps Guidance
The "Next steps" section offers a curated list of additional resources and documentation links, which is helpful for users seeking further information.
304-309
: Conclusion Section Summary
The conclusion effectively recaps the process and reinforces the importance of thorough testing and configuration during the migration. The language is clear and encouraging.
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (8)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (8)
33-38
: Key Components ListThe bullet list outlining the key components of the migration is organized and clear. For extra clarity, you might consider adding a brief note for each item (e.g., prerequisites or expected outcomes) to improve modularity.
88-94
: Configuring Prestates AccessThe instructions to replace the
--cannon-prestate
flag with--prestates-url
are clear. It might help to briefly define “prestates” or link to a glossary if the term is not widely familiar to all readers.
96-111
: Building Required PrestatesThis section clearly explains that two prestates are needed and uses a helpful callout to explain why the prestate for permissioned games typically isn’t valid for permissionless operations.
Consider rephrasing “The prestate currently used for permissioned games…” to remove the article if it triggers grammatical flags (e.g., “Prestate used for permissioned games…”), though this is a minor stylistic point.🧰 Tools
🪛 LanguageTool
[grammar] ~102-~102: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate currently used for permissioned games 2...(A_INFINITIVE)
113-136
: Custom Prestates Setup for Non-Registry ChainsThe step-by-step instructions for building custom prestates—including cloning the repository, creating a branch, copying configuration files, and building the prestate—are detailed and clear. Remind users to update placeholder values such as
<YOUR_L2_CHAIN_ID>
and<YOUR_CHAIN_NAME>
.
192-192
: Link to High‐Level ImplementationThe link to the spec is useful. Please verify that the hyphen in “high‐level” renders as intended across browsers.
194-210
: Set Game Implementations InstructionsThe steps for updating smart contract implementations via OPCM are clear. Note the TODO on initializing bond amounts to exactly 0.08 ETH; this should be resolved or supplemented with additional guidance before finalization.
224-253
: Test Defending Valid ProposalsThis section provides clear steps for creating a valid proposal and verifying its status.
Suggestion: In the verification steps, consider updating “counter claim” to “counter-claim” for consistency with standard spelling conventions.🧰 Tools
🪛 LanguageTool
[misspelling] ~251-~251: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
254-266
: Test Countering Invalid ClaimsThe instructions for posting an invalid counter-claim are precise. As noted earlier, please update instances of “counter claim” to “counter-claim” for consistency.
🧰 Tools
🪛 LanguageTool
[misspelling] ~256-~256: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~102-~102: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate currently used for permissioned games 2...
(A_INFINITIVE)
[grammar] ~137-~137: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate make reproducible-prestate ``` The prestate will typically be generated at: * `o...
(A_INFINITIVE)
[misspelling] ~251-~251: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~256-~256: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
⏰ Context from checks skipped due to timeout of 90000ms (4)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
- GitHub Check: pr-workflow
🔇 Additional comments (24)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (24)
1-18
: Frontmatter and Metadata ValidationThe frontmatter includes all required fields (title, description, lang, content_type, topic, personas, and categories) and none are empty. The metadata is complete and follows the specified format.
20-20
: MDX Import StatementThe import of the
Callout
component fromnextra/components
is correctly specified and will facilitate styled callouts in the document.
22-22
: Title Header FormattingThe H1 header “Migrating to permissionless fault proofs on OP Stack” uses sentence case and correctly preserves the proper noun “OP Stack.”
24-24
: Introduction ClarityThe introductory paragraph succinctly outlines the purpose and intended audience of the guide. It is clear and effectively sets the context for the document.
26-32
: Overview SectionThe “Overview” section clearly describes the context and significance of transitioning from permissioned to permissionless proofs. Consider verifying that technical terms like “fault proofs” are used consistently throughout the document.
40-46
: Prerequisites SectionThis section comprehensively lists the requirements for a chain before beginning the migration, including running a standard OP Stack implementation and using recommended infrastructure services.
51-60
: Upgrade to the Latestop-challenger
The instructions and associated code block for upgrading
op-challenger
(cloning the repository, checking out the branch, and building) are clear. Please ensure the version “op-challenger/v1.3.3” is the intended target for upgrade.
62-72
: Network Configuration UpdateThe examples provided for updating the network configuration (for chains in and not in the registry) are clear and concise. Verify that the placeholders (e.g.,
<chain-name>
and/path/to/your/network-config.json
) are clearly documented elsewhere for users.
74-80
: Enabling Cannon Trace TypeThe command to enable the “cannon” trace type (
--trace-type permissioned,cannon
) is clearly presented. Confirm that this flag is correctly interpreted by the system as intended for dual support of permissioned and permissionless games.
82-86
: Environment Variable ConfigurationThe alternative approach of setting the
OP_CHALLENGER_TRACE_TYPE
environment variable is simple and effective.
138-143
: Prestate Generation LocationsThe bullet list detailing typical output locations for generated prestates is precise. Ensure these file paths remain accurate with the latest OP Stack release.
144-147
: Post-Upgrade 14 CalloutThe callout effectively communicates that chains should transition to using
prestate-mt64.bin.gz
and explains the deprecation plan for older prestate files.
149-161
: Bond Funding GuidelinesThe section offering guidelines for ensuring sufficient funds for bonds in both permissioned and permissionless games is practical and easy to follow.
162-164
: Setting Upop-dispute-mon
The brief instruction and provided link for configuring
op-dispute-mon
are clear.
166-172
: Deploying and Configuring Smart Contracts with OPCMThis section emphasizes the need for privileged actions when using OPCM. The explanation is concise and highlights the roles involved.
170-179
: Understanding Privileged RolesThe sub-section clearly defines the roles of the ProxyAdmin Owner and the Guardian, including a reference link for further details.
180-188
: Adding the PermissionlessDisputeGameThis section outlines the steps for integrating the new game type using
OPCM.addGameType()
. The three key actions (deploying the contract, setting up the proxy, and reinitializing the registry) are clearly stated.
220-226
: Testing Off-Chain Agents IntroductionThe introduction to the testing procedure for off-chain agents is well written and sets the stage for the subsequent tests.
269-274
: Verifying Claims withop-challenger
The provided code block for listing claims is clear and effective for ensuring that the expected number of claims is met.
276-276
: Expected Outcome ClarificationStating that “There should be 3 claims in the game after this test” offers a clear, measurable outcome for the operator.
278-293
: Switching to Permissionless ProofsThis section outlines the required steps to switch the system to permissionless proofs. The instructions—including setting the
respectedGameType
and updating theop-proposer
configuration—are straightforward.
295-299
: Environment Variable forop-proposer
The configuration snippet for setting the
OP_PROPOSER_GAME_TYPE
environment variable is clear and consistent with the command-line approach.
301-308
: Next Steps SectionThe “Next steps” section provides valuable links to related documentation and resources. Make sure these external links remain current over time.
309-314
: ConclusionThe conclusion succinctly reinforces the benefits of transitioning to permissionless proofs and encourages thorough testing. It serves as an effective summary for the guide.
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (2)
155-161
: Prestate generation locations are well documented.
Listing multiple potential output files (e.g.,prestate.json
,prestate.bin.gz
, andprestate-mt64.bin.gz
) is helpful. Note that although static analysis hints at potential concerns with using the article “the” before “prestate,” in this technical context it is acceptable.🧰 Tools
🪛 LanguageTool
[grammar] ~155-~155: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate make reproducible-prestate ``` The prestate will typically be generated at: * `o...(A_INFINITIVE)
267-288
: Testing for countering invalid claims is clear but consider minor wording adjustments.
The instructions are effective; however, for consistency with documentation standards and to align with static analysis hints, consider using “counter-claim” (with a hyphen) instead of “counter claim” throughout the document.🧰 Tools
🪛 LanguageTool
[misspelling] ~269-~269: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~274-~274: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~120-~120: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate currently used for permissioned games 2...
(A_INFINITIVE)
[grammar] ~155-~155: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate make reproducible-prestate ``` The prestate will typically be generated at: * `o...
(A_INFINITIVE)
[misspelling] ~269-~269: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~274-~274: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (20)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (20)
1-18
: Frontmatter metadata is complete and well-formed.
All required fields (title, description, lang, content_type, topic, personas, categories, and is_imported_content) are present and non-empty. This ensures proper indexing and document identification.
20-20
: Import statement for Callout is correct.
The MDX file successfully imports the necessary UI component fromnextra/components
to render callouts.
22-23
: H1 header formatting looks good.
The header "Migrating to permissionless fault proofs on OP Stack" follows sentence case (with proper capitalization for the proper noun “OP Stack”) per the guidelines.
24-32
: Overview section is clear and concise.
The introductory paragraphs succinctly summarize the architecture and security benefits of transitioning from permissioned to permissionless fault proofs.
40-46
: Prerequisites section provides clear requirements.
The checklist of prerequisites ensures that chain operators know what preconditions must be met before proceeding.
57-68
: Docker commands for upgrading op-challenger are accurate.
The instructions include both a pull command and a sample run command with appropriate environment variables. Remember to replace<YOUR_PRESTATES_URL>
with an actual URL during deployment.
83-90
: Network configuration instructions are well articulated.
The command snippet differentiates clearly between chains that are part of the registry and those which require a custom rollup configuration.
92-99
: Enabling the cannon trace type is implemented correctly.
The code snippet for setting--trace-type permissioned,cannon
effectively conveys the dual-mode operation required for both permissioned and permissionless games.
100-105
: Alternative environment variable setup is clear.
Presenting the option to set the trace type via an environment variable (OP_CHALLENGER_TRACE_TYPE
) adds flexibility and clarity for users.
106-115
: Prestates access configuration is clearly defined.
The replacement instruction of the--cannon-prestate
flag with--prestates-url
is straightforward, and the accompanying code block is easy to follow.
116-154
: Detailed instructions for building custom prestates are comprehensive.
This section carefully outlines the process (cloning, branching, adding configurations, and building the prestate) and includes an informative callout clarifying the need for two separate prestates.🧰 Tools
🪛 LanguageTool
[grammar] ~120-~120: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate currently used for permissioned games 2...(A_INFINITIVE)
167-179
: Guidance for ensuring sufficient bond funds is effective.
The bullet-point list offers clear and actionable recommendations for maintaining adequate funds for both permissioned and permissionless game scenarios.
180-183
: Configuration instructions for op-dispute-mon are succinct.
The brief directive with a hyperlink to detailed steps provides clarity without overcomplicating the documentation.
188-194
: The explanation of ProxyAdmin Owner and Guardian roles is clear.
This section effectively delineates the responsibilities of high-privilege roles involved in smart contract management.
196-208
: Adding the PermissionlessDisputeGame is well described.
The step-by-step outline usingOPCM.addGameType()
is clear. Consider verifying that any method names (such asOPCM.addGameType()
) are consistent with those used in the wider documentation.
210-232
: Smart contract implementation update instructions are detailed and precise.
The step-by-step commands—including handling the post-upgrade state of the AnchorStateRegistry—provide clear guidance for performing the necessary contract upgrades in a bundled transaction.
233-266
: Testing valid proposals procedure is comprehensible.
The testing steps for defending a valid proposal are logically ordered and include practical code examples that help illustrate the testing process.
289-309
: Steps to switch to permissionless proofs are well-outlined.
The final instructions, including the adjustment of therespectedGameType
on the OptimismPortal and the configuration change for op-proposer, are precise and actionable.
310-317
: Next steps section is clear and resourceful.
The list of external links and documentation references helps guide users toward additional resources and further reading.
318-322
: The conclusion effectively summarizes the migration benefits.
It reinforces the security improvements achieved through decentralization and stresses the importance of thorough testing post-migration.
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (7)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (7)
26-32
: Overview section clarity.
The overview clearly explains the purpose and benefits of migrating to permissionless fault proofs. For consistency, please verify that terms such as “fault proofs” and “prestate” are used uniformly throughout the guide.
57-69
: Op-challenger upgrade instructions.
The instructions for upgrading are clear; however, note that the docker pull command uses thelatest
tag while the docker run command specifiesv1.3.3
. Please confirm that this version mix is intentional or adjust for consistency.
107-115
: Prestates access configuration.
The guidance to replace the--cannon-prestate
flag with--prestates-url
is clear. Consider verifying that the technical term “prestates” is used consistently across the documentation.
117-123
: Instructions for building required prestates.
The section detailing the need for two prestates (one for permissioned games and one for permissionless games) is comprehensive. It may be helpful to double-check that the term “prestate” aligns with established domain terminology.🧰 Tools
🪛 LanguageTool
[grammar] ~121-~121: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate currently used for permissioned games 2...(A_INFINITIVE)
156-162
: Prestate generation locations.
The bullet list of expected output files is informative. As a minor refinement, consider reviewing the usage of “prestate” as a noun to ensure that it reflects the intended technical meaning.🧰 Tools
🪛 LanguageTool
[grammar] ~156-~156: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate make reproducible-prestate ``` The prestate will typically be generated at: * `o...(A_INFINITIVE)
199-203
: Adding PermissionlessDisputeGame instructions.
The description of the newOPCM.addGameType()
method is comprehensive. A minor nitpick: consider inserting a comma after “OPCM.addGameType()” before “which” for improved clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~202-~202: Possible missing comma found.
Context: ... anOPCM.addGameType()
method will be added which will orchestrate the actions requ...(AI_HYDRA_LEO_MISSING_COMMA)
273-293
: Testing invalid counter-claims.
The instructions for posting an invalid counter-claim are clear. As a style suggestion, consider using the hyphenated form “counter-claim” throughout for consistency with the static analysis recommendations.🧰 Tools
🪛 LanguageTool
[misspelling] ~275-~275: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~121-~121: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...ou'll need at least two prestates: 1. The prestate currently used for permissioned games 2...
(A_INFINITIVE)
[grammar] ~156-~156: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate make reproducible-prestate ``` The prestate will typically be generated at: * `o...
(A_INFINITIVE)
[uncategorized] ~202-~202: Possible missing comma found.
Context: ... an OPCM.addGameType()
method will be added which will orchestrate the actions requ...
(AI_HYDRA_LEO_MISSING_COMMA)
[misspelling] ~270-~270: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~275-~275: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
🔇 Additional comments (19)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (19)
1-18
: Frontmatter metadata is complete.
All required metadata fields (title, description, lang, content_type, topic, personas, and categories) are present and non-empty. Please ensure that this structure remains consistent in future updates.
20-20
: Import statement is correct.
The import of theCallout
component from'nextra/components'
is used appropriately later in the document.
22-22
: Title header confirmation.
The H1 header "Migrating to permissionless fault proofs on OP Stack" matches the frontmatter title and follows the style guidelines.
40-46
: Prerequisites are well defined.
The list correctly indicates the necessary conditions (e.g., running a standard OP Stack implementation and having the recommended infrastructure services).
80-91
: Network configuration instructions.
The steps and code examples for updating the network configuration, including instructions for chains in and not in the registry, are clear and useful.
93-105
: Cannon trace type configuration.
The instructions for enabling thepermissioned,cannon
trace type (via command-line flag and environment variable) are accurate and clearly presented.
124-130
: Callout on prestates differences.
The callout effectively explains why separate prestates are needed for permissioned versus permissionless configurations.
132-155
: Custom prestates building instructions.
The step-by-step guide (including cloning the repository, creating a branch, adding configuration files, and runningmake reproducible-prestate
) is thorough. Ensure that placeholders like<YOUR_L2_CHAIN_ID>
are replaced with actual values during execution.
163-167
: Post-upgrade prestates callout.
The callout describing the transition to usingprestate-mt64.bin.gz
post-upgrade is clear and helpful.
168-175
: Bond funds guidance.
The instructions regarding the management of bond funds for both permissioned and permissionless games are clear and actionable.
181-184
: Dispute monitoring configuration.
The brief instruction to configureop-dispute-mon
with a reference link is clear.
185-198
: Smart contracts deployment using OPCM.
This section clearly outlines the privileged actions required by the ProxyAdmin Owner and Guardian roles. The text adequately prepares the user for subsequent actions.
205-213
: Method functionality details.
The breakdown of the method’s responsibilities (deploying contracts, setting up proxies, and reinitializing the AnchorStateRegistry) is clear and well organized.
213-229
: Game implementations update.
The detailed instructions for executing smart contract changes—including setting game implementations and handling pre-Upgrade 13 scenarios—are very clear. Please ensure readers understand the differences between the upgrade paths.
237-237
: Bond amounts initialization.
The instruction to initialize bond amounts for each game type to exactly 0.08 ETH is precise and clear.
243-271
: Testing valid proposals.
The step-by-step guidelines for testing valid proposals, including command examples withcast
, are clear and actionable.🧰 Tools
🪛 LanguageTool
[misspelling] ~270-~270: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
297-307
: Switching to permissionless proofs.
The steps to set therespectedGameType
using OPCM and update theop-proposer
configuration are clearly described.
320-327
: Next steps section.
The list of additional resources and external links is comprehensive. Please verify that all links remain current over time.
328-332
: Conclusion summary.
The conclusion effectively reiterates the security benefits of transitioning to permissionless proofs. The tone is clear and instructive.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @krofax this is starting to shape up. General feedback, I think this PR was put prematurely. Next time we have a more complicated guide like this, lets put the draft in notion or google so we can more easily collaborate and fill in knowledge gaps. That would be a better medium to get early feedback from our teammates and other SMEs. Then once we have high confidence in the technical content, it can be put up as a PR for a final pass. I believe this will speed up the progress because multiple rounds of reviews on GitHub feels slower.
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
…less.mdx Co-authored-by: soyboy <[email protected]>
…less.mdx Co-authored-by: soyboy <[email protected]>
…less.mdx Co-authored-by: soyboy <[email protected]>
…less.mdx Co-authored-by: soyboy <[email protected]>
…less.mdx Co-authored-by: soyboy <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (4)
56-67
: Docker command version consistency.
The Docker pull command uses thelatest
tag while the run command pins the image tov1.3.3
. This version discrepancy might confuse users or lead to unexpected behavior. Consider aligning the versions by using the same tag in both commands. For example:- us-docker.pkg.dev/oplabs-tools-artifacts/images/op-challenger:v1.3.3 + us-docker.pkg.dev/oplabs-tools-artifacts/images/op-challenger:latest
116-148
: Building required prestates instructions.
The step-by-step guide for cloning the repository, checking out the appropriate branch, and copying chain configuration files is detailed and easy to follow. Please ensure that placeholders like<YOUR_L2_CHAIN_ID>
are replaced appropriately in production.
192-198
: PermissionlessDisputeGame addition clarity.
The text would benefit from improved punctuation for readability. For example, consider:-an `OPCM.addGameType()` method will be added which will orchestrate the actions required to add a new game type. +an `OPCM.addGameType()` method will be added, which will orchestrate the actions required to add a new game type.🧰 Tools
🪛 LanguageTool
[uncategorized] ~195-~195: Possible missing comma found.
Context: ... anOPCM.addGameType()
method will be added which will orchestrate the actions requ...(AI_HYDRA_LEO_MISSING_COMMA)
266-278
: Counter-claim terminology nitpick.
For consistency and clarity, consider hyphenating "counter claim" to "counter-claim" in this section:-Post an invalid counter claim to the valid proposal created above: +Post an invalid counter-claim to the valid proposal created above:🧰 Tools
🪛 LanguageTool
[misspelling] ~268-~268: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~149-~149: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate make reproducible-prestate ``` The prestate will typically be generated at: * `o...
(A_INFINITIVE)
[uncategorized] ~195-~195: Possible missing comma found.
Context: ... an OPCM.addGameType()
method will be added which will orchestrate the actions requ...
(AI_HYDRA_LEO_MISSING_COMMA)
[misspelling] ~263-~263: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~268-~268: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (16)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (16)
1-18
: Frontmatter is comprehensive.
All required metadata fields (title, description, lang, content_type, topic, personas, and categories) are present and correctly populated for a tutorial page.
20-20
: Callout component import is correct.
The import ofCallout
from'nextra/components'
follows the project conventions and is correct.
22-32
: Header and overview clarity.
The main header and the overview section clearly introduce the tutorial’s purpose and set proper expectations for chain operators.
39-45
: Prerequisites section is well-structured.
The list of prerequisites is concise and provides necessary context before proceeding with the guide.
79-90
: Network configuration instructions are clear.
The code block with examples for both chains in and not in the registry is well detailed.
92-102
: Enabling cannon trace type is well explained.
The guide provides clear instructions for both flag-based and environment variable configurations.
106-115
: Prestates access configuration update is correct.
The replacement of the--cannon-prestate
flag with--prestates-url
is clearly described, and the instructions on URL formats are precise.
149-159
: Prestate generation details.
The bullet list describing the typical output file names for prestates is very helpful and informative.🧰 Tools
🪛 LanguageTool
[grammar] ~149-~149: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...restate make reproducible-prestate ``` The prestate will typically be generated at: * `o...(A_INFINITIVE)
161-172
: Bonds funding guidelines are clear.
The section on ensuring sufficient funds for bonds outlines the necessary financial requirements for both permissioned and permissionless games effectively.
174-177
: Op-dispute-mon setup reference is appropriate.
Linking to the detailed [steps] documentation ensures users can properly configure the op-dispute-mon service.
182-190
: Clarification of roles is well-articulated.
The explanations provided for the ProxyAdmin Owner and Guardian roles are clear and include a useful link for further details.
206-222
: Set game implementations instructions are comprehensive.
The step-by-step instructions for callingsetImplementation
on theDisputeGameFactoryProxy
and the optional upgrade steps for the AnchorStateRegistryProxy are clearly defined.
236-264
: Testing valid proposals is clearly described.
The steps to create and verify a valid proposal, including the use ofcast
and verification via logs, are clear and actionable.🧰 Tools
🪛 LanguageTool
[misspelling] ~263-~263: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
279-289
: Verification of counter-claims is clear.
The instructions to verify thatop-challenger
posts a counter-claim—and that there are exactly three claims in the game—are precise and easy to follow.
290-312
: Switching to permissionless proofs is well documented.
The step-by-step guide for setting the respected game type and updating theop-proposer
configuration is straightforward and clear.
313-326
: Next steps and conclusion are effective.
The final sections provide useful resource links and a clear conclusion that reinforces the security and operational benefits of switching to permissionless proofs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (1)
205-205
: 🛠️ Refactor suggestionReplace placeholder link with actual spec reference.
The
[todo:add the docs later]
placeholder should be replaced with a real link to the high-level implementation in the spec:-See a high‐level implementation from this [todo:add the docs later](/superchain/privileged-roles). +See a high‐level implementation from the [spec](https://specs.optimism.io/experimental/op-contracts-manager.html#implementation-2).🧰 Tools
🪛 LanguageTool
[grammar] ~205-~205: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ... a high‐level implementation from this [todo:add the docs later](/superchain/privile...(TO_DO_HYPHEN)
🧹 Nitpick comments (4)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (4)
31-31
: Fix comma splice in description of permissioned games.The sentence currently reads as a comma splice. Splitting into two sentences or using a semicolon improves readability:
-Permissioned games previously relied on a single trusted validator, this is typically the proposer which is configured in the PermissionedDisputeGame, and is usually the network's only sequencer. +Permissioned games previously relied on a single trusted validator. This is typically the proposer that is configured in the PermissionedDisputeGame and usually the network's only sequencer.
149-149
: Optional: Rephrase prestate generation line for clarity.Consider using plural or gerund form to avoid the article-noun combination:
-The prestate will typically be generated at: +Prestates are typically generated at:🧰 Tools
🪛 LanguageTool
[grammar] ~149-~149: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...tates with your chain's configuration: The prestate will typically be generated at: * `o...(A_INFINITIVE)
244-244
: Hyphenate compound noun "counter-claim".Use "counter-claim" instead of "counter claim" for correct compound noun usage:
-* `op-challenger` doesn't post a counter claim (as this is a valid proposal) +* `op-challenger` doesn't post a counter-claim (as this is a valid proposal)🧰 Tools
🪛 LanguageTool
[misspelling] ~244-~244: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
249-249
: Hyphenate compound noun "counter-claim".Consistently apply hyphenation in the second instance:
-Post an invalid counter claim to the valid proposal created above: +Post an invalid counter-claim to the valid proposal created above:🧰 Tools
🪛 LanguageTool
[misspelling] ~249-~249: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~149-~149: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...tates with your chain's configuration: The prestate will typically be generated at: * `o...
(A_INFINITIVE)
[grammar] ~205-~205: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ... a high‐level implementation from this [todo:add the docs later](/superchain/privile...
(TO_DO_HYPHEN)
[misspelling] ~244-~244: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~249-~249: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (1)
1-18
: Frontmatter metadata is complete.All required fields (title, lang, description, topic, personas, categories, and content_type) are present and populated correctly, and the frontmatter structure adheres to the documentation guidelines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (5)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (5)
52-52
: Avoid using inclusive pronouns.
The contraction “Let’s begin…” implicitly uses “us.” To maintain an impartial, imperative tone, rephrase to something like:Begin by configuring the dispute components that will interact with the new permissionless game.
243-245
: Hyphenate “counter-claim.”
In the bullet “doesn't post a counter claim,” use the compound noun “counter-claim” to adhere to standard English conventions.🧰 Tools
🪛 LanguageTool
[misspelling] ~244-~244: This word is normally spelled with a hyphen.
Context: ... *op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...(EN_COMPOUNDS_COUNTER_CLAIM)
249-249
: Hyphenate “counter-claim.”
The phrase “Post an invalid counter claim” should read “Post an invalid counter-claim” for consistency.🧰 Tools
🪛 LanguageTool
[misspelling] ~249-~249: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
329-330
: Avoid bold styling for emphasis.
Per documentation style, remove bold markup around “Submit this JSON payload” and “Simulate” and rely on context or a callout component instead.
382-382
: Correct “To-do” hyphenation.
The header “## Todo: Update the next steps” should use “To-do” with a hyphen or be rephrased simply as “## Next steps.”🧰 Tools
🪛 LanguageTool
[grammar] ~382-~382: It appears that a hyphen is missing in the noun “To-do” (= task) or did you mean the verb “to do”?
Context: ...fter this update occurs. ## Todo: Update the next steps * [Optimism F...(TO_DO_HYPHEN)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~149-~149: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...tates with your chain's configuration: The prestate will typically be generated at: * `o...
(A_INFINITIVE)
[grammar] ~205-~205: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ... a high‐level implementation from this [todo:add the docs later](/superchain/privile...
(TO_DO_HYPHEN)
[misspelling] ~244-~244: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~249-~249: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[grammar] ~382-~382: It appears that a hyphen is missing in the noun “To-do” (= task) or did you mean the verb “to do”?
Context: ...fter this update occurs. ## Todo: Update the next steps * [Optimism F...
(TO_DO_HYPHEN)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (1)
1-18
: Frontmatter metadata is complete and valid.
All required fields (title
,lang
,description
,topic
,personas
,categories
,content_type
) are present and non-empty, matching the project’s metadata schema.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (6)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (6)
29-32
: Fix run-on sentence in overview section.
The sentencePermissioned games previously relied on a single trusted validator, this is typically the proposer which is configured in the PermissionedDisputeGame, and is usually the network's only sequencer.
is a run-on. Consider splitting into two sentences or using a semicolon.
For example:-Permissioned games previously relied on a single trusted validator, this is typically the proposer which is configured in the PermissionedDisputeGame, and is usually the network's only sequencer. +Permissioned games previously relied on a single trusted validator. This is typically the proposer configured in the PermissionedDisputeGame and is usually the network's only sequencer.
50-53
: Avoid informal contractions in instructions.
Replace "Let's begin with configuring..." with an imperative form to maintain a consistent tone.
For example:-Let's begin with configuring the dispute components. +Begin by configuring the dispute components.
61-63
: Remove personal pronoun "We".
Use an imperative or neutral voice instead of "We recommend":-We recommend using the official Docker images for reliability and ease of deployment: +Use the official Docker images for reliability and ease of deployment:
148-154
: Clarify "prestate" usage and grammar.
Consider rephrasing to avoid using "prestate" directly after the article "The".
For example:-The prestate will typically be generated at: +Prestate files are typically generated at:🧰 Tools
🪛 LanguageTool
[grammar] ~149-~149: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...tates with your chain's configuration: The prestate will typically be generated at: * `o...(A_INFINITIVE)
248-254
: Hyphenate compound noun "counter-claim".
Use "counter-claim" (or the single word "counterclaim") consistently in documentation.-Post an invalid counter claim to the valid proposal created above: +Post an invalid counter-claim to the valid proposal created above:🧰 Tools
🪛 LanguageTool
[misspelling] ~249-~249: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...(EN_COMPOUNDS_COUNTER_CLAIM)
203-207
: Refine link text for clarity.
Change "See a high-level implementation from this [docs]" to use singular form and a clearer anchor text:-See a high-level implementation from this [docs](/operators/chain-operators/tutorials/dispute-games). +See a high-level implementation in the [dispute games doc](/operators/chain-operators/tutorials/dispute-games).
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- 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. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for 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).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
[grammar] ~149-~149: The verb ‘prestate’ does not usually follow articles like ‘The’. Check that ‘prestate’ is spelled correctly; using ‘prestate’ as a noun may be non-standard.
Context: ...tates with your chain's configuration: The prestate will typically be generated at: * `o...
(A_INFINITIVE)
[misspelling] ~244-~244: This word is normally spelled with a hyphen.
Context: ... * op-challenger
doesn't post a counter claim (as this is a valid proposal) * `...
(EN_COMPOUNDS_COUNTER_CLAIM)
[misspelling] ~249-~249: This word is normally spelled with a hyphen.
Context: ...ntering invalid claims Post an invalid counter claim to the valid proposal created above: `...
(EN_COMPOUNDS_COUNTER_CLAIM)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (3)
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx (3)
1-18
: Frontmatter: Metadata is complete and valid.
All required fields (title, description, lang, content_type, topic, personas, categories) are present and non-empty.
20-20
: Import usage is correct.
TheCallout
component is properly imported fromnextra/components
and used later in the document.
22-22
: H1 header follows sentence case conventions.
Title uses correct sentence case with proper nouns (OP Stack
) capitalized.
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
…less.mdx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Description
This PR adds a comprehensive guide for OP Stack chain operators on transitioning from permissioned to permissionless fault proofs. The guide follows a high-level approach suitable for technical decision-makers while providing implementation details for engineering teams.
Key components covered:
AnchorStateRegistry
correctlyProxyAdmin Owner
andGuardian
rolesTests
Additional context
Metadata