Skip to content

Fix deposit flow tutorial #1648

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 10, 2025
Merged

Fix deposit flow tutorial #1648

merged 4 commits into from
Jun 10, 2025

Conversation

krofax
Copy link
Collaborator

@krofax krofax commented Jun 5, 2025

Description

Problem

The deposit flow tutorial had critical issues preventing users from completing it:

  • Wrong L1 RPC: L1_RPC pointed to OP Sepolia (L2) instead of Ethereum Sepolia (L1)
  • Network confusion: Both L1 and L2 RPCs pointed to the same chain
  • Unreliable transaction finding: Only method relied on Etherscan internal transactions that aren't always visible

Solution

  • Correct L1 RPC: Now points to Ethereum Sepolia (sepolia.infura.io)
  • Clear L1/L2 distinction: Added prominent callout explaining the two networks involved
  • Multiple fallback methods: Added 3 ways to find failed relay transactions (Etherscan, events, cast queries)
  • Better timing guidance: Added wait instructions and timing expectations
  • Setup instructions: Included how to get Infura API key

Impact

Users can now successfully complete the cross-chain deposit replay tutorial without getting stuck on network configuration or missing transaction data.

Fixes reported issue where users couldn't find internal transactions and were confused about L1/L2 network setup.

Tests

Additional context

Metadata

@krofax krofax requested a review from a team as a code owner June 5, 2025 12:54
Copy link

netlify bot commented Jun 5, 2025

Deploy Preview for docs-optimism ready!

Name Link
🔨 Latest commit 032df4b
🔍 Latest deploy log https://app.netlify.com/projects/docs-optimism/deploys/68471bad8cad9000084f6feb
😎 Deploy Preview https://deploy-preview-1648--docs-optimism.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

Copy link
Contributor

coderabbitai bot commented Jun 5, 2025

📝 Walkthrough

Walkthrough

The documentation for the deposit flow tutorial was updated to clarify the roles of the L1 and L2 networks by explicitly naming Ethereum Sepolia as L1 and OP Sepolia as L2, and specifying their respective RPC URLs. The instructions for sending deposit transactions now emphasize the direction from L1 to L2 and provide an example Infura RPC URL for L1. Additional guidance was added for locating the hash of a failed relay message on L2, outlining three methods: inspecting internal transactions, checking contract events, and querying the contract state with the cast tool. A warning was added to remind users to wait for the failed relay transaction on L2.

Assessment against linked issues

