diff --git a/.gitignore b/.gitignore index 675098204..3e3600c9f 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,6 @@ public/sitemap.xml .env # algolia -.algolia \ No newline at end of file +.algolia +# Local Netlify folder +.netlify diff --git a/pages/app-developers/building-apps.mdx b/pages/app-developers/building-apps.mdx index 57ecffb24..b8b686253 100644 --- a/pages/app-developers/building-apps.mdx +++ b/pages/app-developers/building-apps.mdx @@ -32,7 +32,7 @@ You can verify your development stack configuration by interacting with it. As you can see in the different development stacks below, the way you deploy contracts and interact with them on OP Stack chains is almost identical to the way you do it with L1 Ethereum. The most visible difference is that you have to specify a different endpoint (of course). -The list of other differences is [here](differences). +For more detail, see the guide on [Differences between Ethereum and OP Stack Chains](/stack/differences). * [Apeworx](https://www.apeworx.io/) * [Brownie](https://eth-brownie.readthedocs.io/en/stable/install.html) diff --git a/pages/app-developers/get-started.mdx b/pages/app-developers/get-started.mdx index 7592b9d1a..5bc4b9158 100644 --- a/pages/app-developers/get-started.mdx +++ b/pages/app-developers/get-started.mdx @@ -21,7 +21,7 @@ Select a network to build, test, and quickly iterate on interoperable apps. | Local network | Devnet | | :-------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- | | Build and iterate on your apps with Supersim – a local multi-chain dev environment. | Deploy your app to devnet – a testnet developmental version – to conduct large-scale testing. | -| | | +| | | | [Supersim](tutorials/supersim) | [Devnet Docs](/stack/interop/tools/devnet) | ## Deploy your app to devnet in minutes diff --git a/pages/app-developers/tutorials/transactions/sdk-trace-txns.mdx b/pages/app-developers/tutorials/transactions/sdk-trace-txns.mdx index 3b16e237e..8bcbc4348 100644 --- a/pages/app-developers/tutorials/transactions/sdk-trace-txns.mdx +++ b/pages/app-developers/tutorials/transactions/sdk-trace-txns.mdx @@ -8,7 +8,7 @@ import { Callout, Steps } from 'nextra/components' # Tracing deposits and withdrawals -In this tutorial, you'll learn how to use the [viem](https://viem.sh) library to trace a [Standard Bridge](../bridging/standard-bridge) deposit or withdrawal between L1 and L2. +In this tutorial, you'll learn how to use the [viem](https://viem.sh) library to trace a [Standard Bridge](/app-developers/bridging/standard-bridge) deposit or withdrawal between L1 and L2. You'll specifically learn how to determine the status of a deposit or withdrawal and how to retrieve the transaction receipt for the executed transaction on L1 (for withdrawals) or L2 (for deposits). ## Dependencies @@ -158,4 +158,4 @@ You can use viem's functions to trace a withdrawal. ## Next steps -* Check out the tutorial on [bridging ERC-20 tokens with the Optimism SDK](./cross-dom-bridge-erc20) to learn how to create deposits and withdrawals. +* Check out the tutorial on [bridging ERC-20 tokens with the Optimism SDK](/app-developers/tutorials/bridging/cross-dom-bridge-erc20) to learn how to create deposits and withdrawals. diff --git a/pages/operators/chain-operators/features/alt-da-mode.mdx b/pages/operators/chain-operators/features/alt-da-mode.mdx index f72fa5fc6..0fb575689 100644 --- a/pages/operators/chain-operators/features/alt-da-mode.mdx +++ b/pages/operators/chain-operators/features/alt-da-mode.mdx @@ -31,7 +31,7 @@ You should use at least the following compatible op\* versions when running your - If you are trying to launch an Alt-DA Mode Chain using a custom gas token, follow the contract deployment instructions in our [Custom Gas Token docs](/operators/chain-operators/features/custom-gas-token.mdx). + If you are trying to launch an Alt-DA Mode Chain using a custom gas token, follow the contract deployment instructions in our [Custom Gas Token docs](/operators/chain-operators/features/custom-gas-token). diff --git a/pages/operators/chain-operators/self-hosted.mdx b/pages/operators/chain-operators/self-hosted.mdx index c42ffe315..2a25e51f4 100644 --- a/pages/operators/chain-operators/self-hosted.mdx +++ b/pages/operators/chain-operators/self-hosted.mdx @@ -96,7 +96,6 @@ They'll help you get a head start deploying your first OP Stack chain. | Tutorial Name | Description | Difficulty Level | | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | | [Creating Your Own L2 Rollup](tutorials/create-l2-rollup) | Learn how to spin up your own OP Stack testnet chain | 🟡 Medium | -| [Using the OP Stack Client SDK](tutorials/sdk) | Learn how to use the OP Stack Client SDK when working with native and non-native supported chains. | 🟢 Easy | | [Adding Attributes to the Derivation Function](tutorials/adding-derivation-attributes) | Learn how to modify the derivation function for an OP Stack chain to track the amount of ETH being burned on L1. | 🟢 Easy | | [Adding a Precompile](tutorials/adding-precompiles) | Learn how to run an EVM with a new precompile for OP Stack chain operations to speed up calculations that are not currently supported. | 🟢 Easy | | [Modifying Predeployed Contracts](tutorials/modifying-predeploys) | Learn how to modify predeployed contracts for an OP Stack chain by upgrading the proxy. | 🟢 Easy | diff --git a/pages/stack/dev-node.mdx b/pages/stack/dev-node.mdx index 846356cb5..78fac35be 100644 --- a/pages/stack/dev-node.mdx +++ b/pages/stack/dev-node.mdx @@ -183,5 +183,5 @@ Send some transactions, deploy some contracts, and see what happens! ## Next Steps * Check out the [protocol specs](https://specs.optimism.io/) for more detail about the rollup protocol. -* If you run into any problems, please visit the [Chain Operators Troubleshooting Guide](../management/troubleshooting) +* If you run into any problems, please visit the [Chain Operators Troubleshooting Guide](/operators/chain-operators/management/troubleshooting) or [file an issue](https://github.com/ethereum-optimism/optimism/issues) for help. diff --git a/pages/stack/fault-proofs/cannon.mdx b/pages/stack/fault-proofs/cannon.mdx index 2619e4a23..0a60d138a 100644 --- a/pages/stack/fault-proofs/cannon.mdx +++ b/pages/stack/fault-proofs/cannon.mdx @@ -190,7 +190,7 @@ certain syscalls. The full list of instructions supported can be found [here](mi The offchain `mips.go` and the onchain Cannon `MIPS.sol` behave similarly when it comes to executing MIPS32 R1 instructions. In fact, they must produce **exactly the same results** given the same instruction, memory, and register state. -Consequently, the [witness data](#witness-data) is essential to reproduce the same instruction onchain and offchain. +Consequently, the witness data is essential to reproduce the same instruction onchain and offchain. However, there are differences between the two: 1. A single instruction will be run onchain in `MIPS.sol`, whereas the offchain `mips.go` will run all MIPS instructions for all state transitions in the disputed L2 state. diff --git a/pages/stack/getting-started.mdx b/pages/stack/getting-started.mdx index 0e86a3efc..5a5fd2daf 100644 --- a/pages/stack/getting-started.mdx +++ b/pages/stack/getting-started.mdx @@ -58,7 +58,7 @@ The OP Stack is an evolving concept. As Optimism grows, so will the OP Stack. Today, the Bedrock Release of the OP Stack simplifies the process of deploying new L2 Rollups. As work on the stack continues, it should become easier to plug in and configure different modules. -As the [Superchain](explainer) begins to take shape, the OP Stack can evolve alongside it, to include the message-passing infrastructure that allows different chains to interoperate seamlessly. +As the [Superchain](/superchain/superchain-explainer) begins to take shape, the OP Stack can evolve alongside it, to include the message-passing infrastructure that allows different chains to interoperate seamlessly. At the end of the day, the OP Stack becomes what Optimism needs. ## Dive deeper into the OP Stack @@ -66,6 +66,6 @@ At the end of the day, the OP Stack becomes what Optimism needs. Ready to dive into the world of the OP Stack? * If you're interested in understanding the OP Stack in more depth, start with the [Design Principles](design-principles) and [Components Overview](components). -* If you're excited to join the Superchain, launch your first Superchain-ready L2 with our [Getting Started guide](explainer) or dive directly into the OP Stack codebase to learn more. +* If you're excited to join the Superchain, launch your first [Superchain-ready L2](/operators/chain-operators/self-hosted) or dive directly into the OP Stack codebase to learn more. The OP Stack is the next frontier for Ethereum. You're already here, so what are you waiting for? diff --git a/pages/stack/interop/cross-chain/event-reads.mdx b/pages/stack/interop/cross-chain/event-reads.mdx index fd482faee..66495e199 100644 --- a/pages/stack/interop/cross-chain/event-reads.mdx +++ b/pages/stack/interop/cross-chain/event-reads.mdx @@ -196,4 +196,4 @@ Leveraging superchain interop, we can build new types of horizontally scalable c * As new chains are added to the superchain, this contract can be installed by anyone and immediately playable with no necessary code changes. The frontend simply needs to react the addition of a new chain. * The concept of a "chain" can be completely abstracted away from the user. When connecting their wallet, the frontend can simply pick the chain which the user has funds on with the lowest gas fees. -* Event reading enables a new level of composability for cross-chain interactions. Imagine [contests](event-contests) contract that resolves based on the outcome of a TicTacToe game via the `GameWon` or `GameLost` event without the need for a trusted oracle, nor permission or native integration with the TicTacToe contract. +* Event reading enables a new level of composability for cross-chain interactions. Imagine [contests](/stack/interop/cross-chain/event-contests) contract that resolves based on the outcome of a TicTacToe game via the `GameWon` or `GameLost` event without the need for a trusted oracle, nor permission or native integration with the TicTacToe contract. diff --git a/pages/stack/interop/superchain-weth.mdx b/pages/stack/interop/superchain-weth.mdx index 0c9d43a4f..8c67f6229 100644 --- a/pages/stack/interop/superchain-weth.mdx +++ b/pages/stack/interop/superchain-weth.mdx @@ -106,7 +106,7 @@ This behavior differs from [standard ETH transfers](https://docs.base.org/base-l Every ETH in circulation on the Superchain—excluding ETH held by `ETHLiquidity`—must be backed by ETH on L1. -This is enforced by a lockbox contract on L1, which holds all ETH bridged to [Superchain interop cluster chains](pages/stack/interop/explainer#superchain-interop-cluster) that has not yet been withdrawn. +This is enforced by a lockbox contract on L1, which holds all ETH bridged to [Superchain interop cluster chains](/stack/interop/explainer#superchain-interop-cluster) that has not yet been withdrawn. New ETH can only be minted on L2 when it is locked on L1, and it is burned on L2 before it can be released from the lockbox. Here is an example of how this works. diff --git a/pages/stack/interop/tutorials/relay-messages-cast.mdx b/pages/stack/interop/tutorials/relay-messages-cast.mdx index 539fd1a33..2c3df9603 100644 --- a/pages/stack/interop/tutorials/relay-messages-cast.mdx +++ b/pages/stack/interop/tutorials/relay-messages-cast.mdx @@ -186,7 +186,7 @@ struct Identifier { This is obviously very tedious to do by hand 😅. Here are some alternatives: * use `supersim --interop.autorelay` - this only works on supersim, but relayers for the testnet/prod environment will be available soon! -* [use `viem` bindings/actions](relay-using-viem.md) - if you're using typescript, we have bindings available to make fetching identifiers and relaying messages easy +* [use `viem` bindings/actions](relay-messages-viem) - if you're using typescript, we have bindings available to make fetching identifiers and relaying messages easy ## Next steps diff --git a/pages/stack/smart-contracts.mdx b/pages/stack/smart-contracts.mdx index 7fb5b3546..127d73665 100644 --- a/pages/stack/smart-contracts.mdx +++ b/pages/stack/smart-contracts.mdx @@ -624,7 +624,7 @@ The `SchemaRegistry` predeploy implements the global attestation schemas for the * **Deprecated:** no * **Proxied:** yes -The SchemaRegistry works alongside the Ethereum Attestation Service (EAS) to enable attestations. See [Build Decentralized Identity Apps with Attestations](about-attestations) for more details on schemas and usage. +The SchemaRegistry works alongside the Ethereum Attestation Service (EAS) to enable attestations. See [Build Decentralized Identity Apps with Attestations](https://community.optimism.io/identity/about-attestations) for more details on schemas and usage. ### EAS (Ethereum Attestation Service) @@ -668,7 +668,7 @@ Attestations made via EAS can be indexed through the following tools: * [Ponder Graph](https://github.com/ethereum-attestation-service/eas-ponder-graph) * [Open Source Indexer](https://github.com/ethereum-attestation-service/eas-indexing-service) -For more information on working with attestations, see [Build Decentralized Identity Apps with Attestations](about-attestations). +For more information on working with attestations, see [Build Decentralized Identity Apps with Attestations](https://community.optimism.io/identity/about-attestations). ### BeaconBlockRoot diff --git a/pages/superchain/privileged-roles.mdx b/pages/superchain/privileged-roles.mdx index 1461b5096..a5e808551 100644 --- a/pages/superchain/privileged-roles.mdx +++ b/pages/superchain/privileged-roles.mdx @@ -49,7 +49,7 @@ The L2 Proxy Admin is an address that can be used to upgrade most OP Stack chain ### Mitigations -* L2 Proxy Admin is controlled by the same L1 account as the [L1 Proxy Admin](#l1-proxy-admin). This is enabled by [address aliasing](../../connect/resources/glossary.mdx#address-aliasing). +* L2 Proxy Admin is controlled by the same L1 account as the [L1 Proxy Admin](#l1-proxy-admin). This is enabled by [address aliasing](/connect/resources/glossary#address-aliasing). ### Addresses diff --git a/public/_redirects b/public/_redirects index 2c139b871..33549a2fe 100644 --- a/public/_redirects +++ b/public/_redirects @@ -1,4 +1,19 @@ # Redirects from what the browser requests to what we serve +# Last updated: [current date] + +# ---------------------------------------------------------------------------- +# Main Directory Structure Changes +# Moving from /builders/* to /app-developers/* and /operators/* +# ---------------------------------------------------------------------------- +/builders /app-developers/get-started +/builders/dapp-developers /app-developers +/builders/chain-operators /operators/chain-operators +/builders/node-operators /operators/node-operators + +# ---------------------------------------------------------------------------- +# App Developer Content Migration +# ---------------------------------------------------------------------------- +# Tools and Resources /builders/tools/rpc-providers /app-developers/tools/connect/rpc-providers /builders/tools/block-explorers /app-developers/tools/build/block-explorers /builders/tools/faucets /app-developers/tools/build/faucets @@ -6,162 +21,119 @@ /builders/tools/nft-tools /app-developers/tools/build/nft-tools /builders/tools/account-abstraction /app-developers/tools/build/account-abstraction /builders/tools/analytics-tools /app-developers/tools/build/analytics-tools -/builders/tools/regenesis-history /operators/node-operators/management/regenesis-history -/builders/dapp-developers/contracts/account-abstraction /app-developers/tools/build/account-abstraction -/stack/security/forced-transfers /stack/security/faq -/builders/dapp-developers/dapp-developer-overview /app-developers/get-started -/tokenlist /chain/tokenlist -/addresses /chain/addresses -/identity/optimist-profile /chain/identity/overview -/chain/identity/optimist-profile /chain/identity/overview -/stack/transactions/transaction-fees /stack/transactions/fees -/builders/tools/monitoring/regenesis-history /operators/node-operators/management/regenesis-history -/builders/dapp-developers/bridging/basics /app-developers/bridging/basics -/resources/glossary /connect/resources/glossary -/differences-op-stack /stack/differences -/differences /chain/differences -/chain-operators/sample-hacks/modifying-predeploys /operators/chain-operators/tutorials/modifying-predeploys -/chain/testing/testing-dapps /chain/testing/testing-apps -/chain-operators/hacks/derivation /operators/chain-operators/hacks/derivation -/chain-operators/hacks/overview /operators/chain-operators/hacks/overview -/getting-started-op-stack /stack/getting-started -/builders/tools/javascript/sdk /operators/chain-operators/tutorials/sdk -/builders/tools/monitoring/analytics-tools /app-developers/tools/build/analytics-tools -/builders/chain-operators/operations /operators/chain-operators/management/operations -/builders/dapp-developers/contracts/cheap-dapp /app-developers/contracts/optimization -/builders/dapp-developers/contracts/compatibility /app-developers/contracts/compatibility -/builders/dapp-developers/contracts/system-contracts /app-developers/contracts/system-contracts -/dapp-developers/creating-a-nft /app-developers/tools/build/nft-tools -/chain-operators/chain-troubleshooting /operators/chain-operators/management/troubleshooting -/builders/notices/ecotone-fee-changes /stack/transactions/fees#ecotone -/builders/node-operators/network-upgrades/overview /operators/node-operators/network-upgrades -/builders/node-operators/network-upgrades/canyon /operators/node-operators/network-upgrades -/builders/node-operators/network-upgrades/delta /operators/node-operators/network-upgrades -/builders/node-operators/network-upgrades/ecotone /operators/node-operators/network-upgrades -/builders/dapp-developers/code-examples/ecosystem-overview /app-developers/tools/build/ecosystem-overview -/builders/dapp-developers/quick-start /app-developers/starter-kit -/builders/dapp-developers/bridging/messaging /app-developers/bridging/messaging -/builders/dapp-developers/bridging/standard-bridge /app-developers/bridging/standard-bridge -/builders/dapp-developers/bridging/custom-bridge /app-developers/bridging/custom-bridge +/builders/tools/* /app-developers/tools/:splat + +# Getting Started and Overview +/builders/dapp-developers/dapp-developer-overview /app-developers/get-started +/builders/dapp-developers/quick-start /app-developers/starter-kit +/dapp-developers/creating-a-nft /app-developers/tools/build/nft-tools + +# Tutorials and Guides /builders/dapp-developers/tutorials/first-contract /app-developers/get-started /builders/dapp-developers/tutorials/cross-dom-bridge-eth /app-developers/tutorials/bridging/cross-dom-bridge-eth /builders/dapp-developers/tutorials/cross-dom-bridge-erc20 /app-developers/tutorials/bridging/cross-dom-bridge-erc20 -/builders/dapp-developers/tutorials/sdk-estimate-costs /app-developers/tutorials/transactions/sdk-estimate-costs -/builders/dapp-developers/tutorials/sdk-trace-txns /app-developers/tutorials/transactions/sdk-trace-txns -/builders/dapp-developers/tutorials/send-tx-from-eth /app-developers/tutorials/transactions/send-tx-from-eth -/builders/dapp-developers/tutorials/cross-dom-solidity /app-developers/tutorials/bridging/cross-dom-solidity -/builders/dapp-developers/tutorials/standard-bridge-standard-token /app-developers/tutorials/bridging/standard-bridge-standard-token -/builders/dapp-developers/tutorials/standard-bridge-custom-token /app-developers/tutorials/bridging/standard-bridge-custom-token -/builders/dapp-developers/transactions/estimates /app-developers/transactions/estimates -/builders/dapp-developers/transactions/fees /app-developers/transactions/fees -/builders/dapp-developers/transactions/transactions/parameters /app-developers/transactions/parameters -/builders/dapp-developers/transactions/statuses /app-developers/transactions/statuses -/builders/dapp-developers/transactions/troubleshooting /app-developers/transactions/troubleshooting -/builders/chain-operators/overview /operators/chain-operators/self-hosted -/transaction-fees/overview /app-developers/transactions/fees -/dapp-developers/contracts/meta-tx /app-developers/contracts/optimization -/builders/tools/build/overview /app-developers/tools/overview -/protocol-specifications/optimistic-rollup/block-production /stack/rollup/overview#block-production -/builders/node-operators/metrics /operators/node-operators/management/metrics -/stack /stack/getting-started -/chain/sec /chain/security/faq -/builders/chain-operators/management/tools/explorer /operators/chain-operators/tools/explorer -/builders/node-operators/management/configuration /operators/node-operators/configuration/base-config -/stack/protocol/deposit-flow /stack/transactions/deposit-flow -/stack/protocol/transaction-flow /stack/transactions/transaction-flow -/stack/protocol/withdrawal-flow /stack/transactions/withdrawal-flow -/stack/protocol/smart-contracts /stack/smart-contracts -/stack/protocol/overview /stack/rollup/overview -/stack/protocol/design-principles /stack/design-principles -/builders/node-operators/overview /operators/node-operators/rollup-node -/builders/notices/ecotone-changes /stack/transactions/fees#ecotone -/stack/protocol/fault-proofs/overview /stack/fault-proofs/explainer -/builders/chain-operators/management/configuration /operators/chain-operators/configuration/overview -/builders/chain-operators/management/custom-gas-token /operators/chain-operators/features/custom-gas-token -/stack/protocol/rollup/smart-contracts /stack/smart-contracts -/stack/protocol/fault-proofs/challenger /stack/fault-proofs/challenger -/stack/protocol/fault-proofs/fp-security /stack/fault-proofs/fp-security -/stack/protocol/fault-proofs/mips /stack/fault-proofs/mips -/stack/protocol/fault-proofs/fp-components /stack/fault-proofs/fp-components -/stack/protocol/fault-proofs/explainer /stack/fault-proofs/explainer -/stack/protocol/fault-proofs/cannon /stack/fault-proofs/cannon -/stack/protocol/interop/supersim /stack/interop/tools/supersim -/stack/protocol/interop/superchain-erc20 /stack/interop/superchain-erc20 -/stack/protocol/interop/explainer /stack/interop/explainer -/stack/protocol/interop/cross-chain-message /stack/interop/cross-chain-message -/stack/protocol/features/alt-da-mode /stack/beta-features/alt-da-mode -/stack/protocol/features/custom-gas-token /stack/beta-features/custom-gas-token -/stack/protocol/features/send-raw-transaction-conditional /stack/features/send-raw-transaction-conditional -/stack/protocol/derivation-pipeline /stack/rollup/derivation-pipeline -/stack/protocol/rollup/overview /stack/rollup/overview -/stack/protocol/rollup/withdrawal-flow /stack/transactions/withdrawal-flow -/stack/protocol/rollup/forced-transaction /stack/transactions/forced-transaction -/stack/protocol/rollup/transaction-flow /stack/transactions/transaction-flow -/stack/protocol/rollup/deposit-flow /stack/transactions/deposit-flow -/stack/protocol/outages /stack/rollup/outages -/stack/operators/features/op-txproxy /operators/chain-operators/tools/op-txproxy -/stack/operators/features/proxyd /operators/chain-operators/tools/proxyd -/builders/notices/granite-changes https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/granite-changes.mdx -/builders/notices/fp-changes https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/fp-changes.mdx -/chain/differences /stack/differences -/builders/app-developers/contracts/optimization /app-developers/get-started -/builders/app-developers/contracts/system-contracts /stack/smart-contracts -/builders/app-developers/contracts/compatibility /stack/differences -/builders/app-developers/tutorials/first-contract /app-developers/get-started -/builders/cex-wallet-developers/cex-support /app-developers/get-started -/builders/cex-wallet-developers/wallet-support /app-developers/get-started -/builders/cex-wallet-developers /app-developers/get-started -/stack/interop/assets/superchain-erc20 /stack/interop/superchain-erc20 -/stack/interop/assets/superchain-weth /stack/interop/superchain-weth +/builders/dapp-developers/tutorials/sdk-estimate-costs /app-developers/tutorials/transactions/sdk-estimate-costs +/builders/dapp-developers/tutorials/sdk-trace-txns /app-developers/tutorials/transactions/sdk-trace-txns +/builders/dapp-developers/tutorials/send-tx-from-eth /app-developers/tutorials/transactions/send-tx-from-eth +/builders/dapp-developers/tutorials/cross-dom-solidity /app-developers/tutorials/bridging/cross-dom-solidity +/builders/dapp-developers/tutorials/* /app-developers/tutorials/:splat + +# Bridging Documentation +/builders/dapp-developers/bridging/basics /app-developers/bridging/basics +/builders/dapp-developers/bridging/messaging /app-developers/bridging/messaging +/builders/dapp-developers/bridging/standard-bridge /app-developers/bridging/standard-bridge +/builders/dapp-developers/bridging/custom-bridge /app-developers/bridging/custom-bridge +/builders/dapp-developers/bridging/* /app-developers/bridging/:splat + +# Contracts and Transactions +/builders/dapp-developers/contracts/account-abstraction /app-developers/tools/build/account-abstraction +/builders/dapp-developers/contracts/cheap-dapp /app-developers/contracts/optimization +/builders/dapp-developers/contracts/compatibility /app-developers/contracts/compatibility +/builders/dapp-developers/contracts/system-contracts /app-developers/contracts/system-contracts +/builders/dapp-developers/contracts/* /app-developers/contracts/:splat +/builders/dapp-developers/transactions/* /app-developers/transactions/:splat + +# ---------------------------------------------------------------------------- +# Operator Content Migration +# ---------------------------------------------------------------------------- +# Chain Operator Content +/builders/chain-operators/overview /operators/chain-operators/self-hosted +/builders/chain-operators/configuration/batcher /operators/chain-operators/configuration/batcher +/builders/chain-operators/configuration/* /operators/chain-operators/configuration/:splat +/builders/chain-operators/management/operations /operators/chain-operators/management/operations +/builders/chain-operators/management/* /operators/chain-operators/management/:splat +/builders/chain-operators/tools/proxyd /operators/chain-operators/tools/proxyd +/builders/chain-operators/tools/chain-monitoring /operators/chain-operators/tools/chain-monitoring +/builders/chain-operators/tools/explorer /operators/chain-operators/tools/explorer +/builders/chain-operators/tools/* /operators/chain-operators/tools/:splat +/builders/chain-operators/* /operators/chain-operators/:splat + +# Node Operator Content +/builders/node-operators/overview /operators/node-operators/rollup-node +/builders/node-operators/management/snapshots /operators/node-operators/management/snapshots +/builders/node-operators/management/metrics /operators/node-operators/management/metrics +/builders/node-operators/management/* /operators/node-operators/management/:splat +/builders/node-operators/configuration/* /operators/node-operators/configuration/:splat +/builders/node-operators/network-upgrades/* /operators/node-operators/network-upgrades +/builders/node-operators/* /operators/node-operators/:splat + +# ---------------------------------------------------------------------------- +# Stack Documentation Migration +# ---------------------------------------------------------------------------- +# Protocol and Architecture +/stack/protocol/fault-proofs/* /stack/fault-proofs/:splat +/stack/protocol/interop/* /stack/interop/:splat +/stack/protocol/features/* /stack/features/:splat +/stack/protocol/rollup/* /stack/rollup/:splat +/stack/protocol/* /stack/:splat + +# Transaction Flows +/stack/protocol/deposit-flow /stack/transactions/deposit-flow +/stack/protocol/transaction-flow /stack/transactions/transaction-flow +/stack/protocol/withdrawal-flow /stack/transactions/withdrawal-flow + +# Interoperability +/stack/interop/assets/* /stack/interop/:splat /stack/interop/transfer-superchainERC20 /stack/interop/tutorials/transfer-superchainERC20 -/stack/interop/assets/transfer-superchainERC20 /stack/interop/tutorials/transfer-superchainERC20 -/stack/interop/assets/deploy-superchain-erc20 /stack/interop/tutorials/deploy-superchain-erc20 -/builders/app-developers/contracts/superchain-erc20 /stack/interop/superchain-erc20 -/builders/chain-operators/tutorials/sdk /app-developers/get-started -/stack/explainer /superchain/superchain-explainer -/stack/interop/architecture /stack/interop/explainer#interoperability-architecture -/stack/interop/cross-chain-message /stack/interop/explainer#how-messages-get-from-one-chain-to-the-other -/chain/identity/contracts-eas /stack/smart-contracts#eas-ethereum-attestation-service -/chain/identity/about-attestations https://community.optimism.io/identity/about-attestations -/chain/identity/applications https://community.optimism.io/identity/applications -/chain/identity/contracts-eas https://community.optimism.io/identity/contracts-eas -/chain/identity/individuals https://community.optimism.io/identity/individuals -/chain/identity/organizations https://community.optimism.io/identity/organizations -/chain/identity/overview https://community.optimism.io/identity/overview -/chain/identity/projects https://community.optimism.io/identity/projects -/chain/identity/schemas https://community.optimism.io/identity/schemas -/builders/tools/fee-calculator /operators/chain-operators/tools/fee-calculator -/builders/app-developers/tools/supersim /app-developers/tools/supersim -/builders/app-developers/tools/ecosystem-overview /app-developers/tools/ecosystem-overview -/chain/getting-started /app-developers/building-apps -/chain/networks /superchain/networks -/chain/addresses /superchain/addresses -/chain/tokenlist /superchain/tokenlist -/chain/testing/testing-apps /app-developers/testing-apps -/chain/testing/dev-node /stack/dev-node -/chain/security/privileged-roles /superchain/privileged-roles -/chain/security/faq /stack/security/faq-sec-model -/chain/security/security-policy /stack/security/security-policy -/app-developers/tools/overview /app-developers/tools +/stack/interop/architecture /stack/interop/explainer#interoperability-architecture +/stack/interop/cross-chain-message /stack/interop/explainer#how-messages-get-from-one-chain-to-the-other + +# ---------------------------------------------------------------------------- +# Chain and Identity Documentation +# ---------------------------------------------------------------------------- +# Chain Resources +/tokenlist /chain/tokenlist +/addresses /chain/addresses +/chain/networks /superchain/networks +/chain/addresses /superchain/addresses +/chain/tokenlist /superchain/tokenlist +/chain/getting-started /app-developers/building-apps +/chain/testing/* /app-developers/testing-:splat +/chain/security/privileged-roles /superchain/privileged-roles +/chain/differences /stack/differences + +# Identity Documentation +/identity/optimist-profile /chain/identity/overview +/chain/identity/optimist-profile /chain/identity/overview +/chain/identity/* https://community.optimism.io/identity/:splat + +# ---------------------------------------------------------------------------- +# Tool and Resource Migrations +# ---------------------------------------------------------------------------- +/app-developers/tools/overview /app-developers/tools /app-developers/tools/ecosystem-overview /app-developers/tools/build/ecosystem-overview -/app-developers/quick-start /app-developers/starter-kit -/app-developers/tutorials/cross-dom-bridge-eth /app-developers/tutorials/bridging/cross-dom-bridge-eth -/app-developers/tutorials/cross-dom-bridge-erc20 /app-developers/tutorials/bridging/cross-dom-bridge-erc20 -/app-developers/tutorials/sdk-estimate-costs /app-developers/tutorials/transactions/sdk-estimate-costs -/app-developers/tutorials/sdk-trace-txns /app-developers/tutorials/transactions/sdk-trace-txns -/app-developers/tutorials/send-tx-from-eth /app-developers/tutorials/transactions/send-tx-from-eth -/app-developers/tutorials/cross-dom-solidity /app-developers/tutorials/bridging/cross-dom-solidity -/app-developers/tutorials/standard-bridge-standard-token /app-developers/tutorials/bridging/standard-bridge-standard-token -/app-developers/tutorials/standard-bridge-custom-token /app-developers/tutorials/bridging/standard-bridge-custom-token -/stack/interop/security /stack/interop/cross-chain/security -/app-developers/getting-started /app-developers/building-apps -/builders/chain-operators/tools/proxyd /operators/chain-operators/tools/proxyd -/builders/chain-operators/tools/chain-monitoring /operators/chain-operators/tools/chain-monitoring -/builders/chain-operators/tools/explorer /operators/chain-operators/tools/explorer -/builders/chain-operators/tools/op-challenger /operators/chain-operators/tools/op-challenger -/builders/chain-operators/tools/op-conductor /operators/chain-operators/tools/op-conductor -/builders/chain-operators/tools/op-deployer /operators/chain-operators/tools/op-deployer -/builders/chain-operators/tools/op-txproxy /operators/chain-operators/tools/op-txproxy -/builders/chain-operators/tools/fee-calculator /operators/chain-operators/tools/fee-calculator -/app-developers/tools/monitor/analytics-tools /app-developers/tools/build/analytics-tools -/app-developers/tools/monitor/regenesis-history /operators/node-operators/management/regenesis-history +/app-developers/tools/monitor/* /app-developers/tools/build/:splat +/resources/glossary /connect/resources/glossary + +# ---------------------------------------------------------------------------- +# Historical Notices (Temporary GitHub redirects) +# ---------------------------------------------------------------------------- +/builders/notices/granite-changes https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/granite-changes.mdx +/builders/notices/fp-changes https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/fp-changes.mdx +/builders/notices/ecotone-changes /stack/transactions/fees#ecotone + +# ---------------------------------------------------------------------------- +# Catch-all Rules (Keep at bottom) +# ---------------------------------------------------------------------------- +# Catch any remaining /builders paths +/builders/* /app-developers/:splat