Skip to content

Commit 10d9f5c

Browse files
Add more info
1 parent 85c8e75 commit 10d9f5c

File tree

1 file changed

+48
-1
lines changed

1 file changed

+48
-1
lines changed

pages/notices/upgrade-16.mdx

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ This page outlines important changes related to Upgrade 16 for chain operators a
2525

2626
Upgrade 16 contains these main changes:
2727

28-
* **Interop-Ready smart contracts**: Interoperability is critical to realizing the Superchain as a unified network of OP Chains. This upgrade begins the rollout of foundational interoperability features by updating the `OptimismPortal` to handle future cross-chain messaging safely and extensibly.
28+
* **Interop-Ready smart contracts**: Interoperability is critical to realizing the Superchain as a unified network of OP Chains. This upgrade begins the rollout of foundational interoperability features by updating the `OptimismPortal` to handle future cross-chain messaging safely and extensibly. This upgrade does not turn on interop yet.
2929
* **Stage 1 updates**: Modifications to meet L2Beat's updated Stage 1 requirements from January 2025, including removal of `DeputyGuardianModule` and updates to `DeputyPauseModule`.
3030
* **Go 1.23 Support in Cannon**: Updates to Cannon to support Go 1.23, allowing OP Stack to benefit from upstream go-ethereum changes.
3131
* **Max gas limit increase**: Update to `MAX_GAS_LIMIT` from 200m to 500m gas after improvements to OP Stack infrastructure and the Cannon proof system.
@@ -41,6 +41,53 @@ Chain operators should be aware that Upgrade 16 involves a one-time invalidation
4141

4242
If this proposal is accepted, multisig ceremonies will be coordinated to execute upgrade transactions. The following transactions will be executed on the respective chains: `OP Mainnet`, `Soneium Mainnet`, `Ink Mainnet`, `Base Mainnet`, `Unichain Mainnet`, `Mode Mainnet`, `Zora Mainnet`, `Arena Z Mainnet`, `Swell Mainnet`, and `Metal Mainnet`. Depending on the current state of the chain the execution times will vary. If your Optimism governed chain is not in this list, please reach out to OP Labs Solutions Engineering to coordinate your upgrade.
4343

44+
<Steps>
45+
### Verify the new absolute prestate
46+
47+
<Callout type="info">
48+
As of upgrade 14, the 64 bit multi-threaded version of cannon is utilized.
49+
</Callout>
50+
51+
The absolute prestate is generated with the [op-program/v1.6.0-rc.2](https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0-rc.2). You can use this new absolute prestate (`NEED PRESTATE`) for the following chains:
52+
53+
* Sepolia: Base, Creator Chain, OP, Metal, Mode, Zora, Ethernity, Unichain, Ink, and Minato (Soneium)
54+
55+
You can verify this absolute prestate by running the following [command](https://github.com/ethereum-optimism/optimism/blob/d6fb90dd489e39efa206b55200766ccc075c1d9b/Makefile#L130-L132) in the root of the monorepo on the `op-program/v1.6.0-rc.2` tag:
56+
57+
```shell
58+
make reproducible-prestate
59+
```
60+
61+
You should expect the following output at the end of the command:
62+
63+
```shell
64+
Cannon Absolute prestate hash:
65+
NEED PRESTATE
66+
Cannon64 Absolute prestate hash:
67+
0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6
68+
CannonInterop Absolute prestate hash:
69+
0x0399cfb018011977a027d1e7a85eb7ff101aec9bfc7d6500abac944c47a4581f
70+
```
71+
72+
### Upload your new preimage file
73+
74+
During the previous step, you also generated the preimage of the absolute prestate, which is basically the op-program serialized into a binary file. You'll find that new file at `optimism/op-program/bin/prestate-mt64.bin.gz`. Rename that file to have the absolute prestate hash as the filename so it looks like `0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6.bin.gz`.
75+
76+
Upload that file to where you're storing your other absolute preimage files. This should be the location where you're pointing your `--cannon-prestates-url` at. The `op-challenger` will grab this file and use it when it needs to challenge games.
77+
78+
### Deploy new dispute game contracts
79+
80+
You will then take the absolute prestate and deploy new `FaultDisputeGame` and `PermissionedDisputeGame` contracts with that value.
81+
82+
### Update the DisputeGameFactory
83+
84+
You will then need to update the `DisputeGameFactory` to point to the new `FaultDisputeGame` and `PermissionedDisputeGame` contracts by calling `DisputeGameFactory.setImplementation`.
85+
86+
### Execute the upgrade
87+
88+
Once your `op-challenger` is ready with the new preimage, you can execute the "Set Dispute Game Implementation" transaction. Please simulate and validate that the expected output prior to executing the transaction.
89+
</Steps>
90+
4491
## For node operators
4592

4693
WHAT ARE THE NODE OPERATOR STEPS?

0 commit comments

Comments
 (0)