diff --git a/pages/notices/upgrade-16a.mdx b/pages/notices/upgrade-16a.mdx index b9955fa01..0e6ff3277 100644 --- a/pages/notices/upgrade-16a.mdx +++ b/pages/notices/upgrade-16a.mdx @@ -55,4 +55,75 @@ Updated to support both upgrade paths: `U15 → U16a` and `U16 → U16a`. Any pending L1 withdrawals on those chains that are not finalized before the upgrade executes will need to be reproven after the upgrade completes. Users must re-submit their proof transactions after the upgrade. Chains already on U16 are not affected. No funds are at risk. -If you're upgrading from Upgrade 15, follow the [chain operator instructions for U16](https://docs.optimism.io/notices/upgrade-16#for-chain-operators). +### Chain operators must complete the following tasks: + +* Update `op-challenger` to [op-challenger/v1.5.1](https://github.com/ethereum-optimism/optimism/releases/tag/op-challenger%2Fv1.5.1) + +### For permissionless fault proof enabled chains + +Chains running permissionless fault proofs will need to deploy new dispute game contracts with new absolute prestates. + + + ### Verify the new absolute prestate + + + As of upgrade 14, the 64 bit multi-threaded version of cannon is utilized. + + + The absolute prestate is generated with the [op-program/v1.6.1-rc.1](https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.1-rc.1). You can use this new absolute prestate `0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8` for the following chains: + + * Mainnet and Sepolia: `OP`, `Base`, `Soneium`, `Ink`and `Unichain` + + 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.1-rc.1` tag: + + ```shell + make reproducible-prestate + ``` + + This will output the calculated prestates, which will look something like: + + ```shell + -------------------- Production Prestates -------------------- + + + Cannon64 Absolute prestate hash: + 0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8 + + -------------------- Experimental Prestates -------------------- + + CannonInterop Absolute prestate hash: + 0x03fc3b4d091527d53f1ff369ea8ed65e5e17cc7fc98ebf75380238151cdc949c + + Cannon64Next Absolute prestate hash: + 0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8 + ``` + + * The "Cannon64" hash is the 64-bit prestate. + + Verify that your target prestate was calculated as expected and matches the corresponding entry in + [standard-prestates.toml](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml). + + ### Upload your new preimage file + + During the previous step, you also generated the preimage of the absolute prestate, which is 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 `PRESTATEHASH.bin.gz`. + + 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. + + ### Execute the upgrade + + Once your `op-challenger` is ready with the new preimage, you can execute the upgrade transaction. This should be done by making a delegatecall to the `upgrade()` function of the OP Contract Manager (at the address listed in [the registry](https://github.com/ethereum-optimism/superchain-registry/blob/6621a0f13ce523fe1bb8deea739fe37abe20f90d/validation/standard/standard-versions-mainnet.toml#L22). + + Please simulate and validate the expected output prior to executing the transaction. + + +### Withdrawal flow changes + +1. There will be a one-time invalidation of all pending withdrawal proofs created on L1. + +2. Complete any pending withdrawals before the upgrade is executed + +3. Avoid creating new withdrawal proofs that would not become executable in time + +4. If a withdrawal was invalidated, submit a second withdrawal proof transaction on L1 + +This invalidation does not place any ETH or ERC-20 tokens at risk. diff --git a/words.txt b/words.txt index 1473d0ca0..55af6d53a 100644 --- a/words.txt +++ b/words.txt @@ -1,7 +1,7 @@ -ACCOUNTQUEUE accountqueue -ACCOUNTSLOTS +ACCOUNTQUEUE accountslots +ACCOUNTSLOTS ACDC ADDI ADDIU @@ -9,58 +9,58 @@ ADDU airgap Allnodes allocs -Alphanet alphanet -Alphanets +Alphanet alphanets +Alphanets altda ANDI Ankr Apeworx Arweave authrpc -Autorelay autorelay +Autorelay autorelayer basefee bcde -Betanet betanet -Betanets +Betanet betanets +Betanets BGEZ BGTZ Biconomy BLEZ -BLOBPOOL blobpool +BLOBPOOL blobspace Blockdaemon blockhash blocklists -BLOCKLOGS blocklogs -BLOCKPROFILERATE +BLOCKLOGS blockprofilerate +BLOCKPROFILERATE Blockscout -Blockspace blockspace +Blockspace blocktime -Blocktimes blocktimes -BLOOMFILTER +Blocktimes bloomfilter +BLOOMFILTER BLTZ Bootcamp bootnode -BOOTNODES -Bootnodes bootnodes +Bootnodes +BOOTNODES bottlenecked -Brotli brotli -Callouts +Brotli callouts +Callouts CCIP cdef Celestia @@ -73,71 +73,71 @@ chaosnet Chugsplash Clabby codebases -Collateralized collateralized +Collateralized compr Comprensive -COMPUTEPENDINGBLOCK computependingblock +COMPUTEPENDINGBLOCK confs corsdomain counterfactually -Crosschain crosschain +Crosschain Crossmint daserver -DATACAP datacap -DATADIR +DATACAP datadir +DATADIR Defi Defillama's delegatecall -Devnet devnet -Devnets +Devnet devnets +Devnets devs direnv -DISABLETXPOOLGOSSIP disabletxpoolgossip -Discv +DISABLETXPOOLGOSSIP discv +Discv DIVU Drand dripcheck Drippie Eigen EIPs -ENABLEDEPRECATEDPERSONAL enabledeprecatedpersonal +ENABLEDEPRECATEDPERSONAL enginekind -Erigon erigon -ETHERBASE +Erigon etherbase +ETHERBASE Ethernity Ethernow -ETHSTATS ethstats -EVMTIMEOUT +ETHSTATS evmtimeout +EVMTIMEOUT executability exfiltrate -EXITWHENSYNCED exitwhensynced +EXITWHENSYNCED extensibly -EXTRADATA extradata +EXTRADATA Farcaster Faultproof -FDLIMIT fdlimit +FDLIMIT flashblock flashblock's -FLASHBLOCKS -Flashblocks flashblocks +Flashblocks +FLASHBLOCKS Flashbots forkable forkchoice @@ -145,51 +145,51 @@ FPVM FPVMs Fraxtal Funct -GASCAP gascap +GASCAP gaslessly -GCMODE gcmode +GCMODE Gelato gifs -GLOBALQUEUE globalqueue -GLOBALSLOTS +GLOBALQUEUE globalslots +GLOBALSLOTS gokzg growthepie hardfork hardforks -HEALTHCHECK healthcheck +HEALTHCHECK healthchecks -HISTORICALRPC historicalrpc -HISTORICALRPCTIMEOUT +HISTORICALRPC historicalrpctimeout -HOLESKY -Holesky +HISTORICALRPCTIMEOUT holesky +Holesky +HOLESKY IERC -IGNOREPRICE ignoreprice +IGNOREPRICE Immunefi -Inator inator -INFLUXDBV +Inator influxdbv +INFLUXDBV initcode -IPCDISABLE ipcdisable +IPCDISABLE ipcfile -IPCPATH ipcpath +IPCPATH IPFS JALR -JOURNALREMOTES journalremotes -JSPATH +JOURNALREMOTES jspath +JSPATH jwtsecret Keccak leveldb @@ -198,34 +198,34 @@ Lisk logfile logfmt Mainnets -MAXAGE maxage -MAXBACKUPS +MAXAGE maxbackups -MAXPEERS +MAXBACKUPS maxpeers -MAXPENDPEERS +MAXPEERS maxpendpeers -MAXPRICE +MAXPENDPEERS maxprice -MEMPROFILERATE +MAXPRICE memprofilerate -Merkle +MEMPROFILERATE merkle +Merkle MFHI MFLO Mgas Minato -MINFREEDISK minfreedisk -MINSUGGESTEDPRIORITYFEE +MINFREEDISK minsuggestedpriorityfee +MINSUGGESTEDPRIORITYFEE Mintable Mintplex MIPSEVM Mitigations -Monitorism monitorism +Monitorism Moralis Mordor MOVN @@ -234,146 +234,146 @@ MTHI MTLO MULT multiaddr -Multichain multichain +Multichain multiclient multisigs MULTU Nethermind -NETRESTRICT netrestrict -NETWORKID +NETRESTRICT networkid -NEWPAYLOAD +NETWORKID newpayload +NEWPAYLOAD nextra -NOCOMPACTION nocompaction -NODEKEY +NOCOMPACTION nodekey -NODEKEYHEX +NODEKEY nodekeyhex +NODEKEYHEX nodename Nodies -NODISCOVER nodiscover -NOLOCALS +NODISCOVER nolocals -NOPREFETCH +NOLOCALS noprefetch -NOPRUNING +NOPREFETCH nopruning -NOSYNCSERVE +NOPRUNING nosyncserve +NOSYNCSERVE Numba NVME -Offchain offchain +Offchain onlyreqtostatic opchaina opchainb -OPCM opcm +OPCM Openfort oplabs opnode's outfile outperformance pcscdpath -Pectra pectra +Pectra Pectra's -Peerstore peerstore +Peerstore peerstores -Permissioned permissioned +Permissioned permissioning -Permissionless permissionless +Permissionless permissionlessly Perps Peta Pimlico POAP POAPs -PPROF pprof -Precommitments +PPROF precommitments +Precommitments preconfigured predeploy -Predeployed predeployed -Predeploys +Predeployed predeploys +Predeploys prefunded -Preimage preimage -PREIMAGES +Preimage preimages +PREIMAGES preinstall -Preinstalls preinstalls -Prestate +Preinstalls prestate +Prestate prestates PREVRANDAO -PRICEBUMP pricebump -PRICELIMIT +PRICEBUMP pricelimit +PRICELIMIT productionize productionized Protip -Proxied proxied -Proxyd +Proxied proxyd +Proxyd Pyth Pyth's QRNG -Quicknode quicknode +Quicknode quickstarts rebalancing reemit Reemitting -Regenesis regenesis +Regenesis Reimagine -REJOURNAL rejournal -REMOTEDB +REJOURNAL remotedb +REMOTEDB Reown Reown's replayability replayor reposts reproven -REQUIREDBLOCKS requiredblocks +REQUIREDBLOCKS rollouts -Rollups rollups +Rollups Routescan rpckind -RPCPREFIX rpcprefix +RPCPREFIX rpcs RPGF -Runbooks runbooks +Runbooks RWAs safedb Schnorr -SEPOLIA -Sepolia sepolia +Sepolia +SEPOLIA seqnr -SEQUENCERHTTP sequencerhttp +SEQUENCERHTTP serv signup SLLV @@ -382,8 +382,8 @@ SLTIU SLTU smartcard snapshotlog -Snapsync snapsync +Snapsync solady Solana Soneium @@ -391,8 +391,8 @@ soyboy Spearbit SRAV SRLV -Stablecoins stablecoins +Stablecoins statefulset structs subcomponents @@ -401,21 +401,21 @@ subheaders subsecond SUBU Sunnyside -SUPERCHAIN -Superchain superchain -Superchain's +Superchain +SUPERCHAIN superchainerc +Superchain's Superlend Superloans Superscan Superseed -Supersim supersim -SYNCMODE +Supersim syncmode -SYNCTARGET +SYNCMODE synctarget +SYNCTARGET syscalls SYSCON thirdweb @@ -429,8 +429,8 @@ Twei txfeecap txmgr txns -TXPOOL txpool +TXPOOL txproxy txproxyd uncensorable @@ -440,21 +440,21 @@ Unichain Unprotect unsubmitted UPNP -VERKLE verkle -VHOSTS +VERKLE vhosts -Viem +VHOSTS viem -Viem's +Viem viem's -VMDEBUG +Viem's vmdebug -VMODULE +VMDEBUG vmodule +VMODULE xlarge XORI ZKPs ZKVM -Zora zora +Zora