Skip to content

Commit d5cc79a

Browse files
authored
Merge pull request #689 from ethereum-optimism/fp-notice-update
Update fp-changes.mdx
2 parents 7ac7a10 + 581d8f4 commit d5cc79a

File tree

2 files changed

+35
-9
lines changed

2 files changed

+35
-9
lines changed

pages/builders/notices/fp-changes.mdx

+33-9
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,42 @@
11
---
2-
title: Preparing for Fault Proofs Breaking Changes
2+
title: Preparing for Fault Proofs Changes
33
lang: en-US
4-
description: Learn how to prepare for Fault Proofs breaking changes.
4+
description: Learn how to prepare for Fault Proofs changes.
55
---
66

77
import { Steps, Callout } from 'nextra/components'
88

9-
# Preparing for Fault Proofs Breaking Changes
9+
# Preparing for Fault Proofs Changes
1010

11-
This page outlines breaking changes related to Fault Proof upgrade for bridges, centralized exchanges, and custom solutions that use withdrawals. This page outlines changes for OP Mainnet and OP Sepolia only, and details for other OP Chains are forthcoming.
12-
If you experience difficulty at any stage of this process, please reach out to [developer support](https://github.com/ethereum-optimism/developers/discussions).
11+
OP Labs has submitted a [proposal to governance](https://gov.optimism.io/t/upgrade-proposal-fault-proofs/8161) to upgrade OP Mainnet to support Fault Proofs. If this proposal passes, fault proofs would launch on OP Mainnet approximately June 2024. This document details changes that apply to users, bridges, and centralized exchanges, as well as any custom solutions that use withdrawals. This page outlines changes for OP Mainnet and OP Sepolia only. Details for other OP Chains are forthcoming.
12+
13+
If you experience difficulty at any stage of this process, please reach out to [OP Labs Developer Support](https://github.com/ethereum-optimism/developers/discussions).
14+
15+
<Callout type="error">
16+
**IMPORTANT NOTICE FOR BRIDGES AND USERS**
17+
18+
**ALL** withdrawals that are not finalized before the Fault Proofs upgrade executes will need to be reproven after the upgrade is complete.
19+
20+
* Reproving simply requires that you execute the [withdrawal proving flow](https://docs.optimism.io/stack/protocol/rollup/withdrawal-flow) again.
21+
* Withdrawals prior to the Fault Proofs upgrade must wait a 7-day challenge period before finalization. As a result, any withdrawal initiated less than 7 days before the upgrade cannot be finalized before the upgrade is executed. You may want to consider waiting until after the upgrade is complete to begin a withdrawal during this 7-day window.
22+
</Callout>
1323

1424
<Callout type="warning">
15-
* Fault Proofs are scheduled to launch on testnet on **Tuesday, March 19, 2024**.
16-
* Withdrawals between OP Sepolia and Sepolia will no longer be instant, since they are using the Fault Proofs mechanism.
25+
**IMPORTANT NOTICE FOR BRIDGES AND USERS**
26+
27+
Maximum withdrawal delay times are increasing with the Fault Proofs upgrade.
28+
* Withdrawals will generally take 7 days to finalize (unchanged from before Fault Proofs).
29+
* Withdrawals that are proven against an output proposal that receives a validity challenge are delayed by an additional 3.5 days. Valid proposals that are challenged maliciously can be delayed by up to an additional 9 days at a very high cost to the malicious actor. Additional delays of this type are expected to be infrequent.
30+
</Callout>
31+
32+
<Callout type="warning">
33+
As of the Fault Proofs update to OP Sepolia in March 2024, **OP Sepolia withdrawals are no longer instant.** This is because the Fault Proof mechanism now applies to OP Sepolia transactions.
1734
</Callout>
1835

1936
## Overview of Changes
2037

38+
If you are operating a custom bridge, review this section for changes you need to make. If you are using Optimism SDK or Viem for your bridging, you can [skip to the next section](#for-bridges-and-centralized-exchanges).
39+
2140
The `L2OutputOracle` is being entirely removed and replaced by the `OptimismPortal` and `DisputeGameFactory`. The `L2OutputOracle` smart contract is currently used by the trusted Proposer role to store L2 state output proposals.
2241
Presently, developers use these outputs to prove that their withdrawals actually happened on L2. But with fault proofs, developers will have to change how their client software proves withdrawals in the first step of the two-step withdrawal process.
2342

@@ -39,7 +58,12 @@ Developers should then verify this proposal locally as the default game type wil
3958

4059
## For Bridges and Centralized Exchanges
4160

42-
The proposed Fault Proof upgrade requires developers to enable Fault Proof changes before the Sepolia release. This impacts bridges, centralized exchanges, and custom solutions that use withdrawals.
61+
The proposed Fault Proof upgrade requires developers to enable Fault Proof changes before the Op Mainnet release. This impacts bridges, centralized exchanges, and custom solutions that use withdrawals.
62+
63+
<Callout type="error">
64+
Withdrawals that haven't finalized before the upgrade occurs will be unable to be finalized post-upgrade without resubmitting. This means these withdrawals will need to go through a new 7-day period. The time accrued before the upgrade will not count.
65+
This means the withdrawal time could be as long as 13-14 days during the upgrade window. (If you submit it \~6 days before the upgrade, then must re-submit after the upgrade, you will have to wait a new seven days.)
66+
</Callout>
4367

4468
<Steps>
4569
### Update Logic to Support Fault Proofs
@@ -50,7 +74,7 @@ The proposed Fault Proof upgrade requires developers to enable Fault Proof chang
5074

5175
* **Option 1: Optimism SDK Update.** If you use OptimismSDK for bridging, simply update to version 3.2.0 or higher.
5276
The Optimism SDK changes do not break the API and require no changes other than updating to the correct software version to support the new `OptimismPortal` logic. The Optimism SDK will automatically begin to use the new logic once it detects that the FPM update has gone live.
53-
* **Option 2: Viem Update.** Viem changes will break the API and require both updating to latest version and replacing use of the currently used decorator with the `experimental` decorator that supports fault proofs. When fault proofs are on Mainnet in the future, `publicActionsL2` will be updated to support fault proofs by default, and it will be recommended that developers switch to the stable API.
77+
* **Option 2: Viem Update.** Viem changes will break the API and require both updating to latest version and replacing use of the currently used decorator with the `experimental` decorator that supports fault proofs. When Fault Proofs are on OP Mainnet, `publicActionsL2` will be updated to support fault proofs by default, and it will be recommended that developers switch to the stable API.
5478

5579
### Update Withdrawal Monitor
5680

words.txt

+2
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ journalremotes
134134
JSPATH
135135
jspath
136136
jwtsecret
137+
leadup
137138
leveldb
138139
lightkdf
139140
logfile
@@ -251,6 +252,7 @@ rejournal
251252
REMOTEDB
252253
remotedb
253254
replayability
255+
reproven
254256
REQUIREDBLOCKS
255257
requiredblocks
256258
Rollups

0 commit comments

Comments
 (0)