Skip to content

Commit 5ba0520

Browse files
Merge branch 'main' into interop-ideas
2 parents 63dc1c0 + 957ea3d commit 5ba0520

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1048
-211
lines changed

.circleci/config.yml

+12-48
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2.1
22
orbs:
3-
utils: ethereum-optimism/circleci-utils@0.0.7
3+
utils: ethereum-optimism/circleci-utils@1.0.13
44

55
executors:
66
node20:
@@ -64,6 +64,7 @@ jobs:
6464
- run:
6565
name: Run breadcrumb check
6666
command: pnpm check-breadcrumbs
67+
6768
lint:
6869
description: Lint Markdown files
6970
executor: ubuntu
@@ -75,39 +76,14 @@ jobs:
7576
command: pnpm lint
7677

7778
links:
78-
executor: rust
79+
description: Check broken links in documentation
80+
executor: ubuntu
7981
steps:
80-
- checkout:
81-
path: docs
82-
- run:
83-
name: Checkout lycheeverse/lychee
84-
command: |
85-
git clone https://github.com/lycheeverse/lychee.git lychee
86-
87-
- restore_cache:
88-
keys:
89-
- v1-rust-cache-{{ checksum "lychee/Cargo.lock" }}
90-
- v1-rust-cache-
91-
92-
- run:
93-
name: Build Lychee
94-
command: |
95-
cd lychee
96-
cargo build --release
97-
98-
- save_cache:
99-
key: v1-rust-cache-{{ checksum "lychee/Cargo.lock" }}
100-
paths:
101-
- ~/.cargo/registry
102-
- ~/.cargo/git
103-
- lychee/target
104-
82+
- checkout
83+
- setup-node
10584
- run:
106-
name: Run Lychee link checker
107-
command: |
108-
export PATH=$PATH:$HOME/project/lychee/target/release
109-
cd docs
110-
lychee --config ./lychee.toml --quiet "./pages"
85+
name: Run link checker
86+
command: pnpm link-checker
11187

11288
developer-metrics:
11389
description: Monthly Metrics Report
@@ -117,10 +93,6 @@ jobs:
11793
type: string
11894
default: $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME
11995
steps:
120-
- utils/get-github-access-token:
121-
private-key-str: GITHUB_APP_KEY
122-
app-id: GITHUB_APP_ID
123-
repo: << parameters.repo >>
12496
- run:
12597
name: Get Dates for Last Month
12698
command: |
@@ -133,21 +105,13 @@ jobs:
133105
134106
# Export the last_month variable for subsequent steps
135107
echo "export LAST_MONTH=${first_day}..${last_day}" >> $BASH_ENV
136-
- utils/generate-issue-metrics-file:
108+
- utils/create-github-issue-from-search:
137109
SEARCH_QUERY: 'repo:ethereum-optimism/docs is:issue closed:${LAST_MONTH} -reason:\"not planned\" -label:monthly-report'
138-
file-path: "./closed_issue_metrics.md"
139-
- utils/create-github-issue-from-file:
140-
repo: << parameters.repo >>
141-
file-path: "./closed_issue_metrics.md"
142110
issue-title: "${LAST_MONTH} metrics report for closed issues"
143111
issue-labels: "monthly-report"
144112
assignees: "sbvegan"
145-
- utils/generate-issue-metrics-file:
146-
SEARCH_QUERY: "repo:ethereum-optimism/docs is:pr created:${LAST_MONTH}"
147-
file-path: "./pr_issue_metrics.md"
148-
- utils/create-github-issue-from-file:
149-
repo: << parameters.repo >>
150-
file-path: "./pr_issue_metrics.md"
113+
- utils/create-github-issue-from-search:
114+
SEARCH_QUERY: 'repo:ethereum-optimism/docs is:pr created:${LAST_MONTH}'
151115
issue-title: "${LAST_MONTH} metrics report for opened prs"
152116
issue-labels: "monthly-report"
153117
assignees: "sbvegan"
@@ -171,4 +135,4 @@ workflows:
171135
equal: [build_monthly, <<pipeline.schedule.name>>]
172136
jobs:
173137
- developer-metrics:
174-
context: circleci-repo-docs
138+
context: circleci-repo-docs