Objective Addressed Explanation
Clarify the difference between L1 and L2 RPC URLs and networks in the deposit flow tutorial (#1226)
Correct the example RPC URL for L1 to use Infura instead of the previous L2 URL (#1226)
Provide alternative methods to find the hash of the failed relay message when internal transactions are not visible (#1226)
Add a warning to wait for the deposit to fail on L2 before proceeding (#1226)

Assessment against linked issues: Out-of-scope changes

No out-of-scope changes were identified.

Suggested reviewers

  • brokewhale

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

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

Support

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

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

Other keywords and placeholders

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

Documentation and Community

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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (3)
pages/stack/transactions/deposit-flow.mdx (3)

97-106: Inconsistent placeholder naming
The callout uses YOUR_KEY in the Infura URL, but later steps reference YOUR_INFURA_KEY. Please standardize on YOUR_INFURA_KEY for consistency.

- * **L1**: Ethereum Sepolia testnet (`https://sepolia.infura.io/v3/YOUR_KEY`)
+ * **L1**: Ethereum Sepolia testnet (`https://sepolia.infura.io/v3/YOUR_INFURA_KEY`)

152-152: Refine event description for clarity
Consider adjusting verb tense and terminology:

- The transaction will be successful on **L1 (Ethereum Sepolia)**, but then emit a fail event on **L2 (OP Sepolia)**.
+ The transaction will be successful on **L1 (Ethereum Sepolia)**, but will then emit a failure event on **L2 (OP Sepolia)**.

177-180: Use en dash for time range
Replace the hyphen with an en dash to specify the duration range.

- This can take 2-5 minutes.
+ This can take 2–5 minutes.
🧰 Tools
🪛 LanguageTool

[typographical] ~180-~180: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...d fail before proceeding. This can take 2-5 minutes. You should see a failed transa...

(HYPHEN_TO_EN)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 219253c and f985ad7.

📒 Files selected for processing (1)
  • pages/stack/transactions/deposit-flow.mdx (3 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:
    1. 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]
    ---
    1. 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]
    ---
    1. 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:
    1. Use sentence case, capitalizing only the first word.
    2. 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.
    3. 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/stack/transactions/deposit-flow.mdx
🪛 LanguageTool
pages/stack/transactions/deposit-flow.mdx

[typographical] ~180-~180: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...d fail before proceeding. This can take 2-5 minutes. You should see a failed transa...

(HYPHEN_TO_EN)

⏰ 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/stack/transactions/deposit-flow.mdx (2)

69-69: Approved: L2 processing step clarified
Clear description, consistent with step 1, sentence case and proper punctuation.


139-146: Approved: Step 4 command section
The instructions clearly distinguish L1 vs L2 networks, use consistent placeholders, and the shell block is well-formatted.

Copy link
Member

@bradleycamacho bradleycamacho left a comment

Choose a reason for hiding this comment

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

Just one small comment!

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (5)
pages/stack/transactions/deposit-flow.mdx (5)

143-145: Remove trailing whitespace and add punctuation
Line 145 contains trailing spaces and the comment lacks a terminal period.

-    L1_RPC=https://sepolia.infura.io/v3/YOUR_INFURA_KEY    
+    L1_RPC=https://sepolia.infura.io/v3/YOUR_INFURA_KEY

152-152: Clarify terminology
Change “fail event” to “failure event” for consistency with the FailedRelayedMessage naming.

-The transaction will be successful on **L1 (Ethereum Sepolia)**, but then emit a fail event on **L2 (OP Sepolia)**.
+The transaction will be successful on **L1 (Ethereum Sepolia)**, but then emit a failure event on **L2 (OP Sepolia)**.

156-164: Use sentence case for method headings
The fallback method titles should follow sentence case (only the first word capitalized).

-    **Method A: Using Etherscan Internal Transactions**
+    **Method A: Using Etherscan internal transactions**

-    **Method B: Using Contract Events (if internal transactions aren't visible)**
+    **Method B: Using contract events (if internal transactions aren't visible)**

-    **Method C: Using cast to query failed messages**
+    **Method C: Using cast to query failed messages**

173-173: Refine relay-until phrasing
Use parallel structure for clarity:

-If the latest internal transaction is a success, it probably means your transaction hasn't relayed yet. Wait until it is, that may take a few minutes.
+If the latest internal transaction is a success, your transaction hasn’t been relayed yet. Wait until it has been relayed, which may take a few minutes.

180-180: Use an en dash for time range
Per style guide, replace the hyphen in “2-5 minutes” with an en dash.

-Make sure you wait for the deposit to be processed on L2 and fail before proceeding. This can take 2-5 minutes.
+Make sure you wait for the deposit to be processed on L2 and fail before proceeding. This can take 2–5 minutes.
🧰 Tools
🪛 LanguageTool

[typographical] ~180-~180: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...d fail before proceeding. This can take 2-5 minutes. You should see a failed transa...

(HYPHEN_TO_EN)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f985ad7 and 032df4b.

📒 Files selected for processing (1)
  • pages/stack/transactions/deposit-flow.mdx (3 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:
    1. 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]
    ---
    1. 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]
    ---
    1. 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:
    1. Use sentence case, capitalizing only the first word.
    2. 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.
    3. 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/stack/transactions/deposit-flow.mdx
🪛 LanguageTool
pages/stack/transactions/deposit-flow.mdx

[typographical] ~180-~180: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...d fail before proceeding. This can take 2-5 minutes. You should see a failed transa...

(HYPHEN_TO_EN)

⏰ 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 (3)
pages/stack/transactions/deposit-flow.mdx (3)

69-69: Clear L2 conversion step added
Step 2 now explicitly describes how op-node converts TransactionDeposited events into deposit transactions, aligning with the protocol spec.


166-171: Fallback query example approved
The shell snippet for querying failedMessages is clear and idiomatic.


184-184: Approve placeholder assignment
Using TX_HASH as the environment variable for the failed relay hash is clear and consistent with earlier instructions.

@krofax krofax merged commit eca48a8 into main Jun 10, 2025
12 checks passed
@krofax krofax deleted the deposit-flow branch June 10, 2025 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feedback for “Deposit flow”
2 participants