Skip to content
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

Add OP Scan Block Explorer #1102

Closed
wants to merge 53 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
5828dc0
Add OP Scan Block Explorer
saimeunt Nov 11, 2024
e33b435
Add missing files
saimeunt Nov 11, 2024
51c1e54
Update cross-chain-message.mdx
zainbacchus Nov 11, 2024
8b29d73
fix lint warning
krofax Nov 11, 2024
eb24a1c
remove word
krofax Nov 11, 2024
766a836
Update pages/stack/interop/cross-chain-message.mdx
krofax Nov 11, 2024
f6a249a
updated text
krofax Nov 11, 2024
8fff156
improved word
krofax Nov 11, 2024
24ecff7
Improve Grammar and Consistency in Glossary Term Template
donatik27 Nov 10, 2024
d12e0c8
Update suggest_tutorial.yaml
donatik27 Nov 10, 2024
95f0401
Updated docs files with errors
Anon-im Nov 9, 2024
562b257
Typo Update CONTRIBUTING.md
mdqst Nov 12, 2024
f46ab56
Clean up explainer
zainbacchus Nov 13, 2024
1baceef
remove duplicate
krofax Nov 13, 2024
9b2d714
correct spelling
krofax Nov 13, 2024
eadccee
fix spacing
krofax Nov 13, 2024
8942e00
improve text
krofax Nov 13, 2024
014db79
improve text
krofax Nov 13, 2024
f15d94a
Update explainer.mdx
zainbacchus Nov 13, 2024
6716511
reworded for clarity
krofax Nov 13, 2024
65ab7a4
improve text
krofax Nov 13, 2024
6b11565
Update home page capitalization
bradleycamacho Nov 13, 2024
08a1af9
Fix breadcrumb and title casing
bradleycamacho Nov 13, 2024
8172140
Typo Update content-reuse.md
voronor Nov 14, 2024
dbb9429
Added starter kit
krofax Nov 14, 2024
654f104
fix lint error
krofax Nov 14, 2024
f258618
Collapsing walkthrough section and disabling changed file summary
bradleycamacho Nov 13, 2024
44e1963
replace the SDK link with viem
krofax Nov 12, 2024
0adff39
changes op mainnet to op stack
krofax Nov 12, 2024
dd292f3
Deploy the L1 contract command path updated
BalrajHariharanA Nov 6, 2024
823c428
Refactor JSDoc for WipCallout to Improve Clarity and Precision Update…
0xbryer Nov 15, 2024
911b42c
Fix invalid stroke-width attribute Update Loader.tsx
voronor Nov 15, 2024
4488df3
Update components/calculator/Loader.tsx
krofax Nov 15, 2024
ba611db
Created a script that checks for borken links
krofax Nov 15, 2024
e8d2b35
updated the link checker
krofax Nov 15, 2024
dc23b5e
Documented the steps involved to automate the redirect
krofax Nov 15, 2024
11f7939
revert changes made in lychee
krofax Nov 15, 2024
7458aef
revert previous changes to lychee file
krofax Nov 15, 2024
071e411
Update notes/fix-redirects.md
krofax Nov 15, 2024
4a791af
fix lint issues
krofax Nov 15, 2024
ccf1313
update the command
krofax Nov 15, 2024
5148ca9
revert changes
krofax Nov 15, 2024
f902d7e
Typo Update OpProposerDescriptionShort.md
0xbryer Nov 17, 2024
7e3ac40
docs: fix SuperchainERC20 deployment guide URL
codeesura Nov 15, 2024
21b3dc5
Update rollup.mdx
brokewhale Nov 19, 2024
e9e04e5
Update addresses.mdx
Hopium21 Nov 18, 2024
b7814fa
Update security-policy.mdx
Hopium21 Nov 18, 2024
b05ddc5
Update 404.mdx
Hopium21 Nov 18, 2024
2390a3a
Update index.mdx
Hopium21 Nov 18, 2024
0cdd15a
Update pages/404.mdx
sbvegan Nov 19, 2024
0e80025
Update oracles.mdx tags
brokewhale Nov 19, 2024
e6d3bc3
fix lint issues
krofax Nov 19, 2024
4a9df6f
Sync with latest README
saimeunt Nov 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ reviews:
high_level_summary: false
poem: false
review_status: false
collapse_walkthrough: false
collapse_walkthrough: true
changed_files_summary: false
path_instructions:
- path: "**/*.mdx"
instructions: |
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/suggest_glossary_term.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ body:
options:
- label: This is a term not already found in the glossary (for similar terms, please consider the benefits of a new term vs updating an existing term)
required: true
- label: This term/definition is not a product advertisement or contain other promotional content
- label: This term/definition is not a product advertisement and does not contain other promotional content
required: true
- label: This term/definition is directly relevant to Optimism
required: true
Expand All @@ -39,15 +39,15 @@ body:
- type: textarea
id: glossary_term_sources
attributes:
label: Sources, if any (please do not submit copywrited content without appropriate approval)
label: Sources, if any (please do not submit copyrighted content without appropriate approval)
description: Please list any sources utilized
validations:
required: false
- type: textarea
id: glossary_terms_optimismdotio_links
attributes:
label: Optimism.io links
description: If appropriate/available, please suggest an internal optimism.io link that would expand someones learning of this term
description: If appropriate/available, please suggest an internal optimism.io link that would expand someone's learning of this term
- type: textarea
id: glossary_term_additional_context
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/suggest_tutorial.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ body:
id: tutorial_description
attributes:
label: Tutorial description
description: Summarize what the user should be able to accomplish by following tutorial
description: Summarize what the user should be able to accomplish by following the tutorial
validations:
required: true
- type: input
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ To submit your contribution for review:
1. Create a new [pull request on GitHub](https://github.com/ethereum-optimism/docs/issues/new/choose).
2. Select a PR type from the list or choose **Open a blank issue** at the bottom of the page.
3. Complete the form as requested. For blank PR issues, please provide a clear title and accurate description/context.
4. Click the "Create pull request"button to create the pull request effectively.
4. Click the "Create pull request" button to create the pull request effectively.

>If your pull request is not ready for review yet, choose the "[Create draft pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)"in the dropdown. The Optimism documentation team will review your pull request only when you mark it as "[Ready for review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)".

Expand Down
12 changes: 4 additions & 8 deletions components/WipCallout.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
/**
* The WipCallout function renders a custom callout component with optional context text for
* displaying maintenance messages.
* @param {Props} - The code snippet you provided is a React component named `WipCallout` that
* renders a special callout message. The component takes an optional prop `context` of type string,
* which can be used to customize the message displayed in the callout.
* @returns The WipCallout component is being returned, which is a React element representing a
* custom callout with a message. The message displayed depends on the value of the `context` prop
* passed to the component. If `context` is provided, it will display the provided context message. If
* `context` is not provided, it will display a default maintenance message.
* @param {Props} props - An object containing the optional `context` property, a string used
* to customize the message displayed in the callout.
* @returns {ReactElement} The WipCallout component, representing a custom callout message.
*/
import type { ReactElement } from 'react';
import { useState } from 'react';
Expand Down Expand Up @@ -115,4 +111,4 @@ export function AltCallout(props: Props): ReactElement {

export function CGTCallout(props: Props): ReactElement {
return <BetaCallout {...props} featureName="Custom Gas Token" />;
}
}
6 changes: 3 additions & 3 deletions components/calculator/Loader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export const Loader: React.FC = () => {
<circle
fill="#FF0420"
stroke="#FF0420"
stroke-width="15"
strokeWidth="15"
r="15"
cx="40"
cy="65"
Expand All @@ -25,7 +25,7 @@ export const Loader: React.FC = () => {
<circle
fill="#FF0420"
stroke="#FF0420"
stroke-width="15"
strokeWidth="15"
r="15"
cx="100"
cy="65"
Expand All @@ -43,7 +43,7 @@ export const Loader: React.FC = () => {
<circle
fill="#FF0420"
stroke="#FF0420"
stroke-width="15"
strokeWidth="15"
r="15"
cx="160"
cy="65"
Expand Down
2 changes: 1 addition & 1 deletion content/OpProposerDescriptionShort.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
`op-proposer` is the service that submits the output roots to the L1. This is to enable trustless execution of L2-to-L1 messaging and creates the view into the L2 state from the L1's perspective.
`op-proposer` is the service that submits the output roots to the L1. This is to enable trustless execution of L2-to-L1 messaging and creates the view of the L2 state from the L1's perspective.
2 changes: 1 addition & 1 deletion lychee.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ exclude = [
]

# Accept these status codes
accept = ["100..=103", "200..=299", "403..=403", "502..=502"]
accept = ["100..=103", "200..=299", "403..=403", "502..=502"]
2 changes: 1 addition & 1 deletion next-env.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
/// <reference types="next/image-types/global" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information.
2 changes: 1 addition & 1 deletion notes/content-reuse.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The content directory contains markdown files that can be imported across the ne

Create a `.md` file in the `/content` directory.

### How to Use a Single Reusable Content Components
### How to Use a Single Reusable Content Component

1. Import it at the top of `.mdx` file:

Expand Down
83 changes: 83 additions & 0 deletions notes/fix-redirects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Redirect links management guide

## Scripts overview
Two scripts help maintain internal links when pages are redirected:

* `check-redirects`: Identifies links that need updating based on the `_redirects` file.
* `fix-redirects`: Automatically updates links to match `_redirects` entries.

## Checking for broken links

Run the check script:

```bash
pnpm lint //OR
pnpm check-redirects
```
## What it does

* Scans all `.mdx` files in the docs
* Compares internal links against `_redirects` file
* Reports any outdated links that need updating
* Provides a summary of total, broken, and valid links

## Example output

```bash
File "builders/overview.mdx" contains outdated link "/chain/overview" - should be updated to "/stack/overview"

Summary:
Total pages 🔍 - 50
Pages broken 🚫 - 2
Pages OK ✅ - 48

```

## Fixing broken links

Fix links automatically:

```bash
pnpm fix //OR
pnpm fix-redirects
```

## What it does

* Updates all internal links to match `_redirects` entries
* Preserves other content and formatting
* Shows which files and links were updated
* Provides a summary of changes made

## Example output

```bash
Fixed in "builders/overview.mdx": /chain/overview → /stack/overview

Summary:
Total files 🔍 - 50
Files fixed ✅ - 2
Files skipped ⏭️ - 48
```

## Best practices

1. Before running

* Commit current changes
* Review `_redirects` file is up-to-date
* Run `check-redirects` first to preview changes


2. After running

* Review git diff of updated files
* Test updated links locally
* Commit changes with descriptive message



## Common issues

* Script fails: Ensure `_redirects` file exists in public folder, it should always be there!
* No broken links found: Verify `_redirects` entries are correct.
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
"version": "0.0.1",
"description": "Optimism Docs",
"scripts": {
"lint": "eslint . --ext mdx --max-warnings 0 && pnpm spellcheck:lint && pnpm check-breadcrumbs",
"fix": "eslint . --ext mdx --fix && pnpm spellcheck:fix && pnpm check-breadcrumbs",
"lint": "eslint . --ext mdx --max-warnings 0 && pnpm spellcheck:lint && pnpm check-breadcrumbs && pnpm check-redirects",
"fix": "eslint . --ext mdx --fix && pnpm spellcheck:fix && pnpm check-breadcrumbs && pnpm fix-redirects",
"spellcheck:lint": "cspell lint \"**/*.mdx\"",
"spellcheck:fix": "cspell --words-only --unique \"**/*.mdx\" | sort --ignore-case | uniq > words.txt",
"linkcheck": "lychee --config ./lychee.toml --quiet \"./pages\"",
"breadcrumbs":"npx ts-node --skip-project utils/create-breadcrumbs.ts",
"check-redirects": "npx ts-node --skip-project utils/redirects.ts",
"fix-redirects": "npx ts-node --skip-project utils/fix-redirects.ts",
"check-breadcrumbs":"npx ts-node --skip-project utils/breadcrumbs.ts",
"index:docs": "npx ts-node --skip-project utils/algolia-indexer.ts",
"dev": "next dev",
Expand Down
2 changes: 1 addition & 1 deletion pages/404.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Page Not Found
lang: en-US
description: 404 page not found and directs users to submit an git issue.
description: 404 page not found and directs users to submit a GitHub issue.
---

# Page Not Found
Expand Down
2 changes: 1 addition & 1 deletion pages/builders.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ Welcome to the Builders section. Here you'll find resources and guides for devel
<Card title="App Developers" href="/builders/app-developers" />
<Card title="Chain Operators" href="/builders/chain-operators" />
<Card title="Node Operators" href="/builders/node-operators" />
<Card title="Wallets & CEXs" href="/builders/cex-wallet-developers" />
<Card title="Wallets & CEXs" href="/builders/app-developers/overview" />
<Card title="Developer Tools" href="/builders/tools" />
</Cards>
4 changes: 2 additions & 2 deletions pages/builders/app-developers/bridging/basics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ All of this is easily accessible with a simple, clean API.
Ready to start bridging?
Check out these tutorials to get up to speed fast.

* [Learn how to bridge ERC-20 tokens with the Optimism SDK](/builders/app-developers/tutorials/cross-dom-bridge-erc20)
* [Learn how to bridge ETH with the Optimism SDK](/builders/app-developers/tutorials/cross-dom-bridge-eth)
* [Learn how to bridge ERC-20 tokens with viem](/builders/app-developers/tutorials/cross-dom-bridge-erc20)
* [Learn how to bridge ETH with viem](/builders/app-developers/tutorials/cross-dom-bridge-eth)
* [Learn how to create a standard bridged token](/builders/app-developers/tutorials/standard-bridge-standard-token)
* [Learn how to create a custom bridged token](/builders/app-developers/tutorials/standard-bridge-custom-token)
4 changes: 2 additions & 2 deletions pages/builders/app-developers/bridging/standard-bridge.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,8 @@ Users simply need to trigger and send ETH to the [`bridgeETH`](https://github.co

## Tutorials

* [Learn how to bridge ERC-20 tokens with the Optimism SDK](/builders/app-developers/tutorials/cross-dom-bridge-erc20)
* [Learn how to bridge ETH with the Optimism SDK](/builders/app-developers/tutorials/cross-dom-bridge-eth)
* [Learn how to bridge ERC-20 tokens with viem](/builders/app-developers/tutorials/cross-dom-bridge-erc20)
* [Learn how to bridge ETH with viem](/builders/app-developers/tutorials/cross-dom-bridge-eth)
Comment on lines +202 to +203
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Warning: Missing viem content in ERC-20 bridging tutorial

The link to the ETH bridging tutorial is correct and contains viem-based content. However, the ERC-20 bridging tutorial appears to be missing viem implementation details, making the link reference inaccurate.

  • /builders/app-developers/tutorials/cross-dom-bridge-eth.mdx: ✅ Contains viem implementation
  • /builders/app-developers/tutorials/cross-dom-bridge-erc20.mdx: ❌ No viem content found
🔗 Analysis chain

Tutorial links correctly updated to reference viem

The changes appropriately reflect the transition from Optimism SDK to viem in the tutorial references.

Let's verify that these tutorial pages exist and contain viem-based content:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence and content of the updated tutorial pages

# Check if the tutorial files exist and contain viem references
fd -e mdx "cross-dom-bridge-(erc20|eth).mdx" | xargs rg -l "viem"

Length of output: 130


Script:

#!/bin/bash
# Let's verify the existence of both tutorial files and check their content
fd -e mdx "cross-dom-bridge-(erc20|eth).mdx"

# Check content of ERC20 tutorial specifically since it wasn't found in viem search
rg -l "cross-dom-bridge-erc20" pages/

Length of output: 944


Script:

#!/bin/bash
# Let's check the content of both tutorial files to verify they contain viem-related content
rg -A 5 "viem" pages/builders/app-developers/tutorials/cross-dom-bridge-erc20.mdx
rg -A 5 "viem" pages/builders/app-developers/tutorials/cross-dom-bridge-eth.mdx

Length of output: 1454

* [Learn how to create a standard bridged token](/builders/app-developers/tutorials/standard-bridge-standard-token)
* [Learn how to create a custom bridged token](/builders/app-developers/tutorials/standard-bridge-custom-token)

Expand Down
28 changes: 14 additions & 14 deletions pages/builders/app-developers/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ In this area of the Optimism Docs you'll find everything you need to know about
If you're brand new to OP Mainnet, try starting with the guide on [deploying a basic contract](/chain/getting-started).
It'll get you familiar with the basic steps required to get a contract deployed to the network.
OP Mainnet is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) so you can feel confident that your existing Ethereum smart contract skills will carry over to OP Mainnet.
Just make sure to be aware of the few small [differences between Ethereum and OP Mainnet](/chain/differences).
Just make sure to be aware of the few small [differences between Ethereum and OP Mainnet](/stack/differences).
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Update all references to /chain/differences across the documentation

The link update from /chain/differences to /stack/differences appears to be part of a broader documentation reorganization, but several files still reference the old path. The following files need to be updated for consistency:

  • pages/stack/transactions/fees.mdx (2 occurrences)
  • pages/stack/rollup/outages.mdx
  • pages/chain/security/privileged-roles.mdx
  • pages/builders/app-developers/transactions/parameters.mdx
🔗 Analysis chain

Verify the updated documentation path

The link has been updated from /chain/differences to /stack/differences. Let's ensure this new path exists and is consistent across the documentation.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the new path exists and find any inconsistencies
fd -e mdx -e md | xargs rg -l "/chain/differences"

Length of output: 215


Script:

#!/bin/bash
# Check if the new path exists
fd -e mdx -e md | xargs rg -l "/stack/differences"

# Also check the content of files that still use the old path
rg -A 2 -B 2 "/chain/differences" pages/stack/transactions/fees.mdx pages/stack/rollup/outages.mdx pages/chain/security/privileged-roles.mdx pages/builders/app-developers/transactions/parameters.mdx

Length of output: 3710


You might also want to check out the [testing on OP Networks guide](/chain/testing/testing-apps) and the tutorial on [running a local development environment](/chain/testing/dev-node) to help you feel totally confident in your OP Mainnet deployment.

<Cards>
<Card title="Deploying Your First Contract to OP Mainnet" href="/builders/app-developers/tutorials/first-contract" icon={<img src="/img/icons/shapes.svg" />} />
<Card title="Deploying Your First Contract to OP Mainnet" href="/builders/app-developers/overview" icon={<img src="/img/icons/shapes.svg" />} />
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix circular reference in card link

The card "Deploying Your First Contract to OP Mainnet" links to the current page (/builders/app-developers/overview), which creates a circular reference. This might confuse users expecting deployment instructions.

Consider updating the href to point to the actual deployment tutorial page.


<Card title="Solidity Compatibility on OP Mainnet" href="/builders/app-developers/contracts/compatibility" icon={<img src="/img/icons/shapes.svg" />} />
<Card title="Solidity Compatibility on OP Mainnet" href="/stack/differences" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="Testing Apps on OP Mainnet" href="/chain/testing/testing-apps" icon={<img src="/img/icons/shapes.svg" />} />
</Cards>
Expand Down Expand Up @@ -51,17 +51,17 @@ The Standard Token Bridge for OP Mainnet even uses this same message-passing inf
If you're a bit more familiar with OP Mainnet and Ethereum, you can try walking through one of the tutorials put together by the Optimism community.
They'll help you get a head start when building your first Optimistic project.

| Tutorial Name | Description | Difficulty Level |
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| [Deploying Your First Contract on OP Mainnet](tutorials/first-contract) | Learn how to deploy your first contract to OP Mainnet with Remix and MetaMask. | 🟢 Easy |
| [Bridging ETH With the Optimism SDK](tutorials/cross-dom-bridge-eth) | Learn how to use the Optimism SDK to transfer ETH between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy |
| [Bridging ERC-20 Tokens With the Optimism SDK](tutorials/cross-dom-bridge-erc20) | Learn how to use the Optimism SDK to transfer ERC-20 tokens between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy |
| [Bridging your Standard ERC-20 token using the Standard Bridge](tutorials/standard-bridge-standard-token) | Learn how to bridge your standard ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium |
| [Bridging your Custom ERC-20 token using the Standard Bridge](tutorials/standard-bridge-custom-token) | Learn how to bridge your custom ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium |
| [Tracing Deposits and Withdrawals With the Optimism SDK](tutorials/sdk-trace-txns) | Learn how to use the Optimism SDK to trace deposits and withdrawals. | 🟢 Easy |
| [Viewing Deposits and Withdrawals by Address With the Optimism SDK](tutorials/sdk-view-txns) | Learn how to use the Optimism SDK to view deposits and withdrawals by address. | 🟢 Easy |
| [Estimating Transaction Costs With the Optimism SDK](tutorials/sdk-view-txns) | Learn how to use the Optimism SDK to estimate the cost of a transaction on OP Mainnet. | 🟢 Easy |
| [Sending OP Mainnet Transactions from Ethereum](tutorials/send-tx-from-eth) | Learn how to send transactions to OP Mainnet from Ethereum. | 🟢 Easy |
| Tutorial Name | Description | Difficulty Level |
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| [Deploying Your First Contract on OP Mainnet](tutorials/first-contract) | Learn how to deploy your first contract to OP Mainnet with Remix and MetaMask. | 🟢 Easy |
| [Bridging ETH With viem](tutorials/cross-dom-bridge-eth) | Learn how to use viem to transfer ETH between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy |
| [Bridging ERC-20 Tokens With viem](tutorials/cross-dom-bridge-erc20) | Learn how to use viem to transfer ERC-20 tokens between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy |
| [Bridging your Standard ERC-20 token using the Standard Bridge](tutorials/standard-bridge-standard-token) | Learn how to bridge your standard ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium |
| [Bridging your Custom ERC-20 token using the Standard Bridge](tutorials/standard-bridge-custom-token) | Learn how to bridge your custom ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium |
| [Tracing Deposits and Withdrawals with viem](tutorials/sdk-trace-txns) | Learn how to use viem to trace deposits and withdrawals. | 🟢 Easy |
| [Viewing Deposits and Withdrawals by address with viem](tutorials/sdk-view-txns) | Learn how to use viem to view deposits and withdrawals by address. | 🟢 Easy |
| [Estimating Transaction Costs With the viem](tutorials/sdk-view-txns) | Learn how to use viem to estimate the cost of a transaction on OP Mainnet. | 🟢 Easy |
| [Sending OP Mainnet Transactions from Ethereum](tutorials/send-tx-from-eth) | Learn how to send transactions to OP Mainnet from Ethereum. | 🟢 Easy |
Comment on lines +54 to +64
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Fix inconsistencies in tutorial table

The tutorial table has several formatting issues:

  1. Inconsistent capitalization of "With" in tutorial names
  2. Extra space after "with" in "Tracing Deposits and Withdrawals with viem"
  3. Duplicate href for "Estimating Transaction Costs" tutorial (points to sdk-view-txns)

Apply these corrections:

  1. Standardize "with" capitalization across all entries
  2. Remove extra space in line 61
  3. Update the href for "Estimating Transaction Costs" to its correct destination


You can also [suggest a new tutorial](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=tutorial%2Cdocumentation%2Ccommunity-request\&projects=\&template=suggest_tutorial.yaml\&title=%5BTUTORIAL%5D+Add+PR+title) if you have something specific in mind. We'd love to grow this list!

Expand Down
Loading