next.config.mjs

+26
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,32 @@ export default {
1717
eslint: {
1818
ignoreDuringBuilds: true,
1919
},
20+
21+
async headers() {
22+
return [
23+
{
24+
source: '/:path*',
25+
headers: [
26+
{
27+
key: 'X-DNS-Prefetch-Control',
28+
value: 'on'
29+
},
30+
{
31+
key: 'Strict-Transport-Security',
32+
value: 'max-age=31536000; includeSubDomains; preload'
33+
},
34+
{
35+
key: 'X-Content-Type-Options',
36+
value: 'nosniff'
37+
},
38+
{
39+
key: 'X-Frame-Options',
40+
value: 'DENY'
41+
}
42+
],
43+
},
44+
]
45+
},
2046

2147
// Don't put redirects here
2248
// they go in public/_redirects

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
"version": "0.0.1",
44
"description": "Optimism Docs",
55
"scripts": {
6-
"lint": "eslint . --ext mdx --max-warnings 0 && pnpm spellcheck:lint && pnpm check-breadcrumbs && pnpm check-redirects",
6+
"lint": "eslint . --ext mdx --max-warnings 0 && pnpm spellcheck:lint && pnpm check-redirects && pnpm link-checker",
77
"fix": "eslint . --ext mdx --fix && pnpm spellcheck:fix && pnpm breadcrumbs && pnpm fix-redirects",
88
"spellcheck:lint": "cspell lint \"**/*.mdx\"",
99
"spellcheck:fix": "cspell --words-only --unique \"**/*.mdx\" | sort --ignore-case | uniq > words.txt",
10-
"linkcheck": "lychee --config ./lychee.toml --quiet \"./pages\"",
1110
"breadcrumbs": "npx ts-node --skip-project utils/create-breadcrumbs.ts",
1211
"check-redirects": "npx ts-node --skip-project utils/redirects.ts",
12+
"link-checker": "npx ts-node --skip-project utils/link-checker.ts",
1313
"fix-redirects": "npx ts-node --skip-project utils/fix-redirects.ts",
1414
"check-breadcrumbs": "npx ts-node --skip-project utils/breadcrumbs.ts",
1515
"index:docs": "npx ts-node --skip-project utils/algolia-indexer.ts",

pages/app-developers/tools/connect/rpc-providers.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ GetBlock offers Pay-as-You-Go flexible pricing based on actual usage, suitable f
103103

104104
[Infura](https://infura.io) is a Web3 infrastructure provider that offers free access to hosted [OP Mainnet and testnet nodes](https://docs.infura.io/infura/networks/optimism), with the option to upgrade to [paid plans](https://www.infura.io/pricing) for more features. With Infura's highly performant Optimism node infrastructure, developers can eliminate the need for syncing or complex setups and get reliable and consistent access to the Optimism blockchain.
105105

106-
[Sign up for a free Infura account here](https://app.infura.io/register)
106+
[Sign up for a free Infura account here](https://developer.metamask.io/register)
107107

108108
### Supported networks
109109

pages/app-developers/tools/supersim.mdx

+3
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ This diagram illustrates how developers interact with Supersim through the CLI,
5656

5757
## Next steps
5858

59+
* Build a [revolutionary app](/app-developers/get-started) that uses multiple blockchains within the Superchain
60+
* Deploy a [SuperchainERC20](/stack/interop/tutorials/deploy-superchain-erc20) to the Superchain
61+
* View more [interop tutorials](/stack/interop/tutorials)
5962
* Check out the collection of [Supersim docs](/app-developers/tutorials/supersim) for tutorials and specific use cases.
6063
* Questions about Interop? Check out our collection of [interop guides](/stack/interop) or check out this [Superchain interop design video walk-thru](https://www.youtube.com/watch?v=FKc5RgjtGes).
6164
* For more info about how Superchain interoperability works under the hood, [check out the specs](https://specs.optimism.io/interop/overview.html).

pages/app-developers/tutorials/supersim/chain-env/included-contracts.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { Callout, Steps } from 'nextra/components'
88

99
# Included contracts
1010

11-
The `supersim` chain environment includes contracts already deployed to help replicate the Superchain environment. See [OP Chain A](op-chain-a) for contract address examples for a L2 system.
11+
The `supersim` chain environment includes contracts already deployed to help replicate the Superchain environment. See [OP Chain A](./chain-a) for contract address examples for a L2 system.
1212

1313
## OP Stack system contracts (L1)
1414

pages/connect/contribute/style-guide.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ Developers trust that we will lead them to sites or pages related to their readi
292292

293293
* Use anchor links, whenever possible, to guide users to a specific page and location in the technical documentation. This reduces cognitive load and improves overall usability.
294294

295-
* To link to an anchor, such as an H3 tag within a page, you need to append it to the page name preceded by `#`, like this **example**: `[any descriptive text](/chain/getting-started/overview#test-your-application)`.
295+
* To link to an anchor, such as an H3 tag within a page, you need to append it to the page name preceded by `#`, like this **example**: `[any descriptive text](/stack/interop/tutorials/deploy-superchain-erc20)`.
296296

297297
### Linking across pages
298298

pages/notices/holocene-changes.mdx

-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ If you experience difficulty at any stage of this process, please reach out to [
1818

1919
The Holocene upgrade for the Soneium Minato (Sepolia) will be activated at **Fri Dec 20 at 09:00:00 UTC** (`1734685200`).
2020

21-
The Holocene upgrade for the Soneium Minato (Sepolia) will be activated at **Fri Dec 20 at 09:00:00 UTC** (`1734685200`).
22-
2321
The Holocene upgrade for the Mainnet Superchain is scheduled for **Thu 9 Jan 2025 18:00:01 UTC**, [governance approval](https://vote.optimism.io/proposals/20127877429053636874064552098716749508236019236440427814457915785398876262515).
2422

2523
The Holocene upgrade for the Soneium Mainnet will be activated at **Mon Feb 03 at 09:00:00 UTC** (`1738573200`).

pages/notices/pectra-changes.mdx

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Node operators will need to upgrade to the respective releases before the activa
5050
Full node operators, meaning those who are running op-geth with `gc-mode=full`, will need to reference the [`op-geth v1.101411.8`release notes](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101411.8) to handle an intermediate upgrade step before upgrading to the latest release. Archive node operators, `gc-mode=archive`, can skip this step and upgrade directly to the latest release.
5151
</Callout>
5252

53-
* `op-node` at [`v1.11.0`](https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.11.0)
53+
* `op-node` at [`v1.11.1`](https://github.com/ethereum-optimism/optimism/releases/tag/op-node%2Fv1.11.1)
5454
* `op-geth` at [`v1.101500.0`](https://github.com/ethereum-optimism/op-geth/releases/tag/v1.101500.0)
5555
* `op-reth` at [`v1.1.5`](https://github.com/paradigmxyz/reth/releases/tag/v1.1.5) also includes L1 Pectra support.
5656

@@ -74,7 +74,7 @@ The following sections are how chain operators can prepare the first part of the
7474
## For fault proof enabled chains
7575

7676
<Callout type="info">
77-
The following instructions assume your chain is on the latest contract release `op-contracts/v1.8.0` and have Holocene activated.
77+
The following instructions assume your chain is on the latest contract release `op-contracts/v1.8.0` and has Holocene activated.
7878
</Callout>
7979

8080
The following steps are to update your absolute prestate with new dispute game contracts. **This is absolutely necessary for chains running permissionless fault proofs.** For chains running the Fault Proof System with permissioned games you can skip this section because games will not be played out and the absolute prestate is not used.
@@ -91,8 +91,8 @@ The Pectra upgrade changes the derivation rules, permissionless fault proof chai
9191

9292
The absolute prestate is generated with the [op-program/v1.5.0-rc.2](https://github.com/ethereum-optimism/optimism/tree/op-program/v1.5.0-rc.2). You can use this new absolute prestate (`0x035ac388b5cb22acf52a2063cfde108d09b1888655d21f02f595f9c3ea6cbdcd`) for the following chains:
9393

94-
* Sepolia: Base, OP, Metal, Mode, Zora, Ethernity, Unichain, Ink
95-
* Mainnet: Base, OP, Orderly, Lyra, Metal, Mode, Zora, Lisk, Ethernity, Binary, Ink, Unichain
94+
* Sepolia: Base, OP, Metal, Mode, Zora, Ethernity, Unichain, Ink, Minato (Soneium)
95+
* Mainnet: Base, OP, Orderly, Lyra, Metal, Mode, Zora, Lisk, Ethernity, Binary, Ink, Unichain, Soneium
9696

9797
You can verify this absolute prestate by running the following [command](https://github.com/ethereum-optimism/optimism/blob/3f18df1c8a502136bbe33f10ed1e29a26cd4678a/Makefile#L129-L131) in the root of the monorepo on the `op-program/v1.5.0-rc.2` tag:
9898

pages/operators/chain-operators/configuration/batcher.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ You can use [this calculator](https://docs.google.com/spreadsheets/d/12VIiXHaVEC
9090

9191
### Set your `--batch-type=1` to use span batches
9292

93-
Span batches reduce the overhead of OP Stack chains, introduced in Delta network upgrade. This is beneficial for sparse and low-throughput OP Stack chains.
93+
Span batches reduce the overhead of OP Stack chains, introduced in the Delta network upgrade. This is beneficial for sparse and low-throughput OP Stack chains.
9494

9595
The overhead is reduced by representing a span of consecutive L2 blocks in a more efficient manner, while preserving the same consistency checks as regular batch data.
9696

pages/operators/chain-operators/deploy/genesis.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ This command:
5757

5858
### Step 2: Generate your L2 genesis file and rollup file
5959

60-
After your L1 contracts have been deployed, generate the L2 genesis and rollup configuration files by inspecting the deployer's `state.json.`
60+
After your L1 contracts have been deployed, generate the L2 genesis and rollup configuration files by inspecting the deployer's `state.json`
6161

6262
```bash
6363
./bin/op-deployer inspect genesis --workdir .deployer <L2_CHAIN_ID> > .deployer/genesis.json

pages/operators/chain-operators/features/alt-da-mode.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ You should use at least the following compatible op\* versions when running your
4343

4444
* Celestia's docs on how to run the [Celestia DA server](https://github.com/celestiaorg/op-plasma-celestia/blob/main/README.md)
4545
* EigenDA's docs on how to run the [EigenDA DA server](https://github.com/Layr-Labs/op-plasma-eigenda/blob/main/README.md)
46-
* Avail's docs on how to run the [AvailDA DA Server](https://docs.availproject.org/docs/build-with-avail/Optimium/op-stack/op-stack#setup-avail-da-server)
46+
* Avail's docs on how to run the [AvailDA DA Server](https://docs.availproject.org/docs/build-with-avail/deploy-rollup-on-avail/Optimium)
4747
* 0gDA's docs on how to run the [0gDA DA Server](https://github.com/0glabs/0g-da-op-plasma)
4848
* Near DA's docs on how to run the [Near DA Server](https://github.com/Nuffle-Labs/data-availability/blob/84b484de98f58a91bf12c8abe8df27f5e753f63a/docs/OP-Alt-DA.md)
4949

@@ -123,7 +123,7 @@ Alt DA teams who want to be featured on this page must meet the following criter
123123
This feature has been renamed from Plasma Mode to Alt-DA Mode in the monorepo at: [0bb2ff5](https://github.com/ethereum-optimism/optimism/commit/0bb2ff57c8133f1e3983820c0bf238001eca119b). There are several breaking changes you should be aware of. These include changes to configuration file parameters, environment variables, and CLI commands.
124124
Before proceeding with the migration, ensure you are using [OP Stack v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) or later.
125125

126-
### Modify `rollup.json` config:
126+
### Modify `rollup.json` config
127127

128128
Update your `rollup.json` configuration file by replacing the old Plasma config with the new Alt-DA config.
129129
There are two possible formats for the old Plasma config:

pages/operators/chain-operators/management/blobs.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ This guide walks you through how to switch to using blobs for your chain after E
8686

8787
* Configure `OP_BATCHER_DATA_AVAILABILITY_TYPE=blobs`. The batcher will have to be restarted for it to take effect.
8888
* Ensure your `OP_BATCHER_MAX_CHANNEL_DURATION` is properly set to maximize your fee savings. See [OP Batcher Max Channel Configuration](/operators/chain-operators/configuration/batcher#set-your--op_batcher_max_channel_duration) for more details.
89-
* Optionally, you can configure your batcher to support multi-blobs. See [Multi-Blob Batcher Configuration](/operators/chain-operators/configuration/batcher#configure-your-multi-blob-batcher) for more details.
89+
* Optionally, you can configure your batcher to support multi-blobs. See [Multi-Blob Batcher Configuration](/operators/chain-operators/configuration/batcher#configure-your-batcher-to-use-multiple-blobs) for more details.
9090
</Steps>
9191

9292
## Switch back to using calldata

pages/operators/chain-operators/management/troubleshooting.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ WARN [02-16|21:22:02.868] Derivation process temporary error attempts=14 e
4444
This error can occur when the data directory for `op-geth` becomes corrupted (for example, as a result of a computer crash).
4545
You will need to reinitialize the data directory.
4646

47-
If you are following the tutorial for [Creating Your Own L2 Rollup](../tutorials/create-l2-rollup), make sure to rerun the commands within the [Initialize `op-geth`](../tutorials/create-l2-rollup#initialize-op-geth) section.
47+
If you are following the tutorial for [Creating Your Own L2 Rollup](/operators/chain-operators/tutorials/create-l2-rollup), make sure to rerun the commands within the [Initialize `op-geth`](/operators/chain-operators/tutorials/create-l2-rollup#initialize-op-geth) section.
4848

4949
If you are not following the tutorial, make sure to take the following steps:
5050

pages/operators/chain-operators/tools/op-txproxy.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Even though the op-geth implementation of this endpoint includes rate limits, it
3737

3838
* Conditional cost is below the max
3939
* Conditional values are valid (i.e min \< max)
40-
* Transaction target are only 4337 Entrypoint contracts
40+
* Transaction targets are only 4337 Entrypoint contracts
4141

4242
<Callout type="info">
4343
The motivating factor for this endpoint is to enable permissionless 4337 mempools, hence the restricted usage of this methods to just [Entrypoint](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/core/EntryPoint.sol) transactions.

pages/operators/chain-operators/tutorials/create-l2-rollup.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -765,4 +765,4 @@ Send some transactions, deploy some contracts, and see what happens!
765765
## Next steps
766766

767767
* Check out the [protocol specs](https://specs.optimism.io/) for more detail about the rollup protocol.
768-
* If you run into any problems, please visit the [Chain Operators Troubleshooting Guide](../management/troubleshooting) for help.
768+
* If you run into any problems, please visit the [Chain Operators Troubleshooting Guide](/operators/chain-operators/management/troubleshooting) for help.

pages/operators/node-operators/json-rpc.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -995,5 +995,5 @@ todo: add Sample success output
995995

996996
`op-geth` implements the Execution-Layer, with minimal changes for a secure Ethereum-equivalent application environment.
997997

998-
The execution engine's RPC interface is identical to [the upstream Geth RPC interface](https://geth.ethereum.org/docs/rpc/server). The responses are nearly identical too, except we also include the L1 gas usage and price information.
998+
The execution engine's RPC interface is identical to [the upstream Geth RPC interface](https://geth.ethereum.org/docs/interacting-with-geth/rpc). The responses are nearly identical too, except we also include the L1 gas usage and price information.
999999

pages/operators/node-operators/management/blobs.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ These will need to be set on `op-node` and `op-geth` for the sequencer and all o
6969

7070
</Steps>
7171

72-
## Configure a blob archiver (archive nodes)
72+
## Configure a blob archiver
7373

7474
There is a configurable `beacon-archiver` that will allow nodes to sync blob data that is older than 18 days - after blobs are 18 days old, normal beacon nodes will "prune" or remove them. If your node is already in sync with the head of the chain, you won't need to use a `beacon-archiver`.
7575

0 commit comments

Comments
 (0)