-
Notifications
You must be signed in to change notification settings - Fork 265
How do estimate the cost of interop messages (spoiler: nearly nothing) #1629
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
How do estimate the cost of interop messages (spoiler: nearly nothing) #1629
Conversation
✅ Deploy Preview for docs-optimism ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 Walkthrough""" WalkthroughA new documentation page, "Estimating the cost of interop messages," was added to the Superchain interoperability section. This guide explains the gas cost components for interoperability messages, covering both the Sequence Diagram(s)sequenceDiagram
participant User
participant GuidePage
participant SuperchainProtocols
User->>GuidePage: Access "Estimating the cost of interop messages"
GuidePage->>SuperchainProtocols: Retrieve cost components for CrossL2Inbox
GuidePage->>SuperchainProtocols: Retrieve cost components for L2ToL2CrossDomainMessenger
GuidePage-->>User: Present detailed cost breakdowns and guidance
Possibly related PRs
Suggested labels
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:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. 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: 2
🧹 Nitpick comments (4)
pages/interop/estimate-costs.mdx (4)
3-3
: Refine page description: Thedescription
metadata is generic; consider specifying cost estimation, e.g., “Estimate the gas cost of Superchain interop messages.”
27-27
: Improve phrase clarity: Change “At writing (May 2025)” to “At the time of writing (May 2025)” for readability.
40-40
: Add missing comma: Insert a comma after “chain” in “for a particular chain, there is still an executing message” for correct punctuation.🧰 Tools
🪛 LanguageTool
[typographical] ~40-~40: Consider adding a comma.
Context: ...f it is turned on for a particular chain there is still an executing message when usin...(IF_THERE_COMMA)
49-49
: Use en dash for numeric ranges: Consider replacing “1-4” with “1–4” for typographic consistency.🧰 Tools
🪛 LanguageTool
[typographical] ~49-~49: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... log entry emitted by Solidity code has 1-4 topics (t) and an unlimited number of u...(HYPHEN_TO_EN)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
pages/interop/_meta.json
(1 hunks)pages/interop/estimate-costs.mdx
(1 hunks)words.txt
(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/interop/estimate-costs.mdx
🪛 LanguageTool
pages/interop/estimate-costs.mdx
[typographical] ~40-~40: Consider adding a comma.
Context: ...f it is turned on for a particular chain there is still an executing message when usin...
(IF_THERE_COMMA)
[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...not care. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~49-~49: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... log entry emitted by Solidity code has 1-4 topics (t) and an unlimited number of u...
(HYPHEN_TO_EN)
[uncategorized] ~71-~71: A comma might be missing here.
Context: ...t 21,000 gas. Compared with that, the hashing which costs approximately [*30+0.2×<nu...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~72-~72: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...
(EN_WEAK_ADJECTIVE)
[formatting] ~74-~74: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. So the...
(COMMA_BEFORE_BECAUSE)
[uncategorized] ~109-~109: Possible missing article found.
Context: ...ceed 100,000 gas. At writing, each of gas units costs approximately $*3×10-9...
(AI_HYDRA_LEO_MISSING_THE)
⏰ 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)
words.txt (1)
97-97
: Alphabetic order and case pairing is correct: The entry “Devnets” now follows “devnet” and precedes “devnets”, maintaining the uppercase/lowercase pairing pattern.pages/interop/_meta.json (1)
16-16
: Add metadata entry for cost estimation guide: The"estimate-costs": "Cost of interop messages"
mapping correctly references the new page and follows existing conventions.pages/interop/estimate-costs.mdx (1)
1-17
: Frontmatter is complete: All required metadata fields (title
,lang
,description
,topic
,personas
,categories
,content_type
) are present and non-empty.
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 (8)
pages/interop/estimate-costs.mdx (8)
26-31
: (Optional) Add a callout heading
Right now the<Callout type="info">
has no heading. For clarity, you might consider providing a concise title, e.g.:<Callout title="Gas cost overview" type="info"> … </Callout>
33-40
: Hyphenate “cross-domain” within body text
Use “cross-domain messenger” to correctly hyphenate the compound adjective. For example:- or use the cross domain messenger, [`L2ToL2CrossDomainMessenger`](…) + or use the cross-domain messenger, [`L2ToL2CrossDomainMessenger`](…)
44-44
: Hyphenate “low-level protocol”
Compound adjectives should be hyphenated:- This is the low level protocol used by all interop protocols… + This is the low-level protocol used by all interop protocols…🧰 Tools
🪛 LanguageTool
[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...not care. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...(EN_COMPOUND_ADJECTIVE_INTERNAL)
71-72
: Enhance readability with commas
Enclose the parenthetical clause with commas for clarity:- Compared with that, the hashing which costs approximately …, is negligible. + Compared with that, the hashing, which costs approximately …, is negligible.🧰 Tools
🪛 LanguageTool
[uncategorized] ~71-~71: A comma might be missing here.
Context: ...t 21,000 gas. Compared with that, the hashing which costs approximately [*30+0.2×<nu...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~72-~72: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...(EN_WEAK_ADJECTIVE)
73-73
: Remove first-person and weak intensifier
Replace “We can usually ignore … really large amount” with a neutral construction:- We can usually ignore the memory expansion cost, unless the validating contract uses a really large amount of memory. + The memory expansion cost can usually be ignored unless the validating contract uses a significant amount of memory.
74-74
: Remove unnecessary comma before “because”
The “because” clause is essential—drop the comma:- The cost of using the message is beyond the scope here, because it depends on your application. + The cost of using the message is beyond the scope here because it depends on your application.🧰 Tools
🪛 LanguageTool
[formatting] ~74-~74: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. So the...(COMMA_BEFORE_BECAUSE)
78-78
: Hyphenate header “Cross-domain messenger”
The header should read:- ## Cross domain messenger + ## Cross-domain messenger
48-109
: Use inline code for mathematical formulas
Rather than italicizing formulas with*…*
, wrap them in backticks for consistent, code-style formatting. For example:- The gas cost is [*375(t+1)+8n*](…). + The gas cost is `375*(t+1)+8*n` ([source link](…)).This improves readability and aligns with other code examples.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~71-~71: A comma might be missing here.
Context: ...t 21,000 gas. Compared with that, the hashing which costs approximately [*30+0.2×<nu...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~72-~72: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...(EN_WEAK_ADJECTIVE)
[formatting] ~74-~74: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. So the...(COMMA_BEFORE_BECAUSE)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/interop/estimate-costs.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/interop/estimate-costs.mdx
🪛 LanguageTool
pages/interop/estimate-costs.mdx
[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...not care. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~71-~71: A comma might be missing here.
Context: ...t 21,000 gas. Compared with that, the hashing which costs approximately [*30+0.2×<nu...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~72-~72: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...
(EN_WEAK_ADJECTIVE)
[formatting] ~74-~74: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. So the...
(COMMA_BEFORE_BECAUSE)
⏰ 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 (2)
pages/interop/estimate-costs.mdx (2)
1-17
: Metadata completeness
All required frontmatter fields (title, lang, description, topic, personas, categories, content_type) are present and non-empty.
19-23
: Verify if a WIP callout is intended
The<InteropCallout />
component signals that this page is a work in progress. If the guide is finalized, consider removing this to avoid implying incomplete documentation.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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/interop/estimate-costs.mdx (1)
76-76
: Fix grammatical error in cost summary: Remove the extraneous word “has” for clarity, as previously noted.-So the main cost drivers are the 21,000 transaction gas cost has plus the cost of posting a *164+32t+n* byte transaction. +So the main cost drivers are the 21,000 transaction gas cost plus the cost of posting a *164+32t+n* byte transaction.
🧹 Nitpick comments (7)
pages/interop/estimate-costs.mdx (7)
27-27
: Add comma after introductory phrase: Add a comma after the parenthetical to improve readability.- At the time of writing (May 2025) the cost of a hundred interop messages is just a few cents. + At the time of writing (May 2025), the cost of a hundred interop messages is just a few cents.
35-40
: Maintain parallel structure in bullet list: For consistency, start each factor with a noun phrase rather than a question or clause. For example:-* How you pass the message. +* Message passing method. * The transaction type. * Whether autorelay is turned on.Alternatively:
-* How you pass the message. +* Message passing method -* The transaction type. +* Transaction type -* Whether autorelay is turned on. +* Autorelay setting
44-44
: Use hyphen in compound adjective: Compound adjective “low level protocol” should be hyphenated to “low-level protocol” for correctness.-This is the low level protocol used by all interop protocols, including `L2ToL2CrossDomainMessenger`. +This is the low-level protocol used by all interop protocols, including `L2ToL2CrossDomainMessenger`.🧰 Tools
🪛 LanguageTool
[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...not care. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...(EN_COMPOUND_ADJECTIVE_INTERNAL)
71-71
: Use commas for non-restrictive clause: Insert commas around the “which” clause for correct punctuation.-Compared with that, the hashing which costs approximately [*30+0.2×<number of bytes>*](…) is negligible. +Compared with that, the hashing, which costs approximately [*30+0.2×<number of bytes>*](…) is negligible.🧰 Tools
🪛 LanguageTool
[uncategorized] ~71-~71: A comma might be missing here.
Context: ...t 21,000 gas. Compared with that, the hashing which costs approximately [*30+0.2×<nu...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
72-72
: Avoid personal pronouns and reduce weak language: Rewrite to remove “We” and the intensifier “really” for a more objective tone.-We can usually ignore the memory expansion cost, unless the validating contract uses a really large amount of memory. +The memory expansion cost can usually be ignored unless the validating contract uses a large amount of memory.🧰 Tools
🪛 LanguageTool
[style] ~72-~72: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...(EN_WEAK_ADJECTIVE)
74-74
: Remove comma before “because”: The “because” clause is essential; remove the comma for proper style.-The cost of using the message is beyond the scope here, because it depends on your application. +The cost of using the message is beyond the scope here because it depends on your application.🧰 Tools
🪛 LanguageTool
[formatting] ~74-~74: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. So the...(COMMA_BEFORE_BECAUSE)
108-108
: Avoid italics for emphasis: The word “extremely” is italicized for emphasis. Consider rephrasing without italics.-Unless the message is *extremely* long, the cost of an interop message... +Unless the message is exceptionally long, the cost of an interop message...
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/interop/estimate-costs.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/interop/estimate-costs.mdx
🪛 LanguageTool
pages/interop/estimate-costs.mdx
[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...not care. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~71-~71: A comma might be missing here.
Context: ...t 21,000 gas. Compared with that, the hashing which costs approximately [*30+0.2×<nu...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~72-~72: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...
(EN_WEAK_ADJECTIVE)
[formatting] ~74-~74: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. So the...
(COMMA_BEFORE_BECAUSE)
⏰ 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/interop/estimate-costs.mdx (1)
1-17
: Frontmatter is complete: All required metadata fields for a guide page are present and non-empty.
Co-authored-by: Blessing Krofegha <[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/interop/estimate-costs.mdx (4)
44-44
: Compound adjective should be hyphenated
The phrase “low level protocol” is a compound adjective modifying “protocol.” Please hyphenate it for clarity.- This is the low level protocol used by all interop protocols, including `L2ToL2CrossDomainMessenger`. + This is the low-level protocol used by all interop protocols, including `L2ToL2CrossDomainMessenger`.🧰 Tools
🪛 LanguageTool
[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...on costs. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...(EN_COMPOUND_ADJECTIVE_INTERNAL)
49-49
: Use an en dash for numeric range
For ranges, replace the hyphen with an en dash.- A log entry emitted by Solidity code contains 1-4 topics (t) and unlimited unstructured data bytes (n). + A log entry emitted by Solidity code contains 1–4 topics (t) and unlimited unstructured data bytes (n).🧰 Tools
🪛 LanguageTool
[typographical] ~49-~49: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...entry emitted by Solidity code contains 1-4 topics (t) and unlimited unstructured d...(HYPHEN_TO_EN)
77-77
: Replace weak intensifier
Consider swapping “really large amount of memory” for a stronger phrase like “substantial amount of memory.”- We can usually ignore the [memory expansion cost](https://www.evm.codes/about#memoryexpansion), unless the validating contract uses a really large amount of memory. + We can usually ignore the [memory expansion cost](https://www.evm.codes/about#memoryexpansion), unless the validating contract uses a substantial amount of memory.🧰 Tools
🪛 LanguageTool
[style] ~77-~77: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...(EN_WEAK_ADJECTIVE)
79-79
: Remove unnecessary comma before “because”
The “because” clause is essential to the meaning; remove the comma for correct formatting.- The cost of using the message is beyond the scope here, because it depends on your application. + The cost of using the message is beyond the scope here because it depends on your application.🧰 Tools
🪛 LanguageTool
[formatting] ~79-~79: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. The ma...(COMMA_BEFORE_BECAUSE)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/interop/estimate-costs.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/interop/estimate-costs.mdx
🪛 LanguageTool
pages/interop/estimate-costs.mdx
[uncategorized] ~44-~44: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...on costs. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~49-~49: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...entry emitted by Solidity code contains 1-4 topics (t) and unlimited unstructured d...
(HYPHEN_TO_EN)
[style] ~77-~77: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...
(EN_WEAK_ADJECTIVE)
[formatting] ~79-~79: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. The ma...
(COMMA_BEFORE_BECAUSE)
⏰ 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
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 (6)
pages/interop/estimate-costs.mdx (6)
42-43
: Hyphenate compound adjective
Change “low level protocol” to “low-level protocol” to correctly hyphenate the compound adjective.🧰 Tools
🪛 LanguageTool
[uncategorized] ~42-~42: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...on chain. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...(EN_COMPOUND_ADJECTIVE_INTERNAL)
47-48
: Use en dash for numeric range
Replace “1-4 topics” with “1–4 topics” (en dash) to follow typographical conventions for ranges.🧰 Tools
🪛 LanguageTool
[typographical] ~47-~47: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...entry emitted by Solidity code contains 1-4 topics (t) and unlimited unstructured d...(HYPHEN_TO_EN)
60-61
: Hyphenate measurement unit
Update “32 byte hash” to “32-byte hash” to properly hyphenate the unit of measure.
73-76
: Refine style and punctuation
- Replace the weak intensifier “really large amount of memory” with “significant amount of memory.”
- Remove the comma before “because” in “The cost of using the message is beyond the scope here because it depends on your application.”
🧰 Tools
🪛 LanguageTool
[style] ~75-~75: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...(EN_WEAK_ADJECTIVE)
81-83
: Hyphenate protocol name
Consider changing the header from “Cross domain messenger” to “Cross-domain messenger” to hyphenate the compound adjective.
100-102
: Avoid second-person phrasing
Rephrase “then you don’t care about the cost” to a third-person construction, e.g.:“When autorelay is enabled, the chain operator bears the execution cost.”
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
pages/interop/estimate-costs.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/interop/estimate-costs.mdx
🪛 LanguageTool
pages/interop/estimate-costs.mdx
[uncategorized] ~42-~42: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...on chain. ## CrossL2Inbox This is the low level protocol used by all interop protocols,...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~47-~47: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...entry emitted by Solidity code contains 1-4 topics (t) and unlimited unstructured d...
(HYPHEN_TO_EN)
[style] ~75-~75: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...n), unless the validating contract uses a really large amount of memory. The cost of using th...
(EN_WEAK_ADJECTIVE)
[formatting] ~77-~77: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ing the message is beyond the scope here, because it depends on your application. The ma...
(COMMA_BEFORE_BECAUSE)
⏰ 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 (12)
pages/interop/estimate-costs.mdx (12)
1-17
: Frontmatter metadata completeness and validity
All required frontmatter fields (title
,lang
,description
,topic
,personas
,categories
,content_type
) are present and non-empty. The extrais_imported_content
field isn’t in the core requirements but doesn’t conflict.
19-23
: Confirm WIP callout usage
The<InteropCallout />
component suggests this page is still a work in progress. Please verify whether this should remain or be removed for the finalized documentation.
24-24
: H1 header is correct
The title uses sentence case appropriately and clearly describes the page content.
26-31
: Info callout content
The<Callout>
succinctly communicates gas-cost context, adheres to sentence case, and avoids over-emphasis.
33-38
: Introduction section
The list of cost-determining factors is clearly structured, and the verb choice “determine” is correct. No personal pronouns used here.
66-72
: Byte overhead breakdown
The explanation of “164 + 32t + n” bytes and the accompanying list items are clear and correctly formatted.
79-79
: Cost drivers summary
The sentence correctly uses sentence case and clearly states the main gas-cost drivers.
85-91
: Initiating message subsection
The storage-write breakdown and gas numbers are precise; terminology and formatting are consistent.
96-97
: Initiating gas cost summary
The summary of ~27,100 gas (plus base transaction exclusion note) is accurate and well-phrased.
103-108
: Executing message details
The breakdown of storage writes and transaction gas costs is clear, accurate, and correctly formatted.
111-113
: Conclusion formatting
The inline code for$3×10^-9
and the conversion into cents is clear, consistent, and uses sentence case.
114-120
: Next steps links
The bulleted action items use imperative voice and sentence case correctly, and link labels are formatted appropriately.
Description
A page to explain what these costs are, and how to calculate them.
Tests
N/A
Additional context
N/A
Metadata
N/A