35c16d59 (main)
and
63a09d6a (PR)
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "CeloProxyAdminOwner",
"name": "CeloProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * Celo native asset Token [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * CeloSuperchainConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x4092A77bAF58fef0309452cEaCb09221e556E112",
"type": "Contract",
"isVerified": true,
"name": "0x4092…E112",
"url": "https://etherscan.io/address/0x4092A77bAF58fef0309452cEaCb09221e556E112"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xC03172263409584f7860C25B6eB4985f0f6F4636",
"type": "Contract",
"isVerified": true,
"name": "Celo Security Council",
"url": "#Celo Security Council"
},
{
"address": "eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d",
"type": "Contract",
"isVerified": true,
"name": "Celo cLabs Multisig",
"url": "#Celo cLabs Multisig"
}
],
"discoveryDrivenData": true
},
{
"id": "Celo cLabs Multisig",
"name": "Celo cLabs Multisig",
"description": "A Multisig with 6/8 threshold. \nMember of CeloProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with AccessManager\n * Allowed to add or remove proposers and challengers, and transfer ownership of the AccessManager ",
"accounts": [
{
"address": "eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d",
"type": "Contract",
"isVerified": true,
"name": "0x9Eb4…D34d",
"url": "https://etherscan.io/address/0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0Bd06B2b192BD9eC316f2880A0c296D9Bc3225e0",
"type": "EOA",
"isVerified": true,
"name": "0x0Bd0…25e0",
"url": "https://etherscan.io/address/0x0Bd06B2b192BD9eC316f2880A0c296D9Bc3225e0"
},
{
"address": "eth:0x21e595451bDD69a85cf946f37f5A6A356C3F875D",
"type": "EOA",
"isVerified": true,
"name": "0x21e5…875D",
"url": "https://etherscan.io/address/0x21e595451bDD69a85cf946f37f5A6A356C3F875D"
},
{
"address": "eth:0x09c0B069100F5d880a596605b94Cc9493D96e797",
"type": "EOA",
"isVerified": true,
"name": "0x09c0…e797",
"url": "https://etherscan.io/address/0x09c0B069100F5d880a596605b94Cc9493D96e797"
},
{
"address": "eth:0x812f7C111476D45998e6D0C615B41c180C362263",
"type": "EOA",
"isVerified": true,
"name": "0x812f…2263",
"url": "https://etherscan.io/address/0x812f7C111476D45998e6D0C615B41c180C362263"
},
{
"address": "eth:0x74bc9E59B52117Ccf5Ee457cFb0CBE83b339A065",
"type": "EOA",
"isVerified": true,
"name": "0x74bc…A065",
"url": "https://etherscan.io/address/0x74bc9E59B52117Ccf5Ee457cFb0CBE83b339A065"
},
{
"address": "eth:0x4D89adf3a4a71b25FB1a6D702Cf059CF5BebD02d",
"type": "EOA",
"isVerified": true,
"name": "0x4D89…D02d",
"url": "https://etherscan.io/address/0x4D89adf3a4a71b25FB1a6D702Cf059CF5BebD02d"
},
{
"address": "eth:0x8b4b85f78F799F8364198FFEd2266d3cb3EA0daE",
"type": "EOA",
"isVerified": true,
"name": "0x8b4b…0daE",
"url": "https://etherscan.io/address/0x8b4b85f78F799F8364198FFEd2266d3cb3EA0daE"
},
{
"address": "eth:0xE0024dCadff414fCb0AAfBB475e92Ccc367E1A84",
"type": "EOA",
"isVerified": true,
"name": "0xE002…1A84",
"url": "https://etherscan.io/address/0xE0024dCadff414fCb0AAfBB475e92Ccc367E1A84"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://etherscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://etherscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://etherscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Celo Security Council",
"name": "Celo Security Council",
"description": "A Multisig with 6/8 threshold. \nMember of CeloProxyAdminOwner.\n",
"accounts": [
{
"address": "eth:0xC03172263409584f7860C25B6eB4985f0f6F4636",
"type": "Contract",
"isVerified": true,
"name": "0xC031…4636",
"url": "https://etherscan.io/address/0xC03172263409584f7860C25B6eB4985f0f6F4636"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - Celo Docs",
"url": "https://docs.celo.org/home/protocol/security-council"
}
],
"participants": [
{
"address": "eth:0xB963047c5D875b7FE777339B1E6B61ac4df1f3e2",
"type": "EOA",
"isVerified": true,
"name": "0xB963…f3e2",
"url": "https://etherscan.io/address/0xB963047c5D875b7FE777339B1E6B61ac4df1f3e2"
},
{
"address": "eth:0x6FDb3eA186981aA32DD8e7B782d95733Ca3c13A1",
"type": "EOA",
"isVerified": true,
"name": "0x6FDb…13A1",
"url": "https://etherscan.io/address/0x6FDb3eA186981aA32DD8e7B782d95733Ca3c13A1"
},
{
"address": "eth:0xd0cE4D055d04bDA69b20815A3F796019bB68c6Db",
"type": "EOA",
"isVerified": true,
"name": "0xd0cE…c6Db",
"url": "https://etherscan.io/address/0xd0cE4D055d04bDA69b20815A3F796019bB68c6Db"
},
{
"address": "eth:0x148dfaC5dF51Ab1D7b02a3B53f1e2Da1F0A6B5Ca",
"type": "EOA",
"isVerified": true,
"name": "0x148d…B5Ca",
"url": "https://etherscan.io/address/0x148dfaC5dF51Ab1D7b02a3B53f1e2Da1F0A6B5Ca"
},
{
"address": "eth:0x5f70938aA8d2fd91EE3959998E5DdaACFb6Ffb85",
"type": "EOA",
"isVerified": true,
"name": "0x5f70…fb85",
"url": "https://etherscan.io/address/0x5f70938aA8d2fd91EE3959998E5DdaACFb6Ffb85"
},
{
"address": "eth:0xD1C635987B6Aa287361d08C6461491Fa9df087f2",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0xD1C635987B6Aa287361d08C6461491Fa9df087f2"
},
{
"address": "eth:0x2BE5E223E368E8c0f404a1f3Eb4eB09f99C8FaD8",
"type": "EOA",
"isVerified": true,
"name": "0x2BE5…FaD8",
"url": "https://etherscan.io/address/0x2BE5E223E368E8c0f404a1f3Eb4eB09f99C8FaD8"
},
{
"address": "eth:0xC91252606ff547d8B0345491CfABcCf0f6F0a29a",
"type": "EOA",
"isVerified": true,
"name": "0xC912…a29a",
"url": "https://etherscan.io/address/0xC91252606ff547d8B0345491CfABcCf0f6F0a29a"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x0cd08c7f7A96AA9635f761b49216B9eA74C5cA60",
"type": "EOA",
"isVerified": true,
"name": "0x0cd0…cA60",
"url": "https://etherscan.io/address/0x0cd08c7f7A96AA9635f761b49216B9eA74C5cA60",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "EOA-2-and-EOA-7",
"name": "EOA 2 and EOA 7",
"accounts": [
{
"address": "eth:0x0B7de3F505AD7Fc9b38207CD8E2Adc7a604BFe62",
"type": "EOA",
"isVerified": true,
"name": "0x0B7d…Fe62",
"url": "https://etherscan.io/address/0x0B7de3F505AD7Fc9b38207CD8E2Adc7a604BFe62",
"displayName": "EOA 2"
},
{
"address": "eth:0x79D14553D6B3484F5612272B43c219A882415d33",
"type": "EOA",
"isVerified": true,
"name": "0x79D1…5d33",
"url": "https://etherscan.io/address/0x79D14553D6B3484F5612272B43c219A882415d33",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can interact with AccessManager\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-8-and-EOA-9",
"name": "EOA 3, EOA 4, EOA 5, EOA 6, EOA 8 and EOA 9",
"accounts": [
{
"address": "eth:0x53E8EEAAE0731CCc888513695eC1Bd792ec975Ca",
"type": "EOA",
"isVerified": true,
"name": "0x53E8…75Ca",
"url": "https://etherscan.io/address/0x53E8EEAAE0731CCc888513695eC1Bd792ec975Ca",
"displayName": "EOA 3"
},
{
"address": "eth:0x56966549e0953e8d6E17Fcd3278b003d81f58cA8",
"type": "EOA",
"isVerified": true,
"name": "0x5696…8cA8",
"url": "https://etherscan.io/address/0x56966549e0953e8d6E17Fcd3278b003d81f58cA8",
"displayName": "EOA 4"
},
{
"address": "eth:0x7247204E46B381149d99acF88b318713fE12c32f",
"type": "EOA",
"isVerified": true,
"name": "0x7247…c32f",
"url": "https://etherscan.io/address/0x7247204E46B381149d99acF88b318713fE12c32f",
"displayName": "EOA 5"
},
{
"address": "eth:0x77E831A0A6a680335BB54937E085fF625dfE3f6F",
"type": "EOA",
"isVerified": true,
"name": "0x77E8…3f6F",
"url": "https://etherscan.io/address/0x77E831A0A6a680335BB54937E085fF625dfE3f6F",
"displayName": "EOA 6"
},
{
"address": "eth:0xc6E6836CaCB6fF0a843050DB7F64bb2ab864C463",
"type": "EOA",
"isVerified": true,
"name": "0xc6E6…C463",
"url": "https://etherscan.io/address/0xc6E6836CaCB6fF0a843050DB7F64bb2ab864C463",
"displayName": "EOA 8"
},
{
"address": "eth:0xe4ce4999b1C4C60C384AC96f370F00796ae9eC78",
"type": "EOA",
"isVerified": true,
"name": "0xe4ce…eC78",
"url": "https://etherscan.io/address/0xe4ce4999b1C4C60C384AC96f370F00796ae9eC78",
"displayName": "EOA 9"
}
],
"chain": "ethereum",
"description": "* Can interact with AccessManager\n * Allowed to challenge or delete state roots proposed by a Proposer ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1784282840,
"baseTimestamp": 1789044398,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "c4802e9f",
"date": "Thu, 10 Sep 2026 12:48:15 GMT",
"timestamp": 1789044398,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "a089edbe",
"date": "Fri, 17 Jul 2026 10:09:08 GMT",
"timestamp": 1784282840,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "73a805b4",
"date": "Mon, 06 Jul 2026 07:57:04 GMT",
"timestamp": 1783324557,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "803c6176",
"date": "Thu, 11 Jun 2026 11:09:14 GMT",
"timestamp": 1781176085,
"description": "OPSuccinct fault-proof upgrade to `celo/v2.1.0` (SP1 Hypercube).\n\nThe respected dispute game implementation (game type 42) was swapped on the\nDisputeGameFactory from `0xE7bd695…` to a new `0xfF1caC738…`,\nrotating the program verification keys:\n- aggregationVkey: `0x004f4bbc…0377` -> `0x00b04647…4be4`\n- rangeVkeyCommitment: `0x1fffeb5a…7c2c` -> `0x1dd60be4…5c94`\n\nBoth new vkeys reproduce from the `celo/v2.1.0` source (verified; steps in common/programHashes.ts).\nOn-chain game code change is small and confined to anchoring:\nthe starting output root now reads `ANCHOR_STATE_REGISTRY.getAnchorRoot()` instead of the deprecated\n`anchors(GAME_TYPE)`, and a new invariant requires a parent game's L2 block to be ahead of the anchor\n(handles game-type-switch / retirement recovery; prevents duplicate or stale-parent games). The proof\nsystem and proposer/challenger access control are unchanged.\ndiff: https://disco.l2beat.com/diff/eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1/eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF\n\nSystemConfig minBaseFee raised 0.1 -> 0.2 gwei.\n\nRoutine shared OP governance rotations (not Celo-specific, tracked across OP Stack chains):\n- DeputyPauseModule deputy: `0x352f1de…` -> `0x2fA1503…`. Scheduled key hygiene.\n- OpFoundationUpgradeSafe member[6]: `0xc222ab08…` -> `0xa2A58E31…`. Member rotated.\n- Optimism Security Council member[12]: `0x9282722…` -> `0xcbC7dCe…`. Member rotated.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 100000000000\n+ 200000000000\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OPSuccinctFaultDisputeGame (eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1) [succinct/OPSuccinct/OPSuccinctFaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game42:\n- \"eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1\"\n+ \"eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF) [succinct/OPSuccinct/OPSuccinctFaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "2587460b",
"date": "Fri, 24 Apr 2026 13:45:17 GMT",
"timestamp": 1777038237,
"description": "SystemConfig minBaseFee raised from 50 gwei to 100 gwei.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 50000000000\n+ 100000000000\n }\n```"
}
]
},
{
"id": "8c96003c",
"date": "Fri, 17 Apr 2026 13:48:17 GMT",
"timestamp": 1776433625,
"description": "New SP1 Hypercube Plonk v6.1.0 verifier (0xc3c6dDD) registered in SP1VerifierGateway with selector 0x5a093a2f. Added to `activeVerifiers` and `allVerifiers`; SP1 proofs using this selector are now routed to the new contract. The verifier is the canonical Succinct deployment at that address on Ethereum mainnet (V6_1_0_SP1_VERIFIER_PLONK). Registered in sp1hypercube catalog.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) {\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n+++ description: Verifiers that are routed to by their selector and not frozen.\n values.activeVerifiers.2:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n+++ description: All verifiers that were ever routed to by this gateway.\n values.allVerifiers.11:\n+ {\"selector\":\"0x5a093a2f\",\"verifier\":\"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A)\n +++ description: None\n```"
}
]
},
{
"id": "c7f59547",
"date": "Thu, 16 Apr 2026 09:31:01 GMT",
"timestamp": 1776331734,
"description": "SystemConfig minBaseFee raised from 25 gwei to 50 gwei. AccessManager (OPSuccinct proposer/challenger access control) owner transferred from an EIP-7702 delegator EOA (0x95FFAC, now deleted from discovery) to the Celo cLabs Multisig (0x9Eb44D).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 25000000000\n+ 50000000000\n }\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0x95FFAC468e37DdeEF407FfEf18f0cC9E86D8f13B)\n +++ description: None\n```\n\n```diff\n contract AccessManager (eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816) {\n +++ description: Contract managing access control for proposers and challengers in OPSuccinct.\n values.owner:\n- \"eth:0x95FFAC468e37DdeEF407FfEf18f0cC9E86D8f13B\"\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n }\n```"
}
]
},
{
"id": "bfd392dc",
"date": "Wed, 01 Apr 2026 15:29:57 GMT",
"timestamp": 1775057323,
"description": "Major upgrade to op-contracts v5.x. Two-phase upgrade executed on 2026-03-31.\n\nOptimismPortal2 v3.14→v5.1.1, SystemConfig v2.5→v3.11, L1CrossDomainMessenger v2.6→v2.11, L1StandardBridge v2.3→v2.8, L1ERC721Bridge v2.4→v2.9, DisputeGameFactory v1.0.1→v1.3.\nSuperchainConfigLocal replaced by CeloSuperchainConfig - all contracts now reference the new local superchain config (0x25035d).\nGuardian changed to Celo cLabs Multisig (0x9Eb44D). SystemConfig maximumGasLimit increased from 200M to 500M.\nNew AnchorStateRegistry, DelayedWETH contracts, and redeployed dispute game implementations (FaultDisputeGame, PermissionedDisputeGame, OPSuccinctFaultDisputeGame). New MIPS64 contract.\n\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7/eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b)\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5/eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212/eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0x28841965B26d41304905A836Da5C0921DA7dBB84/eth:0xfA707F45A23370d9154AF4457401274E38FA2d8A)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9)\nDisputeGameFactory: [diff](https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50)\nOptimismMintableERC20Factory: [diff](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016)\nMIPS (MIPS32→MIPS64): [diff](https://disco.l2beat.com/diff/eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\nFaultDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0xcc744008aD3306a716fED303b0A6eA5b5d0690a5/eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F)\nPermissionedDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02/eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9)\nOPSuccinctFaultDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37/eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1)",
"isHighSeverity": true,
"changeCount": 128,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1CrossDomainMessenger (eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x6831ab5545aca99fd05c64f6718bff61dc5cbdb7d5b248257ea6e95a132024c3\"\n+ \"0x9db9942f58670bab2d2f04cd659483dd804b63208c5c83a704972a47b551b85e\"\n values.$implementation:\n- \"eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212\"\n+ \"eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0xA183A771B6c5F6e88cd351bBDC40E1ECD4521Cad\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"2.6.0\"\n+ \"2.11.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x3C519816C5BdC0a0199147594F83feD4F5847f13) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"2.4.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n values.systemConfig:\n+ \"eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract CeloProxyAdminOwner (eth:0x4092A77bAF58fef0309452cEaCb09221e556E112) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.8.from:\n- \"eth:0x9c314E8057025F2982aa4B3923Abd741A8e8DE91\"\n+ \"eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4\"\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016\"\n values.$pastUpgrades.2:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x783A434532Ee94667979213af1711505E8bFE374) {\n +++ description: None\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d\",\"role\":\"admin\"}\n directlyReceivedPermissions.6.from:\n- \"eth:0x9c314E8057025F2982aa4B3923Abd741A8e8DE91\"\n+ \"eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4\"\n directlyReceivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a\",\"role\":\"admin\"}\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x91eb7a11bc6b22871adb21c12699c6d110b59393d358aa82559927584f1bf804\"\n+ \"0xec811d054ae19d6bf9a5a9be07ae9ec060a10d411e1cd81528489e4450a5e313\"\n values.$implementation:\n- \"eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\"\n+ \"eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB\"\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0xa9c79551eA70D311f5153a27Cba12396e5128b9c\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.opStackDA.isUsingEigenDA:\n- \"v2\"\n+ \"v3\"\n values.owner:\n- \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n values.version:\n- \"2.5.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 1\n values.guardian:\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 42220\n values.minBaseFee:\n+ 25000000000\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n values.superchainConfig:\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n implementationNames.eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5:\n- \"SystemConfig\"\n implementationNames.eth:0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\",\"description\":\"act as an override that pauses the SuperchainConfigLocal.\",\"role\":\".superchainConfig\",\"condition\":\"if the (global) eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C is paused.\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x9c314E8057025F2982aa4B3923Abd741A8e8DE91)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1StandardBridge (eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcc038053dba84fe88b91f9062f3927165798c810fed5cb953c2045de301daf95\"\n+ \"0xf687ceb2d3a3ac5806864ef0c440ed6639eb8570b227e7bdb1748d7d24be0d18\"\n values.$implementation:\n- \"eth:0x28841965B26d41304905A836Da5C0921DA7dBB84\"\n+ \"eth:0xfA707F45A23370d9154AF4457401274E38FA2d8A\"\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"2.3.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x28841965B26d41304905A836Da5C0921DA7dBB84:\n- \"L1StandardBridge\"\n implementationNames.eth:0xfA707F45A23370d9154AF4457401274E38FA2d8A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract Celo cLabs Multisig (eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x9F18D91949731E766f294A14027bBFE8F28328CC)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfigLocal (eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33)\n +++ description: A local contract acting as source of truth for the paused status and the guardian role for the local chain.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract OPSuccinctFaultDisputeGame (eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42.\n sourceHashes.1:\n- \"0x61779e0cf81852e74f9420c1500237e5c588b39f95b03369daca20d2e624b741\"\n+ \"0x2747309564448749b20795c515708ee56536208ae4dadd4096a4819135b2b71f\"\n values.$implementation:\n- \"eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7\"\n+ \"eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b\"\n values.$pastUpgrades.4:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0x661DfA933f77148Dc8d84b06646a2868D7ae5DeB\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.guardian:\n- \"eth:0x6E226fa22e5F19363d231D3FA048aaBa73CC1f47\"\n+ \"eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d\"\n values.respectedGameTypeUpdatedAt:\n- 1741879583\n+ 1774940723\n values.superchainConfig:\n- \"eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33\"\n+ \"eth:0x25035d2233d099f0BA710ca1e5a3834842870C66\"\n values.version:\n- \"3.14.0\"\n+ \"5.1.1\"\n values.anchorStateRegistry:\n+ \"eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7:\n- \"OptimismPortal2\"\n implementationNames.eth:0x2c431080Fc733E259654f3b91E39468d9A85Ac9b:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0xcc744008aD3306a716fED303b0A6eA5b5d0690a5)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.2:\n+ [\"2026-03-31T07:05:23.000Z\",\"0x66a97a8a6934d37b3ed077e788fb02fbce53e02ad7d95d3159ba6347ede395c8\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$pastUpgrades.3:\n+ [\"2026-03-31T07:08:11.000Z\",\"0xce8f5d953104dbe1a793fdcf76a16290f1c8765f87fcef729c2ad7e2e95a07dc\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 2\n+ 4\n+++ severity: HIGH\n values.game42:\n- \"eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37\"\n+ \"eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0xcc744008aD3306a716fED303b0A6eA5b5d0690a5\"\n+ \"eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02\"\n+ \"eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.0.1\"\n+ \"1.3.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x783A434532Ee94667979213af1711505E8bFE374\"\n values.proxyAdminOwner:\n+ \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract CeloSuperchainConfig (eth:0x25035d2233d099f0BA710ca1e5a3834842870C66)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the 42.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "a8c8c26f",
"date": "Wed, 25 Mar 2026 10:06:58 GMT",
"timestamp": 1774433146,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, two signers of the Celo cLabs Multisig (members 3 and 4) were rotated.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract Celo cLabs Multisig (eth:0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d) {\n +++ description: None\n values.$members.3:\n- \"eth:0x326b764CEb4FE11e70af538D3CB997Bb2e16659d\"\n+ \"eth:0x812f7C111476D45998e6D0C615B41c180C362263\"\n values.$members.4:\n- \"eth:0x48139512241D32047760E7481eBf0b6BF3390f8F\"\n+ \"eth:0x74bc9E59B52117Ccf5Ee457cFb0CBE83b339A065\"\n }\n```"
}
]
},
{
"id": "cdb0f8cc",
"date": "Thu, 05 Mar 2026 15:16:57 GMT",
"timestamp": 1772723699,
"description": "Celo Security Council member rotation: signer at index 7 changed from `0xc3E9...` to `0xC912...`. Threshold remains 6 of 8.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Celo Security Council (eth:0xC03172263409584f7860C25B6eB4985f0f6F4636) {\n +++ description: None\n values.$members.7:\n- \"eth:0xc3E966E79eF1aA4751221F55fB8A36589C24C0cA\"\n+ \"eth:0xC91252606ff547d8B0345491CfABcCf0f6F0a29a\"\n }\n```"
}
]
},
{
"id": "79c7090b",
"date": "Fri, 27 Feb 2026 13:21:00 GMT",
"timestamp": 1772198382,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "fd19d683",
"date": "Thu, 19 Feb 2026 10:15:36 GMT",
"timestamp": 1771496067,
"description": "New SP1Verifier (v6.0.0) registered on the SP1VerifierGateway with selector `0xbb1a6f29`.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) {\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n+++ description: Verifiers that are routed to by their selector and not frozen.\n values.activeVerifiers.1:\n+ {\"selector\":\"0xbb1a6f29\",\"verifier\":\"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C\"}\n+++ description: All verifiers that were ever routed to by this gateway.\n values.allVerifiers.10:\n+ {\"selector\":\"0xbb1a6f29\",\"verifier\":\"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C)\n +++ description: Verifier contract for SP1 proofs (v6.0.0).\n```"
}
]
},
{
"id": "a5d2371e",
"date": "Tue, 10 Feb 2026 15:08:46 GMT",
"timestamp": 1770736055,
"description": "OPSuccinctFaultDisputeGame instance replaced in DisputeGameFactory (game42). Same contract version (1.0.0) but with updated SP1 proving keys: new aggregationVkey and rangeVkeyCommitment. The rollupConfigHash remains unchanged.",
"isHighSeverity": true,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OPSuccinctFaultDisputeGame (eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game42:\n- \"eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e\"\n+ \"eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "ccdcde9d",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272310,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "f033f70f",
"date": "Thu, 18 Dec 2025 08:55:55 GMT",
"timestamp": 1766048053,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "526e646e",
"date": "Fri, 12 Dec 2025 14:38:10 GMT",
"timestamp": 1765550224,
"description": "Jello hardfork, introducing OP Succinct Lite and DA verification through Hokulea.",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x9F18D91949731E766f294A14027bBFE8F28328CC) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.respectedGameType:\n- 1\n+ 42\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42.\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ 42\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 42\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.game42:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e\"\n values.initBondGame42:\n- 0\n+ \"10000000000000000\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract OPSuccinctFaultDisputeGame (eth:0x113f434f82FF82678AE7f69Ea122791FE1F6b73e)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e)\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x95FFAC468e37DdeEF407FfEf18f0cC9E86D8f13B)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AccessManager (eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816)\n +++ description: Contract managing access control for proposers and challengers in OPSuccinct.\n```"
}
]
},
{
"id": "488aec0a",
"date": "Fri, 28 Nov 2025 09:44:50 GMT",
"timestamp": 1764322969,
"description": "Jovian upgrade SuperchainConfig,",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "0999424d",
"date": "Mon, 20 Oct 2025 15:24:08 GMT",
"timestamp": 1760973770,
"description": "OpFoundationUpgradeSafe multisig member change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "d3a71a29",
"date": "Mon, 18 Aug 2025 09:02:02 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "24b7cce5",
"date": "Mon, 28 Jul 2025 05:51:10 GMT",
"timestamp": 1753681870,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "4fdd2086",
"date": "Mon, 21 Jul 2025 10:06:37 GMT",
"timestamp": 1753092397,
"description": "MS single member change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2) {\n +++ description: None\n values.$members.0:\n- \"eth:0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n+ \"eth:0x4F0b8e0f51dE4dE1bA0bb59876e1A9bC157a4751\"\n }\n```"
}
]
},
{
"id": "17b4026a",
"date": "Mon, 14 Jul 2025 12:44:54 GMT",
"timestamp": 1752497094,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 35,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Celo native asset Token (0x057898f3C43F129a17517B9056D23851F124b19f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3C519816C5BdC0a0199147594F83feD4F5847f13)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract CeloProxyAdminOwner (0x4092A77bAF58fef0309452cEaCb09221e556E112)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x55093104b76FAA602F9d6c35A5FFF576bE78d753)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x783A434532Ee94667979213af1711505E8bFE374)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x89E31965D844a309231B1f17759Ccaf1b7c09861)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9c314E8057025F2982aa4B3923Abd741A8e8DE91)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 2 (0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x9F18D91949731E766f294A14027bBFE8F28328CC)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfigLocal (0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33)\n +++ description: A local contract acting as source of truth for the paused status and the guardian role for the local chain.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 1 (0xC03172263409584f7860C25B6eB4985f0f6F4636)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xcc744008aD3306a716fED303b0A6eA5b5d0690a5)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```"
}
]
},
{
"id": "7c4ae215",
"date": "Wed, 09 Jul 2025 15:55:00 GMT",
"timestamp": 1752076500,
"description": "Isthmus upgrade - Celo edition (non-standard contracts), added all templates.\n\nno significant changes apart from the standard isthmus ones!\n\n- OptimismPortal2: \n - diff with prev: https://disco.l2beat.com/diff/eth:0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d/eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7\n - diff with op stack standard @ same version (adds custom gastoken): https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7\n- SystemConfig: https://disco.l2beat.com/diff/eth:0x911EA44d22EB903515378625dA3a0E09D2E1B074/eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\n- L1StandardBridge: https://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0x28841965B26d41304905A836Da5C0921DA7dBB84\n- L1CDM: https://disco.l2beat.com/diff/eth:0x3d5a67747dE7E09b0d71F5d782c8b45f6307B9Fd/eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212",
"isHighSeverity": true,
"changeCount": 90,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (0x1204884E697efD929729B9A717Ea14496298A689) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x63e8f4931670a580e9e4b27d106235189507cc22a57c6c7aecd8f8a79d8d08ee\"\n+ \"0x6831ab5545aca99fd05c64f6718bff61dc5cbdb7d5b248257ea6e95a132024c3\"\n values.$implementation:\n- \"0xDE47b113E4157ed15fA46c5572562aC11146c5eA\"\n+ \"0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x3d5a67747dE7E09b0d71F5d782c8b45f6307B9Fd\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.4.1-beta.2\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.0xDE47b113E4157ed15fA46c5572562aC11146c5eA:\n- \"L1CrossDomainMessenger\"\n implementationNames.0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (0x3C519816C5BdC0a0199147594F83feD4F5847f13) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8d03a6303efd76759aaa7d52a65a151d851750f2f816678bf97961d413d4b9c0\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0xad5D111e961A5E451C8172034115bcc0551b6551\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.2.0-beta.1\"\n+ \"2.4.0\"\n implementationNames.0xad5D111e961A5E451C8172034115bcc0551b6551:\n- \"L1ERC721Bridge\"\n implementationNames.0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract CeloProxyAdminOwner (0x4092A77bAF58fef0309452cEaCb09221e556E112) {\n +++ description: None\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x057898f3C43F129a17517B9056D23851F124b19f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x783A434532Ee94667979213af1711505E8bFE374\"}]}\n receivedPermissions.9.from:\n- \"eth:0xa24Bf5Bc02997f63da4e2C7F802067e05a102504\"\n+ \"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\"\n }\n```\n\n```diff\n EOA (0x6b145Ebf66602Ec524b196426B46631259689583) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0xa4526e33eb750144164c05badf980525f867cae82e7db6e108b17aeb61b99924\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0x0B3004b843dA84FE5D4C46AeB5E80F826e5CD69A\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.10.1-beta.4\"\n+ \"1.10.1\"\n implementationNames.0x0B3004b843dA84FE5D4C46AeB5E80F826e5CD69A:\n- \"OptimismMintableERC20Factory\"\n implementationNames.0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x783A434532Ee94667979213af1711505E8bFE374) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x057898f3C43F129a17517B9056D23851F124b19f\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.from:\n- \"eth:0xa24Bf5Bc02997f63da4e2C7F802067e05a102504\"\n+ \"eth:0x9F18D91949731E766f294A14027bBFE8F28328CC\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x876e8eeE292F23F163C9bCA406eDD65bEAEFBEBC)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SystemConfig (0x89E31965D844a309231B1f17759Ccaf1b7c09861) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0xde1dd3a62e9db0a611ef7256805eb375a1fa1a6c8fa0ba6afc44df5b3cd7d8be\"\n values.$implementation:\n- \"0x7b5a84F818B6fC3F079EE87c214F369062188D2A\"\n+ \"0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x911EA44d22EB903515378625dA3a0E09D2E1B074\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x9c61C5a8FF9408B83ac92571278550097A9d2BB5\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\",\"l1ERC721Bridge\":\"0x3C519816C5BdC0a0199147594F83feD4F5847f13\",\"l1StandardBridge\":\"0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\",\"disputeGameFactory\":\"0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683\",\"optimismPortal\":\"0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC\",\"optimismMintableERC20Factory\":\"0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906\",\"gasPayingToken\":\"0x057898f3C43F129a17517B9056D23851F124b19f\"}\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n implementationNames.0x7b5a84F818B6fC3F079EE87c214F369062188D2A:\n- \"SystemConfig\"\n implementationNames.0x9c61C5a8FF9408B83ac92571278550097A9d2BB5:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x8A12E1754f729C0856E2E32D4821577f0B245bfA)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DelayedWETH (0x9c314E8057025F2982aa4B3923Abd741A8e8DE91) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0x2301d347829ef824a15e141e20cb7f1567a2425ebc534de28ee1f56ca3d48189\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779\"\n+ \"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.2.0-beta.3\"\n+ \"1.3.0\"\n implementationNames.0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779:\n- \"DelayedWETH\"\n implementationNames.0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x660d3bcc53c06135b0810d3b5ca347ffde4e6a49e66f0bb081771b45d0baa1e5\"\n+ \"0xcc038053dba84fe88b91f9062f3927165798c810fed5cb953c2045de301daf95\"\n values.$implementation:\n- \"0x5e21245e97A7BB4733f72c412DcdDCED1f408587\"\n+ \"0x28841965B26d41304905A836Da5C0921DA7dBB84\"\n values.version:\n- \"2.2.1-beta.2\"\n+ \"2.3.0\"\n implementationNames.0x5e21245e97A7BB4733f72c412DcdDCED1f408587:\n- \"L1StandardBridge\"\n implementationNames.0x28841965B26d41304905A836Da5C0921DA7dBB84:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0xa24Bf5Bc02997f63da4e2C7F802067e05a102504)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH (0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0x2301d347829ef824a15e141e20cb7f1567a2425ebc534de28ee1f56ca3d48189\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779\"\n+ \"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.2.0-beta.3\"\n+ \"1.3.0\"\n implementationNames.0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779:\n- \"DelayedWETH\"\n implementationNames.0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3428a8cdf5cc8628eb5234317ac9c44a21c8171ebfea260dfae5ad3c629b9e3b\"\n+ \"0x61779e0cf81852e74f9420c1500237e5c588b39f95b03369daca20d2e624b741\"\n values.$implementation:\n- \"0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d\"\n+ \"0x215A5fF85308A72A772F09B520dA71D3520e9aC7\"\n values.$pastUpgrades.2:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0xBeD463769920dAc19a7E2aDf47B6C6Bb6480bD97\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-07T10:27:11.000Z\",\"0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39\",[\"0x215A5fF85308A72A772F09B520dA71D3520e9aC7\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.version:\n- \"3.11.0-beta.6\"\n+ \"3.14.0\"\n implementationNames.0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d:\n- \"OptimismPortal2\"\n implementationNames.0x215A5fF85308A72A772F09B520dA71D3520e9aC7:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0xfaB0F466955D87e596Ca87E20c505bB6470D0DC4)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0xe74de8a6ebfd4ec156cf8699ce372d14df81ea1ce6e0a4b4460f1b3575aa658a\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xe8b013bEE7Bd603e2f0B4825638559d645A4C4CB\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-07-07T10:24:11.000Z\",\"0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.0:\n- \"0x876e8eeE292F23F163C9bCA406eDD65bEAEFBEBC\"\n+ \"0xcc744008aD3306a716fED303b0A6eA5b5d0690a5\"\n values.gameImpls.1:\n- \"0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755\"\n+ \"0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02\"\n values.version:\n- \"1.0.1-beta.3\"\n+ \"1.0.1\"\n implementationNames.0xe8b013bEE7Bd603e2f0B4825638559d645A4C4CB:\n- \"DisputeGameFactory\"\n implementationNames.0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Celo native asset Token (0x057898f3C43F129a17517B9056D23851F124b19f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x9F18D91949731E766f294A14027bBFE8F28328CC)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xcc744008aD3306a716fED303b0A6eA5b5d0690a5)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "99ba23a2",
"date": "Thu, 08 May 2025 08:48:52 GMT",
"timestamp": 1746694132,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "2c2bf2fe",
"date": "Fri, 04 Apr 2025 09:43:57 GMT",
"timestamp": 1743759837,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 42\n+ 74\n }\n```"
}
]
},
{
"id": "80f280ee",
"date": "Mon, 31 Mar 2025 10:19:03 GMT",
"timestamp": 1743416343,
"description": "sub safe signer change.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2) {\n +++ description: None\n values.$members.2:\n+ \"0xD8091Ded796FE12A4D202Ca7Ab4DA6212BadC564\"\n values.$members.1:\n- \"0xD8091Ded796FE12A4D202Ca7Ab4DA6212BadC564\"\n+ \"0xc963AE163C7d1DD4d452EA8d9684c4C24655E1E8\"\n values.$members.0:\n- \"0xc963AE163C7d1DD4d452EA8d9684c4C24655E1E8\"\n+ \"0x4092A77bAF58fef0309452cEaCb09221e556E112\"\n values.multisigThreshold:\n- \"2 of 2 (100%)\"\n+ \"2 of 3 (67%)\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 4\n+ 42\n }\n```"
}
]
},
{
"id": "4dbdcce2",
"date": "Wed, 26 Mar 2025 13:47:13 GMT",
"timestamp": 1742996833,
"description": "Initial discovery: Standard OptiPortal2 opstack chain with new SuperchainConfig setup (local with global override).",
"isHighSeverity": false,
"changeCount": 33,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x2bCeB78Fda0d5e3bfA7F4B8c499aa74bDf8D7755)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3C519816C5BdC0a0199147594F83feD4F5847f13)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract CeloProxyAdminOwner (0x4092A77bAF58fef0309452cEaCb09221e556E112)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x55093104b76FAA602F9d6c35A5FFF576bE78d753)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x783A434532Ee94667979213af1711505E8bFE374)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x876e8eeE292F23F163C9bCA406eDD65bEAEFBEBC)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x89E31965D844a309231B1f17759Ccaf1b7c09861)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x8A12E1754f729C0856E2E32D4821577f0B245bfA)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9c314E8057025F2982aa4B3923Abd741A8e8DE91)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 2 (0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xa24Bf5Bc02997f63da4e2C7F802067e05a102504)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfigLocal (0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33)\n +++ description: A local contract acting as source of truth for the paused status and the guardian role for the local chain.\n```\n\n```diff\n+ Status: CREATED\n contract Celo Multisig 1 (0xC03172263409584f7860C25B6eB4985f0f6F4636)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xD1C635987B6Aa287361d08C6461491Fa9df087f2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0xfaB0F466955D87e596Ca87E20c505bB6470D0DC4)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Cyber Multisig 1",
"name": "Cyber Multisig 1",
"description": "A Multisig with 3/4 threshold. \n* Can upgrade **with no delay**\n * AnchorStateRegistry [via: ProxyAdmin]\n * DataAvailabilityChallenge [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency ",
"accounts": [
{
"address": "eth:0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398",
"type": "Contract",
"isVerified": true,
"name": "0xc225…5398",
"url": "https://etherscan.io/address/0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0x1a76Ed328600489811F819959a74043f106CF0f9",
"type": "EOA",
"isVerified": true,
"name": "Cyber",
"url": "https://etherscan.io/address/0x1a76Ed328600489811F819959a74043f106CF0f9"
}
],
"discoveryDrivenData": true
},
{
"id": "Cyber Multisig 2",
"name": "Cyber Multisig 2",
"description": "A Multisig with 3/4 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x68ca4cDCb0F47457273B554E60ff8321D5C133E4",
"type": "Contract",
"isVerified": true,
"name": "0x68ca…33E4",
"url": "https://etherscan.io/address/0x68ca4cDCb0F47457273B554E60ff8321D5C133E4"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0xc76C563185d01284AdbC9cF5bb909162dD2F15e7",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x2F8Fd76923E2B0D0ba8F9C1a52A365CC6E7c040f",
"type": "EOA",
"isVerified": true,
"name": "0x2F8F…040f",
"url": "https://etherscan.io/address/0x2F8Fd76923E2B0D0ba8F9C1a52A365CC6E7c040f",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xc76C563185d01284AdbC9cF5bb909162dD2F15e7",
"type": "EOA",
"isVerified": true,
"name": "0xc76C…15e7",
"url": "https://etherscan.io/address/0xc76C563185d01284AdbC9cF5bb909162dD2F15e7",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "Member of Cyber Multisig 2.\n* Can interact with DataAvailabilityChallenge\n * can upgrade the parameters of DA challenges like the bond size or refund percentages, potentially making challenges infeasable or insecure ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1785878764,
"baseTimestamp": 1789044436,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "0f814d6f",
"date": "Thu, 10 Sep 2026 12:48:50 GMT",
"timestamp": 1789044436,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "91f953fa",
"date": "Tue, 04 Aug 2026 21:27:45 GMT",
"timestamp": 1785878764,
"description": "Guardian intervention by the operator: a resolved PermissionedDisputeGame proposal (`0x7373…f4c3`) was blacklisted on the OptimismPortal2 and the AnchorStateRegistry anchor was reset from a separate, valid game. Since the guardian role is derived from the Superchain-wide SuperchainConfig, both contracts were temporarily upgraded to `SuperchainConfigSetter` implementations pointing `superchainConfig` at an operator-controlled deployment; minutes later the pointer and original implementations were restored.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07) [opstack/AnchorStateRegistry] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.1:\n+ [\"2026-08-04T16:35:47.000Z\",\"0x7e83c02dfbd4cf29d07626f34579b27937493b4436c3ad495a2b3b7e8b095d71\",[\"eth:0x8C8a1F23F3AfE6aeF5F0030FaB44D5b17ee97268\"]]\n values.$pastUpgrades.2:\n+ [\"2026-08-04T16:38:47.000Z\",\"0x65c4f08365a1298614ba2b61a7ae5cac0c517a405622c41bd2d68b150e5a88b7\",[\"eth:0x795F854562d82b3A051e415f6c48B2766521C855\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.3:\n+ [\"2026-08-04T16:43:59.000Z\",\"0x05ff2cb55118f839a31c2e8ea398c99d0f97dcb0d71535df87f14ece5c130475\",[\"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-04T16:45:47.000Z\",\"0x5bc9e4731a28ac126a9f926e98369d4ddc5ae13adeaa22762f7123d0d15069e3\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 3\n+ 5\n }\n```"
}
]
},
{
"id": "863ceab5",
"date": "Fri, 17 Jul 2026 10:09:47 GMT",
"timestamp": 1784282889,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "8a018453",
"date": "Mon, 06 Jul 2026 07:56:33 GMT",
"timestamp": 1783324511,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling). Batcher rotated (`0xf99F…6FC5` → `0x2F8F…040f`). PermissionedDisputeGame redeployed to rotate proposer (`0xE1F8…E36f` → `0xAA0F…99Ab`); other params unchanged ([diff](https://disco.l2beat.com/diff/eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8/eth:0x924B10d37392414b0813190F01DbaF6c3322E906)).",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xf99F2E466D35b9B2755f7bA99E34bC7D56F96FC5\"\n+ \"eth:0x2F8Fd76923E2B0D0ba8F9C1a52A365CC6E7c040f\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8\"\n+ \"eth:0x924B10d37392414b0813190F01DbaF6c3322E906\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x924B10d37392414b0813190F01DbaF6c3322E906) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "722dcad8",
"date": "Mon, 08 Jun 2026 13:32:15 GMT",
"timestamp": 1780925465,
"description": "PermissionedDisputeGame clone redeployed with new proposer + challenger immutable args ([diff](https://disco.l2beat.com/diff/eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b/eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8)). SystemConfig `batcherHash` + `unsafeBlockSigner` rotated.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n+ \"eth:0xf99F2E466D35b9B2755f7bA99E34bC7D56F96FC5\"\n values.unsafeBlockSigner:\n- \"eth:0x1F316F0F898AAb1919F9Fb9183F8D1900F721AdB\"\n+ \"eth:0xa3AC51c395ddA7a264D54890Da04ddF61bCDA359\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n+ \"eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "8f088525",
"date": "Fri, 15 May 2026 13:11:05 GMT",
"timestamp": 1778850529,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "0d8d81bd",
"date": "Tue, 05 May 2026 15:19:09 GMT",
"timestamp": 1777994281,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "67f05780",
"date": "Wed, 25 Mar 2026 10:07:04 GMT",
"timestamp": 1774433159,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "72ec0f48",
"date": "Fri, 27 Feb 2026 13:23:33 GMT",
"timestamp": 1772198383,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "c8059b8a",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272322,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "1c8f61d4",
"date": "Thu, 18 Dec 2025 08:56:22 GMT",
"timestamp": 1766048095,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "40637124",
"date": "Fri, 28 Nov 2025 09:49:22 GMT",
"timestamp": 1764323296,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 103,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x12a580c05466eefb2c467C6b115844cDaF55B255) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x01b46e02fcE5FC0731076711aFFe73bEeCD87997\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x01b46e02fcE5FC0731076711aFFe73bEeCD87997:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x0C883f622b4ccbF1e8ce86217998f87e6d36BCE4\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"eth:0x0C883f622b4ccbF1e8ce86217998f87e6d36BCE4\"\n values.L2_ORACLE:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.l2Oracle:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.SYSTEM_CONFIG:\n- \"eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1764210551\n implementationNames.eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0x985F187489954435ddf9571D45500184566e4B46\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x985F187489954435ddf9571D45500184566e4B46:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n values.$implementation:\n- \"eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 1\n values.blobbasefeeScalar:\n+ 1\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n implementationNames.eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"role\":\"admin\"}\n directlyReceivedPermissions.9.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (eth:0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract Cyber Multisig 1 (eth:0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.9.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n }\n```\n\n```diff\n EOA (eth:0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\",\"role\":\".challenger\"}\n receivedPermissions.1.role:\n- \".CHALLENGER\"\n+ \".challenger\"\n receivedPermissions.1.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (eth:0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x6A9AFfDcfeF73f66177a1386590607F444520571)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "d6698a08",
"date": "Mon, 14 Jul 2025 12:44:56 GMT",
"timestamp": 1752497096,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x12a580c05466eefb2c467C6b115844cDaF55B255)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x19b5804B88F10262A55ac731f28A3BbC4209853a)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 2 (0x68ca4cDCb0F47457273B554E60ff8321D5C133E4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x7E54107731EC43e78DA678DFa5fB6222Ad036e03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 1 (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398)\n +++ description: None\n```"
}
]
},
{
"id": "2fea0d85",
"date": "Sun, 06 Apr 2025 08:20:46 GMT",
"timestamp": 1743927646,
"description": "Operators change, no change to implementations.",
"isHighSeverity": true,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.1.permission:\n- \"interact\"\n+ \"sequence\"\n issuedPermissions.1.to:\n- \"0xc76C563185d01284AdbC9cF5bb909162dD2F15e7\"\n+ \"0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n issuedPermissions.1.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.0.permission:\n- \"sequence\"\n+ \"interact\"\n issuedPermissions.0.to:\n- \"0xf0748C52EDC23135d9845CDFB91279Cf61ee14b4\"\n+ \"0x68ca4cDCb0F47457273B554E60ff8321D5C133E4\"\n issuedPermissions.0.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n values.batcherHash:\n- \"0xf0748C52EDC23135d9845CDFB91279Cf61ee14b4\"\n+ \"0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n values.owner:\n- \"0xc76C563185d01284AdbC9cF5bb909162dD2F15e7\"\n+ \"0x68ca4cDCb0F47457273B554E60ff8321D5C133E4\"\n values.unsafeBlockSigner:\n- \"0xa7A4D6d5920b93D0FE590f9524Ef17f24EE1F5B8\"\n+ \"0x1F316F0F898AAb1919F9Fb9183F8D1900F721AdB\"\n }\n```\n\n```diff\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.permission:\n- \"upgrade\"\n+ \"challenge\"\n issuedPermissions.2.to:\n- \"0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n issuedPermissions.2.via.0:\n- {\"address\":\"0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}\n issuedPermissions.1.permission:\n- \"propose\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}\n issuedPermissions.0.permission:\n- \"challenge\"\n+ \"propose\"\n issuedPermissions.0.to:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n values.$pastUpgrades.2:\n+ [\"2024-04-18T08:59:47.000Z\",\"0x3873d6dcc852f76be0f9f8c71f927a42b055ddb43c495e17464831044ac31046\",[\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]]\n values.$pastUpgrades.1:\n+ [\"2025-04-05T10:01:23.000Z\",\"0x73ee182446c88efe7fcb620040891c07867047a2f87527f0c2f313d87f9657d9\",[\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]]\n values.$pastUpgrades.0.2:\n- \"2024-04-18T08:59:47.000Z\"\n+ [\"0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08\"]\n values.$pastUpgrades.0.1:\n- \"0x3873d6dcc852f76be0f9f8c71f927a42b055ddb43c495e17464831044ac31046\"\n+ \"2025-04-05T09:37:35.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]\n+ \"0x8a478837105675e4e373c2a15350499aaed1c3c899df845ea10eec28b275c662\"\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.challenger:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n values.CHALLENGER:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n+++ severity: HIGH\n values.proposer:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n values.PROPOSER:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n }\n```\n\n```diff\n contract undefined (0xc76C563185d01284AdbC9cF5bb909162dD2F15e7) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 2 (0x68ca4cDCb0F47457273B554E60ff8321D5C133E4)\n +++ description: None\n```"
}
]
},
{
"id": "cc151626",
"date": "Fri, 17 May 2024 09:35:04 GMT",
"timestamp": 1715938504,
"description": "Signers added to Owner Multisig, threshold changed to 3/4. EOA warning is removed.\n\nThe DAChallenge contract has resolverRefundPercentage set to 100%. A successful resolve now gets `( fixedResolutionCost + preImageLength * variableResolutionCost / variableResolutionCostPrecision ) * block.basefee` as a refund. Depending on the other variables, a malicious Sequencer can now challenge itself infinitely without cost.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49) {\n +++ description: None\n values.resolverRefundPercentage:\n- 0\n+ 100\n }\n```\n\n```diff\n contract ProxyAdminOwner (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398) {\n +++ description: None\n upgradeability.threshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 4 (75%)\"\n values.getOwners.3:\n+ \"0x1a76Ed328600489811F819959a74043f106CF0f9\"\n values.getOwners.2:\n+ \"0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7\"\n values.getOwners.1:\n+ \"0xaC79765A73eB9dcBd3c427181E6819902AE25b48\"\n values.getOwners.0:\n- \"0x1a76Ed328600489811F819959a74043f106CF0f9\"\n+ \"0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2\"\n values.getThreshold:\n- 1\n+ 3\n }\n```"
}
]
},
{
"id": "00f73670",
"date": "Wed, 15 May 2024 13:24:31 GMT",
"timestamp": 1715779471,
"description": "Initial discovery: Cyber is an OP stack plasma mode L2 using custom DA (currently not yet EigenDA).",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x12a580c05466eefb2c467C6b115844cDaF55B255)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x19b5804B88F10262A55ac731f28A3BbC4209853a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x7E54107731EC43e78DA678DFa5fB6222Ad036e03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Central actor allowed to post new L2 state roots to L1.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398)\n +++ description: None\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Funki Multisig 1",
"name": "Funki Multisig 1",
"description": "A Multisig with 3/4 threshold. \n* Can upgrade **with no delay**\n * OptimismPortal2 [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DataAvailabilityChallenge [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency ",
"accounts": [
{
"address": "eth:0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD",
"type": "Contract",
"isVerified": true,
"name": "0x89CB…fbCD",
"url": "https://etherscan.io/address/0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xf0AE006C6f810831DA1d2A061288575fB5082144",
"type": "EOA",
"isVerified": true,
"name": "Funki",
"url": "https://etherscan.io/address/0xf0AE006C6f810831DA1d2A061288575fB5082144"
}
],
"discoveryDrivenData": true
},
{
"id": "Funki Multisig 2",
"name": "Funki Multisig 2",
"description": "A Multisig with 3/4 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x3D389212A78FD7D4600C9483470e59630C293416",
"type": "Contract",
"isVerified": true,
"name": "0x3D38…3416",
"url": "https://etherscan.io/address/0x3D389212A78FD7D4600C9483470e59630C293416"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 3",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
},
{
"address": "eth:0xaC79765A73eB9dcBd3c427181E6819902AE25b48",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 1",
"url": "https://etherscan.io/address/0xaC79765A73eB9dcBd3c427181E6819902AE25b48"
},
{
"address": "eth:0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2",
"type": "EOA",
"isVerified": true,
"name": "AltLayer 2",
"url": "https://etherscan.io/address/0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2"
},
{
"address": "eth:0xc0CE2761d5cC92d25dB6ccD95e4b9483eD22D11B",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xc0CE2761d5cC92d25dB6ccD95e4b9483eD22D11B",
"type": "EOA",
"isVerified": true,
"name": "0xc0CE…D11B",
"url": "https://etherscan.io/address/0xc0CE2761d5cC92d25dB6ccD95e4b9483eD22D11B",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "Member of Funki Multisig 2.\n* Can interact with DataAvailabilityChallenge\n * can upgrade the parameters of DA challenges like the bond size or refund percentages, potentially making challenges infeasable or insecure ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xE840FF9BCC3de1097a8BF51bDD60b996dA971208",
"type": "EOA",
"isVerified": true,
"name": "0xE840…1208",
"url": "https://etherscan.io/address/0xE840FF9BCC3de1097a8BF51bDD60b996dA971208",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1785878806,
"baseTimestamp": 1789044471,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "7377d0fe",
"date": "Thu, 10 Sep 2026 12:49:13 GMT",
"timestamp": 1789044471,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "0a2bcedf",
"date": "Tue, 04 Aug 2026 21:28:10 GMT",
"timestamp": 1785878806,
"description": "Guardian intervention by the operator: a resolved PermissionedDisputeGame proposal (`0x586a…77ef`) was blacklisted on the OptimismPortal2 and the AnchorStateRegistry anchor was reset from a separate, valid game. Since the guardian role is derived from the Superchain-wide SuperchainConfig, both contracts were temporarily upgraded to `SuperchainConfigSetter` implementations pointing `superchainConfig` at an operator-controlled deployment; minutes later the pointer and original implementations were restored.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.3:\n+ [\"2026-08-04T16:03:59.000Z\",\"0x8ae9c575a81b99b976cceca3ea4e08fdf2232457ebc85647258a002bd7077ef2\",[\"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-04T16:10:23.000Z\",\"0x528836e8c2f19b30fdecacb75a0bcf31e85f9b6dd7363a0b73f47daa42484d9c\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 3\n+ 5\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3) [opstack/AnchorStateRegistry] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.1:\n+ [\"2026-08-04T15:46:11.000Z\",\"0x33432ac905eeae713da21603bc69ede8dfadcf94fcdd49f234e77d7550bc9d53\",[\"eth:0x46D4f9b61cEC319902b007F4253d376ecA73875F\"]]\n values.$pastUpgrades.2:\n+ [\"2026-08-04T16:04:59.000Z\",\"0x30d1456049b58e81d1504f46ef56bd93c735e26e4d5ad8c0b34fde1563f87506\",[\"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```"
}
]
},
{
"id": "3829e8a7",
"date": "Fri, 17 Jul 2026 10:10:08 GMT",
"timestamp": 1784282928,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "eb30a422",
"date": "Mon, 06 Jul 2026 07:56:55 GMT",
"timestamp": 1783324534,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling). Batcher rotated (`0xE33D…D7d2` → `0xE840…1208`). PermissionedDisputeGame redeployed to rotate proposer (`0x30B6…2AC8` → `0xC7D3…0496`); other params unchanged ([diff](https://disco.l2beat.com/diff/eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117/eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE)).",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117\"\n+ \"eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xE33DbfDd77D969c3c55fE420E8AF4dCCac4Dd7d2\"\n+ \"eth:0xE840FF9BCC3de1097a8BF51bDD60b996dA971208\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "42c82140",
"date": "Mon, 08 Jun 2026 13:32:21 GMT",
"timestamp": 1780925476,
"description": "PermissionedDisputeGame clone redeployed with new proposer + challenger immutable args ([diff](https://disco.l2beat.com/diff/eth:0x695F652b03470F396789cF007278F922e1726B94/eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117)). SystemConfig `batcherHash` + `unsafeBlockSigner` rotated.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x695F652b03470F396789cF007278F922e1726B94) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n+ \"eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n+ \"eth:0xE33DbfDd77D969c3c55fE420E8AF4dCCac4Dd7d2\"\n values.unsafeBlockSigner:\n- \"eth:0xa54e493641d097d164A6a2D8F9895303344d88A9\"\n+ \"eth:0x039d75D5DA1834d291E911Fe58599d077184D01a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "69d5405f",
"date": "Fri, 15 May 2026 13:11:07 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "61fcfbd8",
"date": "Tue, 05 May 2026 15:19:39 GMT",
"timestamp": 1777994313,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "6c3584c0",
"date": "Wed, 25 Mar 2026 10:07:18 GMT",
"timestamp": 1774433174,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "ba6a364b",
"date": "Fri, 27 Feb 2026 13:21:04 GMT",
"timestamp": 1772198384,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "dba81a06",
"date": "Mon, 26 Jan 2026 09:08:12 GMT",
"timestamp": 1769272331,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "dbd1111c",
"date": "Thu, 18 Dec 2025 08:56:48 GMT",
"timestamp": 1766048122,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "4e69cd9d",
"date": "Fri, 28 Nov 2025 09:53:23 GMT",
"timestamp": 1764323514,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 103,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0B3476949e1C82160575295f58720E16EeD2BF7b) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\".challenger\"}\n receivedPermissions.1.role:\n- \".CHALLENGER\"\n+ \".challenger\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025eaa1cbd7fa48ee7b33fc45374ef90b0676ec3a15bd7224a4cb394cc343b7d\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.8.1-beta.1\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1764125519\n implementationNames.eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract Funki Multisig 1 (eth:0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD) {\n +++ description: None\n receivedPermissions.1.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.1.via:\n- [{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]\n receivedPermissions.1.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\"\n receivedPermissions.1.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}\n receivedPermissions.8.from:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x8F56a665c376A08b604DD32ee6E88667A6093172) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x4d4c8988a076d9b4f8e7056a3223ce908cacc5888a54ae3940f1c8d7b7aae742\"\n+ \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n values.$implementation:\n- \"eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n- \"eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\"\n values.version:\n- \"2.4.0\"\n+ \"2.3.0\"\n implementationNames.eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x56b8df1d0d704ad119f31879a8c1446528dbdc9130c3442ae76a2991ca1df17a\"\n+ \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n values.$implementation:\n- \"eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.1.1+beta.1\"\n+ \"2.1.0\"\n implementationNames.eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xe3ebd11527e7e2cc700c4894d46405fa80fdd55e1f6074a122818a25141db5f2\"\n+ \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n values.$implementation:\n- \"eth:0x64F1e21412f61e9Ceda3b65FcFC5A4739c7eBBeE\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n- \"eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\"\n values.version:\n- \"2.2.0\"\n+ \"2.1.0\"\n implementationNames.eth:0x64F1e21412f61e9Ceda3b65FcFC5A4739c7eBBeE:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\",\"role\":\"admin\"}\n directlyReceivedPermissions.8.from:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x37e4bc420a724954556b571c6d8bc8c72d7c7f2b6c48465c65d895e51d5bbc10\"\n+ \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n values.$implementation:\n- \"eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.basefeeScalar:\n- 2269\n+ 1\n values.blobbasefeeScalar:\n- 0\n+ 1\n values.disputeGameFactory:\n- \"eth:0x2Dc9d2Cb1Ba0b8A46AE252ab4FBE1ad5C5c3B795\"\n+ \"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\"\n values.version:\n- \"2.3.0-beta.2\"\n+ \"2.3.0\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n implementationNames.eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (eth:0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x695F652b03470F396789cF007278F922e1726B94)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "90f41e01",
"date": "Mon, 14 Jul 2025 12:45:07 GMT",
"timestamp": 1752497107,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 2 (0x3D389212A78FD7D4600C9483470e59630C293416)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x8F56a665c376A08b604DD32ee6E88667A6093172)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD069C4724f9bC15FA53b3b2516594512AEf8c957)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```"
}
]
},
{
"id": "c0f8f474",
"date": "Sun, 06 Apr 2025 08:20:46 GMT",
"timestamp": 1743927646,
"description": "Operators change, no change to implementations.",
"isHighSeverity": true,
"changeCount": 67,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.permission:\n- \"propose\"\n+ \"upgrade\"\n issuedPermissions.2.to:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.2.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.to:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"propose\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n values.$pastUpgrades.2:\n+ [\"2025-04-05T13:02:59.000Z\",\"0x36b019357e2b55f4676855c5ae23f1e9d02c42fd9e01bbe2873f51be02ec3b8f\",[\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]]\n values.$pastUpgrades.1:\n+ [\"2024-07-17T10:46:23.000Z\",\"0x3dc0389b8d624e6c853fcbcba1321b88a48cefdcf2000af75c986263414c312d\",[\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]]\n values.$pastUpgrades.0.2:\n- \"2024-07-17T10:46:23.000Z\"\n+ [\"0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08\"]\n values.$pastUpgrades.0.1:\n- \"0x3dc0389b8d624e6c853fcbcba1321b88a48cefdcf2000af75c986263414c312d\"\n+ \"0xe6eedfdce548f3eaa2abd10d1d2195d00cc231b28017490753ea5739bc26bdca\"\n values.$pastUpgrades.0.0:\n- [\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]\n+ \"2025-04-05T12:57:35.000Z\"\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.challenger:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n values.CHALLENGER:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n+++ severity: HIGH\n values.proposer:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n values.PROPOSER:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n }\n```\n\n```diff\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D) {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n issuedPermissions.1.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"guard\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD) {\n +++ description: None\n values.$members.3:\n+ \"0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2\"\n values.$members.2:\n+ \"0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7\"\n values.$members.1:\n+ \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n values.$members.0:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0xaC79765A73eB9dcBd3c427181E6819902AE25b48\"\n values.$threshold:\n- 1\n+ 3\n values.multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 4 (75%)\"\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0x5a4ebF927338EA6af377caEee99C85088908f57D\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}]\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.2.permission:\n- \"interact\"\n+ \"upgrade\"\n issuedPermissions.2.to:\n- \"0x3D389212A78FD7D4600C9483470e59630C293416\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.2.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.2.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.permission:\n- \"upgrade\"\n+ \"interact\"\n issuedPermissions.1.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x3D389212A78FD7D4600C9483470e59630C293416\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n issuedPermissions.1.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.0.to:\n- \"0x73c98Cf34AF1f7D798e8e6f34b16037530Bffc41\"\n+ \"0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n values.batcherHash:\n- \"0x73c98Cf34AF1f7D798e8e6f34b16037530Bffc41\"\n+ \"0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n values.unsafeBlockSigner:\n- \"0x843458b6De651E02dFD5bFFea0e9cfb3eca293EF\"\n+ \"0xa54e493641d097d164A6a2D8F9895303344d88A9\"\n }\n```\n\n```diff\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n issuedPermissions.1.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"guard\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n }\n```\n\n```diff\n contract Funki (0xf0AE006C6f810831DA1d2A061288575fB5082144) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"0x5a4ebF927338EA6af377caEee99C85088908f57D\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]}]\n }\n```\n\n```diff\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD) {\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n issuedPermissions.1.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```"
}
]
},
{
"id": "1baa8f4f",
"date": "Fri, 04 Apr 2025 10:09:01 GMT",
"timestamp": 1743761341,
"description": "Standard Orbit chain.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 2 (0x3D389212A78FD7D4600C9483470e59630C293416)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x8F56a665c376A08b604DD32ee6E88667A6093172)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD069C4724f9bC15FA53b3b2516594512AEf8c957)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * ETHLockbox [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system [via: OpFoundationUpgradeSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6db6161fC5662450E801398Bad62dD9921216B98",
"type": "EOA",
"isVerified": true,
"name": "0x6db6…6B98",
"url": "https://etherscan.io/address/0x6db6161fC5662450E801398Bad62dD9921216B98",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
},
"ink": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"accounts": [
{
"address": "ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"type": "EOA",
"isVerified": true,
"name": "0x6B1B…4E3b",
"url": "https://explorer.inkonchain.com/address/0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"displayName": "SuperchainProxyAdminOwner_L2Alias"
}
],
"chain": "ink",
"description": "* Can upgrade **with no delay**\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1787834174,
"baseTimestamp": 1789045166,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "2ace4522",
"date": "Thu, 10 Sep 2026 13:00:50 GMT",
"timestamp": 1789045166,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "8ba9975d",
"date": "Thu, 27 Aug 2026 12:38:00 GMT",
"timestamp": 1787834174,
"description": "SystemConfig: ownership transferred from OpFoundationOperationsSafe to OpFoundationUpgradeSafe.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0.via.0.address:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```"
}
]
},
{
"id": "654c8342",
"date": "Mon, 10 Aug 2026 11:03:38 GMT",
"timestamp": 1786359753,
"description": "DisputeGameFactory: the proposer key was rotated. L1FeeVault: the recipient changed to a new address and the minimum withdrawal dropped from 2 ETH to 0.15 ETH. This vault collects only the L1 data-fee component of L2 transaction fees; the BaseFeeVault and SequencerFeeVault still pay out to the previous recipient at the 2 ETH threshold.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.proposerFromDGF:\n- \"eth:0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n+ \"eth:0x3832bfbeF03173E4C49a00ec0DD178817A02D177\"\n }\n```\n\n```diff\n contract L1FeeVault (ink:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n values.MIN_WITHDRAWAL_AMOUNT:\n- \"2000000000000000000\"\n+ \"150000000000000000\"\n values.minWithdrawalAmount:\n- \"2000000000000000000\"\n+ \"150000000000000000\"\n values.recipient:\n- \"ink:0xa6f0F94C13C4255231958079E7331694205F6c93\"\n+ \"ink:0x1eB630b2e7409597D462dd5f3D21E305FC56B8C9\"\n values.RECIPIENT:\n- \"ink:0xa6f0F94C13C4255231958079E7331694205F6c93\"\n+ \"ink:0x1eB630b2e7409597D462dd5f3D21E305FC56B8C9\"\n }\n```"
}
]
},
{
"id": "e10a2978",
"date": "Thu, 30 Jul 2026 11:05:46 GMT",
"timestamp": 1785409481,
"description": "SystemConfig batch submitter and unsafe block signer rotated. L1Block now mirrors the new batcher hash on L2.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x500d7Ea63CF2E501dadaA5feeC1FC19FE2Aa72Ac\"\n+ \"eth:0x6db6161fC5662450E801398Bad62dD9921216B98\"\n values.unsafeBlockSigner:\n- \"eth:0x7D056B99AA2021864c42E25B4F8cE3BdEAc9463C\"\n+ \"eth:0x7b322282DF45E537E5de76D60E1432Db3cF3F8E1\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.batcherHash:\n- \"0x000000000000000000000000500d7ea63cf2e501dadaa5feec1fc19fe2aa72ac\"\n+ \"0x0000000000000000000000006db6161fc5662450e801398bad62dd9921216b98\"\n }\n```"
}
]
},
{
"id": "be923659",
"date": "Mon, 20 Jul 2026 15:36:32 GMT",
"timestamp": 1784561683,
"description": "SystemConfig `owner` transferred from the Gelato Multisig to the OpFoundationOperationsSafe (`0x9BA6…6b3A`). Ink's sequencer address, batch-submitter address, and gas config are now controlled by OP Foundation instead of Gelato.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n }\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "274f9811",
"date": "Fri, 17 Jul 2026 10:10:49 GMT",
"timestamp": 1784282949,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "e4532cfc",
"date": "Tue, 14 Jul 2026 10:11:47 GMT",
"timestamp": 1784023841,
"description": "Karst hardfork (Upgrade 19b, op-contracts/v7.0.0) L2 activation on 2026-07-08 16:00:01 UTC.\n\nMost predeploys now inherit `ProxyAdminOwnedBase`, which lets a contract read its proxy's ProxyAdmin and ProxyAdmin owner on-chain so privileged functions can be gated to them. On the initializable ones — both bridges, both mintable factories, L2CrossDomainMessenger and every FeeVault — the constructor calls `_disableInitializers()` and `initialize()` is restricted to the ProxyAdmin or its owner (the SuperchainProxyAdminOwner). L1Block is not initializable but inherits the same base and gates its new `setFeature` setter the same way.\n\nCustom gas token support was removed from L2StandardBridge and L2CrossDomainMessenger. The `gasPayingToken()` override is gone, and `withdraw()` / `withdrawTo()` no longer revert on custom gas token chains. Ink pays gas in ETH, so behaviour is unchanged.\n\nL2ProxyAdmin (1.0.0) adds `upgradePredeploys(address)`, which delegatecalls the L2ContractsManager.\n\nFeeVault configuration (recipient, minimum withdrawal amount, withdrawal network) moved from constructor immutables to storage set by `initialize()`, and is now mutable post-deployment via `setRecipient`, `setMinWithdrawalAmount` and `setWithdrawalNetwork` — each gated to the ProxyAdmin owner. Previously these values were fixed at deployment; the SuperchainProxyAdminOwner can now change them. BaseFeeVault and L1FeeVault are byte-identical and now share implementation `0xf7bed7215EEF1003fac426682Cf2edeb958569f7`.\n\nGasPriceOracle stayed at 1.6.0 with unchanged source; only its implementation address moved.\n\nVersion changes and implementation diffs:\n\n- L2CrossDomainMessenger 2.1.1-beta.1 -> 2.2.1: https://disco.l2beat.com/diff/ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- L2StandardBridge 1.11.1-beta.1 -> 1.13.2: https://disco.l2beat.com/diff/ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.10.1-beta.2 -> 1.11.0: https://disco.l2beat.com/diff/ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.7.1-beta.2 -> 1.10.1: https://disco.l2beat.com/diff/ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block 1.7.0 -> 1.9.0: https://disco.l2beat.com/diff/ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.1.1-beta.1 -> 1.2.0: https://disco.l2beat.com/diff/ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.4.1-beta.1 -> 1.5.1: https://disco.l2beat.com/diff/ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- ProxyAdmin -> L2ProxyAdmin 1.0.0: https://disco.l2beat.com/diff/ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- GasPriceOracle 1.6.0 (source unchanged): https://disco.l2beat.com/diff/ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\n- SchemaRegistry 1.3.1-beta.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020/ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.4.1-beta.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021/ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6",
"isHighSeverity": true,
"changeCount": 137,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2CrossDomainMessenger (ink:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0x1ef37a50dbdd57f7019208b81019e52087cb92379f963e1ec092bd3eb81ec978\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"2.1.1-beta.1\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (ink:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x2a3c7909036a30543d4aaa8e9501caab6f998a671d40cc3822f89c6239e6b8ab\"\n+ \"0x2a5cf70e1712c3e8ae9596f3b71055e47fa8d83c7e248050853c903ee70cb139\"\n values.$implementation:\n- \"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.ink:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L2StandardBridge (ink:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe528a1a655ef22d36419f53488f5b31752c4ecc2efea627fc6be5b0d63fa5069\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.11.1-beta.1\"\n+ \"1.13.2\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (ink:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x509425b10b7bc736a2d76eb9fe3bc5951124e88ef3e4752a0a314d33690041d2\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (ink:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0x106f86d507a55d0f26e3683c910a71a9804d75ced3a4bb374e6a78978462274b\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.10.1-beta.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (ink:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x271f936ec1986057d9043b9961aa266e87908766814bdde8071f19a9de7484be\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.7.1-beta.2\"\n+ \"1.10.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.7.0\"\n+ \"1.9.0\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"L1Block\"\n implementationNames.ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (ink:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0x1e27889ae9ce2358b6248afde8e8b6f7c4ccf0b308a9d9ecb629369ce110ea23\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.1.1-beta.1\"\n+ \"1.2.0\"\n implementationNames.ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (ink:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0xec1bfae18ba5717949a6969cb01d743511c076e7bc6c78ed2c2b63232b97cc57\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.5.1\"\n values.bridge:\n+ \"ink:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (ink:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n template:\n- \"opstack/Layer2/L2ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x5685f6e3015a6b9a257228bb8ef3c33efb233627bc5c81b7005670a10a37bd47\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n description:\n- \"Administration contract for other contract proxies.\"\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n values.$implementation:\n- \"ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n+ \"1.0.0\"\n implementationNames.ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n }\n```\n\n```diff\n contract BaseFeeVault (ink:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (ink:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n name:\n- \"BaseFeeVault\"\n+ \"L1FeeVault\"\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n description:\n- \"Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\"\n+ \"Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\"\n values.$implementation:\n- \"ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"BaseFeeVault\"\n implementationNames.ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (ink:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x184ad3273d7e257c9f1b138ecff33286528599eae858abc182fdc3068060af90\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020\"\n+ \"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020:\n- \"SchemaRegistry\"\n implementationNames.ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (ink:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xa445fc3be07624967bd4cb9792e42018303744e20dc788527e19f17d83b6373d\"\n+ \"0xd39abb26f6acde3141075c8398a29b17974750e1651a038fcf5647d6cd8c5215\"\n values.$implementation:\n- \"ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021\"\n+ \"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021:\n- \"EAS\"\n implementationNames.ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```"
}
]
},
{
"id": "37f6df58",
"date": "Wed, 01 Jul 2026 09:35:39 GMT",
"timestamp": 1782898474,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations and the respected game type changed 0 → 8 (CANNON → CANNON_KONA) — the permissionless fault proof now runs the Rust kona-client on the Cannon VM instead of op-program. Uses the shared Superchain deployment (same kona prestate `0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025` as OP Mainnet, verified); trust model unchanged.",
"isHighSeverity": true,
"changeCount": 138,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [\"80000000000000000\",\"80000000000000000\",0,0,0]\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n values.game8Args:\n+ \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea000000000000000000000000000000000000000000000000000000000000def1\"\n values.game8Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ \"80000000000000000\"\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ \"80000000000000000\"\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 7\n+ 9\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ETHLockbox (eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd56045E68956FCe2576E680c95a4750cf8241f79) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x57b4C29DAee99a28E6E86778b499361294c134eA) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "044f848a",
"date": "Fri, 15 May 2026 13:31:28 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "19e74e24",
"date": "Tue, 05 May 2026 15:18:48 GMT",
"timestamp": 1777994261,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "8b475527",
"date": "Tue, 28 Apr 2026 15:44:52 GMT",
"timestamp": 1777390955,
"description": "Gelato Multisig (`eth:0xBeA2Bc85...`) member rotation: 5 signers removed (`0x349f3839`, `0xB65540bB`, `0x58edE8C6`, `0x28bB9385`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 9→5 (44% → 60%). Shared multisig — same change observed on `ethernity`, `lisk`, `everclear`, `reya`, and `educhain` (arb1).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"eth:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.1:\n- \"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.2:\n- \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.3:\n- \"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.5:\n- \"eth:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "404d3ffa",
"date": "Wed, 25 Mar 2026 10:07:23 GMT",
"timestamp": 1774433178,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, a Gelato Multisig signer (0x28bB9385A588EF4747264D19B9A9F1603591680c) has set an EIP-7702 delegation to an EIP7702StatelessDeleGator contract.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4831558cc7e858c354d05912425f7b608f63f175997992468f288e0d88c4cc50\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "a1682bf1",
"date": "Fri, 27 Feb 2026 13:20:54 GMT",
"timestamp": 1772198385,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "904df41d",
"date": "Fri, 13 Feb 2026 11:46:54 GMT",
"timestamp": 1770912803,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.7:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x10c839264195b6b897892b2d8949004bcb6005a9c712b41651aaf1a68c004d21\",\"l2SequenceNumber\":19265297}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "94cae32a",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272339,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "6ff076ee",
"date": "Thu, 18 Dec 2025 08:57:30 GMT",
"timestamp": 1766048148,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "20fe3161",
"date": "Wed, 10 Dec 2025 09:59:18 GMT",
"timestamp": 1765360693,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (ink:0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0xc5d4d2bf19122f506ce43be8395b97b65c2b1109721869f31aa0b39605c5254b\"\n+ \"0x3a8edff20d21cac6fe4146bd2ae47f7ec927759ff9eb35e3f32f366e91da9e15\"\n values.$implementation:\n- \"ink:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.4.0\"\n+ \"1.6.0\"\n values.isJovian:\n+ true\n implementationNames.ink:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0x1d69ab3b3edee9b7eeccc72b0980f9041777fdc5f5224f97aa5e69f0a8b68c7c\"\n values.$implementation:\n- \"ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.6.0\"\n+ \"1.7.0\"\n values.daFootprintGasScalar:\n+ 400\n implementationNames.ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "ebb58631",
"date": "Fri, 28 Nov 2025 11:36:47 GMT",
"timestamp": 1764329741,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 70,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\"\n+ \"eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.6:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (eth:0x65436ddCbc026F34118954F229f7F132b696b3B4) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "0cfc0d4c",
"date": "Fri, 24 Oct 2025 12:59:10 GMT",
"timestamp": 1761310677,
"description": "Fix previously misreported value by dwellir rpc and accidentally commited.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 185\n+ 190\n }\n```"
}
]
},
{
"id": "39378991",
"date": "Thu, 23 Oct 2025 12:37:13 GMT",
"timestamp": 1761222955,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "3d6f19ce",
"date": "Fri, 03 Oct 2025 09:11:16 GMT",
"timestamp": 1759482605,
"description": "OptimismPortal2\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0])\nhttps://disco.l2beat.com/diff/eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1/eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1])\nhttps://disco.l2beat.com/diff/eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\n\nMIPS → MIPS64\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1)\nhttps://disco.l2beat.com/diff/eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE/eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\n\nDelayedWETH (replacement 2)\nhttps://disco.l2beat.com/diff/eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32/eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd",
"isHighSeverity": true,
"changeCount": 93,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1\"\n+ \"eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9\"\n+ \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8.role:\n- \".$admin\"\n+ \"admin\"\n receivedPermissions.8.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: None\n template:\n- \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.params.prevBlockNum:\n- 23476785\n+ 23496111\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n fieldMeta:\n- {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n usedTypes:\n- [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: None\n template:\n- \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n description:\n- \"Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.5:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.batcherHash:\n- \"eth:0x500d7Ea63CF2E501dadaA5feeC1FC19FE2Aa72Ac\"\n+ \"0x000000000000000000000000500d7ea63cf2e501dadaa5feec1fc19fe2aa72ac\"\n values.initVersion:\n- 2\n+ 3\n values.opStackDA:\n- {\"isSequencerSendingBlobTx\":true,\"isUsingCelestia\":false,\"isUsingEigenDA\":false}\n values.sequencerInbox:\n- \"eth:0x005969bf0EcbF6eDB6C47E5e94693b1C3651Be97\"\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta:\n- {\"paused\":{\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"},\"gasLimit\":{\"severity\":\"LOW\",\"description\":\"Gas limit for blocks on L2.\"},\"eip1559Denominator\":{\"description\":\"volatility param: lower denominator -> quicker fee changes on L2\"}}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: None\n template:\n- \"opstack/L1ERC721Bridge\"\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n description:\n- \"Used to bridge ERC-721 tokens from host chain to this chain.\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: None\n template:\n- \"opstack/L1CrossDomainMessenger\"\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n description:\n- \"Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.messageNonce:\n- \"1766847064778384329583297500742918515827483896875618958121606201292632463\"\n+ \"1766847064778384329583297500742918515827483896875618958121606201292632532\"\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n errors:\n+ {\"xDomainMessageSender\":\"Processing error occurred.\"}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: None\n template:\n- \"opstack/L1StandardBridge\"\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n description:\n- \"The main entry point to deposit ERC20 tokens from host chain to this chain.\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.role:\n- \".$admin\"\n+ \"admin\"\n directlyReceivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS64 (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "2f3ed73f",
"date": "Mon, 18 Aug 2025 14:05:07 GMT",
"timestamp": 1755525900,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "8f9e8844",
"date": "Fri, 25 Jul 2025 17:48:23 GMT",
"timestamp": 1753465703,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342\"\n+ \"eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x40641A4023f0F4C66D7f8Ade16497f4C947A7163\"\n+ \"eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.5.from:\n- \"eth:0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n+ \"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\"\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.13.from:\n- \"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n+ \"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\"\n receivedPermissions.14.from:\n- \"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1737576635\n+ 1753379243\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n values.ethLockbox:\n+ \"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 57073\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n+ \"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\"\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\",\"role\":\"admin\"}\n directlyReceivedPermissions.9.from:\n- \"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n+ \"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\"\n directlyReceivedPermissions.10.from:\n- \"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x3F7b07A5D638024a37A776FA228fE90b317aF6dE)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0xbd4AbB321138e8Eddc399cE64E66451294325a14)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xEe018bAf058227872540AC60eFbd38b023d9dAe2)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```"
}
]
},
{
"id": "d819b5b6",
"date": "Mon, 21 Jul 2025 11:59:18 GMT",
"timestamp": 1753099158,
"description": "fee increase.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n values.baseFeeScalar:\n- 1368\n+ 4424\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.baseFeeScalar:\n- 1368\n+ 4424\n }\n```"
}
]
},
{
"id": "4b34282a",
"date": "Tue, 15 Jul 2025 11:31:07 GMT",
"timestamp": 1752579067,
"description": "Gelato MS: one signer removed, one changed.\n\nfee config updated.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 0\n+ 4424\n values.blobbasefeeScalar:\n- 0\n+ 810831\n }\n```\n\n```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "88c174c3",
"date": "Mon, 14 Jul 2025 12:46:55 GMT",
"timestamp": 1752497215,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```"
}
]
},
{
"id": "f5f4ed3e",
"date": "Mon, 14 Jul 2025 12:46:55 GMT",
"timestamp": 1752497215,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "8fd60d74",
"date": "Mon, 12 May 2025 08:14:46 GMT",
"timestamp": 1747037686,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee (standard contracts).",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6e5bd465cdf07c7fc7de194833be336109be5aceaeb509643962096c772ec26a\"\n+ \"0xa6ae4f0695335983b644f1524c759f3178ee95c406e1e905b8cbccf5763af43a\"\n values.$implementation:\n- \"0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\",[\"0x93e57A196454CB919193fa9946f14943cf733845\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x936b7b7eb2a88a64e3eceaf897abfa2dc6e48b4c75eba2da34ff927b98413b6b\"\n+ \"0x6a90057e0a817ce81f9ed4b565f5efdbf1ebf76d5f59f3ce62f2994455e8199d\"\n sourceHashes.0:\n- \"0x6a90057e0a817ce81f9ed4b565f5efdbf1ebf76d5f59f3ce62f2994455e8199d\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\",[\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.5.1-beta.1\"\n+ \"1.6.0\"\n implementationNames.0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "51bda832",
"date": "Thu, 08 May 2025 08:49:06 GMT",
"timestamp": 1746694146,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1\"\n+ \"0x40641A4023f0F4C66D7f8Ade16497f4C947A7163\"\n values.gameImpls.3:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342\"\n values.gameImpls.0:\n- \"0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "6ca9b9f4",
"date": "Fri, 25 Apr 2025 13:16:23 GMT",
"timestamp": 1745586983,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x69361c9134D620B704C2a72c58523a4373eCe86f\"\n+ \"0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1\"\n values.gameImpls.0:\n- \"0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443\"\n+ \"0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.2.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.2.0:\n- [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x69361c9134D620B704C2a72c58523a4373eCe86f)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2024-12-06T15:20:11.000Z\",\"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1.2:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.1.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.1.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.0.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.0.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "70dd52ae",
"date": "Fri, 04 Apr 2025 09:41:29 GMT",
"timestamp": 1743759689,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 88,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637\"\n+ \"0x69361c9134D620B704C2a72c58523a4373eCe86f\"\n values.gameImpls.0:\n- \"0x7e87B471e96b96955044328242456427A0D49694\"\n+ \"0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.6.from:\n- \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n receivedPermissions.5.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n receivedPermissions.5.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.4.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.4.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.3.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.3.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.1.from:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.2.0\"\n+ \"2.4.0\"\n values.basefeeScalar:\n+ 0\n values.blobbasefeeScalar:\n+ 0\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f\",\"l1ERC721Bridge\":\"0x661235a238B11191211fa95D4Dd9E423d521E0Be\",\"l1StandardBridge\":\"0x88FF1e5b602916615391F55854588EFcBB7663f0\",\"disputeGameFactory\":\"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\",\"optimismPortal\":\"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\",\"optimismMintableERC20Factory\":\"0xA8B389A82e088b164cD03230e900980CcED34d29\"}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2024-12-06T15:20:11.000Z\",\"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.0.2:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x7e87B471e96b96955044328242456427A0D49694)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.5.from:\n- \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n directlyReceivedPermissions.4.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n directlyReceivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.3.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.2.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.1.from:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x69361c9134D620B704C2a72c58523a4373eCe86f)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "528ffcf9",
"date": "Tue, 18 Mar 2025 10:45:54 GMT",
"timestamp": 1742294754,
"description": "Migrate to new FaultDisputeGame (v1.3.1), which is the same as the one used by op mainnet and unichain.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD\"\n+ \"0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637\"\n values.gameImpls.0:\n- \"0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963\"\n+ \"0x7e87B471e96b96955044328242456427A0D49694\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.7.from:\n- \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n+ \"0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n receivedPermissions.6.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n receivedPermissions.6.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.5.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.5.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.5.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.4.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.3.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.2.from:\n- \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n+ \"0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n directlyReceivedPermissions.5.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n directlyReceivedPermissions.5.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.4.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.2.from:\n- \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x7e87B471e96b96955044328242456427A0D49694)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "7c1fcd00",
"date": "Tue, 11 Mar 2025 12:03:49 GMT",
"timestamp": 1741694629,
"description": "Contract verified.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017) {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n unverified:\n- true\n values.BRIDGE:\n+ \"0x4200000000000000000000000000000000000014\"\n values.REMOTE_CHAIN_ID:\n+ 1\n values.version:\n+ \"1.4.1-beta.1\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xd05d0050b36bb2fb43c345eabc2d7f6e796571360aa2198707da64794c5f4b64\"]\n }\n```"
}
]
},
{
"id": "afa7d07d",
"date": "Wed, 26 Feb 2025 16:18:31 GMT",
"timestamp": 1740586711,
"description": "Config related: Add L2 contracts as templates with source.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014) {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n unverified:\n- true\n values.messenger:\n+ \"0x4200000000000000000000000000000000000007\"\n values.MESSENGER:\n+ \"0x4200000000000000000000000000000000000007\"\n values.OTHER_BRIDGE:\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n values.otherBridge:\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n values.paused:\n+ false\n values.version:\n+ \"1.7.1-beta.2\"\n template:\n+ \"opstack/Layer2/L2ERC721Bridge\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xf8e3171eeccb9b5e31480276120e77545d7f33ae218b16ee367370dc484149f2\"]\n }\n```"
}
]
},
{
"id": "1838f888",
"date": "Mon, 24 Feb 2025 06:46:01 GMT",
"timestamp": 1740379561,
"description": "Initial L2 discovery: 3 unverified contracts, ProxyAdmin gov correctly resolves to L1.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```"
}
]
},
{
"id": "6a8a11e8",
"date": "Wed, 12 Feb 2025 09:59:40 GMT",
"timestamp": 1739354380,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "332fe74c",
"date": "Sat, 08 Feb 2025 16:14:13 GMT",
"timestamp": 1739031253,
"description": "Two SC members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "c98f3905",
"date": "Thu, 06 Feb 2025 09:16:25 GMT",
"timestamp": 1738833385,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "d996dee7",
"date": "Fri, 24 Jan 2025 08:30:33 GMT",
"timestamp": 1737707433,
"description": "re-add the permissioned games tracker since the default is permissionless games now.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 189\n+ 190\n }\n```"
}
]
},
{
"id": "2908d4a2",
"date": "Wed, 22 Jan 2025 22:51:41 GMT",
"timestamp": 1737586301,
"description": "Ink is now Stage 1.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"FaultDisputeGame\"\n values.respectedGameType:\n- 1\n+ 0\n values.respectedGameTypeUpdatedAt:\n- 1733498411\n+ 1737576635\n }\n```"
}
]
},
{
"id": "c172be48",
"date": "Wed, 15 Jan 2025 10:19:47 GMT",
"timestamp": 1736936387,
"description": "PermissionedDisputeGame upgraded (1.3.0), FaultDisputeGame (1.3.0) and DelayedWETH added, all known shapes. InitBonds same as optimism for now. Permissioned game is still the respected gameType.\n\nTwo signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059\"\n+ \"0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD\"\n values.initBonds.1:\n- 0\n+ \"80000000000000000\"\n values.initBonds.0:\n- 0\n+ \"80000000000000000\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"target\":\"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\",\"via\":[{\"address\":\"0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.10.target:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.9.target:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.9.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.8.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.8.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.7.target:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n receivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.6.target:\n- \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n+ \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n receivedPermissions.5.target:\n- \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n+ \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n receivedPermissions.4.target:\n- \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n+ \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"}\n directlyReceivedPermissions.8.target:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.7.target:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.7.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.6.target:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n directlyReceivedPermissions.6.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.5.target:\n- \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n+ \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n directlyReceivedPermissions.4.target:\n- \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n+ \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n directlyReceivedPermissions.3.target:\n- \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n+ \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.2:\n+ [\"2025-01-13T21:22:47.000Z\",\"0x71234ec9d3df32360383a0091277b0facbeb21456f1a29accb110fa43a6b5441\",[\"0x7A78aa7D5dec2F8B368ca13f00Df2fA4E5De3C3F\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-13T21:22:47.000Z\",\"0x71234ec9d3df32360383a0091277b0facbeb21456f1a29accb110fa43a6b5441\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "8c0fc06f",
"date": "Thu, 26 Dec 2024 11:32:41 GMT",
"timestamp": 1735212761,
"description": "Contracts verified (PermissionedDisputeGame, AnchorStateRegistry).\n\nBoth contracts are unintended beta versions (see ink telegram chat) but contain mostly cosmetic changes and the diff is audited, according to ink. A brief review of the diff shows no logic changes and thus the standard templates are used here.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059) {\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n unverified:\n- true\n values.absolutePrestate:\n+ \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c\"\n values.anchorStateRegistry:\n+ \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n values.challenger:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.claimData:\n+ []\n values.claimDataLen:\n+ 0\n values.createdAt:\n+ 0\n values.extraData:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.gameCreator:\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameData:\n+ {\"gameType_\":1,\"rootClaim_\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extraData_\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}\n values.gameType:\n+ 1\n values.getChallengerDuration:\n+ []\n values.l1Head:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.l2BlockNumber:\n+ 0\n values.l2BlockNumberChallenged:\n+ false\n values.l2BlockNumberChallenger:\n+ \"0x0000000000000000000000000000000000000000\"\n values.l2ChainId:\n+ 57073\n values.proposer:\n+ \"0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n values.resolvedAt:\n+ 0\n values.rootClaim:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.startingBlockNumber:\n+ 0\n values.startingOutputRoot:\n+ {\"root\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"l2BlockNumber\":0}\n values.startingRootHash:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.status:\n+ 0\n values.version:\n+ \"1.3.1-beta.3\"\n values.weth:\n+ \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n sourceHashes:\n+ [\"0xf2f258eb38ded9ad4f2ad678585505ab05851f008aad859af6ad97de75a276b9\"]\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
}
]
},
{
"id": "e7a469cb",
"date": "Sat, 21 Dec 2024 17:04:52 GMT",
"timestamp": 1734800692,
"description": "Initial discovery. Chain controlled by Superchain upgradability but with permissioned games.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5d66C1782664115999C47c9fA5cd031f495D3e4F)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Gelato Multisig",
"name": "Gelato Multisig",
"description": "A Multisig with 3/5 threshold. \nMember of Lisk Multisig.\n* Can upgrade **with no delay**\n * SystemConfig [via: Lisk Multisig → ProxyAdmin]\n * DisputeGameFactory [via: Lisk Multisig → ProxyAdmin]\n * L1StandardBridge [via: Lisk Multisig → ProxyAdmin]\n * OptimismPortal2 [via: Lisk Multisig → ProxyAdmin]\n * L1CrossDomainMessenger [via: Lisk Multisig → ProxyAdmin]\n * DelayedWETH [via: Lisk Multisig → ProxyAdmin]\n * L1ERC721Bridge [via: Lisk Multisig → ProxyAdmin]\n * AnchorStateRegistry [via: Lisk Multisig → ProxyAdmin]\n * OptimismMintableERC20Factory [via: Lisk Multisig → ProxyAdmin]\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with PermissionedDisputeGame\n * Allowed to challenge or delete state roots proposed by a Proposer \n* Can interact with AddressManager\n * set and change address mappings [via: Lisk Multisig → ProxyAdmin]\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency [via: Lisk Multisig]",
"accounts": [
{
"address": "eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb",
"type": "Contract",
"isVerified": true,
"name": "0xBeA2…9Bbb",
"url": "https://etherscan.io/address/0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2",
"type": "EOA",
"isVerified": true,
"name": "0x691C…aAD2",
"url": "https://etherscan.io/address/0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2"
},
{
"address": "eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682",
"type": "EOA",
"isVerified": true,
"name": "0x6a0A…7682",
"url": "https://etherscan.io/address/0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682"
},
{
"address": "eth:0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52",
"type": "EOA",
"isVerified": true,
"name": "0x88De…fD52",
"url": "https://etherscan.io/address/0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52"
},
{
"address": "eth:0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e",
"type": "EOA",
"isVerified": true,
"name": "0x01a0…c32e",
"url": "https://etherscan.io/address/0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e"
},
{
"address": "eth:0x547D0F472309e4239b296D01e03bEDc101241a26",
"type": "EOA",
"isVerified": true,
"name": "0x547D…1a26",
"url": "https://etherscan.io/address/0x547D0F472309e4239b296D01e03bEDc101241a26"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Lisk Multisig",
"name": "Lisk Multisig",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45",
"type": "Contract",
"isVerified": true,
"name": "0xECd4…0b45",
"url": "https://etherscan.io/address/0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb",
"type": "Contract",
"isVerified": true,
"name": "Gelato Multisig",
"url": "#Gelato Multisig"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xa6Ea2f3299b63c53143c993d2d5E60A69Cd6Fe24",
"type": "EOA",
"isVerified": true,
"name": "0xa6Ea…Fe24",
"url": "https://etherscan.io/address/0xa6Ea2f3299b63c53143c993d2d5E60A69Cd6Fe24",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x0AbD6da1cE10D1cD6c7C9C14b905786D20f3EB23",
"type": "EOA",
"isVerified": true,
"name": "0x0AbD…EB23",
"url": "https://etherscan.io/address/0x0AbD6da1cE10D1cD6c7C9C14b905786D20f3EB23",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with PermissionedDisputeGame\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1784282990,
"baseTimestamp": 1789044500,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "3e88061a",
"date": "Thu, 10 Sep 2026 12:49:48 GMT",
"timestamp": 1789044500,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "a5f04274",
"date": "Fri, 17 Jul 2026 10:11:14 GMT",
"timestamp": 1784282990,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "fa271e25",
"date": "Mon, 06 Jul 2026 07:53:50 GMT",
"timestamp": 1783324341,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "a45bceed",
"date": "Fri, 15 May 2026 13:31:28 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "1da5e16c",
"date": "Tue, 05 May 2026 15:19:03 GMT",
"timestamp": 1777994276,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "95269910",
"date": "Tue, 28 Apr 2026 15:46:38 GMT",
"timestamp": 1777391131,
"description": "Gelato Multisig (`eth:0xBeA2Bc85...`) member rotation: 5 signers removed (`0x349f3839`, `0xB65540bB`, `0x58edE8C6`, `0x28bB9385`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 9→5 (44% → 60%). Shared multisig — same change observed on `ethernity`, `ink`, `everclear`, `reya`, and `educhain` (arb1).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"eth:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.1:\n- \"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.2:\n- \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.3:\n- \"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.5:\n- \"eth:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "9576c56b",
"date": "Wed, 25 Mar 2026 10:07:29 GMT",
"timestamp": 1774433184,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, a Gelato Multisig signer (0x28bB9385A588EF4747264D19B9A9F1603591680c) has set an EIP-7702 delegation to an EIP7702StatelessDeleGator contract.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4831558cc7e858c354d05912425f7b608f63f175997992468f288e0d88c4cc50\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "a4ca70e0",
"date": "Fri, 27 Feb 2026 13:25:17 GMT",
"timestamp": 1772198386,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "7aab81c0",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272346,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "33bf61c1",
"date": "Thu, 18 Dec 2025 08:57:58 GMT",
"timestamp": 1766048190,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "c5fd758e",
"date": "Fri, 28 Nov 2025 11:37:21 GMT",
"timestamp": 1764329775,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```"
}
]
},
{
"id": "bcc4cfd7",
"date": "Mon, 20 Oct 2025 15:26:02 GMT",
"timestamp": 1760973885,
"description": "OpFoundation multisig member rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "677cb8c5",
"date": "Mon, 18 Aug 2025 09:02:32 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "1450d5df",
"date": "Thu, 14 Aug 2025 07:44:37 GMT",
"timestamp": 1755157463,
"description": "Fee pricing update.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 37110\n+ 127543\n }\n```"
}
]
},
{
"id": "b087d7c8",
"date": "Mon, 28 Jul 2025 05:51:30 GMT",
"timestamp": 1753681890,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "22978535",
"date": "Mon, 21 Jul 2025 10:30:37 GMT",
"timestamp": 1753093837,
"description": "standard op stack v3 upgrade (optiPortal 2) to permissioned fp game.",
"isHighSeverity": true,
"changeCount": 110,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 37110\n values.blobbasefeeScalar:\n+ 1201993\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n implementationNames.eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (0x0AbD6da1cE10D1cD6c7C9C14b905786D20f3EB23) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x5BFC7acc740D2E19c290167052F69947e19475F3\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x5BFC7acc740D2E19c290167052F69947e19475F3:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract OptimismPortal2 (0x26dB93F8b8b4f7016240af62F7730979d353f9A7) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.L2_ORACLE:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.l2Oracle:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.SYSTEM_CONFIG:\n- \"eth:0x05f23282FFDCA8286E4738C1aF79079f3d843750\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1752607223\n implementationNames.eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"eth:0x0318A37e2662507789a6E17E85A506709F89488b\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x0318A37e2662507789a6E17E85A506709F89488b:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".challenger\"}\n receivedPermissions.1:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".CHALLENGER\"}\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\".guardian\"}\n receivedPermissions.3:\n- {\"permission\":\"guard\",\"from\":\"eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7\",\"role\":\".guardian\"}\n receivedPermissions.4.role:\n- \".GUARDIAN\"\n+ \".challenger\"\n receivedPermissions.4.from:\n- \"eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7\"\n+ \"eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6\"\n receivedPermissions.4.permission:\n- \"guard\"\n+ \"challenge\"\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.8.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d) {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract Lisk Multisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "456965bb",
"date": "Tue, 15 Jul 2025 09:09:26 GMT",
"timestamp": 1752570566,
"description": "Gelato MS: one signer removed, one changed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "847ed375",
"date": "Mon, 14 Jul 2025 12:45:19 GMT",
"timestamp": 1752497119,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x2dF7057d3F25212E51aFEA8dA628668229Ea423f)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf)\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xE3622468Ea7dD804702B56ca2a4f88C0936995e6)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract L1OpEURCBridgeAdapter (0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677)\n +++ description: Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lisk Multisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45)\n +++ description: None\n```"
}
]
},
{
"id": "f3757dce",
"date": "Tue, 03 Jun 2025 15:23:28 GMT",
"timestamp": 1748964208,
"description": "add EURC external bridge.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpEURCBridgeAdapter (0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677) {\n +++ description: Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n name:\n+ \"L1OpEURCBridgeAdapter\"\n template:\n+ \"circle/L1OpEURCBridgeAdapter\"\n sourceHashes:\n+ [\"0xbbe53a68c0042f4050bdf21e8d16eee4688dd35d24e49740915f0a0cf994f0d6\",\"0x54fe8d50c1e462bc4bc77f3edef769d75b14fe44a09a708ceb8125d9760e71db\"]\n description:\n+ \"Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\"\n sinceTimestamp:\n+ 1748849495\n sinceBlock:\n+ 22615527\n values:\n+ {\"$admin\":\"0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9\",\"$implementation\":\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\",\"$pastUpgrades\":[[\"2025-06-02T07:31:35.000Z\",\"0x842ad723004e0ab6eec96d63e9480318f20b4262a5727cdf8ab01df70aed9c83\",[\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\"]]],\"$upgradeCount\":1,\"BRIDGE_MESSAGE_TYPEHASH\":\"0x87e4683aad14f1869b43140e06b846bd1b00c2e08e9825f6719d163b4cfef2a6\",\"burnAmount\":0,\"burnCaller\":\"0x0000000000000000000000000000000000000000\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"OpEURCBridgeAdapter\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"EURC\":\"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c\",\"LINKED_ADAPTER\":\"0x4db1c96C1f9c3d5429fDf35ED2e684b309b0c281\",\"MESSENGER\":\"0x31B72D76FB666844C41EdF08dF0254875Dbb7edB\",\"messengerStatus\":0,\"owner\":\"0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n implementationNames:\n+ {\"0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677\":\"ERC1967Proxy\",\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\":\"L1OpEURCBridgeAdapter\"}\n }\n```"
}
]
},
{
"id": "fe4fd194",
"date": "Mon, 14 Apr 2025 08:37:06 GMT",
"timestamp": 1744619826,
"description": "Add custom wstETH escrow.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC20TokenBridge (0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf) {\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n name:\n+ \"L1ERC20TokenBridge\"\n template:\n+ \"lido/L1ERC20TokenBridge\"\n sourceHashes:\n+ [\"0x698ae88793265d087e07a445b69bf16b450cdcf636b9073b86221936e912a135\",\"0xc4b0423b7d0fcada3862027e805c2fc79676feb6f4bc3978e5a86b390bfd7be3\"]\n description:\n+ \"Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\"\n sinceTimestamp:\n+ 1737623423\n sinceBlock:\n+ 21686205\n values:\n+ {\"$admin\":\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"$implementation\":\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\",\"$pastUpgrades\":[[\"2025-01-23T09:10:23.000Z\",\"0xc46d4a4110ff87720804f018aa5be922d1a401d1b869ea4f7fee645ee6ba1b60\",[\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\"]]],\"$upgradeCount\":1,\"DEFAULT_ADMIN_ROLE\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"DEPOSITS_DISABLER_ROLE\":\"0x63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d6\",\"DEPOSITS_ENABLER_ROLE\":\"0x4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a\",\"isDepositsEnabled\":true,\"isInitialized\":true,\"isWithdrawalsEnabled\":true,\"l1Token\":\"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\",\"l2Token\":\"0x76D8de471F54aAA87784119c60Df1bbFc852C415\",\"l2TokenBridge\":\"0xca498Ee83eD3546321d4DC25e2789B0624F15f68\",\"messenger\":\"0x31B72D76FB666844C41EdF08dF0254875Dbb7edB\",\"proxy__getAdmin\":\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"proxy__getImplementation\":\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\",\"proxy__getIsOssified\":false,\"WITHDRAWALS_DISABLER_ROLE\":\"0x94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c\",\"WITHDRAWALS_ENABLER_ROLE\":\"0x9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d\"}\n derivedName:\n+ \"L1ERC20TokenBridge\"\n }\n```"
}
]
},
{
"id": "17bfce71",
"date": "Thu, 16 Jan 2025 08:14:39 GMT",
"timestamp": 1737015279,
"description": "Gas limit doubled to 60M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "f4339937",
"date": "Wed, 15 Jan 2025 07:30:12 GMT",
"timestamp": 1736926212,
"description": "Two signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "ff3095bf",
"date": "Fri, 06 Dec 2024 11:00:47 GMT",
"timestamp": 1733482847,
"description": "Add external USDC escrow.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xE3622468Ea7dD804702B56ca2a4f88C0936995e6)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "2e0dded7",
"date": "Wed, 30 Oct 2024 13:22:20 GMT",
"timestamp": 1730294540,
"description": "GelatoMS: Signer removed, threshold decreased.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.8:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.6:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.5:\n- \"0xc85aC6d2fdC376F335455D4cCA30c45ED1080849\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$threshold:\n- 6\n+ 4\n values.multisigThreshold:\n- \"6 of 9 (67%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "64221cf2",
"date": "Fri, 11 Oct 2024 10:34:24 GMT",
"timestamp": 1728642864,
"description": "Getalo MS signer removed.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.6:\n- \"0x27b1682E9C5Cb0E58Ff474F3a13EeCC36E708ad3\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.multisigThreshold:\n- \"6 of 10 (60%)\"\n+ \"6 of 9 (67%)\"\n }\n```"
}
]
},
{
"id": "20a7428b",
"date": "Tue, 23 Jul 2024 10:36:43 GMT",
"timestamp": 1721731003,
"description": "EOA signer removed, the LiskRollupOwnerMultisig is now just a transparent MS for Gelato MS. Warning removed from FE.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n values.$multisigThreshold:\n- \"1 of 2 (50%)\"\n+ \"1 of 1 (100%)\"\n values.getOwners.1:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n }\n```"
}
]
},
{
"id": "8aa9b5b5",
"date": "Tue, 23 Jul 2024 07:36:01 GMT",
"timestamp": 1721720161,
"description": "Challenger and Guardian are changed to the GelatoMultisig. Rollup Upgrade owner is still an EOA (and additionally GelatoMS).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: None\n values.owner:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6) {\n +++ description: None\n values.challenger:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.CHALLENGER:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7) {\n +++ description: None\n values.guardian:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7) {\n +++ description: None\n values.guardian:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.GUARDIAN:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n values.$multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"1 of 2 (50%)\"\n values.getOwners.1:\n+ \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n values.getOwners.0:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```"
}
]
},
{
"id": "babbdb21",
"date": "Fri, 19 Jul 2024 10:16:12 GMT",
"timestamp": 1721384172,
"description": "Initial discovery: OP stack rollup on the latest superchain (fork) contracts. EOA-governed without being in the Superchain governance.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x2dF7057d3F25212E51aFEA8dA628668229Ea423f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45)\n +++ description: None\n```"
}
]
}
]
+27 -9
+4 -0
{
"missing": {
"nextStage": "Stage 1",
"requirements": [
"Users' withdrawals can be censored by the permissioned operators.",
"Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring."
],
"principle": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
},
"stage": "Stage 0",
"summary": [
{
"stage": "Stage 0",
"requirements": [
{
"satisfied": true,
"description": "A complete and functional proof system is deployed."
},
{
"satisfied": true,
"description": "The project calls itself a rollup."
},
{
"satisfied": true,
"description": "State roots are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "Inputs for the state transition function are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "A source-available node exists that can recreate the state from Ethereum L1 data. Please note that the L2BEAT team has not verified the validity of the node source code. [View code](https://github.com/succinctlabs/op-succinct/)"
}
]
},
{
"stage": "Stage 1",
"requirements": [
{
"satisfied": false,
"description": "Users' withdrawals can be censored by the permissioned operators."
},
{
"satisfied": false,
"description": "Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring."
},
{
"satisfied": true,
"description": "Prover source code is published."
},
{
"satisfied": true,
"description": "The sources of all programs used are public and program hashes can be independently regenerated."
}
],
"principle": {
"satisfied": false,
"description": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
}
},
{
"stage": "Stage 2",
"requirements": [
{
"satisfied": false,
"description": "Upgrades unrelated to onchain provable bugs provide less than 30d to exit."
},
{
"satisfied": false,
"description": "The Security Council's actions are not confined to onchain provable bugs."
}
]
}
]
}
+8 -8
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710467267,
"transactionHash": "0x667a55493b70812eedb69586be570fa87bb305ff046ebd1419cdc71163f770ac",
"implementations": [
"eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3"
]
},
{
"timestamp": 1776322715,
"transactionHash": "0xa9f65671c6b80206db6f058626a8702cf9171dc5d5ab7e382bf124d2b0e1e55a",
"implementations": [
"eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310"
]
}
],
"description": "Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee).\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig\n * **batcherHash**: EOA 1\n * **owner**: MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x427Ea0710FA5252057F0D88274f7aeb308386cAf#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig\n * **guardian**: MantleEngineeringMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x676A795fe6E43C17c668de16730c3F690FEB7120",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xb8DE82551fA4BA3bE4B3d9097763EDBeED541308"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1687958039,
"transactionHash": "0x3ef2116cdd9366a646b6625affcf0cbe96bb3c59c3ffc629432d3f79ff1f886c",
"implementations": [
"eth:0x4692363048d0F32a2dE7816860D48fff0c61B24B"
]
},
{
"timestamp": 1710467267,
"transactionHash": "0x667a55493b70812eedb69586be570fa87bb305ff046ebd1419cdc71163f770ac",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xb8DE82551fA4BA3bE4B3d9097763EDBeED541308"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x676A795fe6E43C17c668de16730c3F690FEB7120#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xb4133552BA49dFb60DA6eb5cA0102d0f94ce071f"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012#code"
},
{
"name": "MantleTokenProxyAdmin",
"isVerified": true,
"address": "eth:0x0cac2B1a172ac24012621101634DD5ABD6399ADd",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TimelockController",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0cac2B1a172ac24012621101634DD5ABD6399ADd#code"
},
{
"name": "OPSuccinctL2OutputOracle",
"isVerified": true,
"address": "eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xD1230865641561653406906Fb08873F011c19080"
]
},
{
"timestamp": 1758005207,
"transactionHash": "0xf9fc68effd8cbd421d25e87a357757fe6710c6c9c0d9c5270d2af5a37f675259",
"implementations": [
"eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig\n * **initialProposer**: EOA 2\n * **owner**: MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481#code"
},
{
"name": "L1MantleToken",
"isVerified": true,
"address": "eth:0x3c3a81e81dc49A522A592e7622A7E711c06bf354",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0cac2B1a172ac24012621101634DD5ABD6399ADd"
],
"implementations": [
"eth:0xCd368c1d80120b0Dd92447c87eB570154f8e685c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1687241795,
"transactionHash": "0x8f7867724cfba4b9b1b19ca140711809b40dda9ae245caf7bcff9473a5a7e45e",
"implementations": [
"eth:0xCd368c1d80120b0Dd92447c87eB570154f8e685c"
]
}
],
"description": "MNT token contract: Mantle uses Mantle (MNT) as the designated gas token, allowing users pay for gas in MNT.\n* Roles:\n * **admin**: MantleTokenProxyAdmin; ultimately MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "1d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3c3a81e81dc49A522A592e7622A7E711c06bf354#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 1d.\n* Roles:\n * **canceller**: MantleSecurityMultisig\n * **defaultAdmin**: MantleSecurityMultisig, TimelockController; ultimately MantleSecurityMultisig\n * **executor**: MantleSecurityMultisig\n * **proposer**: MantleSecurityMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xca35F8338054739D138884685e08b39EE2217794",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: MantleSecurityMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xca35F8338054739D138884685e08b39EE2217794#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
}
]
},
"escrows": [
{
"address": "0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"sinceTimestamp": 1710439967,
"tokens": [
"ETH",
"MNT"
],
"contract": {
"isVerified": true,
"address": "eth:0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
}
],
"description": "Main entry point for users depositing ETH, MNT.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"sinceTimestamp": 1687954103,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN",
"FBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xb4133552BA49dFb60DA6eb5cA0102d0f94ce071f"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client. Data availability layer is set to Ethereum blobs.",
"programUrl": "https://github.com/mantle-xyz/op-succinct/tree/v3.8.1-mainnet-mantle-arsia.1/programs/aggregation",
"programUrl": "https://github.com/mantle-xyz/op-succinct/tree/mantle-v1.6.0/programs/aggregation",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "notVerified",
"verificationSteps": "**Reproducibility note (private dependency).** This SP1 program is built from public source ([mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/v3.8.1-mainnet-mantle-arsia.1)), but the build pins the entire `revm` crate family — via `[patch.crates-io]` — to a **private** GitHub Security Advisory fork ([mantle-xyz/revm-ghsa-5vfr-x84h-hmvf](https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf) at rev `99707e9f`) that is not yet publicly disclosed. **A member of the public cannot currently reproduce this verification key** without access to that fork. L2BEAT obtained access to it and independently reproduced this key **byte-for-byte from source** — the rebuilt ELF is identical to the one committed in the release, and its printed vkey matches the on-chain value. It will become publicly reproducible once the GHSA is published. The steps below assume access to the private fork.\n\nPrepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain v6.1.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up -v v6.1.0` (must match the workspace's `sp1-zkvm = \"=6.1.0\"` and the docker tag used below).\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n4. Access to the private [mantle-xyz/revm-ghsa-5vfr-x84h-hmvf](https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf) fork at rev `99707e9f21a7c32255c9072be25814ab1b8d913d`. This is a Mantle-internal GitHub Security Advisory (GHSA) fork of `revm` that is not yet publicly disclosed; the `Cargo.toml` at the tag below pins all `revm-family` crates to it via `[patch.crates-io]`. Contact Mantle for access, or wait for the GHSA to be published. A vendored path override will NOT reproduce — the vkey is sensitive to the Cargo source identity, so the dep must appear to Cargo as `git+https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf?rev=99707e9f…`.\n\nVerify:\n\n1. Checkout the correct tag in [mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/v3.8.1-mainnet-mantle-arsia.1) repo: `git checkout v3.8.1-mainnet-mantle-arsia.1`. Commit hash should be `c7a61629478fa8301cb745f415a866a486497e5d`.\n2. Make the private revm fork available to Cargo under its pinned source id. One reliable path: clone the private repo locally, then seed cargo's git cache so a fetch of `git+https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf?rev=99707e9f…` resolves to it while preserving that source id.\n3. Make sure docker is running by running `docker ps`.\n4. From the `op-succinct` dir: `cargo run --bin config --release` to build the SP1 programs and generate and print verification key hashes. The `Aggregation Verification Key Hash` printed is this program hash.",
"hash": "0x0063d017f049d215e2cda7f7826d7c1a8176a678203d6f74a731fc331cc16377"
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install sp1 toolchain v6.4.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up -v v6.4.0` (must match the workspace's `sp1-zkvm = \"=6.4.0\"`).\n2. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n3. Install just [https://github.com/casey/just](https://github.com/casey/just)\n\nVerify:\n\n1. Checkout the correct tag in [mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/mantle-v1.6.0) repo: `git checkout mantle-v1.6.0`. Commit hash should be `e2eab907bec58ece8ed2206d10f5fd131d864e40`. Unlike the previous `v3.8.1-mainnet-mantle-arsia.*` line, this release pins the `revm` crate family to the public [mantle-xyz/revm](https://github.com/mantle-xyz/revm) fork at tag `v107-mantle-arsia.1`, so no private dependency is required.\n2. Make sure docker is running by running `docker ps`.\n3. Delete the committed ELFs so that only freshly built ones can be hashed: `rm elf/aggregation-elf elf/range-elf-embedded`.\n4. From the `op-succinct` dir: `just build-elfs`. This checks every tag-pinned git dependency against its remote (`verify-git-pins`) and then rebuilds `programs/range/ethereum` and `programs/aggregation` reproducibly with `cargo prove build --docker --tag v6.4.0` (image `ghcr.io/succinctlabs/sp1:v6.4.0`).\n5. From the `op-succinct` dir: `just vkeys` (runs `cargo run --release --bin config` over the rebuilt `elf/*`) and prints the verification key hashes. The `Aggregation Verification Key Hash` printed is this program hash (stored on-chain as `aggregationVkey`). The [mantle-v1.6.0 release notes](https://github.com/mantle-xyz/op-succinct/releases/tag/mantle-v1.6.0) list the expected values.\n\nReproduced 2026-09-11 on Ubuntu 24.04 (x86_64) with SP1 v6.4.0 (`cargo-prove sp1 (f66b4bf 2026-08-12)`, docker image `ghcr.io/succinctlabs/sp1:v6.4.0`) at commit `e2eab907bec58ece8ed2206d10f5fd131d864e40`. The rebuilt `elf/aggregation-elf` (sha256 `d73f10ebd3f643f95cdaef8153d5f22fb5ad6be35ac55351383be5ef83807555`) is byte-identical to the committed one and hashes to `0x005ec5d81cbc4a9a70334f16cb0078d55ae20da550819bd0dc9c5ed12913b407`, matching `aggregationVkey()` on `OPSuccinctL2OutputOracle` (`eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481`).",
"hash": "0x005ec5d81cbc4a9a70334f16cb0078d55ae20da550819bd0dc9c5ed12913b407"
},
{
"title": "Range program of OP Succinct",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks. Data availability layer is set to Ethereum blobs.",
"programUrl": "https://github.com/mantle-xyz/op-succinct/tree/v3.8.1-mainnet-mantle-arsia.1/programs/range/ethereum",
"programUrl": "https://github.com/mantle-xyz/op-succinct/tree/mantle-v1.6.0/programs/range/ethereum",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "notVerified",
"verificationSteps": "**Reproducibility note (private dependency).** This SP1 program is built from public source ([mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/v3.8.1-mainnet-mantle-arsia.1)), but the build pins the entire `revm` crate family — via `[patch.crates-io]` — to a **private** GitHub Security Advisory fork ([mantle-xyz/revm-ghsa-5vfr-x84h-hmvf](https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf) at rev `99707e9f`) that is not yet publicly disclosed. **A member of the public cannot currently reproduce this verification key** without access to that fork. L2BEAT obtained access to it and independently reproduced this key **byte-for-byte from source** — the rebuilt ELF is identical to the one committed in the release, and its printed vkey matches the on-chain value. It will become publicly reproducible once the GHSA is published. The steps below assume access to the private fork.\n\nPrepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain v6.1.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up -v v6.1.0` (must match the workspace's `sp1-zkvm = \"=6.1.0\"` and the docker tag used below).\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n4. Access to the private [mantle-xyz/revm-ghsa-5vfr-x84h-hmvf](https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf) fork at rev `99707e9f21a7c32255c9072be25814ab1b8d913d`. This is a Mantle-internal GitHub Security Advisory (GHSA) fork of `revm` that is not yet publicly disclosed; the `Cargo.toml` at the tag below pins all `revm-family` crates to it via `[patch.crates-io]`. Contact Mantle for access, or wait for the GHSA to be published. A vendored path override will NOT reproduce — the vkey is sensitive to the Cargo source identity, so the dep must appear to Cargo as `git+https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf?rev=99707e9f…`.\n\nVerify:\n\n1. Checkout the correct tag in [mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/v3.8.1-mainnet-mantle-arsia.1) repo: `git checkout v3.8.1-mainnet-mantle-arsia.1`. Commit hash should be `c7a61629478fa8301cb745f415a866a486497e5d`.\n2. Make the private revm fork available to Cargo under its pinned source id. One reliable path: clone the private repo locally, then seed cargo's git cache so a fetch of `git+https://github.com/mantle-xyz/revm-ghsa-5vfr-x84h-hmvf?rev=99707e9f…` resolves to it while preserving that source id.\n3. Make sure docker is running by running `docker ps`.\n4. From the `op-succinct` dir: `cargo run --bin config --release` to build the SP1 programs and generate and print verification key hashes. The `Range Verification Key Hash` printed is this program hash.",
"hash": "0x1dc938274cd550224002662e765b50c838b6fcb3234308b847ece2ce0e4a5631"
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install sp1 toolchain v6.4.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up -v v6.4.0` (must match the workspace's `sp1-zkvm = \"=6.4.0\"`).\n2. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n3. Install just [https://github.com/casey/just](https://github.com/casey/just)\n\nVerify:\n\n1. Checkout the correct tag in [mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/mantle-v1.6.0) repo: `git checkout mantle-v1.6.0`. Commit hash should be `e2eab907bec58ece8ed2206d10f5fd131d864e40`. Unlike the previous `v3.8.1-mainnet-mantle-arsia.*` line, this release pins the `revm` crate family to the public [mantle-xyz/revm](https://github.com/mantle-xyz/revm) fork at tag `v107-mantle-arsia.1`, so no private dependency is required.\n2. Make sure docker is running by running `docker ps`.\n3. Delete the committed ELFs so that only freshly built ones can be hashed: `rm elf/aggregation-elf elf/range-elf-embedded`.\n4. From the `op-succinct` dir: `just build-elfs`. This checks every tag-pinned git dependency against its remote (`verify-git-pins`) and then rebuilds `programs/range/ethereum` and `programs/aggregation` reproducibly with `cargo prove build --docker --tag v6.4.0` (image `ghcr.io/succinctlabs/sp1:v6.4.0`).\n5. From the `op-succinct` dir: `just vkeys` (runs `cargo run --release --bin config` over the rebuilt `elf/*`) and prints the verification key hashes. The `Range Verification Key Hash` printed is this program hash (stored on-chain as `rangeVkeyCommitment`). The [mantle-v1.6.0 release notes](https://github.com/mantle-xyz/op-succinct/releases/tag/mantle-v1.6.0) list the expected values.\n\nReproduced 2026-09-11 on Ubuntu 24.04 (x86_64) with SP1 v6.4.0 (`cargo-prove sp1 (f66b4bf 2026-08-12)`, docker image `ghcr.io/succinctlabs/sp1:v6.4.0`) at commit `e2eab907bec58ece8ed2206d10f5fd131d864e40`. The rebuilt `elf/range-elf-embedded` (sha256 `17cf90e7205b7654c671d348f1bdc901f5e05010dd7f5865d1a268128694dd98`) is byte-identical to the committed one and hashes to `0x2a928ed475bd7d8b7a54fac7666c68eb62d36fa15fafa8006b885b3237a7bd21`, matching `rangeVkeyCommitment()` on `OPSuccinctL2OutputOracle` (`eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481`).",
"hash": "0x2a928ed475bd7d8b7a54fac7666c68eb62d36fa15fafa8006b885b3237a7bd21"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"
]
}
+1 -1
{
"baseTimestamp": 1786359758,
"baseTimestamp": 1789044747,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "78fd9cd0",
"date": "Thu, 10 Sep 2026 12:53:46 GMT",
"timestamp": 1789044747,
"description": "OPSuccinctL2OutputOracle: `aggregationVkey` and `rangeVkeyCommitment` updated to the [mantle-v1.6.0](https://github.com/mantle-xyz/op-succinct/releases/tag/mantle-v1.6.0) op-succinct release keys.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) [succinct/OPSuccinct/OPSuccinctL2OutputOracle_mantle] {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.aggregationVkey:\n- \"0x0063d017f049d215e2cda7f7826d7c1a8176a678203d6f74a731fc331cc16377\"\n+ \"0x005ec5d81cbc4a9a70334f16cb0078d55ae20da550819bd0dc9c5ed12913b407\"\n values.rangeVkeyCommitment:\n- \"0x1dc938274cd550224002662e765b50c838b6fcb3234308b847ece2ce0e4a5631\"\n+ \"0x2a928ed475bd7d8b7a54fac7666c68eb62d36fa15fafa8006b885b3237a7bd21\"\n }\n```"
}
]
},
{
"id": "b06de1f2",
"date": "Mon, 10 Aug 2026 11:03:46 GMT",
"timestamp": 1786359758,
"description": "OPSuccinctL2OutputOracle: `aggregationVkey`, `rangeVkeyCommitment` and `rollupConfigHash` rotated to the OP-Succinct v3.8.1 program versions. Both new verification keys are recorded in `programHashes.ts` as not verified, because reproducing them currently requires a private dependency.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) [succinct/OPSuccinct/OPSuccinctL2OutputOracle_mantle] {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.aggregationVkey:\n- \"0x001db6dc655ffc97e6ec7a2b5c9b1ddf42c2235faa007d8a96d659c68b7c432a\"\n+ \"0x0063d017f049d215e2cda7f7826d7c1a8176a678203d6f74a731fc331cc16377\"\n values.rangeVkeyCommitment:\n- \"0x6f0230de6e9b59592b3127f55829c9a766d397903df5c57d557c91634a30b32b\"\n+ \"0x1dc938274cd550224002662e765b50c838b6fcb3234308b847ece2ce0e4a5631\"\n values.rollupConfigHash:\n- \"0x6681c11eccf96068a081bbb888fd64ce72aa83bd1ccda5bbb53b4c43368cf87f\"\n+ \"0x40d5353fb8c9257f03461070a2bfc2b18f2f822b69c64f0c467402c2fc422ecb\"\n }\n```"
}
]
},
{
"id": "1a1f99e6",
"date": "Wed, 24 Jun 2026 11:02:47 GMT",
"timestamp": 1782298886,
"description": "Upgraded op-succinct programs to v2.2.4-mainnet.4. Hashes reproduced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) [succinct/OPSuccinct/OPSuccinctL2OutputOracle_mantle] {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.aggregationVkey:\n- \"0x0006e0a9f37edc912bb269856518599d61689c78300c23615b2f90868d0181cf\"\n+ \"0x001db6dc655ffc97e6ec7a2b5c9b1ddf42c2235faa007d8a96d659c68b7c432a\"\n values.rangeVkeyCommitment:\n- \"0x1d1e0ac74bb66ded0388062e779adae47925fd572a49a3424e2684f83d776004\"\n+ \"0x6f0230de6e9b59592b3127f55829c9a766d397903df5c57d557c91634a30b32b\"\n }\n```"
}
]
},
{
"id": "e03c3a19",
"date": "Fri, 15 May 2026 07:43:09 GMT",
"timestamp": 1778830889,
"description": "MantleEngineeringMultisig: Two members rotated. No threshold or permission changes.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MantleEngineeringMultisig (eth:0x2F44BD2a54aC3fB20cd7783cF94334069641daC9) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x00da2F87c56C3a19BD863613995705095F55b524\"\n+ \"eth:0xAAc91F5766905cE034FE9f650d067a236E845c45\"\n values.$members.4:\n- \"eth:0xbE73dea9c8DcDdB6b03F7e5797b85982065fe34e\"\n+ \"eth:0xE8Da2d2381500E863dE1d8396c86C947c8E3Fd3a\"\n }\n```"
}
]
},
{
"id": "64a110b6",
"date": "Tue, 05 May 2026 17:17:19 GMT",
"timestamp": 1778001356,
"description": "**Mantle SP1 prover upgrade — moved from a single SP1Verifier to a gateway-based verification system.**\n- **OPSuccinctL2OutputOracle** vkey rotation: `aggregationVkey 0x002237... → 0x0006e0a9...` and `rangeVkeyCommitment 0x08666b... → 0x1d1e0ac7...`. New entries added to `programHashes.ts` as `notVerified` (sp1hypercube prover system, exact mantle-xyz/op-succinct tag not yet identified).\n- New **SP1VerifierGateway** (`0x3B604117...`) replaces the previous direct SP1Verifier reference. The gateway routes proofs to underlying verifier contracts by program identifier.\n- New **SP1Verifier (v6.0.0)** at `0x8a0fd5e8...` and a second SP1Verifier at `0xc3c6dDDA...` registered via the gateway.\n- New **SP1VerifierGatewayMultisig** (`0xCafEf00d...`) — Gnosis Safe controlling the gateway's verifier route registry.\n- `zkCatalogId` flipped from `sp1turbo` to `sp1hypercube` to reflect the new SP1Verifier v6.0.0 routes wired into the gateway. The legacy sp1turbo verifier (`0x0459d576...`, selector `0xd4e8ecd2`) is still registered in the gateway's `activeVerifiers`, so mantle remains listed in `sp1turbo.tvsProjects` (no `untilTimestamp` set).",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.aggregationVkey:\n- \"0x0022379400ea3157fae440ae7a8101e8bb01ca58e6a5f132c66751513aa58f08\"\n+ \"0x0006e0a9f37edc912bb269856518599d61689c78300c23615b2f90868d0181cf\"\n values.rangeVkeyCommitment:\n- \"0x08666bcf03c2240b14b399040abdc4aa2fe934535315fd3c158f010926d1e4a5\"\n+ \"0x1d1e0ac74bb66ded0388062e779adae47925fd572a49a3424e2684f83d776004\"\n values.verifier:\n- \"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459\"\n+ \"eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e)\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C)\n +++ description: Verifier contract for SP1 proofs (v6.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878)\n +++ description: None\n```"
}
]
},
{
"id": "272a8263",
"date": "Fri, 24 Apr 2026 13:45:33 GMT",
"timestamp": 1777038258,
"description": "Arsia fee mechanics activated: owner populated the Arsia-era SystemConfig fields that had been zero since the v1.4.0 upgrade. `basefeeScalar` set to 169019, `daFootprintGasScalar` to 400, `eip1559Denominator` to 50, `eip1559Elasticity` to 4, `minBaseFee` to 50 gwei, `operatorFeeScalar` to 100000000. `gasLimit` decreased from 200B (a pre-Arsia placeholder above the 500M cap) to a normal 60M.\n\nOPSuccinctL2OutputOracle rotated SP1 verification keys: `aggregationVkey` → `0x0022379400ea3157...`, `rangeVkeyCommitment` → `0x08666bcf03c2240b...`. Program hashes regenerated from [mantle-xyz/[email protected]](https://github.com/mantle-xyz/op-succinct/tree/v2.2.0-beta.8) (commit `8542b244fac50b3db2cb027c6282b9f42fd81af9`) and added to `programHashes.ts` as `successful`.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.aggregationVkey:\n- \"0x00767dc6943b07bd7c57755dad9156b5e89c23d714f8475d5b7a207f74360654\"\n+ \"0x0022379400ea3157fae440ae7a8101e8bb01ca58e6a5f132c66751513aa58f08\"\n values.rangeVkeyCommitment:\n- \"0x47fd478c5b2111934c7a233c409f16553d0f67d5701e58fa76c77339764bfd7a\"\n+ \"0x08666bcf03c2240b14b399040abdc4aa2fe934535315fd3c158f010926d1e4a5\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf) {\n +++ description: Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee).\n values.basefeeScalar:\n- 0\n+ 169019\n values.daFootprintGasScalar:\n- 0\n+ 400\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 0\n+ 50\n values.eip1559Elasticity:\n- 0\n+ 4\n+++ description: Gas limit for blocks on L2. Future `setGasLimit` calls are bounded by `maximumGasLimit()` (500,000,000 in this implementation); the currently stored value is a pre-Arsia configuration above that bound and is retained as-is in storage.\n+++ severity: LOW\n values.gasLimit:\n- 200000000000\n+ 60000000\n values.minBaseFee:\n- 0\n+ 50000000000\n values.operatorFeeScalar:\n- 0\n+ 100000000\n }\n```"
}
]
},
{
"id": "fbed1538",
"date": "Thu, 16 Apr 2026 21:38:17 GMT",
"timestamp": 1776375430,
"description": "SystemConfig upgraded to v1.4.0 (Arsia upgrade), new implementation at `0x9CA047689261E35c9e507b1BB0B7443C2A436310` ([diff](https://disco.l2beat.com/diff/eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3/eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310)). The owner (MantleSecurityMultisig) keeps `onlyOwner` control but the setter surface changes significantly:\n\n- Removed `setPreconfer`, `setBatchInbox`, and the `preconfer` / `batchInbox` storage fields. The shape is moved to a new dedicated `opstack/SystemConfig_v1_4_0_mantle` template (restricted by `validAddresses` to the Mantle SystemConfig proxy) so the owner-permission description matches the actual v1.4.0 setter surface instead of the shared template's stale \"preconfer/batch submitter\" wording.\n- Added separate base/blob fee scalars via `setGasConfigArsia(basefeeScalar, blobbasefeeScalar)`; the legacy `setGasConfig(overhead, scalar)` is still callable and marked deprecated.\n- Added `setEIP1559Params(denominator, elasticity)`, `setMinBaseFee`, `setDAFootprintGasScalar`, `setBaseFee`, and an EIP-7706-style `setOperatorFeeScalars(operatorFeeScalar, operatorFeeConstant)`.\n- Added `maximumGasLimit()` pure getter returning `500_000_000`. The currently stored `gasLimit` is `200_000_000_000` — i.e. 400× the new cap — and is retained as-is in storage (the cap is enforced on `initialize` and `setGasLimit`, not on existing storage). As a consequence, any future owner-initiated `setGasLimit` call must reduce the limit to `≤ 500_000_000`; raising it back above that ceiling would require another implementation upgrade. `batcherHash` now returns a raw `bytes32` from the new ABI (the template's view override casts it back to an address).\n\nThe new Arsia-era fields (`basefeeScalar`, `blobbasefeeScalar`, `daFootprintGasScalar`, `eip1559Denominator`, `eip1559Elasticity`, `minBaseFee`, `operatorFeeConstant`, `operatorFeeScalar`) all initialize to zero, so the new fee mechanics are not yet activated onchain. The legacy `baseFee`, `overhead`, `scalar`, and `resourceConfig` values remain populated as before. `sequencerInbox` is still derived by the template from `batcherHash` and continues to track the same batch inbox address.\n\nOPSuccinctL2OutputOracle rotated its SP1 verification keys (`aggregationVkey` `0x00767dc6...`, `rangeVkeyCommitment` `0x47fd478c...`) and the `rollupConfigHash`. The Mantle team confirmed the ELFs were produced from [mantle-xyz/[email protected]](https://github.com/mantle-xyz/op-succinct/tree/v2.2.0-beta.5) (commit `c269e9b792d762889f869c4526bba1bfe016036e`), and that the EigenDA code path has been removed entirely in the Arsia build — `programs/range/eigenda/` and the `EIGENDA_RANGE_ELF_EMBEDDED` constant are gone, only `programs/range/ethereum/` remains. The entries in `programHashes.ts` are labeled `OP_SUCCINCT_AGG_BLOBS` / `OP_SUCCINCT_RANGE_BLOBS` with `programUrl` and `verificationSteps` pinned to the `v2.2.0-beta.5` tag.",
"isHighSeverity": true,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.aggregationVkey:\n- \"0x006110a295396036ad8df48c333e2b99b11624799138fbc18e10181551e29eb1\"\n+ \"0x00767dc6943b07bd7c57755dad9156b5e89c23d714f8475d5b7a207f74360654\"\n values.rangeVkeyCommitment:\n- \"0x05044f60230e1ea664a43fa92e27735e3bbc97736c2e7ab961a5115a732a6da5\"\n+ \"0x47fd478c5b2111934c7a233c409f16553d0f67d5701e58fa76c77339764bfd7a\"\n values.rollupConfigHash:\n- \"0x7e7ac4e2e568c2b6cc18427820fa07f8d1e1bd2c360058db04b1bf4b7e775bcd\"\n+ \"0x6681c11eccf96068a081bbb888fd64ce72aa83bd1ccda5bbb53b4c43368cf87f\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf) {\n +++ description: Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee).\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_v1_4_0_mantle\"\n sourceHashes.1:\n- \"0xb2a3bda11c08328ecb46ec5789f3264be5d816bc218a5024a4cafd1c59017160\"\n+ \"0x7ccc5496582a9154f67199e39a3b2e8f330f1acf0fe0b80d8f151067e7e9fa14\"\n description:\n- \"Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\"\n+ \"Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee).\"\n values.$implementation:\n- \"eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3\"\n+ \"eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310\"\n values.$pastUpgrades.1:\n+ [\"2026-04-16T06:58:35.000Z\",\"0xa9f65671c6b80206db6f058626a8702cf9171dc5d5ab7e382bf124d2b0e1e55a\",[\"eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.basefeeScalar:\n+ 0\n values.blobbasefeeScalar:\n+ 0\n values.daFootprintGasScalar:\n+ 0\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.maximumGasLimit:\n+ 500000000\n values.minBaseFee:\n+ 0\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n fieldMeta.gasLimit.description:\n- \"Gas limit for blocks on L2.\"\n+ \"Gas limit for blocks on L2. Future `setGasLimit` calls are bounded by `maximumGasLimit()` (500,000,000 in this implementation); the currently stored value is a pre-Arsia configuration above that bound and is retained as-is in storage.\"\n implementationNames.eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3:\n- \"SystemConfig\"\n implementationNames.eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract MantleSecurityMultisig (eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) {\n +++ description: None\n receivedPermissions.1.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n+ \"it can update the batch submitter (Sequencer) address, the unsafe block signer, the L2 gas limit (bounded by `maximumGasLimit()`), the resource metering config, and all fee/gas parameters: legacy `setGasConfig(overhead, scalar)`, Arsia `setGasConfigArsia(basefeeScalar, blobbasefeeScalar)`, `setBaseFee`, `setEIP1559Params`, `setMinBaseFee`, `setDAFootprintGasScalar` and `setOperatorFeeScalars`.\"\n }\n```"
}
]
},
{
"id": "56a02c75",
"date": "Tue, 27 Jan 2026 17:04:07 GMT",
"timestamp": 1769533383,
"description": "OPSuccinctL2OutputOracle updated rangeVkeyCommitment verification key (0x5d15e8...→0x05044f...). This is a hotfix addressing an issue where Mantle logic in revm was inconsistent with geth, which prevented the generation of the corresponding ZKP.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.rangeVkeyCommitment:\n- \"0x5d15e85151cc8f4b68d2721f675b0b8665a7a2752fa34ff935d5adbc3c8acab8\"\n+ \"0x05044f60230e1ea664a43fa92e27735e3bbc97736c2e7ab961a5115a732a6da5\"\n }\n```"
}
]
},
{
"id": "07afe8e3",
"date": "Wed, 21 Jan 2026 14:00:22 GMT",
"timestamp": 1769003954,
"description": "Mantle enables Ethereum blobs for data availability alongside EigenDA. The SystemConfig now shows `isUsingEigenDA: false` and `isSequencerSendingBlobTx: true`, but the system can still post to EigenDA offchain via Hydro. Trust assumptions remain unchanged as there is no onchain EigenDA verifier. MantleSecurityMultisig membership updated (added 1 member, threshold now 6 of 14).",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.opStackDA.isUsingEigenDA:\n- \"v1\"\n+ false\n }\n```\n\n```diff\n contract MantleSecurityMultisig (eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xc77E153e3c7ab09e9216a21Bd3fa2e1f4C24118D\"\n values.$members.1:\n- \"eth:0x61Af7a48B0EeA8481E5A055A35f829d0e8505fE3\"\n+ \"eth:0xA081e53597173e4e405Ef907C630585c22ef089b\"\n values.$members.7:\n- \"eth:0x3Dc5FcB0Ad5835C6059112e51A75b57DBA668eB8\"\n+ \"eth:0xE6a04E34D329f912Aca478Df7FDbe378E30eb0E5\"\n values.$members.12:\n- \"eth:0x915dc866e2e5E64f912A5ac1D40E3be4597F172a\"\n+ \"eth:0x63a7E8AbD9A3771aF5ac0bfdef04769C2f9e2916\"\n values.multisigThreshold:\n- \"6 of 13 (46%)\"\n+ \"6 of 14 (43%)\"\n }\n```"
}
]
},
{
"id": "41f7dd34",
"date": "Wed, 07 Jan 2026 11:10:54 GMT",
"timestamp": 1767784170,
"description": "SP1 verifier rotation: the verifier contract changed from the gateway pattern (SP1VerifierGateway routing to SP1Verifier) to a direct SP1Verifier contract. The new verifier has updated verification keys (aggregationVkey, rangeVkeyCommitment, rollupConfigHash). SP1 version remains v5.0.0.",
"isHighSeverity": false,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.aggregationVkey:\n- \"0x00bca7947ba758bd6f539f480c6d983cca4bd4387a411a41a71fb953d5df3de7\"\n+ \"0x006110a295396036ad8df48c333e2b99b11624799138fbc18e10181551e29eb1\"\n values.rangeVkeyCommitment:\n- \"0x2d0dcc4f4a5e59b80239c28a3fb68ab63b8eaf6f132239e95f927da9046f4256\"\n+ \"0x5d15e85151cc8f4b68d2721f675b0b8665a7a2752fa34ff935d5adbc3c8acab8\"\n values.rollupConfigHash:\n- \"0x46fed49cbaf7272fb44cbd470ac7ee460d5e3b22eed239059bbbf4b356351792\"\n+ \"0x7e7ac4e2e568c2b6cc18427820fa07f8d1e1bd2c360058db04b1bf4b7e775bcd\"\n values.verifier:\n- \"eth:0x397A5f7f3dBd538f23DE225B51f532c34448dA9B\"\n+ \"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SP1VerifierGateway (eth:0x397A5f7f3dBd538f23DE225B51f532c34448dA9B)\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n```\n\n```diff\n- Status: DELETED\n contract SP1Verifier (eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n- Status: DELETED\n contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```"
}
]
},
{
"id": "f56d19f8",
"date": "Wed, 24 Sep 2025 09:25:43 GMT",
"timestamp": 1758705864,
"description": "Execution delay changed from 7 days to 12 hours. It's the same value for optimistic or non-optimistic mode, so when optimistic mode is enabled this parameter should be updated (e.g., back to 7 days).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n values.FINALIZATION_PERIOD_SECONDS:\n- 604800\n+ 43200\n values.finalizationPeriodSeconds:\n- 604800\n+ 43200\n }\n```"
}
]
},
{
"id": "5632c55a",
"date": "Wed, 17 Sep 2025 15:47:02 GMT",
"timestamp": 1758123938,
"description": "OPSuccinctL2OutputOracle - completely different contract\n(https://disco.l2beat.com/diff/eth:0xD1230865641561653406906Fb08873F011c19080/eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50)\nbetter compared with Phala which is standard OPSuccinct\n(https://disco.l2beat.com/diff/eth:0x9d843e5b627759e8aB2Db5B95cCA1e5BB91F1174/eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50)",
"isHighSeverity": true,
"changeCount": 34,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MantleEngineeringMultisig (eth:0x2F44BD2a54aC3fB20cd7783cF94334069641daC9) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481\",\"role\":\".CHALLENGER\"}\n }\n```\n\n```diff\n contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n name:\n- \"L2OutputOracle\"\n+ \"OPSuccinctL2OutputOracle\"\n template:\n- \"opstack/L2OutputOracle\"\n+ \"succinct/OPSuccinct/OPSuccinctL2OutputOracle_mantle\"\n sourceHashes.1:\n- \"0x45368d302fba850124115aa8ee67238f47d47d89c2b1b8c5dfd39818369e6cea\"\n+ \"0xdd58c04f5920f546ba5a9bc5b046cdae6bf42acb819e90e2f66e10cc81afbc9f\"\n description:\n- \"Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\"\n+ \"Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\"\n values.$implementation:\n- \"eth:0xD1230865641561653406906Fb08873F011c19080\"\n+ \"eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50\"\n values.$pastUpgrades.1:\n+ [\"2025-09-16T06:46:47.000Z\",\"0xf9fc68effd8cbd421d25e87a357757fe6710c6c9c0d9c5270d2af5a37f675259\",[\"eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.deletedOutputs:\n- []\n values.PROPOSER:\n- \"eth:0x6667961f5e9C98A76a48767522150889703Ed77D\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"1.3.0\"\n+ \"2.0.1\"\n values.additionalProposers:\n+ []\n values.aggregationVkey:\n+ \"0x00bca7947ba758bd6f539f480c6d983cca4bd4387a411a41a71fb953d5df3de7\"\n values.challenger:\n+ \"eth:0x2F44BD2a54aC3fB20cd7783cF94334069641daC9\"\n values.finalizationPeriodSeconds:\n+ 604800\n values.initializerVersion:\n+ 3\n values.initialProposer:\n+ \"eth:0x6667961f5e9c98a76a48767522150889703ed77d\"\n values.l2BlockTime:\n+ 2\n values.optimisticMode:\n+ false\n values.owner:\n+ \"eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f\"\n values.proposer:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.rangeVkeyCommitment:\n+ \"0x2d0dcc4f4a5e59b80239c28a3fb68ab63b8eaf6f132239e95f927da9046f4256\"\n values.rollupConfigHash:\n+ \"0x46fed49cbaf7272fb44cbd470ac7ee460d5e3b22eed239059bbbf4b356351792\"\n values.submissionInterval:\n+ 1800\n values.verifier:\n+ \"eth:0x397A5f7f3dBd538f23DE225B51f532c34448dA9B\"\n fieldMeta:\n- {\"FINALIZATION_PERIOD_SECONDS\":{\"description\":\"Challenge period (Number of seconds until a state root is finalized).\"},\"proposer\":{\"severity\":\"HIGH\"},\"challenger\":{\"severity\":\"HIGH\"},\"deletedOutputs\":{\"severity\":\"HIGH\"}}\n implementationNames.eth:0xD1230865641561653406906Fb08873F011c19080:\n- \"L2OutputOracle\"\n implementationNames.eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50:\n+ \"OPSuccinctL2OutputOracle\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract MantleSecurityMultisig (eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481\",\"description\":\"can toggle between the optimistic mode and not optimistic (ZK) mode.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n EOA (eth:0x6667961f5e9C98A76a48767522150889703Ed77D) {\n +++ description: None\n receivedPermissions.0.role:\n- \".PROPOSER\"\n+ \".initialProposer\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGateway (eth:0x397A5f7f3dBd538f23DE225B51f532c34448dA9B)\n +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n```\n\n```diff\n+ Status: CREATED\n contract SP1Verifier (eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5)\n +++ description: Verifier contract for SP1 proofs (v5.0.0).\n```\n\n```diff\n+ Status: CREATED\n contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878)\n +++ description: None\n```"
}
]
},
{
"id": "b47ed2b4",
"date": "Mon, 14 Jul 2025 12:45:24 GMT",
"timestamp": 1752497124,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MantleTokenProxyAdmin (0x0cac2B1a172ac24012621101634DD5ABD6399ADd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MantleEngineeringMultisig (0x2F44BD2a54aC3fB20cd7783cF94334069641daC9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract L1MantleToken (0x3c3a81e81dc49A522A592e7622A7E711c06bf354)\n +++ description: MNT token contract: Mantle uses Mantle (MNT) as the designated gas token, allowing users pay for gas in MNT.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x427Ea0710FA5252057F0D88274f7aeb308386cAf)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract MantleSecurityMultisig (0x4e59e778a0fb77fBb305637435C62FaeD9aED40f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F)\n +++ description: A timelock with access control. The current minimum delay is 1d.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x676A795fe6E43C17c668de16730c3F690FEB7120)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xca35F8338054739D138884685e08b39EE2217794)\n +++ description: None\n```"
}
]
},
{
"id": "fda11546",
"date": "Wed, 19 Mar 2025 15:45:59 GMT",
"timestamp": 1742399159,
"description": "SequencerInbox change. The forked EigenDA contracts are not used since this upgrade. Instead assumed DA commitments are posted to the new `0xFFEEDDCcBbAA0000000000000000000000000000` address by the Sequencer.\n\nrelated to Mantle moving to EigenDA (with Ethereum blob fallback):\n- https://blog.openzeppelin.com/mantle-op-geth-op-stack-diff-audit#system-overview\n- https://github.com/mantlenetworkio/mantle-v2/releases/tag/v1.1.1\n\nremoved the MantleDA related contracts.",
"isHighSeverity": false,
"changeCount": 54,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PauserRegistry (0x075a48633dc6845f92339741E9c96b88f1b2A86f)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract BLSRegistry (0x1eD35B793d887e028493dAC4a11AA5Feb811dd67)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract InvestmentManager (0x23754725a49c0f003C349A6C7869fF8609a7CEfd)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract ProxyAdmin (0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83)\n +++ description: None\n```\n\n```diff\n contract SystemConfig (0x427Ea0710FA5252057F0D88274f7aeb308386cAf) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.sequencerInbox:\n- \"0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1\"\n+ \"0xFFEEDDCcBbAA0000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ProxyAdmin (0x47D58744D8515d9aaEAf961bc03625118bd91EBb)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract PauserRegistry (0x4ca725D446EcE6e3fFd3E072A6f2A6a16Ca492D0)\n +++ description: None\n```\n\n```diff\n contract MantleSecurityMultisig (0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) {\n +++ description: None\n receivedPermissions.19:\n- {\"permission\":\"upgrade\",\"from\":\"0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb\",\"via\":[{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]}\n receivedPermissions.18:\n- {\"permission\":\"upgrade\",\"from\":\"0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481\",\"via\":[{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]}\n receivedPermissions.17:\n- {\"permission\":\"upgrade\",\"from\":\"0x1eD35B793d887e028493dAC4a11AA5Feb811dd67\",\"via\":[{\"address\":\"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"}]}\n receivedPermissions.16:\n- {\"permission\":\"interact\",\"from\":\"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\",\"description\":\"manage all access control roles.\",\"via\":[{\"address\":\"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\",\"delay\":86400}]}\n receivedPermissions.15:\n- {\"permission\":\"interact\",\"from\":\"0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]}\n receivedPermissions.14:\n- {\"permission\":\"upgrade\",\"from\":\"0xBcF6d8273DAF842b6Fc288b08E48C438Fa911D01\",\"via\":[{\"address\":\"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"0xc9C24f1aaD2614E81f033746292F5Dc5d7Ccad94\",\"via\":[{\"address\":\"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"0x427Ea0710FA5252057F0D88274f7aeb308386cAf\",\"via\":[{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]}\n receivedPermissions.11.from:\n- \"0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1\"\n+ \"0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb\"\n receivedPermissions.11.via.0.address:\n- \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n receivedPermissions.10.from:\n- \"0x3c3a81e81dc49A522A592e7622A7E711c06bf354\"\n+ \"0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481\"\n receivedPermissions.10.via.1:\n- {\"address\":\"0x0cac2B1a172ac24012621101634DD5ABD6399ADd\"}\n receivedPermissions.10.via.0.address:\n- \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n receivedPermissions.10.via.0.delay:\n- 86400\n receivedPermissions.9.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.9.from:\n- \"0x92986cd63C3409b7dA2882624B6d6E7Cf660707a\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.9.via.0.address:\n- \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.9.via.0.delay:\n+ 86400\n receivedPermissions.9.description:\n+ \"manage all access control roles.\"\n receivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.8.from:\n- \"0xCDC78c5eaea2dE33B00a9200Ee1700937fb0f55D\"\n+ \"0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42\"\n receivedPermissions.8.via.0.address:\n- \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n receivedPermissions.8.description:\n+ \"set and change address mappings.\"\n receivedPermissions.7.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.7.from:\n- \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n+ \"0x427Ea0710FA5252057F0D88274f7aeb308386cAf\"\n receivedPermissions.7.description:\n- \"manage all access control roles.\"\n receivedPermissions.7.via:\n+ [{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]\n receivedPermissions.6.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.6.from:\n- \"0x427Ea0710FA5252057F0D88274f7aeb308386cAf\"\n+ \"0x3c3a81e81dc49A522A592e7622A7E711c06bf354\"\n receivedPermissions.6.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n receivedPermissions.6.via:\n+ [{\"address\":\"0x0cac2B1a172ac24012621101634DD5ABD6399ADd\"},{\"address\":\"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\",\"delay\":86400}]\n receivedPermissions.5.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.5.from:\n- \"0x23754725a49c0f003C349A6C7869fF8609a7CEfd\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.5.via:\n- [{\"address\":\"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"}]\n receivedPermissions.5.description:\n+ \"manage all access control roles.\"\n receivedPermissions.4.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.4.from:\n- \"0xeA4F1fE4928f1f83a450899C068bcd455BaF4798\"\n+ \"0x427Ea0710FA5252057F0D88274f7aeb308386cAf\"\n receivedPermissions.4.via:\n- [{\"address\":\"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"}]\n receivedPermissions.4.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n directlyReceivedPermissions.3:\n- {\"permission\":\"act\",\"from\":\"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"}\n directlyReceivedPermissions.2:\n- {\"permission\":\"act\",\"from\":\"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract DataLayrServiceManager (0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract BLSPublicKeyCompendium (0x92986cd63C3409b7dA2882624B6d6E7Cf660707a)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract RegistryPermission (0xBcF6d8273DAF842b6Fc288b08E48C438Fa911D01)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DataLayrChallenge (0xc9C24f1aaD2614E81f033746292F5Dc5d7Ccad94)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DataLayrChallengeUtils (0xCDC78c5eaea2dE33B00a9200Ee1700937fb0f55D)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract EigenLayrDelegation (0xeA4F1fE4928f1f83a450899C068bcd455BaF4798)\n +++ description: None\n```"
}
]
},
{
"id": "37c64310",
"date": "Tue, 18 Feb 2025 10:00:52 GMT",
"timestamp": 1739872852,
"description": "Token ProxyAdmin owner transferred to a timelock.",
"isHighSeverity": false,
"changeCount": 60,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MantleTokenProxyAdmin (0x0cac2B1a172ac24012621101634DD5ABD6399ADd) {\n +++ description: None\n values.owner:\n- \"0x4e59e778a0fb77fBb305637435C62FaeD9aED40f\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n }\n```\n\n```diff\n contract L1MantleToken (0x3c3a81e81dc49A522A592e7622A7E711c06bf354) {\n +++ description: MNT token contract: Mantle uses Mantle (MNT) as the designated gas token, allowing users pay for gas in MNT.\n issuedPermissions.0.via.1:\n+ {\"address\":\"0x0cac2B1a172ac24012621101634DD5ABD6399ADd\"}\n issuedPermissions.0.via.0.address:\n- \"0x0cac2B1a172ac24012621101634DD5ABD6399ADd\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n issuedPermissions.0.via.0.delay:\n+ 86400\n }\n```\n\n```diff\n contract MantleSecurityMultisig (0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) {\n +++ description: None\n receivedPermissions.22:\n+ {\"permission\":\"upgrade\",\"from\":\"0xeA4F1fE4928f1f83a450899C068bcd455BaF4798\",\"via\":[{\"address\":\"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"}]}\n receivedPermissions.21:\n+ {\"permission\":\"upgrade\",\"from\":\"0xCDC78c5eaea2dE33B00a9200Ee1700937fb0f55D\",\"via\":[{\"address\":\"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"}]}\n receivedPermissions.20:\n+ {\"permission\":\"upgrade\",\"from\":\"0xCAD08A7B9eF6ADeFAef08d0d85a577a288F93Ee1\",\"via\":[{\"address\":\"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"}]}\n receivedPermissions.19:\n+ {\"permission\":\"upgrade\",\"from\":\"0xc9C24f1aaD2614E81f033746292F5Dc5d7Ccad94\",\"via\":[{\"address\":\"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"}]}\n receivedPermissions.18:\n+ {\"permission\":\"upgrade\",\"from\":\"0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb\",\"via\":[{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]}\n receivedPermissions.17.from:\n- \"0xeA4F1fE4928f1f83a450899C068bcd455BaF4798\"\n+ \"0xBcF6d8273DAF842b6Fc288b08E48C438Fa911D01\"\n receivedPermissions.16.from:\n- \"0xCDC78c5eaea2dE33B00a9200Ee1700937fb0f55D\"\n+ \"0xA937660031787C4408587D2c6A67Ec4B260630F5\"\n receivedPermissions.16.via.0.address:\n- \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n+ \"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"\n receivedPermissions.15.from:\n- \"0xCAD08A7B9eF6ADeFAef08d0d85a577a288F93Ee1\"\n+ \"0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012\"\n receivedPermissions.15.via.0.address:\n- \"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n receivedPermissions.15.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.14.from:\n- \"0xc9C24f1aaD2614E81f033746292F5Dc5d7Ccad94\"\n+ \"0x92986cd63C3409b7dA2882624B6d6E7Cf660707a\"\n receivedPermissions.13.from:\n- \"0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb\"\n+ \"0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1\"\n receivedPermissions.13.via.0.address:\n- \"0xca35F8338054739D138884685e08b39EE2217794\"\n+ \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n receivedPermissions.12.from:\n- \"0xBcF6d8273DAF842b6Fc288b08E48C438Fa911D01\"\n+ \"0x50Fa427235C7C8cAA4A0C21b5009f5a0d015B23A\"\n receivedPermissions.12.via:\n- [{\"address\":\"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"}]\n receivedPermissions.11.from:\n- \"0xA937660031787C4408587D2c6A67Ec4B260630F5\"\n+ \"0x427Ea0710FA5252057F0D88274f7aeb308386cAf\"\n receivedPermissions.11.via.0.address:\n- \"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n receivedPermissions.10.from:\n- \"0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012\"\n+ \"0x3c3a81e81dc49A522A592e7622A7E711c06bf354\"\n receivedPermissions.10.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.10.via.1:\n+ {\"address\":\"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\",\"delay\":86400}\n receivedPermissions.10.via.0.address:\n- \"0xca35F8338054739D138884685e08b39EE2217794\"\n+ \"0x0cac2B1a172ac24012621101634DD5ABD6399ADd\"\n receivedPermissions.9.from:\n- \"0x92986cd63C3409b7dA2882624B6d6E7Cf660707a\"\n+ \"0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481\"\n receivedPermissions.9.via.0.address:\n- \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n receivedPermissions.8.from:\n- \"0x5BD63a7ECc13b955C4F57e3F12A64c10263C14c1\"\n+ \"0x23754725a49c0f003C349A6C7869fF8609a7CEfd\"\n receivedPermissions.8.via.0.address:\n- \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n+ \"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"\n receivedPermissions.7.from:\n- \"0x50Fa427235C7C8cAA4A0C21b5009f5a0d015B23A\"\n+ \"0x1eD35B793d887e028493dAC4a11AA5Feb811dd67\"\n receivedPermissions.7.via:\n+ [{\"address\":\"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"}]\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"0x427Ea0710FA5252057F0D88274f7aeb308386cAf\"\n+ \"0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42\"\n receivedPermissions.6.description:\n+ \"set and change address mappings.\"\n receivedPermissions.5.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.5.from:\n- \"0x3c3a81e81dc49A522A592e7622A7E711c06bf354\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.5.via:\n- [{\"address\":\"0x0cac2B1a172ac24012621101634DD5ABD6399ADd\"}]\n receivedPermissions.5.description:\n+ \"propose transactions.\"\n receivedPermissions.4.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.4.from:\n- \"0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.4.via:\n- [{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]\n receivedPermissions.4.description:\n+ \"manage all access control roles.\"\n receivedPermissions.3.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.3.from:\n- \"0x23754725a49c0f003C349A6C7869fF8609a7CEfd\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.3.via.0.address:\n- \"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.3.via.0.delay:\n+ 86400\n receivedPermissions.3.description:\n+ \"manage all access control roles.\"\n receivedPermissions.2.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.2.from:\n- \"0x1eD35B793d887e028493dAC4a11AA5Feb811dd67\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.2.via:\n- [{\"address\":\"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"}]\n receivedPermissions.2.description:\n+ \"execute transactions that are ready.\"\n receivedPermissions.1.from:\n- \"0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n receivedPermissions.1.description:\n- \"set and change address mappings.\"\n+ \"cancel queued transactions.\"\n receivedPermissions.1.via:\n- [{\"address\":\"0xca35F8338054739D138884685e08b39EE2217794\"}]\n directlyReceivedPermissions.2.from:\n- \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n+ \"0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F\"\n directlyReceivedPermissions.2.delay:\n+ 86400\n directlyReceivedPermissions.1.from:\n- \"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"\n+ \"0x47D58744D8515d9aaEAf961bc03625118bd91EBb\"\n directlyReceivedPermissions.0.from:\n- \"0x0cac2B1a172ac24012621101634DD5ABD6399ADd\"\n+ \"0x2Cd33d3DC4d6Ea24B6941e4741F4Bf4772929e83\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract TimelockController (0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F)\n +++ description: A timelock with access control. The current minimum delay is 1d.\n```"
}
]
},
{
"id": "e9d575f7",
"date": "Fri, 14 Feb 2025 10:58:52 GMT",
"timestamp": 1739530732,
"description": "MS signer changes.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MantleSecurityMultisig (0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) {\n +++ description: None\n values.$members.6:\n- \"0x7735cDcc85E63A7684C29652DbE8B845e0b4635A\"\n+ \"0x4b6CFecA60f8BDF8AbCEE10f033f17cb2a928498\"\n values.$members.4:\n- \"0xbE73dea9c8DcDdB6b03F7e5797b85982065fe34e\"\n+ \"0xdC3644e172813ADbF6D130262e2416975Ac48Af3\"\n values.$members.3:\n- \"0x207E804758e28F2b3fD6E4219671B327100b82f8\"\n+ \"0xA3C8f55BE8aF7402d5192b343E8BfE4BB9795C2F\"\n values.$members.2:\n- \"0x422f2df38B96395A7E61d4C02aDd4413bb79A9FC\"\n+ \"0x50dCf0B40E593301aA75DcB54f36f379607595CE\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (0x7735cDcc85E63A7684C29652DbE8B845e0b4635A)\n +++ description: None\n```"
}
]
},
{
"id": "b8286efc",
"date": "Wed, 22 Jan 2025 14:31:53 GMT",
"timestamp": 1737556313,
"description": "Refined mantle DA permissions.\n\nMS member change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MantleSecurityMultisig (0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) {\n +++ description: None\n values.$members.5:\n- \"0x5a021DC06A9630bb56099b8aEdfaDC2dEa7eB317\"\n+ \"0x4A42577Bf6e51127c490F3639F5c8B90Ec53f5B1\"\n }\n```"
}
]
},
{
"id": "32a05e7f",
"date": "Wed, 04 Sep 2024 08:04:35 GMT",
"timestamp": 1725437075,
"description": "One signer of MantleEngineeringMultisig is changed.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MantleEngineeringMultisig (0x2F44BD2a54aC3fB20cd7783cF94334069641daC9) {\n +++ description: None\n values.$members.3:\n- \"0x66f13847536153eFFFFdfD7Bd4Dea5eD3F60f639\"\n+ \"0x00da2F87c56C3a19BD863613995705095F55b524\"\n }\n```"
}
]
},
{
"id": "55bbdcc0",
"date": "Tue, 19 Mar 2024 14:00:41 GMT",
"timestamp": 1710856841,
"description": "Update discovery to include the multisig threshold.",
"isHighSeverity": true,
"changeCount": 44,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract BondManager (0x31aBe1c466C2A8b95fd84258dD1471472979B650)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract VerifierEntry (0x3F77D44E1789D47e076a4d5f2779a1fCAb821C2a)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (0x47336ae44F573a7C3C41a9ae04A9D48E5dFD8f8E)\n +++ description: None\n```\n\n```diff\n contract L1CrossDomainMessenger (0x676A795fe6E43C17c668de16730c3F690FEB7120) {\n +++ description: None\n upgradeability.implementation:\n- \"0x4692363048d0F32a2dE7816860D48fff0c61B24B\"\n+ \"0xb8DE82551fA4BA3bE4B3d9097763EDBeED541308\"\n implementations.0:\n- \"0x4692363048d0F32a2dE7816860D48fff0c61B24B\"\n+ \"0xb8DE82551fA4BA3bE4B3d9097763EDBeED541308\"\n values.getPauseOwner:\n- \"0x2F44BD2a54aC3fB20cd7783cF94334069641daC9\"\n values.libAddressManager:\n- \"0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42\"\n values.owner:\n- \"0x4e59e778a0fb77fBb305637435C62FaeD9aED40f\"\n values.paused:\n- false\n values.HASH_MESSAGE_BASE_GAS:\n+ 800\n values.HASH_MESSAGE_GAS_PER_BYTE:\n+ 2\n values.L1_MNT_ADDRESS:\n+ \"0x3c3a81e81dc49A522A592e7622A7E711c06bf354\"\n values.MESSAGE_VERSION:\n+ 1\n values.MIN_GAS_CALLDATA_OVERHEAD:\n+ 16\n values.MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR:\n+ 63\n values.MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR:\n+ 64\n values.OTHER_MESSENGER:\n+ \"0x4200000000000000000000000000000000000007\"\n values.PORTAL:\n+ \"0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb\"\n values.RELAY_CALL_OVERHEAD:\n+ 40000\n values.RELAY_CONSTANT_OVERHEAD:\n+ 200000\n values.RELAY_GAS_CHECK_BUFFER:\n+ 55000\n values.RELAY_RESERVED_GAS:\n+ 90000\n values.version:\n+ \"1.5.0\"\n }\n```\n\n```diff\n contract AddressManager (0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42) {\n +++ description: None\n values.BondManager:\n- \"0x31aBe1c466C2A8b95fd84258dD1471472979B650\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.FraudVerifier:\n- \"0x2F44BD2a54aC3fB20cd7783cF94334069641daC9\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.L1CrossDomainMessenger:\n- \"0x4692363048d0F32a2dE7816860D48fff0c61B24B\"\n+ \"0xb8DE82551fA4BA3bE4B3d9097763EDBeED541308\"\n values.owner:\n- \"0x4e59e778a0fb77fBb305637435C62FaeD9aED40f\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n values.proposer:\n- \"0xD1328C9167e0693B689b5aa5a024379d4e437858\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.sequencer:\n- \"0x2F6AFE2E3feA041b892a6e240Fd1A0E5b51e8376\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (0x84A628347537d4900a0b720Ee294445F90c3887a)\n +++ description: None\n```\n\n```diff\n contract L1StandardBridge (0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012) {\n +++ description: None\n upgradeability.implementation:\n- \"0x6B6e0dC564d4603452E40752ecDAa0e9630B38A2\"\n+ \"0xb4133552BA49dFb60DA6eb5cA0102d0f94ce071f\"\n upgradeability.admin:\n- \"0x4e59e778a0fb77fBb305637435C62FaeD9aED40f\"\n+ \"0xca35F8338054739D138884685e08b39EE2217794\"\n implementations.0:\n- \"0x6B6e0dC564d4603452E40752ecDAa0e9630B38A2\"\n+ \"0xb4133552BA49dFb60DA6eb5cA0102d0f94ce071f\"\n values.l1MantleAddress:\n- \"0x3c3a81e81dc49A522A592e7622A7E711c06bf354\"\n values.L1_MNT_ADDRESS:\n+ \"0x3c3a81e81dc49A522A592e7622A7E711c06bf354\"\n values.MESSENGER:\n+ \"0x676A795fe6E43C17c668de16730c3F690FEB7120\"\n values.OTHER_BRIDGE:\n+ \"0x4200000000000000000000000000000000000010\"\n values.version:\n+ \"1.1.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AssertionMap (0xa0d79E982bfD3C2ccD09D2E374ddC75fe328f317)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract Rollup (0xD1328C9167e0693B689b5aa5a024379d4e437858)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x427Ea0710FA5252057F0D88274f7aeb308386cAf)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xca35F8338054739D138884685e08b39EE2217794)\n +++ description: None\n```"
}
]
},
{
"id": "367a91db",
"date": "Tue, 31 Oct 2023 10:41:08 GMT",
"timestamp": 1698748868,
"description": "Change in Owner2Multisig owner.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Owner2Multisig (0x2F44BD2a54aC3fB20cd7783cF94334069641daC9) {\n values.getOwners.2:\n- \"0x895562F29cd2d6B46Da776B3a7778f77E99DbDEE\"\n+ \"0x5a021DC06A9630bb56099b8aEdfaDC2dEa7eB317\"\n values.getOwners.1:\n- \"0x5a021DC06A9630bb56099b8aEdfaDC2dEa7eB317\"\n+ \"0x207E804758e28F2b3fD6E4219671B327100b82f8\"\n values.getOwners.0:\n- \"0x207E804758e28F2b3fD6E4219671B327100b82f8\"\n+ \"0xC37642355c18ec9c3b3268AAC67e33516aa115eb\"\n }\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer [via: OpFoundationOperationsSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/11 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2",
"type": "EOA",
"isVerified": true,
"name": "0x9402…53F2",
"url": "https://etherscan.io/address/0x9402c42dB162d5a0927c032136f40Cc9C71853F2"
},
{
"address": "eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853",
"type": "EOA",
"isVerified": true,
"name": "0xcdC9…4853",
"url": "https://etherscan.io/address/0xcdC931935768c0562AfE989A366a3Dc4d52F4853"
},
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer ",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xC8187d40AD440328104A52BBed2D8Efc5ab1F1F6",
"type": "EOA",
"isVerified": true,
"name": "0xC818…F1F6",
"url": "https://etherscan.io/address/0xC8187d40AD440328104A52BBed2D8Efc5ab1F1F6",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xC94C243f8fb37223F3EB2f7961F7072602A51B8B",
"type": "EOA",
"isVerified": true,
"name": "0xC94C…1B8B",
"url": "https://etherscan.io/address/0xC94C243f8fb37223F3EB2f7961F7072602A51B8B",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1787834294,
"baseTimestamp": 1789044529,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "ff1d9de7",
"date": "Thu, 10 Sep 2026 12:50:08 GMT",
"timestamp": 1789044529,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "be92be6b",
"date": "Thu, 27 Aug 2026 12:39:31 GMT",
"timestamp": 1787834294,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "09cd4af8",
"date": "Fri, 17 Jul 2026 10:11:34 GMT",
"timestamp": 1784283015,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "f3e40e5d",
"date": "Wed, 01 Jul 2026 09:38:59 GMT",
"timestamp": 1782898673,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 123,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1CrossDomainMessenger (eth:0x0a47A44f1B2bb753474f8c830322554A96C9934D) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 11\n+ 13\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract ProxyAdmin (eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xDa0148772a61b10F07EE5ceFD2f5818cC7E2307a\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x50D700e97967F9115e3f999bDB263d69F6704680) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xDa0148772a61b10F07EE5ceFD2f5818cC7E2307a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 12\n+ 14\n values.batchInbox:\n- \"eth:0xc83f7D9F2D4A76E81145849381ABA02602373723\"\n+ \"eth:0x000D8CB79fe9CFa13b66fec7605A7a857E185719\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xDa0148772a61b10F07EE5ceFD2f5818cC7E2307a\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xDa0148772a61b10F07EE5ceFD2f5818cC7E2307a\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 5\n+ 7\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908120eb40f5fc6d2b47c67960bdb696a9e317c84b03daa8afa6e7f6cdd3be5f2ea610a0e795b76bb1f00000000000000000000000000000000000000000000000000000000000006d6c8187d40ad440328104a52bbed2d8efc5ab1f1f69ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa120eb40f5fc6d2b47c67960bdb696a9e317c84b0da0148772a61b10f07ee5cefd2f5818cc7e2307a00000000000000000000000000000000000000000000000000000000000006d6c8187d40ad440328104a52bbed2d8efc5ab1f1f69ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\"\n+ \"eth:0xDa0148772a61b10F07EE5ceFD2f5818cC7E2307a\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xDa0148772a61b10F07EE5ceFD2f5818cC7E2307a) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "f0a678fb",
"date": "Thu, 11 Jun 2026 11:21:07 GMT",
"timestamp": 1781176774,
"description": "Conduit Multisig 1 dropped two signers.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "8e622a61",
"date": "Thu, 04 Jun 2026 17:41:51 GMT",
"timestamp": 1780397551,
"description": "Conduit Multisig 1 rotated one signer (operator key `0x3840…fd5f` → `0xcdC9…4853`); same rotation propagated across Conduit Multisigs 1/2/3 on eth/arb1/base.\n\nNew game name (aggregateVerifier) added to portal.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```"
}
]
},
{
"id": "1424defb",
"date": "Fri, 15 May 2026 13:11:08 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "d655212f",
"date": "Tue, 05 May 2026 15:19:21 GMT",
"timestamp": 1777994294,
"description": "Two shared-multisig changes:\n\n1. Conduit Multisig 1 (`eth:0x4a496227...`) — signer `0x381624F7` removed. Threshold unchanged at 4; total signers 13 → 12 (31% → 33%).\n2. Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.1:\n- \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 13 (31%)\"\n+ \"4 of 12 (33%)\"\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "86ba6de8",
"date": "Wed, 25 Mar 2026 10:07:39 GMT",
"timestamp": 1774433190,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "28449d56",
"date": "Fri, 27 Feb 2026 13:25:41 GMT",
"timestamp": 1772198388,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "5d519435",
"date": "Fri, 13 Feb 2026 11:46:39 GMT",
"timestamp": 1770912809,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 moves game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1CrossDomainMessenger (eth:0x0a47A44f1B2bb753474f8c830322554A96C9934D) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.10:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 10\n+ 11\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x3841871029034867cc6585e1f0c75de0dc0e14ed593b5fb5a854197a6a7c7cb1\",\"l2SequenceNumber\":24079743}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.9:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x50D700e97967F9115e3f999bDB263d69F6704680) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 9\n+ 10\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.11:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x8d807C4030F9CE5BBADDbC5F06B1C3628A5e8671\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908120eb40f5fc6d2b47c67960bdb696a9e317c84b03daa8afa6e7f6cdd3be5f2ea610a0e795b76bb1f00000000000000000000000000000000000000000000000000000000000006d6c8187d40ad440328104a52bbed2d8efc5ab1f1f69ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xC8187d40AD440328104A52BBed2D8Efc5ab1F1F6\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x8d807C4030F9CE5BBADDbC5F06B1C3628A5e8671)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"challenge\",\"from\":\"eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E\",\"role\":\".challengerFromDGF\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n+ {\"permission\":\"challenge\",\"from\":\"eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E\",\"role\":\".challengerFromDGF\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n EOA (eth:0xC8187d40AD440328104A52BBed2D8Efc5ab1F1F6) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"propose\",\"from\":\"eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E\",\"role\":\".proposerFromDGF\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "fb7c5488",
"date": "Tue, 27 Jan 2026 11:33:54 GMT",
"timestamp": 1769513534,
"description": "New member added to Conduit Multisig 1, increasing from 4 of 12 to 4 of 13 threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 13 (31%)\"\n }\n```"
}
]
},
{
"id": "eea3e47f",
"date": "Mon, 26 Jan 2026 09:08:12 GMT",
"timestamp": 1769272363,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "5c06b1aa",
"date": "Wed, 21 Jan 2026 10:07:45 GMT",
"timestamp": 1768989976,
"description": "New member added to Conduit Multisig 1 (now 4/12, previously 4/11).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "8f2b9c58",
"date": "Fri, 16 Jan 2026 12:02:15 GMT",
"timestamp": 1768563850,
"description": "Conduit Multisig 1 added a new signer, increasing members from 10 to 11 (threshold remains 4).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "61cc4214",
"date": "Thu, 18 Dec 2025 08:58:22 GMT",
"timestamp": 1766048218,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "3e68ef1e",
"date": "Fri, 05 Dec 2025 11:23:01 GMT",
"timestamp": 1764933717,
"description": "Conduit multisig key rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x2103c69696CB2D3779f5445393808239034E911c\"\n values.$members.0:\n- \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n+ \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.4:\n- \"eth:0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n }\n```"
}
]
},
{
"id": "4e49d995",
"date": "Fri, 28 Nov 2025 10:00:15 GMT",
"timestamp": 1764323933,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x0a47A44f1B2bb753474f8c830322554A96C9934D) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.9:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x46CFB83A1cd3cFd26207fbD9F02351C3C0E5C367)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x50D700e97967F9115e3f999bDB263d69F6704680) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.10:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x46CFB83A1cd3cFd26207fbD9F02351C3C0E5C367\"\n+ \"eth:0x8d807C4030F9CE5BBADDbC5F06B1C3628A5e8671\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x46CFB83A1cd3cFd26207fbD9F02351C3C0E5C367\"\n+ \"eth:0x8d807C4030F9CE5BBADDbC5F06B1C3628A5e8671\"\n }\n```\n\n```diff\n EOA (eth:0xC8187d40AD440328104A52BBed2D8Efc5ab1F1F6) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x46CFB83A1cd3cFd26207fbD9F02351C3C0E5C367\"\n+ \"eth:0x8d807C4030F9CE5BBADDbC5F06B1C3628A5e8671\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x8d807C4030F9CE5BBADDbC5F06B1C3628A5e8671)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "a21d6226",
"date": "Mon, 20 Oct 2025 15:25:05 GMT",
"timestamp": 1760973830,
"description": "OpFoundation multisigs member rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "5855371e",
"date": "Sun, 12 Oct 2025 22:28:52 GMT",
"timestamp": 1760308068,
"description": "Upgrade to 16a contracts version (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288\n) - all contracts templatized.\n\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nOptimismPortal2\nhttps://disco.l2beat.com/diff/eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nL1ERC721Bridge \nhttps://disco.l2beat.com/diff/eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger\nhttps://disco.l2beat.com/diff/eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge \nhttps://disco.l2beat.com/diff/eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame\nhttps://disco.l2beat.com/diff/eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772/eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603\n\nPermissionedDisputeGame \nhttps://disco.l2beat.com/diff/eth:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D/eth:0x46CFB83A1cd3cFd26207fbD9F02351C3C0E5C367\n\nMIPS \nhttps://disco.l2beat.com/diff/eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement)\nhttps://disco.l2beat.com/diff/eth:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2/eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\n\nOptimismMintableERC20Factory\nhttps://disco.l2beat.com/diff/eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846/eth:0x5493f4677A186f64805fe7317D6993ba4863988F",
"isHighSeverity": true,
"changeCount": 116,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x0a47A44f1B2bb753474f8c830322554A96C9934D) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.6:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$pastUpgrades.8:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 6\n+ 9\n values.version:\n- \"2.3.0\"\n+ \"2.10.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x0aE6D23501C8078E077133bb30449107eEe7afaD)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.4:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99) {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x0aE6D23501C8078E077133bb30449107eEe7afaD\"\n+ \"eth:0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0\"\n directlyReceivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.5:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.6:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.respectedGameTypeUpdatedAt:\n- 1749824735\n+ 1760040095\n values.version:\n- \"3.10.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x50D700e97967F9115e3f999bDB263d69F6704680) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.5:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.6:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.version:\n- \"2.1.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.4.from:\n- \"eth:0x0aE6D23501C8078E077133bb30449107eEe7afaD\"\n+ \"eth:0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0\"\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.1.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.7:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.8:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$pastUpgrades.9:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 7\n+ 10\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.3.0\"\n+ \"3.7.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0x0a47A44f1B2bb753474f8c830322554A96C9934D\",\"l1ERC721Bridge\":\"eth:0x50D700e97967F9115e3f999bDB263d69F6704680\",\"l1StandardBridge\":\"eth:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3\",\"optimismPortal\":\"eth:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"optimismMintableERC20Factory\":\"eth:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730\"}\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 1750\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.1:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$pastUpgrades.2:\n+ [\"2025-10-09T20:01:35.000Z\",\"0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D\"\n+ \"eth:0x46CFB83A1cd3cFd26207fbD9F02351C3C0E5C367\"\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n EOA (eth:0xC8187d40AD440328104A52BBed2D8Efc5ab1F1F6) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x46CFB83A1cd3cFd26207fbD9F02351C3C0E5C367)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "85d96be5",
"date": "Fri, 03 Oct 2025 08:42:27 GMT",
"timestamp": 1759480877,
"description": "Member removed from multisig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "832b8155",
"date": "Tue, 26 Aug 2025 13:29:44 GMT",
"timestamp": 1756214657,
"description": "Conduit msig: removed one address",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "66e2575d",
"date": "Mon, 18 Aug 2025 09:02:45 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "c1a43296",
"date": "Tue, 12 Aug 2025 14:41:14 GMT",
"timestamp": 1755009465,
"description": "Conduit Multisig 1 signer added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "bda31f46",
"date": "Mon, 28 Jul 2025 05:51:45 GMT",
"timestamp": 1753681905,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the SuperchainConfig's `pause()` function\"}]}\n receivedPermissions.1.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.1.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.1.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "373618f8",
"date": "Mon, 14 Jul 2025 12:45:25 GMT",
"timestamp": 1752497125,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x0a47A44f1B2bb753474f8c830322554A96C9934D)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x0aE6D23501C8078E077133bb30449107eEe7afaD)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x50D700e97967F9115e3f999bDB263d69F6704680)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xd4b1EC0DEc3C7F12abD3ec27B7514880ae1C3a37)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "a2a406e8",
"date": "Mon, 16 Jun 2025 10:06:15 GMT",
"timestamp": 1750068375,
"description": "Upgrade to permissioned fault proofs (opfp) and optimism governance.",
"isHighSeverity": true,
"changeCount": 133,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n directlyReceivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".GUARDIAN\"}\n directlyReceivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".guardian\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x0a47A44f1B2bb753474f8c830322554A96C9934D) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.5:\n+ [\"2024-04-19T20:51:23.000Z\",\"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.4:\n+ [\"2024-04-19T20:51:23.000Z\",\"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.3.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n values.$pastUpgrades.3.1:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ \"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\"\n values.$pastUpgrades.3.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-06-13T14:25:35.000Z\"\n values.$pastUpgrades.2.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ \"0x4a7bbdb38394ad19a2f46253b1cda359eac192a526b0e423167178966682c377\"\n values.$pastUpgrades.2.1:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ [\"0x0a47A44f1B2bb753474f8c830322554A96C9934D\"]\n values.$pastUpgrades.2.0:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"2024-03-27T18:21:23.000Z\"\n values.$pastUpgrades.1.2:\n- \"0x4a7bbdb38394ad19a2f46253b1cda359eac192a526b0e423167178966682c377\"\n+ \"0x05f5320ea8317a2e250665a748d50192aa45d4c8c726d8f54665795572991f26\"\n values.$pastUpgrades.1.1.0:\n- \"0x0a47A44f1B2bb753474f8c830322554A96C9934D\"\n+ \"0x26Ff00172942F88684516065AB15be3f2Efe4bBe\"\n values.$pastUpgrades.1.0:\n- \"2024-03-27T18:21:23.000Z\"\n+ \"2024-03-27T18:26:11.000Z\"\n values.$pastUpgrades.0.2:\n- \"0x05f5320ea8317a2e250665a748d50192aa45d4c8c726d8f54665795572991f26\"\n+ \"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\"\n values.$pastUpgrades.0.1:\n- [\"0x26Ff00172942F88684516065AB15be3f2Efe4bBe\"]\n+ \"2025-06-13T14:25:35.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-03-27T18:26:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$upgradeCount:\n- 4\n+ 6\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2024-04-19T20:51:23.000Z\",\"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2.0.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ \"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\"\n values.$pastUpgrades.1.1:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ [\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]\n values.$pastUpgrades.1.0:\n- [\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]\n+ \"2025-06-13T14:25:35.000Z\"\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"},{\"address\":\"ethereum:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"ethereum:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the global pause function\"}]}\n receivedPermissions.1.permission:\n- \"guard\"\n+ \"challenge\"\n receivedPermissions.1.from:\n- \"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\"\n+ \"ethereum:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D\"\n receivedPermissions.1.role:\n- \".guardian\"\n+ \".challenger\"\n receivedPermissions.1.via.3:\n- {\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n receivedPermissions.1.via.2:\n- {\"address\":\"ethereum:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the global pause function\"}\n receivedPermissions.1.via.1.address:\n- \"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n+ \"ethereum:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions.1.via.1.condition:\n+ \"though restricted to the global pause function\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x0aE6D23501C8078E077133bb30449107eEe7afaD\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2\",\"role\":\"admin\"}\n directlyReceivedPermissions.4.from:\n- \"ethereum:0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\"\n+ \"ethereum:0x50D700e97967F9115e3f999bDB263d69F6704680\"\n directlyReceivedPermissions.3.from:\n- \"ethereum:0x50D700e97967F9115e3f999bDB263d69F6704680\"\n+ \"ethereum:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730\"\n directlyReceivedPermissions.2.from:\n- \"ethereum:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730\"\n+ \"ethereum:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract OptimismPortal2 (0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n sourceHashes.0:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.4:\n+ [\"2024-04-19T20:51:23.000Z\",\"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.3:\n+ [\"2025-06-13T14:25:35.000Z\",\"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.2.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ [\"0x04E9c063CDd58DC3598cdD53563A28e6c80eD4FB\"]\n values.$pastUpgrades.2.1:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ \"2024-03-27T18:26:59.000Z\"\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0x4a3c392216913f38eea145b6ae118c4afca5f7646da423b6c53f4f2eb9711b8a\"\n values.$pastUpgrades.1.2:\n- [\"0x04E9c063CDd58DC3598cdD53563A28e6c80eD4FB\"]\n+ \"2024-04-19T20:51:23.000Z\"\n values.$pastUpgrades.1.1:\n- \"2024-03-27T18:26:59.000Z\"\n+ \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n values.$pastUpgrades.1.0:\n- \"0x4a3c392216913f38eea145b6ae118c4afca5f7646da423b6c53f4f2eb9711b8a\"\n+ [\"0x2D778797049FE9259d947D1ED8e5442226dFB589\"]\n values.$pastUpgrades.0.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ \"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\"\n values.$pastUpgrades.0.1:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ \"2025-06-13T14:25:35.000Z\"\n values.$pastUpgrades.0.0.0:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$upgradeCount:\n- 3\n+ 5\n values.GUARDIAN:\n- \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.L2_ORACLE:\n- \"0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\"\n values.l2Oracle:\n- \"0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\"\n values.SYSTEM_CONFIG:\n- \"0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1749824735\n implementationNames.0x2D778797049FE9259d947D1ED8e5442226dFB589:\n- \"OptimismPortal\"\n implementationNames.0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"challenge\",\"from\":\"ethereum:0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\",\"role\":\".CHALLENGER\"}\n receivedPermissions.1:\n- {\"permission\":\"challenge\",\"from\":\"ethereum:0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\",\"role\":\".challenger\"}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x50D700e97967F9115e3f999bDB263d69F6704680) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.4:\n+ [\"2024-04-19T20:51:23.000Z\",\"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.3:\n+ [\"2024-04-19T20:51:23.000Z\",\"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.2.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.2.1:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ \"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\"\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-06-13T14:25:35.000Z\"\n values.$pastUpgrades.1.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ [\"0x04ECb956A07ce137e12aE2B3CDb966C314cD4eEE\"]\n values.$pastUpgrades.1.1:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"2024-03-27T18:25:11.000Z\"\n values.$pastUpgrades.1.0:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ \"0x9149d89768e27f1ac1b57eed43fda9ff5b183721554490c070257a34fcd370f7\"\n values.$pastUpgrades.0.2:\n- [\"0x04ECb956A07ce137e12aE2B3CDb966C314cD4eEE\"]\n+ \"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\"\n values.$pastUpgrades.0.1:\n- \"2024-03-27T18:25:11.000Z\"\n+ \"2025-06-13T14:25:35.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x9149d89768e27f1ac1b57eed43fda9ff5b183721554490c070257a34fcd370f7\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$upgradeCount:\n- 3\n+ 5\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x0aE6D23501C8078E077133bb30449107eEe7afaD\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]}\n receivedPermissions.9.from:\n- \"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\"\n+ \"ethereum:0x0a47A44f1B2bb753474f8c830322554A96C9934D\"\n receivedPermissions.8.from:\n- \"ethereum:0x0a47A44f1B2bb753474f8c830322554A96C9934D\"\n+ \"ethereum:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA\"\n receivedPermissions.7.from:\n- \"ethereum:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA\"\n+ \"ethereum:0x50D700e97967F9115e3f999bDB263d69F6704680\"\n receivedPermissions.6.from:\n- \"ethereum:0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\"\n+ \"ethereum:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730\"\n receivedPermissions.5.from:\n- \"ethereum:0x50D700e97967F9115e3f999bDB263d69F6704680\"\n+ \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.5.via.0.address:\n- \"ethereum:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n+ \"ethereum:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.4.from:\n- \"ethereum:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730\"\n+ \"ethereum:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E\"\n receivedPermissions.3.from:\n- \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"ethereum:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3\"\n receivedPermissions.3.role:\n- \"admin\"\n+ \".$admin\"\n receivedPermissions.3.via.0.address:\n- \"ethereum:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"ethereum:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n receivedPermissions.3.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.2.from:\n- \"ethereum:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3\"\n+ \"ethereum:0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2\"\n receivedPermissions.2.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.2.role:\n- \".$admin\"\n+ \".owner\"\n receivedPermissions.2.via:\n- [{\"address\":\"ethereum:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"}]\n }\n```\n\n```diff\n contract SystemConfig (0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.$pastUpgrades.6:\n+ [\"2024-04-19T20:51:23.000Z\",\"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.5:\n+ [\"2025-06-13T14:25:35.000Z\",\"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.4.0.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.$pastUpgrades.3.2:\n- \"2024-04-19T20:51:23.000Z\"\n+ \"2025-01-24T14:41:35.000Z\"\n values.$pastUpgrades.3.1:\n- \"0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.3.0:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.2.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.2.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ \"0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5\"\n values.$pastUpgrades.1.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"2025-06-13T14:25:35.000Z\"\n values.$upgradeCount:\n- 5\n+ 7\n values.disputeGameFactory:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"},{\"address\":\"ethereum:0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"condition\":\"if the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"}]}\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".guardian\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"},{\"address\":\"ethereum:0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"condition\":\"if the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"}]}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}\n receivedPermissions.1.permission:\n- \"guard\"\n+ \"challenge\"\n receivedPermissions.1.from:\n- \"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\"\n+ \"ethereum:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D\"\n receivedPermissions.1.role:\n- \".guardian\"\n+ \".challenger\"\n receivedPermissions.1.via:\n- [{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956\",\"role\":\".guardian\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n }\n```\n\n```diff\n EOA (0xC8187d40AD440328104A52BBed2D8Efc5ab1F1F6) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"propose\",\"from\":\"ethereum:0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\",\"role\":\".proposer\"}\n receivedPermissions.0.from:\n- \"ethereum:0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\"\n+ \"ethereum:0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D\"\n receivedPermissions.0.role:\n- \".PROPOSER\"\n+ \".proposer\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x044CEC24Be9DFDd9c65DAC10059a13Fe0f617a5D)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x0aE6D23501C8078E077133bb30449107eEe7afaD)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x953C004e1FE1aD38ec8Ca614CcDC0fd675FFc7e2)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```"
}
]
},
{
"id": "b3586b0b",
"date": "Mon, 02 Jun 2025 08:00:37 GMT",
"timestamp": 1748851237,
"description": "conduit ms signer change.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.10:\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.9:\n- \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.8:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.7:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.6:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0x81175155D85377C337d92f1FA52Da166C3A4E7Ac\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "244347a7",
"date": "Thu, 08 May 2025 08:49:16 GMT",
"timestamp": 1746694156,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "318bf618",
"date": "Fri, 04 Apr 2025 09:43:20 GMT",
"timestamp": 1743759800,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "7912f8e1",
"date": "Fri, 14 Mar 2025 15:40:07 GMT",
"timestamp": 1741966807,
"description": "Conduit MS changes.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.9:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.8:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.7:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.6:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.5:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.4:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.$members.3:\n- \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.2:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.1:\n- \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n+ \"0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.$members.0:\n- \"0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n+ \"0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "f49f2bec",
"date": "Wed, 12 Feb 2025 09:59:50 GMT",
"timestamp": 1739354390,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "03192827",
"date": "Sat, 08 Feb 2025 15:57:31 GMT",
"timestamp": 1739030251,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "7c244ee3",
"date": "Thu, 06 Feb 2025 09:16:35 GMT",
"timestamp": 1738833395,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "d186a925",
"date": "Mon, 27 Jan 2025 11:07:11 GMT",
"timestamp": 1737976031,
"description": "This is a SystemConfig upgrade (v2.3.0, adding gasToken support) for five Superchain eco chains that use superchain governance.\n- op mainnet\n- metal\n- zora\n- arena-z\n- mode\n\nDue to temporary storage setter implementations, multiple upgrades are counted within a single tx.",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.4:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 684000\n values.blobbasefeeScalar:\n+ 0\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x0000000000000000000000000000000000000000\"\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n }\n```"
}
]
},
{
"id": "d49ce1ff",
"date": "Thu, 16 Jan 2025 12:35:16 GMT",
"timestamp": 1737030916,
"description": "ConduitMultisig signer changes.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.8:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.7:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.6:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.5:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.4:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.3:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.$members.2:\n- \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.1:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.0:\n- \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n+ \"0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "c0cbffb2",
"date": "Wed, 30 Oct 2024 13:10:09 GMT",
"timestamp": 1730293809,
"description": "Conduit MS: Signer added.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.7:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.6:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.5:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.4:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.3:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.2:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.$members.1:\n- \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.0:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "2588277b",
"date": "Tue, 17 Sep 2024 09:53:08 GMT",
"timestamp": 1726566788,
"description": "DeputyGuardianModule upgrade: `setAnchorState()` is now callable by the deputy guardian.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8\"\n+ \"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```"
}
]
},
{
"id": "ee9c4196",
"date": "Wed, 07 Aug 2024 07:37:59 GMT",
"timestamp": 1723016279,
"description": "The ProxyAdmin owner is changed to SuperchainProxyAdminOwner and Conduit Multisig is removed.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99) {\n +++ description: It can upgrade the bridge implementation potentially gaining access to all funds, and change any system component.\n values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n descriptions:\n- [\"It can act on behalf of 0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99, inheriting its permissions.\"]\n assignedPermissions:\n- {\"owner\":[\"0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"]}\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: It can act on behalf of 0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99, inheriting its permissions. It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\n descriptions.1:\n+ \"It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\"\n descriptions.0:\n- \"It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\"\n+ \"It can act on behalf of 0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99, inheriting its permissions.\"\n assignedPermissions.owner.1:\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n assignedPermissions.owner.0:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99\"\n }\n```"
}
]
},
{
"id": "4e3bb80f",
"date": "Fri, 28 Jun 2024 07:30:12 GMT",
"timestamp": 1719559812,
"description": "Nonce of foundation multisig increased, after executing transaction to change the owner of the SystemConfig contract.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FoundationMultisig_2 (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.nonce:\n- 92\n+ 93\n }\n```"
}
]
},
{
"id": "4e27d94d",
"date": "Wed, 12 Jun 2024 05:26:19 GMT",
"timestamp": 1718169979,
"description": "Changes due to Superchain permissions upgrade: \n- Security Council MS threshold raised\n- Liveness and DeputyGuardian modules added\n- Guardian (proxy)MS added",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n upgradeability.modules.0:\n+ \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n upgradeability.threshold:\n- \"4 of 13 (31%)\"\n+ \"10 of 13 (77%)\"\n values.getThreshold:\n- 4\n+ 10\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: None\n```"
}
]
},
{
"id": "0a18fcf9",
"date": "Wed, 22 May 2024 20:09:29 GMT",
"timestamp": 1716408569,
"description": "ConduitMultisig update.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n upgradeability.threshold:\n- \"3 of 5 (60%)\"\n+ \"4 of 7 (57%)\"\n values.getOwners.6:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.getOwners.5:\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.getOwners.4:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.getOwners.3:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.getOwners.2:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.getOwners.1:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.getOwners.0:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.getThreshold:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "d52775ef",
"date": "Wed, 24 Apr 2024 05:49:16 GMT",
"timestamp": 1713937756,
"description": "Initial discovery: Normal OP stack rollup with superchain config.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x0a47A44f1B2bb753474f8c830322554A96C9934D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x3B1F7aDa0Fcc26B13515af752Dd07fB1CAc11426)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MetalMultisig (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x50D700e97967F9115e3f999bDB263d69F6704680)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_2 (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xd4b1EC0DEc3C7F12abD3ec27B7514880ae1C3a37)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: None\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * L1ERC721Bridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer [via: OpFoundationOperationsSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/11 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2",
"type": "EOA",
"isVerified": true,
"name": "0x9402…53F2",
"url": "https://etherscan.io/address/0x9402c42dB162d5a0927c032136f40Cc9C71853F2"
},
{
"address": "eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853",
"type": "EOA",
"isVerified": true,
"name": "0xcdC9…4853",
"url": "https://etherscan.io/address/0xcdC931935768c0562AfE989A366a3Dc4d52F4853"
},
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer ",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB",
"type": "EOA",
"isVerified": true,
"name": "0x674F…0ddB",
"url": "https://etherscan.io/address/0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x99199a22125034c808ff20f377d91187E8050F2E",
"type": "EOA",
"isVerified": true,
"name": "0x9919…0F2E",
"url": "https://etherscan.io/address/0x99199a22125034c808ff20f377d91187E8050F2E",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1787834312,
"baseTimestamp": 1789044549,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "a539675f",
"date": "Thu, 10 Sep 2026 12:50:32 GMT",
"timestamp": 1789044549,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "81e41144",
"date": "Thu, 27 Aug 2026 12:39:49 GMT",
"timestamp": 1787834312,
"description": "Conduit Multisig 1: member added; threshold 4/10 → 4/11.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "84b51cb4",
"date": "Fri, 17 Jul 2026 10:11:54 GMT",
"timestamp": 1784283035,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "e0172f4d",
"date": "Wed, 01 Jul 2026 09:39:06 GMT",
"timestamp": 1782898680,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 123,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x2901dA832a4D0297FF0691100A8E496626cc626D) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xE90e1bD2C7a4547f4A318017a5403cc81F73D03a\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xE90e1bD2C7a4547f4A318017a5403cc81F73D03a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"}]}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 12\n+ 14\n values.batchInbox:\n- \"eth:0x24E59d9d3Bd73ccC28Dc54062AF7EF7bFF58Bd67\"\n+ \"eth:0x00a225151f800043f81caBeA4b0ff77D3da974DF\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xE90e1bD2C7a4547f4A318017a5403cc81F73D03a\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xE90e1bD2C7a4547f4A318017a5403cc81F73D03a\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x69216395A62dFb243C05EF4F1C27AF8655096a95) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 5\n+ 7\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908eb9d917868276cee5457609dbbf470fde41bade81c823d585b2b4325a0db845cebe32fc7ad67514a000000000000000000000000000000000000000000000000000000000000868b674f64d64ddc198db83cd9047df54bf89ccd0ddb9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfaeb9d917868276cee5457609dbbf470fde41bade8e90e1bd2c7a4547f4a318017a5403cc81f73d03a000000000000000000000000000000000000000000000000000000000000868b674f64d64ddc198db83cd9047df54bf89ccd0ddb9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a\"\n+ \"eth:0xE90e1bD2C7a4547f4A318017a5403cc81F73D03a\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x735aDBbE72226BD52e818E7181953f42E3b0FF21) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.14:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.15:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 14\n+ 16\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 11\n+ 13\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEB9d917868276cee5457609dbBF470FdE41BADE8) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xE90e1bD2C7a4547f4A318017a5403cc81F73D03a) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "21fd86e9",
"date": "Thu, 11 Jun 2026 11:21:26 GMT",
"timestamp": 1781176808,
"description": "Conduit Multisig 1 dropped two signers.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "92cc7fb8",
"date": "Thu, 04 Jun 2026 17:42:07 GMT",
"timestamp": 1780397580,
"description": "Conduit Multisig 1 rotated one signer (operator key `0x3840…fd5f` → `0xcdC9…4853`); same rotation propagated across Conduit Multisigs 1/2/3 on eth/arb1/base.\n\nNew game name (aggregateVerifier) added to portal.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```"
}
]
},
{
"id": "c9c05724",
"date": "Fri, 15 May 2026 13:11:01 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "3a22b17a",
"date": "Tue, 05 May 2026 15:19:31 GMT",
"timestamp": 1777994304,
"description": "Two shared-multisig changes:\n\n1. Conduit Multisig 1 (`eth:0x4a496227...`) — signer `0x381624F7` removed. Threshold unchanged at 4; total signers 13 → 12 (31% → 33%).\n2. Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.1:\n- \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 13 (31%)\"\n+ \"4 of 12 (33%)\"\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "9049567c",
"date": "Wed, 25 Mar 2026 10:07:44 GMT",
"timestamp": 1774433200,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "fa2bc98c",
"date": "Fri, 27 Feb 2026 13:25:22 GMT",
"timestamp": 1772198388,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "50684d4e",
"date": "Fri, 13 Feb 2026 11:46:40 GMT",
"timestamp": 1770912815,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 moves game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 51,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x181102F5c0FBb03c6f642b596aa53BC5F5526d3D)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x2901dA832a4D0297FF0691100A8E496626cc626D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 9\n+ 10\n }\n```\n\n```diff\n contract SystemConfig (eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.11:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (eth:0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"propose\",\"from\":\"eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E\",\"role\":\".proposerFromDGF\"}]\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x69216395A62dFb243C05EF4F1C27AF8655096a95) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x181102F5c0FBb03c6f642b596aa53BC5F5526d3D\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908eb9d917868276cee5457609dbbf470fde41bade81c823d585b2b4325a0db845cebe32fc7ad67514a000000000000000000000000000000000000000000000000000000000000868b674f64d64ddc198db83cd9047df54bf89ccd0ddb9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.13:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 13\n+ 14\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.10:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 10\n+ 11\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"challenge\",\"from\":\"eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E\",\"role\":\".challengerFromDGF\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n+ {\"permission\":\"challenge\",\"from\":\"eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E\",\"role\":\".challengerFromDGF\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEB9d917868276cee5457609dbBF470FdE41BADE8) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x16c3e07a1a410f8bb836fa8466d817610e0acb71bfa3e5839aae19cd20d38790\",\"l2SequenceNumber\":29777216}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "a4c600a2",
"date": "Tue, 27 Jan 2026 11:34:01 GMT",
"timestamp": 1769513575,
"description": "New member added to Conduit Multisig 1, increasing from 4 of 12 to 4 of 13 threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 13 (31%)\"\n }\n```"
}
]
},
{
"id": "59181e52",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272370,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "c4ea8193",
"date": "Wed, 21 Jan 2026 08:34:58 GMT",
"timestamp": 1768984435,
"description": "New member conduit msig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "94c747b0",
"date": "Fri, 16 Jan 2026 12:24:16 GMT",
"timestamp": 1768566190,
"description": "Conduit Multisig 1 added a new signer, increasing members from 10 to 11 (threshold remains 4).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "0e00391d",
"date": "Thu, 18 Dec 2025 08:58:39 GMT",
"timestamp": 1766048242,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "d2b63756",
"date": "Fri, 05 Dec 2025 11:23:23 GMT",
"timestamp": 1764933738,
"description": "Conduit multisig key rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x2103c69696CB2D3779f5445393808239034E911c\"\n values.$members.0:\n- \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n+ \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.4:\n- \"eth:0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n }\n```"
}
]
},
{
"id": "5ff88fcf",
"date": "Fri, 28 Nov 2025 10:01:13 GMT",
"timestamp": 1764323969,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x2901dA832a4D0297FF0691100A8E496626cc626D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.10:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (eth:0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xF25E6e47Ce13a73550c4DA8824DFC3bDa9191249\"\n+ \"eth:0x181102F5c0FBb03c6f642b596aa53BC5F5526d3D\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x69216395A62dFb243C05EF4F1C27AF8655096a95) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xF25E6e47Ce13a73550c4DA8824DFC3bDa9191249\"\n+ \"eth:0x181102F5c0FBb03c6f642b596aa53BC5F5526d3D\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x735aDBbE72226BD52e818E7181953f42E3b0FF21) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.12:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.9:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xF25E6e47Ce13a73550c4DA8824DFC3bDa9191249\"\n+ \"eth:0x181102F5c0FBb03c6f642b596aa53BC5F5526d3D\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xF25E6e47Ce13a73550c4DA8824DFC3bDa9191249)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x181102F5c0FBb03c6f642b596aa53BC5F5526d3D)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "20b0fce3",
"date": "Tue, 04 Nov 2025 17:39:23 GMT",
"timestamp": 1762276311,
"description": "gas pricing changes.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 20000\n+ 100000\n values.blobbasefeeScalar:\n- 611590\n+ 1014213\n }\n```"
}
]
},
{
"id": "f9d3d6ce",
"date": "Thu, 23 Oct 2025 12:38:25 GMT",
"timestamp": 1761223020,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "9af380ce",
"date": "Sun, 12 Oct 2025 22:08:50 GMT",
"timestamp": 1760306862,
"description": "Upgrade to 16a contracts version (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288\n) - all contracts templatized.",
"isHighSeverity": true,
"changeCount": 116,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC721Bridge (eth:0x2901dA832a4D0297FF0691100A8E496626cc626D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.5:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.6:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.version:\n- \"2.1.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa29b6D87Ee95375E7a31374667054F38b920ab7a\",\"role\":\"admin\"}\n directlyReceivedPermissions.9.from:\n- \"eth:0xbf1229eE0782939bB4325Fd13a0b481949e311Aa\"\n+ \"eth:0xEB9d917868276cee5457609dbBF470FdE41BADE8\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0xa29b6D87Ee95375E7a31374667054F38b920ab7a\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa29b6D87Ee95375E7a31374667054F38b920ab7a\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"}]}\n receivedPermissions.12.from:\n- \"eth:0xbf1229eE0782939bB4325Fd13a0b481949e311Aa\"\n+ \"eth:0xEB9d917868276cee5457609dbBF470FdE41BADE8\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.7:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.8:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$pastUpgrades.9:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 7\n+ 10\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.3.0\"\n+ \"3.7.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f\",\"l1ERC721Bridge\":\"eth:0x2901dA832a4D0297FF0691100A8E496626cc626D\",\"l1StandardBridge\":\"eth:0x735aDBbE72226BD52e818E7181953f42E3b0FF21\",\"optimismPortal\":\"eth:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\",\"optimismMintableERC20Factory\":\"eth:0x69216395A62dFb243C05EF4F1C27AF8655096a95\"}\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 34443\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n EOA (eth:0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x69216395A62dFb243C05EF4F1C27AF8655096a95) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.4:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.1:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$pastUpgrades.2:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a\"\n+ \"eth:0xF25E6e47Ce13a73550c4DA8824DFC3bDa9191249\"\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x735aDBbE72226BD52e818E7181953f42E3b0FF21) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.1.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.9:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.10:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.11:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 9\n+ 12\n values.respectedGameTypeUpdatedAt:\n- 1749825119\n+ 1760040863\n values.version:\n- \"3.10.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0xEB9d917868276cee5457609dbBF470FdE41BADE8\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.6:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$pastUpgrades.8:\n+ [\"2025-10-09T20:14:23.000Z\",\"0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 6\n+ 9\n values.version:\n- \"2.3.0\"\n+ \"2.10.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xa29b6D87Ee95375E7a31374667054F38b920ab7a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xbf1229eE0782939bB4325Fd13a0b481949e311Aa)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xEB9d917868276cee5457609dbBF470FdE41BADE8)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xF25E6e47Ce13a73550c4DA8824DFC3bDa9191249)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "0fe87398",
"date": "Fri, 03 Oct 2025 08:42:48 GMT",
"timestamp": 1759480897,
"description": "Member removed from multisig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "6b68a57f",
"date": "Tue, 26 Aug 2025 13:30:26 GMT",
"timestamp": 1756214657,
"description": "Conduit msig: removed one address",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "26c33abf",
"date": "Mon, 18 Aug 2025 09:02:59 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "c01b1a93",
"date": "Tue, 12 Aug 2025 14:41:29 GMT",
"timestamp": 1755009465,
"description": "Conduit Multisig 1 signer added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "5b10c535",
"date": "Mon, 28 Jul 2025 05:52:02 GMT",
"timestamp": 1753681922,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the SuperchainConfig's `pause()` function\"}]}\n receivedPermissions.1.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.1.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.1.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "e4852667",
"date": "Mon, 14 Jul 2025 12:45:26 GMT",
"timestamp": 1752497126,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x2901dA832a4D0297FF0691100A8E496626cc626D)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x470d87b1dae09a454A43D1fD772A561a03276aB7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x50eF494573f28Cad6B64C31b7a00Cdaa48306e15)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x69216395A62dFb243C05EF4F1C27AF8655096a95)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x735aDBbE72226BD52e818E7181953f42E3b0FF21)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa29b6D87Ee95375E7a31374667054F38b920ab7a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xbf1229eE0782939bB4325Fd13a0b481949e311Aa)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "a40ced53",
"date": "Mon, 16 Jun 2025 10:05:50 GMT",
"timestamp": 1750068350,
"description": "Upgrade to permissioned fault proofs (opfp) and optimism governance.",
"isHighSeverity": true,
"changeCount": 118,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n directlyReceivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\",\"role\":\".GUARDIAN\"}\n directlyReceivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\"}\n directlyReceivedPermissions.0.from:\n- \"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\"\n+ \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x2901dA832a4D0297FF0691100A8E496626cc626D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.4:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.3:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.2.1:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$pastUpgrades.2.0:\n- \"2024-04-19T18:22:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.1.1:\n- \"2024-04-19T18:22:11.000Z\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$upgradeCount:\n- 3\n+ 5\n }\n```\n\n```diff\n- Status: DELETED\n contract Mode Multisig (0x309Fe2536d01867018D120b40e4676723C53A14C)\n +++ description: None\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"},{\"address\":\"ethereum:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"ethereum:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the global pause function\"}]}\n receivedPermissions.1.permission:\n- \"guard\"\n+ \"challenge\"\n receivedPermissions.1.from:\n- \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"ethereum:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a\"\n receivedPermissions.1.role:\n- \".guardian\"\n+ \".challenger\"\n receivedPermissions.1.via.3:\n- {\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n receivedPermissions.1.via.2:\n- {\"address\":\"ethereum:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the global pause function\"}\n receivedPermissions.1.via.1.address:\n- \"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n+ \"ethereum:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions.1.via.1.condition:\n+ \"though restricted to the global pause function\"\n receivedPermissions.0.from:\n- \"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\"\n+ \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x4317ba146D4933D889518a3e5E11Fe7a53199b04)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract ProxyAdmin (0x470d87b1dae09a454A43D1fD772A561a03276aB7) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0xa29b6D87Ee95375E7a31374667054F38b920ab7a\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x2901dA832a4D0297FF0691100A8E496626cc626D\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.from:\n- \"ethereum:0x2901dA832a4D0297FF0691100A8E496626cc626D\"\n+ \"ethereum:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E\"\n directlyReceivedPermissions.6.from:\n- \"ethereum:0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n+ \"ethereum:0xbf1229eE0782939bB4325Fd13a0b481949e311Aa\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0xa29b6D87Ee95375E7a31374667054F38b920ab7a\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x2901dA832a4D0297FF0691100A8E496626cc626D\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.9.from:\n- \"ethereum:0x2901dA832a4D0297FF0691100A8E496626cc626D\"\n+ \"ethereum:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E\"\n receivedPermissions.8.from:\n- \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"ethereum:0xbf1229eE0782939bB4325Fd13a0b481949e311Aa\"\n receivedPermissions.8.via.0.address:\n- \"ethereum:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"ethereum:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n receivedPermissions.7.from:\n- \"ethereum:0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n+ \"ethereum:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f\"\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"ethereum:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f\"\n+ \"ethereum:0xa29b6D87Ee95375E7a31374667054F38b920ab7a\"\n receivedPermissions.6.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.6.via:\n- [{\"address\":\"ethereum:0x470d87b1dae09a454A43D1fD772A561a03276aB7\"}]\n receivedPermissions.6.description:\n+ \"can pull funds from the contract in case of emergency.\"\n }\n```\n\n```diff\n contract SystemConfig (0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.$pastUpgrades.6:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.5:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]]\n values.$pastUpgrades.4.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.4.1:\n- \"2024-04-19T18:22:11.000Z\"\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$pastUpgrades.3.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-01-24T14:41:35.000Z\"\n values.$pastUpgrades.3.1:\n- \"2024-04-19T18:22:11.000Z\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.3.0:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.2.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.2.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.1.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.1.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$upgradeCount:\n- 5\n+ 7\n values.disputeGameFactory:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E\"\n }\n```\n\n```diff\n EOA (0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"propose\",\"from\":\"ethereum:0x4317ba146D4933D889518a3e5E11Fe7a53199b04\",\"role\":\".proposer\"}\n receivedPermissions.0.from:\n- \"ethereum:0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n+ \"ethereum:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a\"\n receivedPermissions.0.role:\n- \".PROPOSER\"\n+ \".proposer\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x69216395A62dFb243C05EF4F1C27AF8655096a95) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$pastUpgrades.2.0.0:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.1.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.1.1:\n- \"2024-04-19T18:22:11.000Z\"\n+ [\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]\n values.$pastUpgrades.1.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"},{\"address\":\"ethereum:0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"condition\":\"if the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"}]}\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"},{\"address\":\"ethereum:0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"condition\":\"if the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"}]}\n receivedPermissions.0.from:\n- \"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\"\n+ \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n sourceHashes.0:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.8:\n+ [\"2024-08-01T21:25:23.000Z\",\"0x9154d2b581e84b15615b4a857476af9fa6b682622d6e30e7c28bae6331a5fe39\",[\"0x57e5AB742DDa19b60Fa2A43275722296B05A661A\"]]\n values.$pastUpgrades.7:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.6.2.0:\n- \"0x57e5AB742DDa19b60Fa2A43275722296B05A661A\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.6.1:\n- \"2024-08-01T21:25:23.000Z\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.6.0:\n- \"0x9154d2b581e84b15615b4a857476af9fa6b682622d6e30e7c28bae6331a5fe39\"\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$pastUpgrades.5.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.5.1:\n- \"2024-04-19T18:22:11.000Z\"\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$upgradeCount:\n- 7\n+ 9\n values.GUARDIAN:\n- \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.L2_ORACLE:\n- \"0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n values.l2Oracle:\n- \"0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n values.SYSTEM_CONFIG:\n- \"0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1749825119\n implementationNames.0x2D778797049FE9259d947D1ED8e5442226dFB589:\n- \"OptimismPortal\"\n implementationNames.0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.5:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.4:\n+ [\"2024-04-19T18:22:11.000Z\",\"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.3.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.3.1:\n- \"2024-04-19T18:22:11.000Z\"\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$pastUpgrades.3.0.0:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.2.2:\n- \"0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4\"\n+ \"2025-06-13T14:31:59.000Z\"\n values.$pastUpgrades.2.1:\n- \"2024-04-19T18:22:11.000Z\"\n+ [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7\"\n values.$upgradeCount:\n- 4\n+ 6\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}\n receivedPermissions.1.permission:\n- \"guard\"\n+ \"challenge\"\n receivedPermissions.1.from:\n- \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"ethereum:0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a\"\n receivedPermissions.1.role:\n- \".guardian\"\n+ \".challenger\"\n receivedPermissions.1.via:\n- [{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"ethereum:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]\n receivedPermissions.0.from:\n- \"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\"\n+ \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\",\"role\":\".GUARDIAN\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"ethereum:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n receivedPermissions.0.from:\n- \"ethereum:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\"\n+ \"ethereum:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x75fa114D4286c7d1114CE773EfF0f1bDe0aF966a)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa29b6D87Ee95375E7a31374667054F38b920ab7a)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xbf1229eE0782939bB4325Fd13a0b481949e311Aa)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
}
]
},
{
"id": "516f48bd",
"date": "Mon, 02 Jun 2025 08:00:55 GMT",
"timestamp": 1748851255,
"description": "conduit ms signer change.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.10:\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.9:\n- \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.8:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.7:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.6:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0x81175155D85377C337d92f1FA52Da166C3A4E7Ac\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "0aa3183d",
"date": "Thu, 08 May 2025 08:49:27 GMT",
"timestamp": 1746694167,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "3cb2d331",
"date": "Fri, 04 Apr 2025 09:40:28 GMT",
"timestamp": 1743759628,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "677b73a0",
"date": "Fri, 14 Mar 2025 15:40:20 GMT",
"timestamp": 1741966820,
"description": "Conduit MS changes.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.9:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.8:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.7:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.6:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.5:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.4:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.$members.3:\n- \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.2:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.1:\n- \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n+ \"0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.$members.0:\n- \"0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n+ \"0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "8369a6af",
"date": "Wed, 12 Feb 2025 09:59:59 GMT",
"timestamp": 1739354399,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "bd7616f5",
"date": "Sat, 08 Feb 2025 15:57:42 GMT",
"timestamp": 1739030262,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "254a8f53",
"date": "Thu, 06 Feb 2025 09:16:41 GMT",
"timestamp": 1738833401,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "a5c92861",
"date": "Mon, 27 Jan 2025 11:02:08 GMT",
"timestamp": 1737975728,
"description": "This is a SystemConfig upgrade (v2.3.0, adding gasToken support) for five Superchain eco chains that use superchain governance.\n- op mainnet\n- metal\n- zora\n- arena-z\n- mode\n\nDue to temporary storage setter implementations, multiple upgrades are counted within a single tx.",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.4:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 20000\n values.blobbasefeeScalar:\n+ 611590\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x0000000000000000000000000000000000000000\"\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n }\n```"
}
]
},
{
"id": "0a6b1a89",
"date": "Thu, 16 Jan 2025 12:35:41 GMT",
"timestamp": 1737030941,
"description": "ConduitMultisig signer changes.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.8:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.7:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.6:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.5:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.4:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.3:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.$members.2:\n- \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.1:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.0:\n- \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n+ \"0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "5fe3bdeb",
"date": "Wed, 30 Oct 2024 13:10:52 GMT",
"timestamp": 1730293852,
"description": "Conduit MS: Signer added.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.7:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.6:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.$members.5:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.$members.4:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.3:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.2:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.$members.1:\n- \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.$members.0:\n- \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "45383155",
"date": "Tue, 17 Sep 2024 09:54:14 GMT",
"timestamp": 1726566854,
"description": "DeputyGuardianModule upgrade: `setAnchorState()` is now callable by the deputy guardian.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8\"\n+ \"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```"
}
]
},
{
"id": "bdf9a563",
"date": "Wed, 07 Aug 2024 07:35:36 GMT",
"timestamp": 1723016136,
"description": "The ProxyAdmin owner is changed to SuperchainProxyAdminOwner and Conduit Multisig is removed.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x470d87b1dae09a454A43D1fD772A561a03276aB7) {\n +++ description: It can upgrade the bridge implementation potentially gaining access to all funds, and change any system component.\n values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: It can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\n descriptions.1:\n- \"It can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n descriptions.0:\n- \"It can act on behalf of 0x470d87b1dae09a454A43D1fD772A561a03276aB7, inheriting its permissions.\"\n+ \"It can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n assignedPermissions.owner.1:\n- \"0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221\"\n assignedPermissions.owner.0:\n- \"0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n+ \"0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: It can act on behalf of 0x470d87b1dae09a454A43D1fD772A561a03276aB7, inheriting its permissions. It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\n descriptions.1:\n+ \"It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\"\n descriptions.0:\n- \"It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\"\n+ \"It can act on behalf of 0x470d87b1dae09a454A43D1fD772A561a03276aB7, inheriting its permissions.\"\n assignedPermissions.owner.1:\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n assignedPermissions.owner.0:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0x470d87b1dae09a454A43D1fD772A561a03276aB7\"\n }\n```"
}
]
},
{
"id": "c3660f59",
"date": "Fri, 28 Jun 2024 07:30:45 GMT",
"timestamp": 1719559845,
"description": "Nonce of foundation multisig increased, after executing transaction to change the owner of the SystemConfig contract.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FoundationMultisig_2 (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.nonce:\n- 92\n+ 93\n }\n```"
}
]
},
{
"id": "85f6c9f5",
"date": "Wed, 12 Jun 2024 05:28:56 GMT",
"timestamp": 1718170136,
"description": "Changes due to Superchain permissions upgrade: \n- Security Council MS threshold raised\n- Liveness and DeputyGuardian modules added\n- Guardian (proxy)MS added",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n upgradeability.modules.0:\n+ \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n upgradeability.threshold:\n- \"4 of 13 (31%)\"\n+ \"10 of 13 (77%)\"\n values.getThreshold:\n- 4\n+ 10\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: None\n```"
}
]
},
{
"id": "5cfa712a",
"date": "Wed, 22 May 2024 20:10:11 GMT",
"timestamp": 1716408611,
"description": "ConduitMultisig update.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n upgradeability.threshold:\n- \"3 of 5 (60%)\"\n+ \"4 of 7 (57%)\"\n values.getOwners.6:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.getOwners.5:\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.getOwners.4:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.getOwners.3:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.getOwners.2:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.getOwners.1:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.getOwners.0:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.getThreshold:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "c2efc1bc",
"date": "Mon, 22 Apr 2024 14:44:50 GMT",
"timestamp": 1713797090,
"description": "The project now uses shared implementations with other projects in the Superchain and a shared Guardian (OP Foundation).",
"isHighSeverity": true,
"changeCount": 62,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC721Bridge (0x2901dA832a4D0297FF0691100A8E496626cc626D) {\n +++ description: None\n upgradeability.implementation:\n- \"0x8b91Af069928bA6591c950354d1EA29e08192Bf8\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n implementations.0:\n- \"0x8b91Af069928bA6591c950354d1EA29e08192Bf8\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.version:\n- \"1.1.2\"\n+ \"2.1.0\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract L2OutputOracle (0x4317ba146D4933D889518a3e5E11Fe7a53199b04) {\n +++ description: None\n upgradeability.implementation:\n- \"0x6093023a4A7E6873EDFb02B4bCE48c53FD310EEc\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n implementations.0:\n- \"0x6093023a4A7E6873EDFb02B4bCE48c53FD310EEc\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n values.version:\n- \"1.3.1\"\n+ \"1.8.0\"\n values.challenger:\n+ \"0x309Fe2536d01867018D120b40e4676723C53A14C\"\n values.finalizationPeriodSeconds:\n+ 604800\n values.l2BlockTime:\n+ 2\n values.proposer:\n+ \"0x674F64D64Ddc198db83cd9047dF54BF89cCD0ddB\"\n values.submissionInterval:\n+ 1800\n }\n```\n\n```diff\n contract SystemConfig (0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: None\n upgradeability.implementation:\n- \"0x951754B08C52b2aC5d5a2aF1D52C2D12aED5Bcaf\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n implementations.0:\n- \"0x951754B08C52b2aC5d5a2aF1D52C2D12aED5Bcaf\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.version:\n- \"1.3.1\"\n+ \"1.12.0\"\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"0x24E59d9d3Bd73ccC28Dc54062AF7EF7bFF58Bd67\"\n values.L1_CROSS_DOMAIN_MESSENGER_SLOT:\n+ \"0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636\"\n values.L1_ERC_721_BRIDGE_SLOT:\n+ \"0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7\"\n values.L1_STANDARD_BRIDGE_SLOT:\n+ \"0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376\"\n values.l1CrossDomainMessenger:\n+ \"0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f\"\n values.l1ERC721Bridge:\n+ \"0x2901dA832a4D0297FF0691100A8E496626cc626D\"\n values.l1StandardBridge:\n+ \"0x735aDBbE72226BD52e818E7181953f42E3b0FF21\"\n values.L2_OUTPUT_ORACLE_SLOT:\n+ \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n+ \"0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"0x69216395A62dFb243C05EF4F1C27AF8655096a95\"\n values.optimismPortal:\n+ \"0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 18586931\n }\n```\n\n```diff\n contract L1StandardBridge (0x735aDBbE72226BD52e818E7181953f42E3b0FF21) {\n +++ description: None\n upgradeability.implementation:\n- \"0x9c67ACcb38137CB761587032179b176c9276Eb5a\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n implementations.0:\n- \"0x9c67ACcb38137CB761587032179b176c9276Eb5a\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.version:\n- \"1.1.1\"\n+ \"2.1.0\"\n values.otherBridge:\n+ \"0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal (0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) {\n +++ description: None\n upgradeability.implementation:\n- \"0xad3DC277d3242938F8Be18f0560e3d9B9988C46A\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n implementations.0:\n- \"0xad3DC277d3242938F8Be18f0560e3d9B9988C46A\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.GUARDIAN:\n- \"0x309Fe2536d01867018D120b40e4676723C53A14C\"\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.version:\n- \"1.7.2\"\n+ \"2.5.0\"\n values.guardian:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.l2Oracle:\n+ \"0x4317ba146D4933D889518a3e5E11Fe7a53199b04\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n+ \"0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f) {\n +++ description: None\n upgradeability.implementation:\n- \"0x14DdD08c0e28764FC89a266eC95A93619b0EE835\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n implementations.0:\n- \"0x14DdD08c0e28764FC89a266eC95A93619b0EE835\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.version:\n- \"1.4.1\"\n+ \"2.3.0\"\n values.otherMessenger:\n+ \"0x4200000000000000000000000000000000000007\"\n values.paused:\n+ false\n values.portal:\n+ \"0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x69216395A62dFb243C05EF4F1C27AF8655096a95)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_2 (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: None\n```"
}
]
},
{
"id": "754ef233",
"date": "Thu, 14 Mar 2024 07:33:30 GMT",
"timestamp": 1710401610,
"description": "Blobs are switched on.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n +++ description: None\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279133701594312344529\"\n }\n```"
}
]
},
{
"id": "2d75d578",
"date": "Mon, 29 Jan 2024 16:29:36 GMT",
"timestamp": 1706545776,
"description": "Update discovery to include the multisig threshold.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x2901dA832a4D0297FF0691100A8E496626cc626D) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ChallengerMultisig (0x309Fe2536d01867018D120b40e4676723C53A14C) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x4317ba146D4933D889518a3e5E11Fe7a53199b04) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x470d87b1dae09a454A43D1fD772A561a03276aB7) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract ModeMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x50eF494573f28Cad6B64C31b7a00Cdaa48306e15) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x735aDBbE72226BD52e818E7181953f42E3b0FF21) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f) {\n }\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: SuperchainProxyAdmin]\n * SystemConfig [via: SuperchainProxyAdmin]\n * AnchorStateRegistry [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: SuperchainProxyAdmin]\n * ETHLockbox [via: SuperchainProxyAdmin]\n * L1ERC721Bridge [via: SuperchainProxyAdmin]\n * OptimismMintableERC20Factory [via: SuperchainProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1StandardBridge [via: SuperchainProxyAdmin]\n * OptimismPortal2 [via: SuperchainProxyAdmin]\n * DisputeGameFactory [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system [via: OpFoundationUpgradeSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - Optimism Collective Governance Forum",
"url": "https://gov.optimism.io/t/security-council-vote-2-initial-member-ratification/7118"
}
],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6887246668a3b87F54DeB3b94Ba47a6f63F32985",
"type": "EOA",
"isVerified": true,
"name": "0x6887…2985",
"url": "https://etherscan.io/address/0x6887246668a3b87F54DeB3b94Ba47a6f63F32985",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
},
"optimism": {
"roles": [],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 6/9 threshold. It uses the following modules: SaferSafes.\nMember of MintManagerOwner.\n* Can interact with MintManager\n * change the OP token owner to a different MintManager and therefore change the inflation policy [via: MintManagerOwner]",
"accounts": [
{
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"type": "Contract",
"isVerified": true,
"name": "0x3F3C…61D2",
"url": "https://optimistic.etherscan.io/address/0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2"
}
],
"chain": "optimism",
"references": [],
"participants": [
{
"address": "oeth:0xb8CF6C0425FD799D617351C24fF35B493eD06Cb4",
"type": "EOA",
"isVerified": true,
"name": "0xb8CF…6Cb4",
"url": "https://optimistic.etherscan.io/address/0xb8CF6C0425FD799D617351C24fF35B493eD06Cb4"
},
{
"address": "oeth:0x510Aede8bDB9Fe5278C4ca13D5419922cb41f926",
"type": "EOA",
"isVerified": true,
"name": "0x510A…f926",
"url": "https://optimistic.etherscan.io/address/0x510Aede8bDB9Fe5278C4ca13D5419922cb41f926"
},
{
"address": "oeth:0x23d85C88792454DcCffD460bC06C349A21aDb102",
"type": "EOA",
"isVerified": true,
"name": "0x23d8…b102",
"url": "https://optimistic.etherscan.io/address/0x23d85C88792454DcCffD460bC06C349A21aDb102"
},
{
"address": "oeth:0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5",
"type": "EOA",
"isVerified": true,
"name": "0x2eFd…62A5",
"url": "https://optimistic.etherscan.io/address/0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5"
},
{
"address": "oeth:0xDD086e652f81FBDe8b2148Cc026D357De15d77c1",
"type": "EOA",
"isVerified": true,
"name": "0xDD08…77c1",
"url": "https://optimistic.etherscan.io/address/0xDD086e652f81FBDe8b2148Cc026D357De15d77c1"
},
{
"address": "oeth:0xB2433A0C418Bda24a771489918EF3a7EBC57e24C",
"type": "EOA",
"isVerified": true,
"name": "0xB243…e24C",
"url": "https://optimistic.etherscan.io/address/0xB2433A0C418Bda24a771489918EF3a7EBC57e24C"
},
{
"address": "oeth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0xa564…3104",
"url": "https://optimistic.etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"address": "oeth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://optimistic.etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "oeth:0xe4149Acb6F5DA74b760a1007F05FB5514F3351ea",
"type": "EOA",
"isVerified": true,
"name": "0xe414…51ea",
"url": "https://optimistic.etherscan.io/address/0xe4149Acb6F5DA74b760a1007F05FB5514F3351ea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://optimistic.etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "optimism",
"description": "* Can interact with MintManager\n * change the OP token owner to a different MintManager and therefore change the inflation policy [via: SafeL2 → MintManagerOwner]",
"discoveryDrivenData": true
},
{
"id": "MintManagerOwner",
"name": "MintManagerOwner",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26",
"type": "Contract",
"isVerified": true,
"name": "0x2A82…3a26",
"url": "https://optimistic.etherscan.io/address/0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26"
}
],
"chain": "optimism",
"references": [],
"participants": [
{
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"type": "Contract",
"isVerified": true,
"name": "SafeL2",
"url": "#SafeL2"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"accounts": [
{
"address": "oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"type": "EOA",
"isVerified": true,
"name": "0x6B1B…4E3b",
"url": "https://optimistic.etherscan.io/address/0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"displayName": "SuperchainProxyAdminOwner - L2 Alias"
}
],
"chain": "optimism",
"description": "* Can upgrade **with no delay**\n * DeployerWhitelist [via: L2ProxyAdmin]\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * OperatorFeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1784283055,
"baseTimestamp": 1789044333,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "2d3cef7f",
"date": "Thu, 10 Sep 2026 12:47:37 GMT",
"timestamp": 1789044333,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "359cff68",
"date": "Fri, 17 Jul 2026 10:13:04 GMT",
"timestamp": 1784283055,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "0a66a65d",
"date": "Tue, 14 Jul 2026 10:11:55 GMT",
"timestamp": 1784023848,
"description": "Karst hardfork (Upgrade 19b, op-contracts/v7.0.0) L2 activation on 2026-07-08 16:00:01 UTC.\n\nThe final implementation addresses are deterministic and identical to the other Superchain chains (e.g. Ink).\n\nMost predeploys now inherit `ProxyAdminOwnedBase`, which lets a contract read its proxy's ProxyAdmin and ProxyAdmin owner on-chain so privileged functions can be gated to them. On the initializable ones — both bridges, both mintable factories, L2CrossDomainMessenger and every FeeVault — the constructor calls `_disableInitializers()` and `initialize()` is restricted to the ProxyAdmin or its owner (the SuperchainProxyAdminOwner). L1Block is not initializable but inherits the same base and gates its new `setFeature` setter the same way.\n\nCustom gas token support was removed from L2StandardBridge and L2CrossDomainMessenger. The `gasPayingToken()` override is gone, and `withdraw()` / `withdrawTo()` no longer revert on custom gas token chains. OP Mainnet pays gas in ETH, so behaviour is unchanged.\n\nL2ProxyAdmin (1.0.0) adds `upgradePredeploys(address)`, which delegatecalls the L2ContractsManager.\n\nFeeVault configuration (recipient, minimum withdrawal amount, withdrawal network) moved from constructor immutables to storage set by `initialize()`, and is now mutable post-deployment via `setRecipient`, `setMinWithdrawalAmount` and `setWithdrawalNetwork` — each gated to the ProxyAdmin owner. Previously these values were fixed at deployment; the SuperchainProxyAdminOwner can now change them. This also applies to OperatorFeeVault. BaseFeeVault and L1FeeVault are byte-identical and now share implementation `0xf7bed7215EEF1003fac426682Cf2edeb958569f7`.\n\nGasPriceOracle stayed at 1.6.0 with unchanged source; only its implementation address moved.\n\nVersion changes and implementation diffs:\n\n- L2CrossDomainMessenger 1.4.0 -> 2.2.1: https://disco.l2beat.com/diff/oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- L2StandardBridge 1.1.0 -> 1.13.2: https://disco.l2beat.com/diff/oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.1.0 -> 1.11.0: https://disco.l2beat.com/diff/oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.1.0 -> 1.10.1: https://disco.l2beat.com/diff/oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block 1.7.0 -> 1.9.0: https://disco.l2beat.com/diff/oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.0.0 -> 1.2.0: https://disco.l2beat.com/diff/oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.2.0 -> 1.5.1: https://disco.l2beat.com/diff/oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- L2ProxyAdmin ProxyAdmin -> L2ProxyAdmin 1.0.0: https://disco.l2beat.com/diff/oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- OperatorFeeVault 1.0.0 -> 1.1.1: https://disco.l2beat.com/diff/oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537/oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\n- SchemaRegistry 1.0.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13/oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.0.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088/oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\n- GasPriceOracle 1.6.0 (source unchanged): https://disco.l2beat.com/diff/oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\n\nUnrelated to Karst: a member of the SafeL2 at `0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2` was rotated.",
"isHighSeverity": true,
"changeCount": 167,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2) [GnosisSafe] {\n +++ description: None\n values.$members.7:\n- \"oeth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"oeth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract L2CrossDomainMessenger (oeth:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0xc976dd7891ac59d37603c7648ea8e3a566365094a242d169a646ebfed971bab8\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.0\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.otherMessenger:\n+ \"oeth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (oeth:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n values.$implementation:\n- \"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.4:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 4\n+ 5\n implementationNames.oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L2StandardBridge (oeth:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x4354fe0c1ae65beab0a93e37ea50f3964a7d5e51a2f4a33c98cb041a1d18d32c\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.13.2\"\n values.otherBridge:\n+ \"oeth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (oeth:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x0441c14992309acc9ee49b32ded90950f349d5d4ab52d9d4f3380bbfb12d9957\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (oeth:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0xb2fc6f2e6343ad65e6ad1c34dcc5eeb708cc17ebdaeba5635ee74568f976ad26\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.11.0\"\n values.bridge:\n+ \"oeth:0x4200000000000000000000000000000000000010\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (oeth:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe7457c0a0e9e7ba45f45fb369ff94f8a3613c4bb9083999a6eb18eaf6a077cdd\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.1.0\"\n+ \"1.10.1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (oeth:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.3:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.7.0\"\n+ \"1.9.0\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"L1Block\"\n implementationNames.oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (oeth:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0xa8bdac224f506426db48b13c4933c57cbe3d88178a3499712638d559204c5eaa\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n implementationNames.oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (oeth:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0x889f9ffc10090c8df747b3523aa4fde7bcc0aade333f7ddabece6b3f005a2e80\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.2.0\"\n+ \"1.5.1\"\n values.bridge:\n+ \"oeth:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (oeth:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n name:\n- \"ProxyAdmin\"\n+ \"L2ProxyAdmin\"\n template:\n- \"global/ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x96d2f0fa1bd83ebd61ba6a2351c64c7fda7aa580b11ea67bb6bf4338e5c28512\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n values.$implementation:\n- \"oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n+ \"1.0.0\"\n implementationNames.oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n description:\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n }\n```\n\n```diff\n contract BaseFeeVault (oeth:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0xa4fbbae0f482b898d87c15326c29fdeaa7ad5371f679bbaa0dc95b0866325cab\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (oeth:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/L1FeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x09853f7c7e9d53511d9bcb729b4b53f1b00b56183056dd353d2cd640d9407d82\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"L1FeeVault\"\n implementationNames.oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract OperatorFeeVault (oeth:0x420000000000000000000000000000000000001b) [opstack/Layer2/OperatorFeeVault] {\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n sourceHashes.1:\n- \"0x8ee929b67fce68f8daf1dac67514e5e05678a9f554e8d6e676fa28fe81874844\"\n+ \"0x0ba9b644913957c9f60eda0ab433da4523bb2437156e4dd8dadca627c884ba2a\"\n values.$implementation:\n- \"oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"\n+ \"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"1.1.1\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537:\n- \"OperatorFeeVault\"\n implementationNames.oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373:\n+ \"OperatorFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (oeth:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xc94799f3b35c3dedb3578da655614d2690e56477b3e176966113bbf06888e05d\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13\"\n+ \"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.0.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13:\n- \"SchemaRegistry\"\n implementationNames.oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (oeth:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x22dcc9bc6d8b0463159f8a96f6f2ee61c897a8ae5e1b684e38e74e2b25b48e66\"\n+ \"0x16924e7d7c1a311d6c9da93c6bf8bc7bd5454a0efde4d6e365e66c87ef4a0951\"\n values.$implementation:\n- \"oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088\"\n+ \"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.getAttestTypeHash:\n- \"0xdbfdf8dc2b135c26253e00d5b6cbe6f20457e003fd526d97cea183883570de61\"\n+ \"0xfeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d988076\"\n values.getDomainSeparator:\n- \"0xd963157246e3d9bacafb6121ee5c596e8048baf5c3814c1b9fa094fdc4d6aed1\"\n+ \"0x12909de2583872a9cb6474f44ae7f84a355ed273fda804f81a9594c3fa6220e9\"\n values.getRevokeTypeHash:\n- \"0xa98d02348410c9c76735e0d0bb1396f4015ac2bb9615f9c2611d19d7a8a99650\"\n+ \"0xb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e75\"\n values.version:\n- \"1.0.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088:\n- \"EAS\"\n implementationNames.oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```"
}
]
},
{
"id": "b6b12ddf",
"date": "Tue, 30 Jun 2026 20:17:14 GMT",
"timestamp": 1782850566,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed 2026-06-25 via the new OPContractsManagerV2 (`0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D`, v7.1.17).\n\nRespected game type changed 0 → 8 (CANNON → CANNON_KONA): the permissionless fault proof now runs the Rust kona-client on the Cannon VM instead of op-program. Trust model is unchanged (still permissionless fault proofs).\n\nImplementation upgrades:\n- OptimismPortal2 v5.2.0 → v5.6.1: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\n- SystemConfig v3.13.1 → v3.14.2 (adds lastUsedOPCM / OPCM_SLOT): https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory → v1.6.1 Creator Pattern (per-type gameImpls, gameArgs): https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry → v3.9.0, now post-U16 (holds respectedGameType + blacklistDisputeGame): https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- L1CrossDomainMessenger: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1StandardBridge: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1ERC721Bridge: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- ETHLockbox: https://disco.l2beat.com/diff/eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6/eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\n- OptimismMintableERC20Factory: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- SuperchainConfig (shared): https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n\nA new OPContractsManager (`0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D`) is the upgrade mechanism used for this release; upgrade authority remains with the SuperchainProxyAdminOwner. The active proof program is the kona-client prestate `0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025`.",
"isHighSeverity": true,
"changeCount": 139,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.15:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.16:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 15\n+ 17\n values.batchInbox:\n- \"eth:0xFF00000000000000000000000000000000000010\"\n+ \"eth:0x00c65A7bB8d6351C1Cf70C95A316CC6A92839c98\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.16:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.17:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 16\n+ 18\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract ETHLockbox (eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\",\"role\":\"admin\"}\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD061AB95069987868768818cc1248705351e2D0e\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD061AB95069987868768818cc1248705351e2D0e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 12\n+ 14\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.14:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 13\n+ 15\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xD061AB95069987868768818cc1248705351e2D0e) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls.1:\n- \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n values.initBonds.0:\n- \"80000000000000000\"\n+ 0\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n values.game8Args:\n+ \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb3162000000000000000000000000000000000000000000000000000000000000000a\"\n values.game8Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ \"80000000000000000\"\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ \"80000000000000000\"\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "1f1e1d7c",
"date": "Fri, 15 May 2026 13:31:29 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "b8d18031",
"date": "Tue, 05 May 2026 15:19:06 GMT",
"timestamp": 1777994275,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "47f8ef78",
"date": "Thu, 16 Apr 2026 09:33:25 GMT",
"timestamp": 1776331867,
"description": "One signer rotation on the 6-of-9 SafeL2 (0x3F3Cd7) that controls MintManagerOwner: member 0xc222ab replaced with 0x2eFd8F. Threshold unchanged.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2) {\n +++ description: None\n values.$members.3:\n- \"oeth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"oeth:0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5\"\n }\n```"
}
]
},
{
"id": "daeac6d3",
"date": "Thu, 09 Apr 2026 08:07:35 GMT",
"timestamp": 1775721846,
"description": "MintManagerOwner on OP Mainnet (L2) restructured: the previous 3-of-5 multisig was replaced by a 1-of-1 Safe whose sole owner is a 6-of-9 SafeL2 multisig (0x3F3Cd7...). All 5 original EOA members were removed. The 6-of-9 Safe also has a SaferSafes module (0xA8447329...) that can act on its behalf, providing an additional execution path. Net effect: OP token inflation policy now requires 6-of-9 signatures (or the SaferSafes module) through the 1-of-1 delegate, instead of 3-of-5 directly.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MintManagerOwner (oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26) {\n +++ description: None\n values.$members.0:\n- \"oeth:0x3041BA32f451F5850c147805F5521AC206421623\"\n values.$members.1:\n- \"oeth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n values.$members.2:\n- \"oeth:0xdb203D7f00fF435dA107543B33495f9cA2c484C6\"\n values.$members.3:\n- \"oeth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15\"\n values.$members.4:\n- \"oeth:0xA902A27a7631D502E3Ec17fc5d4c3e0861752c94\"\n+ \"oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2\"\n values.$threshold:\n- 3\n+ 1\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"1 of 1 (100%)\"\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005\",\"description\":\"change the OP token owner to a different MintManager and therefore change the inflation policy.\",\"role\":\".owner\"}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005\",\"description\":\"change the OP token owner to a different MintManager and therefore change the inflation policy.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: None\n```"
}
]
},
{
"id": "1fa5b0e0",
"date": "Wed, 25 Mar 2026 10:07:55 GMT",
"timestamp": 1774433205,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "091ef988",
"date": "Fri, 27 Feb 2026 13:57:06 GMT",
"timestamp": 1772198389,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "f98f54a9",
"date": "Fri, 13 Feb 2026 11:46:52 GMT",
"timestamp": 1770912106,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.14:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 14\n+ 15\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xfce6d556d11e1662f316ed1408782a3227b1c1dcd8f643c1f563043298822e62\",\"l2SequenceNumber\":138585637}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.15:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 15\n+ 16\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x478c26109b169a840D61E95B19512FF0b5F19c87)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.11:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 11\n+ 12\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.7:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.12:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x478c26109b169a840D61E95B19512FF0b5F19c87\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x473300df21D047806A082244b417f96b32f13A33\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "ada75541",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272178,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "750c328c",
"date": "Thu, 18 Dec 2025 08:59:03 GMT",
"timestamp": 1766048259,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "2dce476c",
"date": "Wed, 10 Dec 2025 10:26:58 GMT",
"timestamp": 1765362353,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)\n\nGas price oracle - isJovian fork for new gas calculation (getOperatorFee())\nhttps://disco.l2beat.com/diff/oeth:0x93e57A196454CB919193fa9946f14943cf733845/oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (oeth:0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x1cb14befaee4fe093cdeeaab8c4a2d125540a0790929ca046c8193a094a88a4f\"\n+ \"0x3a8edff20d21cac6fe4146bd2ae47f7ec927759ff9eb35e3f32f366e91da9e15\"\n values.$implementation:\n- \"oeth:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.3:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.4.0\"\n+ \"1.6.0\"\n values.isJovian:\n+ true\n implementationNames.oeth:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (oeth:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0x1d69ab3b3edee9b7eeccc72b0980f9041777fdc5f5224f97aa5e69f0a8b68c7c\"\n values.$implementation:\n- \"oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.2:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.6.0\"\n+ \"1.7.0\"\n values.daFootprintGasScalar:\n+ 400\n implementationNames.oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "22abef34",
"date": "Fri, 28 Nov 2025 09:39:21 GMT",
"timestamp": 1764322695,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff\n\n[FaultDisputeGame] (https://disco.l2beat.com/diff/eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d/eth:0x478c26109b169a840D61E95B19512FF0b5F19c87) : added MIN_BASE_FEE, DA_FOOTPRINT_GAS_SCALAR to update type, small diffs.",
"isHighSeverity": true,
"changeCount": 66,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.13:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 13\n+ 14\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.14:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 14\n+ 15\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n EOA (eth:0x473300df21D047806A082244b417f96b32f13A33) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.10:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.6:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.11:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\"\n+ \"eth:0x478c26109b169a840D61E95B19512FF0b5F19c87\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x478c26109b169a840D61E95B19512FF0b5F19c87)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "f4eb1fd5",
"date": "Wed, 29 Oct 2025 18:21:16 GMT",
"timestamp": 1761761995,
"description": "performed an empty mint to disallow inflating the supply for one year. the inflation rate is 2% per year but it was never used, and it is the first time they explicitly skip a year. the value here shows the timestamp of last mint.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MintManager (oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005) {\n +++ description: Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n values.mintPermittedAfter:\n- 0\n+ 1793220409\n }\n```"
}
]
},
{
"id": "a98ed957",
"date": "Mon, 20 Oct 2025 15:27:50 GMT",
"timestamp": 1760973987,
"description": "OpFoundation multisigs member rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "f15ac45e",
"date": "Fri, 03 Oct 2025 14:32:18 GMT",
"timestamp": 1759501868,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F/eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124/eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7/eth:0xD061AB95069987868768818cc1248705351e2D0e\n\nDelayedWETH (replacement 2) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xe214879aD573693A4C49f7654449Caa455cdE34f/eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.12:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.13:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 13\n+ 14\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.10.from:\n- \"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\"\n+ \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n directlyReceivedPermissions.11.from:\n- \"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.10.from:\n- \"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\"\n+ \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n receivedPermissions.11.from:\n- \"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.9:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.10:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe214879aD573693A4C49f7654449Caa455cdE34f)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F\"\n+ \"eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124\"\n+ \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xD061AB95069987868768818cc1248705351e2D0e)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "413b95b3",
"date": "Mon, 18 Aug 2025 14:04:55 GMT",
"timestamp": 1755525885,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "d99b1c51",
"date": "Fri, 25 Jul 2025 17:48:24 GMT",
"timestamp": 1753465704,
"description": "[Optimism upgrade 16](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037): Interop Contracts, Stage 1, and Go 1.23 Support in Cannon\n\ngov changes:\n- DeputyGuardianModule removed: only the SC can e.g. blacklistDisputeGame or change respectedGameType\n- DeputyPauseModule is now a module of the Optimism Guardian Multisig, meaning the Optimism EOA can pause through it\n- Pause expires after 3 months (local + superchain pause = 6 months max pause)\n - identifier = local eth lockbox for local pause or 0x0 for global pause\n\nalmost all contracts have:\n- paused() and guardian() now exposed\n- additional initializer/upgrade check\n- lots of interfaces added in the flat files\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a)\n- add `migrateLiquidity()` and `migrateToSuperRoots()`, callable by proxyAdminOwner\n- `setRespectedGameType()` and `blacklistDisputeGame()` removed (moved to AnchorStateRegistry)\n- ETH moved to the ETHLockbox\n- superRoots (interop) support (e.g. for proving withdrawals)\n\nETHLockbox\n- new contract\n- holds ETH\n- ETH can be unlocked by the optiportal, or withdrawn/migrated by the ProxyAdminOwner\n\n[SystemConfig](https://disco.l2beat.com/diff/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa)\n- max gas limit 200M -> 500M\n\n[L1Standardbridge](https://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0x44AfB7722AF276A601D524F429016A18B6923df0)\n- no significant changes (still holds the ERC-20 tokens)\n\n[L1CDM](https://disco.l2beat.com/diff/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54)\n- `hashSuperRootProof()`, `encodeSuperRootProof()` added, related to the future SuperFaultDisputeGame and interop\n\n[DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D)\n- minimal changes\n\n[AnchorStateRegistry](https://disco.l2beat.com/diff/eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E)\n- `setRespectedGameType()` and `blacklistDisputeGame()` added, can be called by guardian (not DeputyPauser)\n\n[FaultDisputeGame](https://disco.l2beat.com/diff/eth:0x89D68b1D63AAA0db4af1163e81f56B76934292F8/eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n- minimal changes\n\n[PermissionedDisputegame](https://disco.l2beat.com/diff/eth:0xa1E0baCde89d899B3f24eEF3D179cC335A24E777/eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n- minimal changes\n\n[DelayedWETH](https://disco.l2beat.com/diff/eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998)\n- ownable removed\n- `hold()` (recover) now requires msg.sender == proxyadminowner\n\n[MIPS64](https://disco.l2beat.com/diff/eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n- explanations about the diff are in the forum post\n\n[L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F)\n- minimal changes",
"isHighSeverity": true,
"changeCount": 134,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.11:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 10\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.12:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\",\"role\":\"admin\"}\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"role\":\"admin\"}\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\",\"role\":\"admin\"}\n directlyReceivedPermissions.5.from:\n- \"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n directlyReceivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.7.from:\n- \"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.8:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.9:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.respectedGameTypeUpdatedAt:\n- 1726070915\n+ 1753379243\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n values.ethLockbox:\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x89D68b1D63AAA0db4af1163e81f56B76934292F8\"\n+ \"eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xa1E0baCde89d899B3f24eEF3D179cC335A24E777\"\n+ \"eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x23B2C62946350F4246f9f9D027e071f0264FD113)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x322b47Ff1FA8D5611F761e3E275C45B71b294D43)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc5f54F934075677FBA99b5E43468439cbdE88ca7)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xe214879aD573693A4C49f7654449Caa455cdE34f)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "5567ec0e",
"date": "Mon, 14 Jul 2025 12:47:06 GMT",
"timestamp": 1752497226,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MintManagerOwner (0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OperatorFeeVault (0x420000000000000000000000000000000000001b)\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract OPToken (0x4200000000000000000000000000000000000042)\n +++ description: The OP token contract. The minting policy is controlled by the oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005.\n```\n\n```diff\n+ Status: CREATED\n contract MintManager (0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)\n +++ description: Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n```"
}
]
},
{
"id": "df30d7d1",
"date": "Mon, 14 Jul 2025 12:47:06 GMT",
"timestamp": 1752497226,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 32,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1DAITokenBridge (0x10E6593CDda8c58a1d0f14C5164B376352a55f2F)\n +++ description: Custom Gateway for DAI deposits via canonical messaging. Deposited DAI is forwarded to a Vault contract.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1DAIEscrow (0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65)\n +++ description: Stores DAI deposited from the attached L1DAITokenBridge.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SynthetixBridgeEscrow (0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f)\n +++ description: Custom escrow for SNX bridged via canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FeesCollector (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa)\n +++ description: Collecting sequencer, base- and L1 fees from L2.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "746a5459",
"date": "Mon, 26 May 2025 15:08:08 GMT",
"timestamp": 1748272088,
"description": "gaslimit adjustments (net increase while decreasing elasticity).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 4\n+ 2\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 40000000\n }\n```"
}
]
},
{
"id": "b31281df",
"date": "Mon, 12 May 2025 08:10:17 GMT",
"timestamp": 1747037417,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee.",
"isHighSeverity": true,
"changeCount": 82,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6d0f92051952bf3dcccae9e0ff5cf654e3b386df386bc0609b0c7234a2a108bb\"\n+ \"0x926a45849c8c68704718056d544ac26d7683a6b44a90a9590dda1a9bdd495962\"\n values.$implementation:\n- \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$pastUpgrades.2:\n+ [\"2024-07-10T16:00:01.000Z\",\"0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc\",[\"0xa919894851548179A0750865e7974DA599C0Fac7\"]]\n values.$pastUpgrades.1.2:\n- \"2024-07-10T16:00:01.000Z\"\n+ \"2024-03-14T00:00:01.000Z\"\n values.$pastUpgrades.1.1:\n- \"0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc\"\n+ \"0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2\"\n values.$pastUpgrades.1.0.0:\n- \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n+ \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n values.$pastUpgrades.0.2:\n- \"2024-03-14T00:00:01.000Z\"\n+ \"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\"\n values.$pastUpgrades.0.1:\n- \"0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2\"\n+ \"2025-05-09T16:00:01.000Z\"\n values.$pastUpgrades.0.0.0:\n- \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xa919894851548179A0750865e7974DA599C0Fac7:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xbdd7533735ef92fffadfbee431b476e72f2f048487c921c5570443e3cba5cb30\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.$pastUpgrades.1:\n+ [\"2024-03-14T00:00:01.000Z\",\"0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24\",[\"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"]]\n values.$pastUpgrades.0.2:\n- \"2024-03-14T00:00:01.000Z\"\n+ \"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\"\n values.$pastUpgrades.0.1:\n- \"0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24\"\n+ [\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]\n values.$pastUpgrades.0.0:\n- [\"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"]\n+ \"2025-05-09T16:00:01.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.2.0\"\n+ \"1.6.0\"\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n implementationNames.0x07dbe8500fc591d1852B76feE44d5a05e13097Ff:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x4200000000000000000000000000000000000018) {\n +++ description: None\n directlyReceivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"0x4200000000000000000000000000000000000002\"}\n directlyReceivedPermissions.15.from:\n- \"0x4200000000000000000000000000000000000002\"\n+ \"0x4200000000000000000000000000000000000007\"\n directlyReceivedPermissions.14.from:\n- \"0x4200000000000000000000000000000000000007\"\n+ \"0x420000000000000000000000000000000000000F\"\n directlyReceivedPermissions.13.from:\n- \"0x420000000000000000000000000000000000000F\"\n+ \"0x4200000000000000000000000000000000000010\"\n directlyReceivedPermissions.12.from:\n- \"0x4200000000000000000000000000000000000010\"\n+ \"0x4200000000000000000000000000000000000011\"\n directlyReceivedPermissions.11.from:\n- \"0x4200000000000000000000000000000000000011\"\n+ \"0x4200000000000000000000000000000000000012\"\n directlyReceivedPermissions.10.from:\n- \"0x4200000000000000000000000000000000000012\"\n+ \"0x4200000000000000000000000000000000000013\"\n directlyReceivedPermissions.9.from:\n- \"0x4200000000000000000000000000000000000013\"\n+ \"0x4200000000000000000000000000000000000014\"\n directlyReceivedPermissions.8.from:\n- \"0x4200000000000000000000000000000000000014\"\n+ \"0x4200000000000000000000000000000000000015\"\n directlyReceivedPermissions.7.from:\n- \"0x4200000000000000000000000000000000000015\"\n+ \"0x4200000000000000000000000000000000000016\"\n directlyReceivedPermissions.6.from:\n- \"0x4200000000000000000000000000000000000016\"\n+ \"0x4200000000000000000000000000000000000017\"\n directlyReceivedPermissions.5.from:\n- \"0x4200000000000000000000000000000000000017\"\n+ \"0x4200000000000000000000000000000000000018\"\n directlyReceivedPermissions.4.from:\n- \"0x4200000000000000000000000000000000000018\"\n+ \"0x4200000000000000000000000000000000000019\"\n directlyReceivedPermissions.3.from:\n- \"0x4200000000000000000000000000000000000019\"\n+ \"0x420000000000000000000000000000000000001A\"\n directlyReceivedPermissions.2.from:\n- \"0x420000000000000000000000000000000000001A\"\n+ \"0x4200000000000000000000000000000000000020\"\n directlyReceivedPermissions.1.from:\n- \"0x4200000000000000000000000000000000000020\"\n+ \"0x4200000000000000000000000000000000000021\"\n directlyReceivedPermissions.0.from:\n- \"0x4200000000000000000000000000000000000021\"\n+ \"0x420000000000000000000000000000000000001b\"\n }\n```\n\n```diff\n contract OperatorFeeVault (0x420000000000000000000000000000000000001b) {\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n name:\n- \"Proxy\"\n+ \"OperatorFeeVault\"\n sourceHashes.1:\n+ \"0xc35c98e4b7bad72da3eda4ed9193d928885e62142aaf1ab37e3a298cf7a51371\"\n proxyType:\n- \"immutable\"\n+ \"EIP1967 proxy\"\n values.$immutable:\n- true\n values.$admin:\n+ \"0x4200000000000000000000000000000000000018\"\n values.$implementation:\n+ \"0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"\n values.$pastUpgrades:\n+ [[\"2025-05-09T16:00:01.000Z\",\"0xf162acc8ebbaf9237755736b62331a4817fe27bbbe3712f473ecfa8fee499f7c\",[\"0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"]]]\n values.$upgradeCount:\n+ 1\n values.MIN_WITHDRAWAL_AMOUNT:\n+ 0\n values.minWithdrawalAmount:\n+ 0\n values.recipient:\n+ \"0x4200000000000000000000000000000000000019\"\n values.RECIPIENT:\n+ \"0x4200000000000000000000000000000000000019\"\n values.totalProcessed:\n+ 0\n values.version:\n+ \"1.0.0\"\n values.WITHDRAWAL_NETWORK:\n+ 1\n values.withdrawalNetwork:\n+ 1\n implementationNames.0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537:\n+ \"OperatorFeeVault\"\n template:\n+ \"opstack/Layer2/OperatorFeeVault\"\n description:\n+ \"Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\"\n }\n```\n\n```diff\n EOA SuperchainProxyAdminOwner - L2 Alias (0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b) {\n +++ description: None\n receivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"0x4200000000000000000000000000000000000002\",\"via\":[{\"address\":\"0x4200000000000000000000000000000000000018\"}]}\n receivedPermissions.15.from:\n- \"0x4200000000000000000000000000000000000002\"\n+ \"0x4200000000000000000000000000000000000007\"\n receivedPermissions.14.from:\n- \"0x4200000000000000000000000000000000000007\"\n+ \"0x420000000000000000000000000000000000000F\"\n receivedPermissions.13.from:\n- \"0x420000000000000000000000000000000000000F\"\n+ \"0x4200000000000000000000000000000000000010\"\n receivedPermissions.12.from:\n- \"0x4200000000000000000000000000000000000010\"\n+ \"0x4200000000000000000000000000000000000011\"\n receivedPermissions.11.from:\n- \"0x4200000000000000000000000000000000000011\"\n+ \"0x4200000000000000000000000000000000000012\"\n receivedPermissions.10.from:\n- \"0x4200000000000000000000000000000000000012\"\n+ \"0x4200000000000000000000000000000000000013\"\n receivedPermissions.9.from:\n- \"0x4200000000000000000000000000000000000013\"\n+ \"0x4200000000000000000000000000000000000014\"\n receivedPermissions.8.from:\n- \"0x4200000000000000000000000000000000000014\"\n+ \"0x4200000000000000000000000000000000000015\"\n receivedPermissions.7.from:\n- \"0x4200000000000000000000000000000000000015\"\n+ \"0x4200000000000000000000000000000000000016\"\n receivedPermissions.6.from:\n- \"0x4200000000000000000000000000000000000016\"\n+ \"0x4200000000000000000000000000000000000017\"\n receivedPermissions.5.from:\n- \"0x4200000000000000000000000000000000000017\"\n+ \"0x4200000000000000000000000000000000000018\"\n receivedPermissions.4.from:\n- \"0x4200000000000000000000000000000000000018\"\n+ \"0x4200000000000000000000000000000000000019\"\n receivedPermissions.3.from:\n- \"0x4200000000000000000000000000000000000019\"\n+ \"0x420000000000000000000000000000000000001A\"\n receivedPermissions.2.from:\n- \"0x420000000000000000000000000000000000001A\"\n+ \"0x4200000000000000000000000000000000000020\"\n receivedPermissions.1.from:\n- \"0x4200000000000000000000000000000000000020\"\n+ \"0x4200000000000000000000000000000000000021\"\n receivedPermissions.0.from:\n- \"0x4200000000000000000000000000000000000021\"\n+ \"0x420000000000000000000000000000000000001b\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Proxy (0x420000000000000000000000000000000000001b)\n +++ description: None\n```"
}
]
},
{
"id": "2ec9fa35",
"date": "Thu, 08 May 2025 10:05:18 GMT",
"timestamp": 1746698718,
"description": "Introduction of the DeputyPause Module and the EOA superchain pauser. New dispute games deployed with identical code but 1.6.0 cannon64 prestates.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 4\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x5738a876359b48A65d35482C93B43e2c1147B32B)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe\"\n+ \"0x89D68b1D63AAA0db4af1163e81f56B76934292F8\"\n values.gameImpls.3:\n- \"0x5738a876359b48A65d35482C93B43e2c1147B32B\"\n+ \"0xa1E0baCde89d899B3f24eEF3D179cC335A24E777\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "7f7362ad",
"date": "Mon, 28 Apr 2025 07:26:55 GMT",
"timestamp": 1745825215,
"description": "DelayedWETH owners upgraded to the SuperchainProxyAdminOwner. Under review removed.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n issuedPermissions.0.to:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n issuedPermissions.0.to:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.10.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.10.via:\n- [{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]\n receivedPermissions.10.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.9.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.9.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.9.description:\n+ \"set and change address mappings.\"\n receivedPermissions.8.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.8.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.8.description:\n- \"set and change address mappings.\"\n receivedPermissions.7.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.6.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.5.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.5.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.4.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.4.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.4.via:\n- [{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"description\":\"can pull funds from the contract in case of emergency.\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"description\":\"can pull funds from the contract in case of emergency.\"}\n }\n```"
}
]
},
{
"id": "1c843d29",
"date": "Fri, 25 Apr 2025 13:14:46 GMT",
"timestamp": 1745586886,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 104,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.0:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.10:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.9.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.9.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.8.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n values.$pastUpgrades.8.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.8.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.7.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.7.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.7.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$pastUpgrades.6.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537\"\n values.$pastUpgrades.6.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ [\"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"]\n values.$pastUpgrades.6.0:\n- [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n+ \"2023-06-06T15:58:47.000Z\"\n values.$pastUpgrades.5.2:\n- \"0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537\"\n+ \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n values.$pastUpgrades.5.1.0:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.5.0:\n- \"2023-06-06T15:58:47.000Z\"\n+ \"2024-06-10T16:42:59.000Z\"\n values.$pastUpgrades.4.2:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.4.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.4.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.3.2:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n values.$pastUpgrades.3.1:\n- \"2024-02-26T21:44:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.3.0:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"2024-06-10T16:42:59.000Z\"\n values.$pastUpgrades.2.2:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.2.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.1.2:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.1.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.1.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"]\n values.$pastUpgrades.0.2:\n- \"2024-02-26T21:44:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0.0:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.11:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"]]\n values.$pastUpgrades.10.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n values.$pastUpgrades.10.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2021-11-11T17:37:56.000Z\"\n values.$pastUpgrades.10.0.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.$pastUpgrades.9.2:\n- \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.9.1:\n- \"2021-11-11T17:37:56.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.9.0:\n- [\"0x0000000000000000000000000000000000000000\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.8.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a\"\n values.$pastUpgrades.8.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2021-06-22T22:29:27.000Z\"\n values.$pastUpgrades.8.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ [\"0x16393737D09d2722AD13DcA3cA8C3DB957699F1D\"]\n values.$pastUpgrades.7.2:\n- \"0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.7.1:\n- \"2021-06-22T22:29:27.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.7.0:\n- [\"0x16393737D09d2722AD13DcA3cA8C3DB957699F1D\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 11\n+ 12\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.7:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.6.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.6.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.6.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.5.2:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d\"\n values.$pastUpgrades.5.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2022-10-04T22:08:59.000Z\"\n values.$pastUpgrades.5.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2\"]\n values.$pastUpgrades.4.2:\n- \"0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.4.1:\n- \"2022-10-04T22:08:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.3.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.3.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.3.0:\n- [\"0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2\"]\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.2.2.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b\"\n values.$pastUpgrades.1.2:\n- [\"0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b\"]\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.1.1:\n- \"2024-02-26T21:44:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.0:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.0.2:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ [\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]\n values.$pastUpgrades.0.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0x18e98a64fbfe011a7514d7a547900c02a3e0f9a49ab3413d517fd7e0e3c539dd\"\n sourceHashes.0:\n- \"0x18e98a64fbfe011a7514d7a547900c02a3e0f9a49ab3413d517fd7e0e3c539dd\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.8:\n+ [\"2024-06-10T16:42:59.000Z\",\"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.7.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n values.$pastUpgrades.7.1:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.7.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.6.2:\n- [\"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.6.1:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.6.0:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.5.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]\n values.$pastUpgrades.5.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.5.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0\"\n+ \"0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe\"\n values.gameImpls.3:\n- \"0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b\"\n+ \"0x5738a876359b48A65d35482C93B43e2c1147B32B\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x5738a876359b48A65d35482C93B43e2c1147B32B)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "216e9399",
"date": "Fri, 04 Apr 2025 09:17:31 GMT",
"timestamp": 1743758251,
"description": "Upgrade 13: https://gov.optimism.io/t/upgrade-proposal-13-opcm-and-incident-response-improvements/9739",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2024-12-11T12:29:23.000Z\",\"0x6b9ad25cef01bd97f1be9642d96cbf75d533129608d5a62e4ae3d69ead47d3dc\",[\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]]\n values.$pastUpgrades.0.2:\n- \"2024-12-11T12:29:23.000Z\"\n+ [\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]\n values.$pastUpgrades.0.1:\n- \"0x6b9ad25cef01bd97f1be9642d96cbf75d533129608d5a62e4ae3d69ead47d3dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.0:\n- [\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n sourceHashes.0:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.9:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.8.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.8.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.7.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n values.$pastUpgrades.7.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.7.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.6.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.6.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.6.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 9\n+ 10\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\",\"l1ERC721Bridge\":\"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\",\"l1StandardBridge\":\"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\",\"disputeGameFactory\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\",\"optimismPortal\":\"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\",\"optimismMintableERC20Factory\":\"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x6e4b297b822bdda2bb8bbf4dde360ee51379af5a0de55c0d726a2d7b68791bf7\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x6e4b297b822bdda2bb8bbf4dde360ee51379af5a0de55c0d726a2d7b68791bf7\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.10:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"]]\n values.$pastUpgrades.9.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n values.$pastUpgrades.9.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2021-11-11T17:37:56.000Z\"\n values.$pastUpgrades.9.0.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.$pastUpgrades.8.2:\n- \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.8.1:\n- \"2021-11-11T17:37:56.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.8.0:\n- [\"0x0000000000000000000000000000000000000000\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x27B81db41F586016694632193b99E45b1a27B8f8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.10.from:\n- \"0x18DAc71c228D1C32c99489B7323d441E1175e443\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n directlyReceivedPermissions.9.from:\n- \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n directlyReceivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n directlyReceivedPermissions.8.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n directlyReceivedPermissions.8.description:\n+ \"set and change address mappings.\"\n directlyReceivedPermissions.7.permission:\n- \"interact\"\n+ \"upgrade\"\n directlyReceivedPermissions.7.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n directlyReceivedPermissions.7.description:\n- \"set and change address mappings.\"\n directlyReceivedPermissions.6.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n directlyReceivedPermissions.5.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n directlyReceivedPermissions.4.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n directlyReceivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.2.from:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n directlyReceivedPermissions.1.from:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.0.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.10.from:\n- \"0x18DAc71c228D1C32c99489B7323d441E1175e443\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n receivedPermissions.9.from:\n- \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n receivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.8.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.8.description:\n+ \"set and change address mappings.\"\n receivedPermissions.7.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.7.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.7.description:\n- \"set and change address mappings.\"\n receivedPermissions.6.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.5.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.4.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.3.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n receivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.from:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n receivedPermissions.1.from:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.0.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.6:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.0:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.5:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0xaE849EFA4BcFc419593420e14707996936E365E2\"]]\n values.$pastUpgrades.4.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.4.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.4.0.0:\n- \"0xaE849EFA4BcFc419593420e14707996936E365E2\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x91a661891248d8C4916FB4a1508492a5e2CBcb87)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n sourceHashes.0:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.7:\n+ [\"2024-06-10T16:42:59.000Z\",\"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.6.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n values.$pastUpgrades.6.1:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.6.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.5.2:\n- [\"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.5.1:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.5.0:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x27B81db41F586016694632193b99E45b1a27B8f8\"\n+ \"0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0\"\n values.gameImpls.3:\n- \"0x91a661891248d8C4916FB4a1508492a5e2CBcb87\"\n+ \"0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "2e704072",
"date": "Wed, 12 Feb 2025 10:00:09 GMT",
"timestamp": 1739354409,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "a7f1c705",
"date": "Sat, 08 Feb 2025 15:57:57 GMT",
"timestamp": 1739030277,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "267e14a0",
"date": "Thu, 06 Feb 2025 09:16:56 GMT",
"timestamp": 1738833416,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "eb861d9a",
"date": "Mon, 27 Jan 2025 11:40:56 GMT",
"timestamp": 1737978056,
"description": "This is a SystemConfig upgrade (v2.3.0, adding gasToken support) for five Superchain eco chains that use superchain governance.\n- op mainnet\n- metal\n- zora\n- arena-z\n- mode\n\nDue to temporary storage setter implementations, multiple upgrades are counted within a single tx.",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.8:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.7:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 5227\n values.blobbasefeeScalar:\n+ 1014213\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "2abaed05",
"date": "Thu, 09 Jan 2025 06:23:35 GMT",
"timestamp": 1736403815,
"description": "New MIPS, PermissionedDisputeGame, FaultDisputeGame and DelayedWETH contracts.\n\n- interop: add `hashL2toL2CrossDomainMessage()` and `_dependencySet` (in 'encoding' and 'hashing' libraries)\n- formatting and doc changes\n- removal of interfaces (IDisputeGame, IFaultDisputeGame)\n- no changes in DelayedWETH\n\n### MIPS\n\nRefactor: [64bit architecture and multithreading support](https://github.com/ethereum-optimism/docs/issues/1066).",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x050ed6F6273c7D836a111E42153BC00D0380b87d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.8.target:\n- \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.7.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.6.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n directlyReceivedPermissions.5.target:\n- \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n directlyReceivedPermissions.4.target:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n directlyReceivedPermissions.3.target:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n directlyReceivedPermissions.2.target:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.8.target:\n- \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.7.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.6.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.5.target:\n- \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n receivedPermissions.4.target:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n receivedPermissions.3.target:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.2.target:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x82511d494B5C942BE57498a70Fdd7184Ee33B975)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x9F9b897e37de5052cD70Db6D08474550DDb07f39)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xA6f3DFdbf4855a43c529bc42EDE96797252879af)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0x050ed6F6273c7D836a111E42153BC00D0380b87d\"\n+ \"0x91a661891248d8C4916FB4a1508492a5e2CBcb87\"\n values.gameImpls.0:\n- \"0xA6f3DFdbf4855a43c529bc42EDE96797252879af\"\n+ \"0x27B81db41F586016694632193b99E45b1a27B8f8\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x27B81db41F586016694632193b99E45b1a27B8f8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x91a661891248d8C4916FB4a1508492a5e2CBcb87)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "2fdb6cb3",
"date": "Wed, 23 Oct 2024 09:21:39 GMT",
"timestamp": 1729675299,
"description": "Gas limit doubled to 60M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "4e822a6e",
"date": "Sat, 12 Oct 2024 07:40:30 GMT",
"timestamp": 1728718830,
"description": "New custom escrow for wstETH, supports rebasable wstETH on L2. Escrowed token is still wstETH.",
"isHighSeverity": true,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6) {\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n template:\n- \"lido/L1ERC20TokenBridge\"\n+ \"lido/L1LidoTokensBridge\"\n descriptions.0:\n- \"Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\"\n+ \"Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\"\n values.$implementation:\n- \"0x29C5c51A031165CE62F964966A6399b81165EFA4\"\n+ \"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"\n values.$pastUpgrades.1:\n+ [\"2024-10-11T16:21:11.000Z\",[\"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.isDepositsEnabled:\n- false\n+ true\n values.l1Token:\n- \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n values.l2Token:\n- \"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb\"\n values.messenger:\n- \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.proxy__getImplementation:\n- \"0x29C5c51A031165CE62F964966A6399b81165EFA4\"\n+ \"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"\n values.accesscontrol:\n+ {\"DEFAULT_ADMIN_ROLE\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d6\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"0x73b047fe6337183A454c5217241D780a932777bD\"]},\"0x9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"0x73b047fe6337183A454c5217241D780a932777bD\"]}}\n values.ACCOUNTING_ORACLE:\n+ \"0x852deD011285fe67063a08005c71a85690503Cee\"\n values.GENESIS_TIME:\n+ 1606824023\n values.getContractVersion:\n+ 2\n values.L1_TOKEN_NON_REBASABLE:\n+ \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n values.L1_TOKEN_REBASABLE:\n+ \"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84\"\n values.L2_TOKEN_NON_REBASABLE:\n+ \"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb\"\n values.L2_TOKEN_REBASABLE:\n+ \"0x76A50b8c7349cCDDb7578c6627e79b5d99D24138\"\n values.MESSENGER:\n+ \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.SECONDS_PER_SLOT:\n+ 12\n values.TOKEN_RATE_DECIMALS:\n+ 27\n values.WSTETH:\n+ \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n derivedName:\n- \"L1ERC20TokenBridge\"\n+ \"L1LidoTokensBridge\"\n }\n```"
}
]
},
{
"id": "c6799cff",
"date": "Tue, 08 Oct 2024 17:23:11 GMT",
"timestamp": 1728408191,
"description": "The deposits on the main Lido escrow for Optimism are paused by the Lido EmergencyBrake Multisig following [an upgrade proposal](https://research.lido.fi/t/steth-on-optimism-upgrade-announcement-and-action-plan/8474) for rebasing L2 stETH. This is a scheduled action and deposits should be reenabled im 2024/10/10.\n\nConfig related: Move to discovery driven data.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6) {\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n values.isDepositsEnabled:\n- true\n+ false\n }\n```"
}
]
},
{
"id": "9e8dc34b",
"date": "Wed, 25 Sep 2024 09:34:30 GMT",
"timestamp": 1727256870,
"description": "Single signer change in SNX MS (SNX escrow owner).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.3:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0xcC934A54A2Dc516B2bb0CFE2F73bfA9A87F5341f\"\n }\n```"
}
]
},
{
"id": "39358081",
"date": "Mon, 16 Sep 2024 14:09:19 GMT",
"timestamp": 1726495759,
"description": "Synthetix MS signer changes.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.7:\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.6:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.5:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.$members.4:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.$members.3:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.$members.2:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n values.$members.1:\n- \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n+ \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n values.$members.0:\n- \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n+ \"0x148a2c821687686CFBeEbC138534E05797D65984\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "0026fe92",
"date": "Thu, 12 Sep 2024 07:25:21 GMT",
"timestamp": 1726125921,
"description": "Upgrade 10 part 2. Reactivates proof system and adds ability for guardian module to set anchor state.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8\"\n+ \"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n values.respectedGameType:\n- 1\n+ 0\n values.respectedGameTypeUpdatedAt:\n- 1723833359\n+ 1726070915\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 610\n+ 617\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: None\n```"
}
]
},
{
"id": "f50681e8",
"date": "Wed, 11 Sep 2024 09:31:05 GMT",
"timestamp": 1726047065,
"description": "Upgrade #10: https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733\n\nIt fixes some bugs and adds the ability to the anchor state registry to be set by the guardian.",
"isHighSeverity": true,
"changeCount": 34,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (0x0f8EdFbDdD3c0256A80AD8C0F2560B1807873C9c)\n +++ description: None\n```\n\n```diff\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443) {\n +++ description: None\n values.$implementation:\n- \"0x6B7da1647Aa9684F54B2BEeB699F91F31cd35Fb9\"\n+ \"0x1B5CC028A4276597C607907F24E1AC05d3852cFC\"\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"2.0.0\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"}\n directlyReceivedPermissions.8.target:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n directlyReceivedPermissions.7.target:\n- \"0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14\"\n+ \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n directlyReceivedPermissions.6.target:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.6.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n directlyReceivedPermissions.5.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.5.description:\n- \"upgrading bridge implementation allows to access all funds and change every system component.\"\n directlyReceivedPermissions.4.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.8.target:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n receivedPermissions.7.target:\n- \"0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14\"\n+ \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n receivedPermissions.6.target:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.6.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n receivedPermissions.5.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.5.description:\n- \"upgrading bridge implementation allows to access all funds and change every system component.\"\n receivedPermissions.4.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xc307e93a7C530a184c98EaDe4545a412b857b62f)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0xD326E10B8186e90F4E2adc5c13a2d0C137ee8b34)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14)\n +++ description: None\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.gameImpls.1:\n- \"0xc307e93a7C530a184c98EaDe4545a412b857b62f\"\n+ \"0x050ed6F6273c7D836a111E42153BC00D0380b87d\"\n values.gameImpls.0:\n- \"0xf691F8A6d908B58C534B624cF16495b491E633BA\"\n+ \"0xA6f3DFdbf4855a43c529bc42EDE96797252879af\"\n values.permissionedGamesTotal:\n- 493\n+ 610\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xf691F8A6d908B58C534B624cF16495b491E633BA)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x050ed6F6273c7D836a111E42153BC00D0380b87d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x82511d494B5C942BE57498a70Fdd7184Ee33B975)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x9F9b897e37de5052cD70Db6D08474550DDb07f39)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xA6f3DFdbf4855a43c529bc42EDE96797252879af)\n +++ description: None\n```"
}
]
},
{
"id": "12d6f961",
"date": "Fri, 06 Sep 2024 11:28:35 GMT",
"timestamp": 1725622115,
"description": "One signer of SynthetixMultisig is replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 326\n+ 493\n }\n```\n\n```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.0:\n- \"0xe2163dd599067919d1e9108929b568Bf41D3A420\"\n+ \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n }\n```"
}
]
},
{
"id": "85d49add",
"date": "Fri, 30 Aug 2024 10:28:19 GMT",
"timestamp": 1725013699,
"description": "Synthetix MS changes (owns the SNX escrow).\n\nOptimism is meanwhile still using the fallback centralized FPs.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 17\n+ 326\n }\n```\n\n```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.10:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.9:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.$members.8:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.$members.7:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.6:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.5:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.4:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.$members.3:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 11 (45%)\"\n+ \"4 of 7 (57%)\"\n }\n```"
}
]
},
{
"id": "c8b84d97",
"date": "Sat, 17 Aug 2024 12:04:40 GMT",
"timestamp": 1723896280,
"description": "OP Mainnet has used the fall back to activate permissioned games.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n values.respectedGameType:\n- 0\n+ 1\n values.respectedGameTypeUpdatedAt:\n- 1718037779\n+ 1723833359\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 0\n+ 17\n }\n```"
}
]
},
{
"id": "7618d3af",
"date": "Fri, 12 Jul 2024 12:08:02 GMT",
"timestamp": 1720786082,
"description": "These changes are due to the [OP Mainnet 'Fjord' upgrade](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236) which, on the L1, affects the fault proof related contracts in order to introduce the new op-program pre-state hash (otherwise code-identical).\n\n### Fjord upgrade TLDR\n\n- secp256r1 precompile\n- brotli channel compression\n- FastLZ based DA fee calculation\n- max sequencer drift (time delta between L2 block ts and according epoch ts derived from L1) raised from 10 to 30 minutes",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract FaultDisputeGame (0x4146DF64D83acB0DcB0c1a4884a16f090165e122)\n +++ description: None\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.gameImpls.1:\n- \"0xE9daD167EF4DE8812C1abD013Ac9570C616599A0\"\n+ \"0xc307e93a7C530a184c98EaDe4545a412b857b62f\"\n values.gameImpls.0:\n- \"0x4146DF64D83acB0DcB0c1a4884a16f090165e122\"\n+ \"0xf691F8A6d908B58C534B624cF16495b491E633BA\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xE9daD167EF4DE8812C1abD013Ac9570C616599A0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xc307e93a7C530a184c98EaDe4545a412b857b62f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xf691F8A6d908B58C534B624cF16495b491E633BA)\n +++ description: None\n```"
}
]
},
{
"id": "cb0d4d6d",
"date": "Fri, 12 Jul 2024 11:52:45 GMT",
"timestamp": 1720785165,
"description": "The changes are due to the [OP Mainnet 'Fjord' upgrade](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236).\n\nThe GasPriceOracle predeploy is changed to use a FastLZ-based compression estimator for gas price estimation. (compare [the spec](https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/fjord/exec-engine.md#fees))",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: None\n values.$implementation:\n- \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n+ \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n values.baseFeeScalar:\n- 1368\n+ 5227\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n values.isFjord:\n+ true\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: None\n values.baseFeeScalar:\n- 1368\n+ 5227\n }\n```"
}
]
},
{
"id": "4ecf8c00",
"date": "Fri, 28 Jun 2024 07:31:54 GMT",
"timestamp": 1719559914,
"description": "Changed SystemConfig owner from FoundationMultisig_2 (5/7) to FoundationMultisig_1 (5/7).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```"
}
]
},
{
"id": "5cb2d466",
"date": "Tue, 11 Jun 2024 10:11:02 GMT",
"timestamp": 1718100662,
"description": "The ProxyAdmin owner is now the same as L1 (but aliased).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract InternalProxyAdminOwnerMultisig1 (0x28B1eE885034ccD2d5Fa228a9A3157390D27177C)\n +++ description: None\n```\n\n```diff\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018) {\n +++ description: None\n values.owner:\n- \"0x7871d1187A97cbbE40710aC119AA3d412944e4Fe\"\n+ \"0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2ProxyAdminOwner (0x7871d1187A97cbbE40710aC119AA3d412944e4Fe)\n +++ description: None\n```"
}
]
},
{
"id": "a0b98a5b",
"date": "Tue, 11 Jun 2024 08:53:37 GMT",
"timestamp": 1718096017,
"description": "Introduction of permissionless fraud proofs and permissions update to be Stage 1.",
"isHighSeverity": true,
"changeCount": 38,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n implementations.0:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n implementations.0:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.L2_ORACLE:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.l2Oracle:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.SYSTEM_CONFIG:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.respectedGameType:\n+ 0\n values.respectedGameTypeUpdatedAt:\n+ 1718037779\n derivedName:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n upgradeability.modules.0:\n+ \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n upgradeability.threshold:\n- \"4 of 13 (31%)\"\n+ \"10 of 13 (77%)\"\n values.getThreshold:\n- 4\n+ 10\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x0f8EdFbDdD3c0256A80AD8C0F2560B1807873C9c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x4146DF64D83acB0DcB0c1a4884a16f090165e122)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0xD326E10B8186e90F4E2adc5c13a2d0C137ee8b34)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xE9daD167EF4DE8812C1abD013Ac9570C616599A0)\n +++ description: None\n```"
}
]
},
{
"id": "99f085be",
"date": "Wed, 05 Jun 2024 10:52:26 GMT",
"timestamp": 1717584746,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 22,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract InternalProxyAdminOwnerMultisig1 (0x28B1eE885034ccD2d5Fa228a9A3157390D27177C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MintManagerOwner (0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OPToken (0x4200000000000000000000000000000000000042)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OldQuixoticNFTBridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MintManager (0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdminOwner (0x7871d1187A97cbbE40710aC119AA3d412944e4Fe)\n +++ description: None\n```"
}
]
},
{
"id": "91488a67",
"date": "Wed, 05 Jun 2024 10:52:13 GMT",
"timestamp": 1717584733,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract FeesCollector (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa)\n +++ description: None\n```"
}
]
},
{
"id": "98a1e8f6",
"date": "Wed, 15 May 2024 13:52:02 GMT",
"timestamp": 1715781122,
"description": "One signer of the SynthetixMultisig (governing the SNX escrow) has been replaced: `0xEde8a407913A874Dd7e3d5B731AFcA135D30375E` replaced by `0xe2163dd599067919d1e9108929b568Bf41D3A420`.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.getOwners.10:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.9:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.8:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.7:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.6:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.5:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.4:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.getOwners.3:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n values.getOwners.2:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.getOwners.1:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n values.getOwners.0:\n- \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n+ \"0xe2163dd599067919d1e9108929b568Bf41D3A420\"\n }\n```"
}
]
},
{
"id": "5f50e8cb",
"date": "Fri, 12 Apr 2024 12:08:01 GMT",
"timestamp": 1712923681,
"description": "Summary and rationale of the changes: \n\n### SystemConfig\n\nThe SystemConfig now contains the addresses of all the contracts.\n\n### OptimismPortal\n\nThe L2OutputOracle and the SystemConfig variables are no longer immutable. They're only modifiable via an upgrade, but now there is the advantage that different chains can share the same implementation: if they are immutable, the address is hardcoded into the bytecode instead, but now the only things that changes is the state of the proxy.\n\n### L2OutputOracle\n\nImmutable variables, including the challenger and the proposer are no longer immutable.\n\n### L1StandardBridge\n\nThe messenger and other bridge on L2 are no longer immutable.\n\n### L1CrossDomainMessenger\n\nThe OptimismPortal variable is no longer immutable.",
"isHighSeverity": true,
"changeCount": 37,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n implementations.0:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.version:\n- \"1.11.0\"\n+ \"1.12.0\"\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"0xFF00000000000000000000000000000000000010\"\n values.L1_CROSS_DOMAIN_MESSENGER_SLOT:\n+ \"0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636\"\n values.L1_ERC_721_BRIDGE_SLOT:\n+ \"0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7\"\n values.L1_STANDARD_BRIDGE_SLOT:\n+ \"0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376\"\n values.l1CrossDomainMessenger:\n+ \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.l1ERC721Bridge:\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n values.l1StandardBridge:\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n values.L2_OUTPUT_ORACLE_SLOT:\n+ \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n+ \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n values.optimismPortal:\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 17422444\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: None\n upgradeability.implementation:\n- \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n implementations.0:\n- \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.otherMessenger:\n+ \"0x4200000000000000000000000000000000000007\"\n }\n```\n\n```diff\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: None\n upgradeability.implementation:\n- \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n implementations.0:\n- \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.version:\n- \"2.0.0\"\n+ \"2.1.0\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n implementations.0:\n- \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n +++ description: None\n upgradeability.implementation:\n- \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n implementations.0:\n- \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n values.version:\n- \"1.7.0\"\n+ \"1.8.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F)\n +++ description: None\n```"
}
]
},
{
"id": "e9b90b70",
"date": "Thu, 14 Mar 2024 00:15:18 GMT",
"timestamp": 1710375318,
"description": "Optimism uses blobs",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279134670530344387928\"\n }\n```"
}
]
},
{
"id": "ff144b7d",
"date": "Wed, 06 Mar 2024 22:46:02 GMT",
"timestamp": 1709765162,
"description": "Introduced SuperchainConfig contract, able to pause the following functions:\nOptimismPortal.proveWithdrawalTransaction()\nOptimismPortal.finalizeWithdrawalTransaction()\nL1CrossDomainMessenger.relayMessage()\nStandardBridge.finalizeBridgeERC20()\nStandardBridge.finalizeBridgeETH()\nL1ERC721Bridge.finalizeBridgeERC721().",
"isHighSeverity": true,
"changeCount": 34,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n implementations.0:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n values.version:\n- \"1.3.0\"\n+ \"1.11.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: None\n upgradeability.implementation:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n implementations.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n values.version:\n- \"1.4.0\"\n+ \"2.2.0\"\n values.paused:\n+ false\n values.portal:\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: None\n upgradeability.implementation:\n- \"0xBFB731Cd36D26c2a7287716DE857E4380C73A64a\"\n+ \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n implementations.0:\n- \"0xBFB731Cd36D26c2a7287716DE857E4380C73A64a\"\n+ \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n values.version:\n- \"1.1.0\"\n+ \"2.0.0\"\n values.otherBridge:\n+ \"0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n+ \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n implementations.0:\n- \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n+ \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n values.version:\n- \"1.6.0\"\n+ \"2.4.0\"\n values.guardian:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.l2Oracle:\n+ \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n +++ description: None\n upgradeability.implementation:\n- \"0xd2E67B6a032F0A9B1f569E63ad6C38f7342c2e00\"\n+ \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n implementations.0:\n- \"0xd2E67B6a032F0A9B1f569E63ad6C38f7342c2e00\"\n+ \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n values.version:\n- \"1.3.0\"\n+ \"1.7.0\"\n values.challenger:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.finalizationPeriodSeconds:\n+ 604800\n values.l2BlockTime:\n+ 2\n values.proposer:\n+ \"0x473300df21D047806A082244b417f96b32f13A33\"\n values.submissionInterval:\n+ 1800\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: None\n```"
}
]
},
{
"id": "92b2a82b",
"date": "Mon, 12 Feb 2024 08:28:31 GMT",
"timestamp": 1707726511,
"description": "The Security Council is introduced, but with a 4/13 threshold. Now the multisig owning the ProxyAdmin is a 2/2 with the Foundation multisig and the Security Council multisig.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n }\n```"
}
]
},
{
"id": "2503c64b",
"date": "Mon, 08 Jan 2024 11:19:28 GMT",
"timestamp": 1704712768,
"description": "One owner is removed from SynthetixMultisig (now 5/11).",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n values.getOwners[11]:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.10:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.9:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.8:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.7:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.6:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.5:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.4:\n- \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.0:\n- \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n }\n```"
}
]
},
{
"id": "42987478",
"date": "Wed, 03 Jan 2024 13:33:11 GMT",
"timestamp": 1704288791,
"description": "SynthetixMultisig has removed one owner. We are not showing it on the frontend. If it changes often, we can ignore it but for now I'll leave it as it is.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n values.getOwners[12]:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.11:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.10:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.9:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.8:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.7:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.6:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.5:\n- \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.4:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n values.getOwners.3:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.getOwners.2:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n values.getOwners.1:\n- \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.getOwners.0:\n- \"0x28Ed18Bd77A061E0A886a2a8FFb91da95FF03E56\"\n+ \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n }\n```"
}
]
},
{
"id": "f7b9cc0b",
"date": "Tue, 26 Sep 2023 08:05:22 GMT",
"timestamp": 1695715522,
"description": "",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n values.deletedOutputs:\n+ []\n }\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Alchemy Multisig 1",
"name": "Alchemy Multisig 1",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * SystemConfig [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d",
"type": "Contract",
"isVerified": true,
"name": "0xA4fB…bF1d",
"url": "https://etherscan.io/address/0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa3353Ae4458F663f1F888705b044269bd30cd110",
"type": "EOA",
"isVerified": true,
"name": "0xa335…d110",
"url": "https://etherscan.io/address/0xa3353Ae4458F663f1F888705b044269bd30cd110"
},
{
"address": "eth:0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca",
"type": "EOA",
"isVerified": true,
"name": "0xFB00…B1ca",
"url": "https://etherscan.io/address/0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca"
},
{
"address": "eth:0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7",
"type": "EOA",
"isVerified": true,
"name": "0x35A2…E1d7",
"url": "https://etherscan.io/address/0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7"
},
{
"address": "eth:0x001271c57AeC639952B5201D052767c316755512",
"type": "EOA",
"isVerified": true,
"name": "0x0012…5512",
"url": "https://etherscan.io/address/0x001271c57AeC639952B5201D052767c316755512"
},
{
"address": "eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd",
"type": "EOA",
"isVerified": true,
"name": "0x04a2…F2Bd",
"url": "https://etherscan.io/address/0x04a25F65200E56EAd142652b7E5eF372E169F2Bd"
},
{
"address": "eth:0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670",
"type": "EOA",
"isVerified": true,
"name": "0xd144…1670",
"url": "https://etherscan.io/address/0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670"
},
{
"address": "eth:0xeD9919D57162D518014C391a687AA8fb9DB55654",
"type": "EOA",
"isVerified": true,
"name": "0xeD99…5654",
"url": "https://etherscan.io/address/0xeD9919D57162D518014C391a687AA8fb9DB55654"
},
{
"address": "eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://etherscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x57669299e2a7D5BE46Ba817d8039C1350af830e8",
"type": "EOA",
"isVerified": true,
"name": "0x5766…30e8",
"url": "https://etherscan.io/address/0x57669299e2a7D5BE46Ba817d8039C1350af830e8",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xD0b4c3aC8A50B6F1B3949ADaf55Cc9805620EB57",
"type": "EOA",
"isVerified": true,
"name": "0xD0b4…EB57",
"url": "https://etherscan.io/address/0xD0b4c3aC8A50B6F1B3949ADaf55Cc9805620EB57",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1788792449,
"baseTimestamp": 1789044573,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "cc919cba",
"date": "Thu, 10 Sep 2026 12:50:59 GMT",
"timestamp": 1789044573,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "376324a4",
"date": "Mon, 07 Sep 2026 14:49:01 GMT",
"timestamp": 1788792449,
"description": "Settlus switched back from Celestia to Ethereum blobs on 2026-08-31: last Celestia commitment at height 13618693, first blob batch at L1 block 25875293.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.opStackDA.isUsingCelestia:\n- true\n+ false\n }\n```"
}
]
},
{
"id": "8c08fa57",
"date": "Fri, 17 Jul 2026 10:13:35 GMT",
"timestamp": 1784283126,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "d9eee01e",
"date": "Mon, 06 Jul 2026 07:54:12 GMT",
"timestamp": 1783324371,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "4bff27f4",
"date": "Mon, 25 May 2026 08:57:09 GMT",
"timestamp": 1779699347,
"description": "**OP Contracts v5.2 upgrade**: `PermissionedDisputeGame` migrated to a shared implementation via CWIA clones. No permissions change.\n\nExecuted 2026-05-18 by Alchemy Multisig 1 (chain operator); same upgrade applied to `shape` and `worldchain`.\n\nImplementation rotations:\n- **OptimismPortal2** `5.1.1` → `5.2.0` — [diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n- **SystemConfig** `3.11.0` → `3.13.1` — [diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2) — adds `DELAYED_WETH_SLOT` (zero, not active) and `isCustomGasToken()` getter.\n- **DisputeGameFactory** `1.3.0` → `1.4.0` — [diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c) — clone bytecode now embeds gameType + chain-specific args; `*FromDGF` getters expose existing challenger/proposer/weth (new visibility, not new permissions).\n- **AnchorStateRegistry** `3.5.0` → `3.7.0` — [diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5) — adds `getStartingAnchorRoot`.\n\n`gameImpls[1]` now points to shared **PermissionedDisputeGameV2** `eth:0x58bf355C…` (deployed 2025-12-22). Shared **MIPS** FPVM `eth:0x6463dEE3…` appears in discovery because the new V2 references it.\n\n`L1CrossDomainMessenger`, `L1StandardBridge`, `L1ERC721Bridge`, `OptimismMintableERC20Factory`, `DelayedWETH`: `upgradeToAndCall` re-init only, no rotation.",
"isHighSeverity": true,
"changeCount": 46,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.6:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xc424cd12a1242e670af134a4a3ac7f1fb0f3e6ce6dbaba109618d9293040f07c\",\"l2SequenceNumber\":33858173}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.5:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.5:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90863e956115f7618a95bb968ecef2e72e99cdba80f3f1ce63c69d437fdd9f5d5ad294f677a1b7db08b00000000000000000000000000000000000000000000000000000000000014fb1bc6df949b8edc8ee61adb99d578a7a6e6ff7310a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x1bC6Df949b8eDC8EE61adB99d578A7a6E6Ff7310\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.5:\n+ [\"2026-05-18T17:39:23.000Z\",\"0x14780e5cb186caff569482bfa2e9778f093b33a41fcfe21ed8d09933733411ee\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "402e8afb",
"date": "Fri, 15 May 2026 13:11:03 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "3b8c63e6",
"date": "Tue, 05 May 2026 17:16:31 GMT",
"timestamp": 1778001299,
"description": "**OP Stack contracts upgrade on settlus.**\n\nImplementation rotations / version bumps:\n- **SystemConfig** `v3.7.0 → v3.11.0` — adds `daFootprintGasScalar` and `minBaseFee`.\n- **OptimismPortal2** → `v5.1.1`.\n- **DisputeGameFactory** → `v1.3.0`; PermissionedDisputeGame rotated to new address.\n- **AnchorStateRegistry** rotated (v3.5.0 at new address).\n- **DelayedWETH** rotated (v1.5.0 at new address).\n- **MIPS** rotated: old `0x07BABE08...` deleted, new `0x6463dEE3...` (v1.9.0) created.\n- **PreimageOracle** rotated.\n- **OptimismMintableERC20Factory** `v1.10.1 → v1.10.2`.\n\nDiscovery also picked up several Optimism Foundation governance contracts (SaferSafes, DeputyPauseModule, OpFoundationOperationsSafe, DeputyGuardianModule, etc.) reachable from the new SystemConfig wiring.",
"isHighSeverity": true,
"changeCount": 56,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.5:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.4:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xAD905147163589265C20f11D72a14626a6126133)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.4:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xAD905147163589265C20f11D72a14626a6126133\"\n+ \"eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.4:\n+ [\"2026-05-04T07:43:23.000Z\",\"0xf40f73394b2b188378e5ad0709846d7448f9b367a6862730b5a2e96c7c2dbd72\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xba926Da889B3f4224C6d37F39d8433bb454ce38b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "017cb0f0",
"date": "Tue, 07 Apr 2026 21:52:40 GMT",
"timestamp": 1775598688,
"description": "Upgrade to op-contracts v5.x. SystemConfig v3.7.0, OptimismPortal2 v5.0.0, L1CrossDomainMessenger v2.10.0, L1StandardBridge v2.7.0, L1ERC721Bridge v2.8.0, DisputeGameFactory v1.2.0.\nmaximumGasLimit increased from 200M to 500M. New fields: guardian, initVersion, l2ChainId, paused, proxyAdmin, proxyAdminOwner, superchainConfig. Old DelayedWETH and AnchorStateRegistry deleted, new ones created. Now uses standard SuperchainConfig (0x95703e).\n\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6)\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x7f1d12fB2911EB095278085f721e644C1f675696)\nDisputeGameFactory: [diff](https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D)",
"isHighSeverity": true,
"changeCount": 89,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.4:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.7.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 5371\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.3:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.10.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.3:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321) {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558\"\n+ \"eth:0xAD905147163589265C20f11D72a14626a6126133\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.3:\n+ [\"2026-04-07T06:15:11.000Z\",\"0x4885cde82d847d9b82f36ecb185e1d43ae3557d595f4c930813e0660fdd66cb9\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1740171575\n+ 1775542511\n values.version:\n- \"3.14.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.3.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x3f1cE63c69d437FDd9F5d5Ad294f677a1b7Db08B)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x63e956115F7618A95Bb968ecEF2E72e99cdBA80F)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xAD905147163589265C20f11D72a14626a6126133)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "37f1995b",
"date": "Wed, 01 Apr 2026 07:39:58 GMT",
"timestamp": 1775029097,
"description": "Upgrade 14: Isthmus L1 Contracts + MT-Cannon (op-contracts/v3.0.0). https://gov.optimism.io/t/upgrade-proposal-14-isthmus-l1-contracts-mt-cannon/9796\n\nSystemConfig v2.5.0 adds operator fee mechanism (disabled, both scalars set to 0).\nL1CrossDomainMessenger v2.6.0 adds gas estimation constants (ENCODING_OVERHEAD, FLOOR_CALLDATA_OVERHEAD, TX_BASE_GAS).\nOptimismPortal2 v3.14.0, L1StandardBridge v2.3.0, L1ERC721Bridge v2.4.0 with minor internal changes.\nMIPS32 replaced with MIPS64 (MT-Cannon) enabling multi-threading support. PermissionedDisputeGame redeployed to point to new MIPS64 VM.\n\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B)\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x276d3730f219f7ec22274f7263180b8452B46d47/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013)\nMIPS (MIPS32→MIPS64): [diff](https://disco.l2beat.com/diff/eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a/eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\nPermissionedDisputeGame: [diff](https://disco.l2beat.com/diff/eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a/eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558)",
"isHighSeverity": true,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.3:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n- \"SystemConfig\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a\"\n+ \"eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2026-03-30T17:48:35.000Z\",\"0x5fdafef75018bf815bd1af062fd43e5e043d9a85562796e959c9f346c74aeb74\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n- \"OptimismPortal2\"\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n- \"L1StandardBridge\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xfA071DAC93879c0f86a3C4F63c63Da0cE299f558)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "9eb52856",
"date": "Wed, 25 Mar 2026 10:05:17 GMT",
"timestamp": 1774433040,
"description": "Upgrade 13: OPCM and Incident Response Improvements. https://gov.optimism.io/t/upgrade-proposal-13-opcm-and-incident-response-improvements/9739\n\nAlso includes the shared OpFoundation signer rotation (3 signers rotated on OpFoundationUpgradeSafe).",
"isHighSeverity": true,
"changeCount": 79,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.2:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb\",\"l1ERC721Bridge\":\"eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82\",\"l1StandardBridge\":\"eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0\",\"disputeGameFactory\":\"eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76\",\"optimismPortal\":\"eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e\",\"optimismMintableERC20Factory\":\"eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98\"}\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (eth:0x1bC6Df949b8eDC8EE61adB99d578A7a6E6Ff7310) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294\",\"role\":\".challenger\"}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb5150595F1E2240b76F414dc96509f5125ba5DD0\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xb5150595F1E2240b76F414dc96509f5125ba5DD0)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH (eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087:\n- \"DelayedWETH\"\n implementationNames.eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321) {\n +++ description: None\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb5150595F1E2240b76F414dc96509f5125ba5DD0\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294\"\n+ \"eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2026-03-24T08:47:11.000Z\",\"0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
}
]
},
{
"id": "9af64a52",
"date": "Wed, 04 Mar 2026 20:07:26 GMT",
"timestamp": 1772654768,
"description": "One member of the Alchemy Multisig 1 (5/8 threshold) was rotated: 0xA351...700a replaced by 0x04a2...7Bd.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"eth:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n+ \"eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd\"\n }\n```"
}
]
},
{
"id": "58d165f8",
"date": "Fri, 27 Feb 2026 13:25:53 GMT",
"timestamp": 1772198390,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "21f9f35d",
"date": "Fri, 13 Feb 2026 14:33:33 GMT",
"timestamp": 1770993147,
"description": "Settlus switched DA from Ethereum blobs to Celestia. The sequencer is no longer sending blob transactions.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.opStackDA.isSequencerSendingBlobTx:\n- true\n+ false\n values.opStackDA.isUsingCelestia:\n- false\n+ true\n }\n```"
}
]
},
{
"id": "9d2b947d",
"date": "Mon, 26 Jan 2026 09:08:12 GMT",
"timestamp": 1769272378,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "a6499fa5",
"date": "Thu, 18 Dec 2025 08:59:29 GMT",
"timestamp": 1766048283,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "07a6a724",
"date": "Fri, 28 Nov 2025 10:01:51 GMT",
"timestamp": 1764324033,
"description": "Jovian SuperchainConfig upgrade.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "c40bfa27",
"date": "Thu, 23 Oct 2025 12:39:51 GMT",
"timestamp": 1761223075,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "5b25e8bc",
"date": "Fri, 19 Sep 2025 12:58:50 GMT",
"timestamp": 1758286666,
"description": "Multisig key rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.0:\n- \"eth:0xCA730AFfb87935E70E5889418C731eb196237476\"\n+ \"eth:0xa3353Ae4458F663f1F888705b044269bd30cd110\"\n }\n```"
}
]
},
{
"id": "848da5b4",
"date": "Mon, 18 Aug 2025 09:03:13 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "04995d26",
"date": "Mon, 28 Jul 2025 05:57:28 GMT",
"timestamp": 1753682248,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "9177bab1",
"date": "Thu, 24 Jul 2025 11:36:53 GMT",
"timestamp": 1753357013,
"description": "1559 gas config added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 2\n }\n```"
}
]
},
{
"id": "55af78e4",
"date": "Mon, 14 Jul 2025 12:46:06 GMT",
"timestamp": 1752497166,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x44e9388e88Bb8edE446d62590d8A4C6d34813e98)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xb5150595F1E2240b76F414dc96509f5125ba5DD0)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xC206D300b07cB905Cb1831d8a9172d4c66394638)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xC24C700BC65a3b15De13e489e155c81F621B1856)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd35FeF329Bb6569baa373BDa702F3dfF59D57321)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xFc1D560eB01443e31B0EB56620703E80e42A7E4e)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
},
{
"id": "03334d45",
"date": "Wed, 18 Jun 2025 11:38:10 GMT",
"timestamp": 1750246690,
"description": "MS signer changed.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n+ \"0xCA730AFfb87935E70E5889418C731eb196237476\"\n }\n```"
}
]
},
{
"id": "ca2563bb",
"date": "Thu, 08 May 2025 08:50:26 GMT",
"timestamp": 1746694226,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "b48470e8",
"date": "Fri, 04 Apr 2025 13:17:10 GMT",
"timestamp": 1743772630,
"description": "Standard OP chain.",
"isHighSeverity": false,
"changeCount": 27,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x44e9388e88Bb8edE446d62590d8A4C6d34813e98)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xb5150595F1E2240b76F414dc96509f5125ba5DD0)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xC206D300b07cB905Cb1831d8a9172d4c66394638)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xC24C700BC65a3b15De13e489e155c81F621B1856)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd35FeF329Bb6569baa373BDa702F3dfF59D57321)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xf9534EBc84082dF9d35Fb1Ed8786bF8cE8a90294)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xFc1D560eB01443e31B0EB56620703E80e42A7E4e)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Alchemy Multisig 1",
"name": "Alchemy Multisig 1",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d",
"type": "Contract",
"isVerified": true,
"name": "0xA4fB…bF1d",
"url": "https://etherscan.io/address/0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa3353Ae4458F663f1F888705b044269bd30cd110",
"type": "EOA",
"isVerified": true,
"name": "0xa335…d110",
"url": "https://etherscan.io/address/0xa3353Ae4458F663f1F888705b044269bd30cd110"
},
{
"address": "eth:0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca",
"type": "EOA",
"isVerified": true,
"name": "0xFB00…B1ca",
"url": "https://etherscan.io/address/0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca"
},
{
"address": "eth:0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7",
"type": "EOA",
"isVerified": true,
"name": "0x35A2…E1d7",
"url": "https://etherscan.io/address/0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7"
},
{
"address": "eth:0x001271c57AeC639952B5201D052767c316755512",
"type": "EOA",
"isVerified": true,
"name": "0x0012…5512",
"url": "https://etherscan.io/address/0x001271c57AeC639952B5201D052767c316755512"
},
{
"address": "eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd",
"type": "EOA",
"isVerified": true,
"name": "0x04a2…F2Bd",
"url": "https://etherscan.io/address/0x04a25F65200E56EAd142652b7E5eF372E169F2Bd"
},
{
"address": "eth:0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670",
"type": "EOA",
"isVerified": true,
"name": "0xd144…1670",
"url": "https://etherscan.io/address/0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670"
},
{
"address": "eth:0xeD9919D57162D518014C391a687AA8fb9DB55654",
"type": "EOA",
"isVerified": true,
"name": "0xeD99…5654",
"url": "https://etherscan.io/address/0xeD9919D57162D518014C391a687AA8fb9DB55654"
},
{
"address": "eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://etherscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f",
"type": "EOA",
"isVerified": true,
"name": "0xee1A…087f",
"url": "https://etherscan.io/address/0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xF7ca543d652E38692fD12f989eb55b5327eC9A20",
"type": "EOA",
"isVerified": true,
"name": "0xF7ca…9A20",
"url": "https://etherscan.io/address/0xF7ca543d652E38692fD12f989eb55b5327eC9A20",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1784283155,
"baseTimestamp": 1789044600,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "d0e73736",
"date": "Thu, 10 Sep 2026 12:51:29 GMT",
"timestamp": 1789044600,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "b67b87a2",
"date": "Fri, 17 Jul 2026 10:15:14 GMT",
"timestamp": 1784283155,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "0a071aa1",
"date": "Mon, 06 Jul 2026 07:54:33 GMT",
"timestamp": 1783324393,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "a46ad864",
"date": "Mon, 25 May 2026 08:57:24 GMT",
"timestamp": 1779699375,
"description": "**OP Contracts v5.2 upgrade**: `PermissionedDisputeGame` migrated to a shared implementation via CWIA clones. No permissions change.\n\nExecuted 2026-05-18 by Alchemy Multisig 1 (chain operator); same upgrade applied to `settlus` and `worldchain`.\n\nImplementation rotations:\n- **OptimismPortal2** `5.1.1` → `5.2.0` — [diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n- **SystemConfig** `3.11.0` → `3.13.1` — [diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2) — adds `DELAYED_WETH_SLOT` (zero, not active) and `isCustomGasToken()` getter.\n- **DisputeGameFactory** `1.3.0` → `1.4.0` — [diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c) — clone bytecode now embeds gameType + chain-specific args; `*FromDGF` getters expose existing challenger/proposer/weth (new visibility, not new permissions).\n- **AnchorStateRegistry** `3.5.0` → `3.7.0` — [diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5) — adds `getStartingAnchorRoot`.\n\n`gameImpls[1]` now points to shared **PermissionedDisputeGameV2** `eth:0x58bf355C…` (deployed 2025-12-22). Shared **MIPS** FPVM `eth:0x6463dEE3…` appears in discovery because the new V2 references it.\n\n`L1CrossDomainMessenger`, `L1StandardBridge`, `L1ERC721Bridge`, `OptimismMintableERC20Factory`, `DelayedWETH`: `upgradeToAndCall` re-init only, no rotation.",
"isHighSeverity": true,
"changeCount": 46,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908c55f722cf6e14907b844a8b8d3cfd0c04cf3ed9b36b4f78990619fdd8f7e9cc7965326336f2bd70600000000000000000000000000000000000000000000000000000000000001680d8a607f3d2de86add04df00f06794cb339a40dea4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x0D8a607F3d2de86adD04Df00f06794cB339A40de\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 4\n+ 5\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x137f34d380e6aed311aea30584f0b684ca0cdfeaa6c47b9dd0b78802163204a1\",\"l2SequenceNumber\":25499310}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-05-18T17:41:47.000Z\",\"0xd622e8f8eaf67a44f09ffa928ad7dec0ff497de810588ea5ae758b5bfeb54140\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "83c87667",
"date": "Fri, 15 May 2026 13:11:10 GMT",
"timestamp": 1778850530,
"description": "Two unrelated changes bundled into this discovery diff:\n\nScheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.\n\nShape-local sequencer configuration tweak:\n- SystemConfig (`0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355`): `minBaseFee` raised from `0` to `10000000` (10 Mwei = 0.01 Gwei). Not a governance change.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 0\n+ 10000000\n }\n```"
}
]
},
{
"id": "96364562",
"date": "Tue, 05 May 2026 17:16:54 GMT",
"timestamp": 1778001333,
"description": "**OP Stack contracts upgrade on shape.**\n\nImplementation rotations / version bumps:\n- **SystemConfig** `v3.7.0 → v3.11.0` — adds `daFootprintGasScalar` and `minBaseFee`.\n- **OptimismPortal2** → `v5.1.1`.\n- **L1CrossDomainMessenger** `v2.10.0 → v2.11.0`.\n- **DisputeGameFactory** `v1.2.0 → v1.3.0`; PermissionedDisputeGame rotated; `permissionedGameArgs` `EXPECT_REVERT` → `0x`.\n- **L1StandardBridge** `v2.7.0 → v2.8.0`.\n- **L1ERC721Bridge** upgraded.\n- **OptimismMintableERC20Factory** `v1.10.1 → v1.10.2`.\n- **AnchorStateRegistry** rotated (v3.5.0 at new address).\n- **DelayedWETH** rotated (v1.5.0 at new address).\n- **MIPS** rotated: old `0x07BABE08...` deleted, new `0x6463dEE3...` (v1.9.0) created.\n- **PreimageOracle** rotated.\n\nDiscovery also picked up several Optimism Foundation governance contracts (SaferSafes, DeputyPauseModule, LivenessModule, OpFoundationOperationsSafe, DeputyGuardianModule, Guardian Multisig, etc.) reachable from the new SystemConfig wiring.",
"isHighSeverity": true,
"changeCount": 56,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.6:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653\"\n+ \"eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.3:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.6:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.6:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2026-05-04T07:38:35.000Z\",\"0xab0f76e93f0bb490faf06b904f76c92132cd96ed9a51a716be72dba72c70ec61\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xE7A58c18D90E24fbf679E75678cA2b557dd9de49)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "de7add8d",
"date": "Wed, 01 Apr 2026 07:36:18 GMT",
"timestamp": 1775028883,
"description": "Gas parameter update: basefeeScalar and blobbasefeeScalar increased.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 26812\n+ 67290\n values.blobbasefeeScalar:\n- 906223\n+ 1510372\n }\n```"
}
]
},
{
"id": "736d7891",
"date": "Wed, 25 Mar 2026 10:05:35 GMT",
"timestamp": 1774433058,
"description": "Upgrade 14: Isthmus L1 Contracts + MT-Cannon. https://gov.optimism.io/t/upgrade-proposal-14-isthmus-l1-contracts-mt-cannon/9796\n\nAlso includes the shared OpFoundation signer rotation.",
"isHighSeverity": true,
"changeCount": 100,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0D8a607F3d2de86adD04Df00f06794cB339A40de) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.4.from:\n- \"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\"\n+ \"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\n directlyReceivedPermissions.6.from:\n- \"eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n+ \"eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"2.5.0\"\n+ \"2.10.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\"\n+ \"eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract L1StandardBridge (eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.2.2\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".challenger\"}\n receivedPermissions.5.from:\n- \"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\"\n+ \"eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706\"\n receivedPermissions.7.from:\n- \"eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n+ \"eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"2.3.1\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.respectedGameTypeUpdatedAt:\n- 1738700903\n+ 1774426031\n values.version:\n- \"3.13.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n EOA (eth:0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.6:\n+ [\"2026-03-16T07:53:47.000Z\",\"0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$pastUpgrades.7:\n+ [\"2026-03-25T08:07:11.000Z\",\"0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.4.0\"\n+ \"3.7.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 360\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```"
}
]
},
{
"id": "b5e30d15",
"date": "Tue, 10 Mar 2026 22:34:04 GMT",
"timestamp": 1773181943,
"description": "Shape applies OP Stack Upgrade #13 (OPCM and Incident Response Improvements): https://gov.optimism.io/t/upgrade-proposal-13-opcm-and-incident-response-improvements/9739\nAll upgraded implementations are standard shared contracts already deployed across the Superchain.\n\nUpgraded contracts:\n- L1CrossDomainMessenger (v2.3.0→v2.5.0): [diff](https://disco.l2beat.com/diff/eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65/eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231). Added interop predeploy addresses. Refactoring.\n- DisputeGameFactory (v1.0.0→v1.0.1): [diff](https://disco.l2beat.com/diff/eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0). Minor refactoring.\n- OptimismMintableERC20Factory (v1.9.0→v1.10.1): [diff](https://disco.l2beat.com/diff/eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846/eth:0x5493f4677A186f64805fe7317D6993ba4863988F). Minor refactoring.\n- L1StandardBridge (v2.1.0→v2.2.2): [diff](https://disco.l2beat.com/diff/eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF/eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6). Added interop predeploy addresses. Refactoring.\n- DelayedWETH (v1.1.0→v1.3.0): [diff](https://disco.l2beat.com/diff/eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087/eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e). Delay reduced from 7d to 3.5d. New `hold(address)` overload for recovering WETH.\n- L1ERC721Bridge (v2.1.0→v2.3.1): [diff](https://disco.l2beat.com/diff/eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d/eth:0x276d3730f219f7ec22274f7263180b8452B46d47). Added interop predeploy addresses. Refactoring.\n- OptimismPortal2 (v3.10.0→v3.13.0): [diff](https://disco.l2beat.com/diff/eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B/eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd). Game type changes decoupled from withdrawal invalidation via `wasRespectedGameTypeWhenCreated()`. Added EIP-7702 EOA detection. Custom errors replace `require` strings.\n- SystemConfig (v2.3.0→v2.4.0): [diff](https://disco.l2beat.com/diff/eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375/eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc). New `getAddresses()` function returning all L1 contract addresses. Removed legacy gasPayingToken fields.\n\nReplaced contracts:\n- AnchorStateRegistry: old 0x6ace93AF deleted, new 0x4279be4C created (v2.0.0→v2.2.2). [diff](https://disco.l2beat.com/diff/eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D/eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61). Unified anchor state across all game types via `anchorGame` field. Added game validation functions (`isGameRegistered`, `isGameBlacklisted`, etc.).\n- PermissionedDisputeGame: old 0x8090Ac33 deleted, new 0xfFC1CC63 created. Added `closeGame()` and `credit()` functions.\n- PreimageOracle: old 0x9c065e11 deleted, new 0x1fb8cdFc created (standard shared).\n- MIPS: old 0x5fE03a12 deleted, new 0xaA59A077 created (v1.2.1→v1.3.0). Bug fix in `isSigned` check: `(_dat >> (_idx - 1)) != 0` → `(_dat >> (_idx - 1)) & 1 != 0`.",
"isHighSeverity": true,
"changeCount": 75,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0D8a607F3d2de86adD04Df00f06794cB339A40de) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"propose\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.3:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A\"\n+ \"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.2:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DelayedWETH (eth:0x846d9469BAaF481f8516f7c1d03990672B68CB09) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087:\n- \"DelayedWETH\"\n implementationNames.eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"challenge\",\"from\":\"eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735\",\"role\":\".challenger\"}\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6ace93AF6E8b36803577381be9f02A552e81C10D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.3:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x276d3730f219f7ec22274f7263180b8452B46d47:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.3:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.5:\n+ [\"2026-03-09T11:22:23.000Z\",\"0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0x2b18602877181C3cB72C687E2A771E123A3788E3\",\"l1ERC721Bridge\":\"eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\",\"l1StandardBridge\":\"eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B\",\"disputeGameFactory\":\"eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\",\"optimismPortal\":\"eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3\",\"optimismMintableERC20Factory\":\"eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1\"}\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x4279be4CCbFd62FA8f7adE5A30F98d601101CF61)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xfFC1CC63846dac521FB173dE86d0D765Df4DF735)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "c6579d60",
"date": "Wed, 04 Mar 2026 20:07:07 GMT",
"timestamp": 1772654729,
"description": "One member of the Alchemy Multisig 1 (5/8 threshold) was rotated: 0xA351...700a replaced by 0x04a2...7Bd.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"eth:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n+ \"eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd\"\n }\n```"
}
]
},
{
"id": "7029d7b2",
"date": "Fri, 27 Feb 2026 13:25:18 GMT",
"timestamp": 1772198391,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "3144f93f",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272387,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 10200\n+ 26812\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "b9f09d48",
"date": "Thu, 18 Dec 2025 08:59:56 GMT",
"timestamp": 1766048309,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "a005d14e",
"date": "Fri, 28 Nov 2025 10:09:06 GMT",
"timestamp": 1764324463,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "c68c2927",
"date": "Thu, 23 Oct 2025 12:40:57 GMT",
"timestamp": 1761223131,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "235a57f9",
"date": "Fri, 19 Sep 2025 13:03:40 GMT",
"timestamp": 1758286953,
"description": "Multisig key rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.0:\n- \"eth:0xCA730AFfb87935E70E5889418C731eb196237476\"\n+ \"eth:0xa3353Ae4458F663f1F888705b044269bd30cd110\"\n }\n```"
}
]
},
{
"id": "74322dbb",
"date": "Mon, 18 Aug 2025 09:03:25 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "06df243a",
"date": "Mon, 28 Jul 2025 05:57:46 GMT",
"timestamp": 1753682266,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "36260cb2",
"date": "Thu, 24 Jul 2025 11:37:40 GMT",
"timestamp": 1753357060,
"description": "1559 gas config added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 2\n }\n```"
}
]
},
{
"id": "fcdf306c",
"date": "Mon, 14 Jul 2025 12:46:06 GMT",
"timestamp": 1752497166,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x2b18602877181C3cB72C687E2A771E123A3788E3)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x6ace93AF6E8b36803577381be9f02A552e81C10D)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x846d9469BAaF481f8516f7c1d03990672B68CB09)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xcee78437aE9e15cee9c78E63757E0153c0FD7479)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xEB06fFa16011B5628BaB98E29776361c83741dd3)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```"
}
]
},
{
"id": "88bfd33a",
"date": "Wed, 18 Jun 2025 11:38:16 GMT",
"timestamp": 1750246696,
"description": "MS signer changed.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n+ \"0xCA730AFfb87935E70E5889418C731eb196237476\"\n }\n```"
}
]
},
{
"id": "5963ba8b",
"date": "Thu, 08 May 2025 08:50:35 GMT",
"timestamp": 1746694235,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "78346230",
"date": "Fri, 04 Apr 2025 09:43:07 GMT",
"timestamp": 1743759787,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "64564568",
"date": "Mon, 31 Mar 2025 11:27:18 GMT",
"timestamp": 1743420438,
"description": "ms signer changes.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.7:\n+ \"0x001271c57AeC639952B5201D052767c316755512\"\n values.$members.6:\n+ \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n values.$members.5:\n- \"0x5EABE7f6673311EdD1Ad17A76ce148c2Bb56aF01\"\n+ \"0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca\"\n values.$members.4:\n- \"0x39CF304731099e756204219BF0a8cCc4738dE9dD\"\n+ \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n values.$members.3:\n- \"0xaCEF7482b54a57F50b1CD8c99d1dC1964202A063\"\n+ \"0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n values.$members.2:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xeD9919D57162D518014C391a687AA8fb9DB55654\"\n values.$members.1:\n- \"0x3f0030b9Ca695Abd41b2B619F3298e172e4FCAD6\"\n+ \"0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7\"\n values.$members.0:\n- \"0x2e42cEfC761e64Bf4442694220d31C2464a6EE21\"\n+ \"0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670\"\n values.$threshold:\n- 3\n+ 5\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"5 of 8 (63%)\"\n }\n```"
}
]
},
{
"id": "e4e8a29f",
"date": "Tue, 18 Mar 2025 11:17:59 GMT",
"timestamp": 1742296679,
"description": "Upgrade to standard SystemConfig v2.3.0.",
"isHighSeverity": true,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.4:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]]\n values.$pastUpgrades.3:\n+ [\"2025-03-17T16:24:35.000Z\",\"0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\"\n values.$pastUpgrades.2.0:\n- \"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"2025-02-04T20:28:23.000Z\"\n+ \"0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02\"\n values.$pastUpgrades.1.1:\n- \"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\"\n+ \"2025-03-17T16:24:35.000Z\"\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 10200\n values.blobbasefeeScalar:\n+ 906223\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "b78a56b8",
"date": "Fri, 21 Feb 2025 13:26:09 GMT",
"timestamp": 1740144369,
"description": "PermissionedDisputeGame upgraded to known version.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.5.from:\n- \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n+ \"0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DisputeGameFactory (0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0xeFcb9D8FD3e21346a26791359a015c2304582238\"\n+ \"0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x753355FE25E5592345Ac426DF2F6325E658575D1)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AlchemyMultisig1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.5.from:\n- \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n+ \"0x846d9469BAaF481f8516f7c1d03990672B68CB09\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xeFcb9D8FD3e21346a26791359a015c2304582238)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x8090Ac33F4C9A1A220492487390dbe0c3b56a37A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x846d9469BAaF481f8516f7c1d03990672B68CB09)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "5d976d7f",
"date": "Wed, 12 Feb 2025 10:00:21 GMT",
"timestamp": 1739354421,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "725f6e89",
"date": "Sat, 08 Feb 2025 15:58:10 GMT",
"timestamp": 1739030290,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "15714b92",
"date": "Thu, 06 Feb 2025 09:20:44 GMT",
"timestamp": 1738833644,
"description": "OP Stack SC signer rotation. Ignored permissioned games count manually.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "20fbdcd0",
"date": "Wed, 05 Feb 2025 06:24:28 GMT",
"timestamp": 1738736668,
"description": "Upgrade to OptiPortal2 and permissioned proofs.",
"isHighSeverity": true,
"changeCount": 83,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"}\n directlyReceivedPermissions.7.from:\n- \"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n+ \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n directlyReceivedPermissions.6.from:\n- \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n+ \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n directlyReceivedPermissions.5.from:\n- \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n+ \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n directlyReceivedPermissions.4.from:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n+ \"0x6ace93AF6E8b36803577381be9f02A552e81C10D\"\n directlyReceivedPermissions.1.from:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (0x125664BEf08177ca43f6f301E63118b1e4cCDe09)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x2b18602877181C3cB72C687E2A771E123A3788E3) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"0xAEfEA5D2Dd3B9A05a67FBD5E7C06c19151A7fe50\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"0x70201b22244D19fc52c2D09DC3e06c6cD2819067\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"0x5B0dE7F3CC36E5b4AF6580Ae7149Afad3E3C94D4\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x6Ef8c69CfE4635d866e3E02732068022c06e724D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract AlchemyMultisig1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\",\"via\":[{\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n receivedPermissions.7.from:\n- \"0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355\"\n+ \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n receivedPermissions.6.from:\n- \"0xEB06fFa16011B5628BaB98E29776361c83741dd3\"\n+ \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n receivedPermissions.5.from:\n- \"0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af\"\n+ \"0x753355FE25E5592345Ac426DF2F6325E658575D1\"\n receivedPermissions.4.from:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n+ \"0x6ace93AF6E8b36803577381be9f02A552e81C10D\"\n receivedPermissions.1.from:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"0x5cBe8a4463370e38AcE1406875872eF38342a1c6\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x90ab8a3636fafa5cb0ab4305b2d912546ceb47ebc3abed324bfa1727a9c74acc\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"to\":\"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\",\"via\":[{\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}]}\n issuedPermissions.0.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.0.to:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.0:\n+ {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"}\n values.$implementation:\n- \"0x3Db18Ba41E7F377fa2603D2B500f40CF82683b78\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n values.superchainConfig:\n- \"0x125664BEf08177ca43f6f301E63118b1e4cCDe09\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.6.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1738700903\n displayName:\n+ \"OptimismPortal\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n values.$implementation:\n- \"0x8174764Ae82696D232D5C93FEA6A006b1286dC4a\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.2:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]]\n values.$pastUpgrades.1:\n+ [\"2025-02-04T20:28:23.000Z\",\"0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x6Ef8c69CfE4635d866e3E02732068022c06e724D\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x6ace93AF6E8b36803577381be9f02A552e81C10D)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x753355FE25E5592345Ac426DF2F6325E658575D1)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xeFcb9D8FD3e21346a26791359a015c2304582238)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "12153dcb",
"date": "Wed, 30 Oct 2024 19:40:16 GMT",
"timestamp": 1730317216,
"description": "Shape switches the ProxyAdmin owner to a 3/6 multisig. EOA warning removed.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e) {\n +++ description: None\n values.owner:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x125664BEf08177ca43f6f301E63118b1e4cCDe09) {\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n issuedPermissions.1.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0,\"description\":\"upgrading bridge implementation allows to access all funds and change every system component.\"}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n issuedPermissions.0.via.0.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n }\n```\n\n```diff\n contract L2OutputOracle (0x6Ef8c69CfE4635d866e3E02732068022c06e724D) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (0xacAF178b5048CB56712dc59E95fBA72F7990A005)\n +++ description: None\n```\n\n```diff\n contract AddressManager (0xcee78437aE9e15cee9c78E63757E0153c0FD7479) {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0,\"description\":\"set and change address mappings.\"}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n issuedPermissions.0.via.0.description:\n+ \"set and change address mappings.\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n issuedPermissions.0.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract OptimismPortal (0xEB06fFa16011B5628BaB98E29776361c83741dd3) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n issuedPermissions.1.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.2.target:\n- \"0xee1Af3f99AF8C5b93512FbE2A3f0dD5568CE087f\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xacAF178b5048CB56712dc59E95fBA72F7990A005\"\n+ \"0x11B190Ae661c6d6884dFEE48E215691E0DdB842e\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ShapeMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```"
}
]
},
{
"id": "e1fffe7d",
"date": "Mon, 28 Oct 2024 16:23:35 GMT",
"timestamp": 1730132615,
"description": "Initial discovery: Standard OP stack rollup with EOA admin. (alchemy)",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract ProxyAdmin (0x11B190Ae661c6d6884dFEE48E215691E0DdB842e)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x125664BEf08177ca43f6f301E63118b1e4cCDe09)\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x2b18602877181C3cB72C687E2A771E123A3788E3)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x319322906beAdf69dF5d4607169c63D692B1aDC1)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x6Ef8c69CfE4635d866e3E02732068022c06e724D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract ShapeMultisig (0xacAF178b5048CB56712dc59E95fBA72F7990A005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xcee78437aE9e15cee9c78E63757E0153c0FD7479)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0xEB06fFa16011B5628BaB98E29776361c83741dd3)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```"
}
]
}
]
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * ETHLockbox [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Soneium Multisig",
"name": "Soneium Multisig",
"description": "A Multisig with 3/6 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033",
"type": "Contract",
"isVerified": true,
"name": "0x5091…3033",
"url": "https://etherscan.io/address/0x509182eC226b3B71D36A3255A80EF0b1A9D43033"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba",
"type": "EOA",
"isVerified": true,
"name": "0xd45F…2cba",
"url": "https://etherscan.io/address/0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba"
},
{
"address": "eth:0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E",
"type": "EOA",
"isVerified": true,
"name": "0x94e9…AF7E",
"url": "https://etherscan.io/address/0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E"
},
{
"address": "eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65",
"type": "EOA",
"isVerified": true,
"name": "0x556E…7d65",
"url": "https://etherscan.io/address/0x556Eb1b888eF0a02be4360e960824fc5aC197d65"
},
{
"address": "eth:0xb9269f274E7Edc73bf3d923E347d0784e4a5e452",
"type": "EOA",
"isVerified": true,
"name": "0xb926…e452",
"url": "https://etherscan.io/address/0xb9269f274E7Edc73bf3d923E347d0784e4a5e452"
},
{
"address": "eth:0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a",
"type": "EOA",
"isVerified": true,
"name": "0xD6db…F94a",
"url": "https://etherscan.io/address/0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a"
},
{
"address": "eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea",
"type": "EOA",
"isVerified": true,
"name": "0x1eda…F5ea",
"url": "https://etherscan.io/address/0x1edae2A7C9ECF37319D4E113588d946e9901F5ea"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6776BE80dBAda6A02B5F2095cF13734ac303B8d1",
"type": "EOA",
"isVerified": true,
"name": "0x6776…B8d1",
"url": "https://etherscan.io/address/0x6776BE80dBAda6A02B5F2095cF13734ac303B8d1",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1784283256,
"baseTimestamp": 1789044630,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "c53e5419",
"date": "Thu, 10 Sep 2026 12:51:56 GMT",
"timestamp": 1789044630,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "03fb66c8",
"date": "Fri, 17 Jul 2026 10:15:48 GMT",
"timestamp": 1784283256,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "9732e1d7",
"date": "Wed, 01 Jul 2026 09:39:21 GMT",
"timestamp": 1782898692,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa4890928941e62e273da359374b105f803329f47318fbb58c366e21f395ddec7cba0510a2d9116b47000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract ETHLockbox (eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "609b696f",
"date": "Fri, 15 May 2026 13:11:06 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "17166f1c",
"date": "Tue, 05 May 2026 15:19:06 GMT",
"timestamp": 1777994278,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "ddf34774",
"date": "Wed, 25 Mar 2026 10:08:02 GMT",
"timestamp": 1774433216,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "a4fc4ce9",
"date": "Fri, 27 Feb 2026 13:25:30 GMT",
"timestamp": 1772198392,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "935cfc48",
"date": "Thu, 19 Feb 2026 10:12:44 GMT",
"timestamp": 1771495897,
"description": "Upgrade to op-contracts/v6.0.0-rc.1 (Upgrade 18 - \"Cannon + Kona and Custom Gas Token v2\"). Approved via Optimism governance.\n\nAnchorStateRegistry (v3.5.0 → v3.7.0): now the central authority for game validity and anchor state management. Adds granular game validation (isGameRegistered, isGameRespected, isGameBlacklisted, isGameRetired, isGameFinalized, isGameClaimValid). Stores disputeGameFactory directly, delegates pause logic to SystemConfig.\n[diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5)\n\nDisputeGameFactory (v1.3.0 → v1.4.0): adds the \"Creator Pattern\" refactor with new `gameArgs` storage mapping and overloaded `setImplementation()` accepting CWIA args. Enables a single dispute game implementation to serve multiple game types (e.g., CANNON and CANNON_KONA) with different configuration.\n[diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c)\n\nOptimismPortal2 (v5.1.1 → v5.2.0): adds Custom Gas Token mode enforcement (reverts on native ETH ops in CGT mode), ETHLockbox integration for ETH custody during deposits/withdrawals. Legacy getters (disputeGameFactory, disputeGameFinalityDelaySeconds, etc.) now proxy through AnchorStateRegistry.\n[diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n\nSystemConfig (v3.11.0 → v3.13.1): replaces hardcoded custom gas token logic with feature flag system (`isFeatureEnabled` mapping). New state variables: daFootprintGasScalar, minBaseFee, l2ChainId, superchainConfig reference. Updated `isCustomGasToken()` and `paused()` to read from feature flags.\n[diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2)\n\nOld PermissionedDisputeGame (v1.8.0) deleted, replaced by PermissionedDisputeGameV2 (v2.2.0) inheriting from FaultDisputeGameV2 with dual credit tracking (normalModeCredit/refundModeCredit), bond distribution mode system, and credit unlock mechanism.\n[diff](https://disco.l2beat.com/diff/eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n\nL1ERC721Bridge, L1CrossDomainMessenger, OptimismMintableERC20Factory also upgraded (implementation changes only).",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x17ce11194e3dd58b940485ebc70141f3654183ceb2700d590a6bc57c4cc7f68c\",\"l2SequenceNumber\":5084269}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "92e5fce7",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272398,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "9fc0cdc6",
"date": "Thu, 18 Dec 2025 09:00:21 GMT",
"timestamp": 1766048336,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "0626c204",
"date": "Fri, 05 Dec 2025 11:25:37 GMT",
"timestamp": 1764933869,
"description": "Multisig member change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Soneium Multisig (eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.2:\n- \"eth:0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65\"\n values.$members.5:\n- \"eth:0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea\"\n }\n```"
}
]
},
{
"id": "c7094257",
"date": "Fri, 28 Nov 2025 10:11:10 GMT",
"timestamp": 1764324554,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "0b5fd4a5",
"date": "Tue, 04 Nov 2025 17:13:36 GMT",
"timestamp": 1762276338,
"description": "gas market changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 9\n+ 10\n }\n```"
}
]
},
{
"id": "a1dc4ca5",
"date": "Thu, 23 Oct 2025 12:41:45 GMT",
"timestamp": 1761223197,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "2e601d7f",
"date": "Fri, 03 Oct 2025 14:25:50 GMT",
"timestamp": 1759501481,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4/eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754/eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5",
"isHighSeverity": true,
"changeCount": 58,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n+ \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.7:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "ce5f584f",
"date": "Mon, 29 Sep 2025 14:50:42 GMT",
"timestamp": 1759157377,
"description": "Increase in EIP-1559 elasticity (from 8 to 9), meaning that in periods of high demand the block can expand up to 9x the block gas target.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 8\n+ 9\n }\n```"
}
]
},
{
"id": "7cb59980",
"date": "Mon, 18 Aug 2025 09:03:38 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "db66d97c",
"date": "Fri, 25 Jul 2025 17:48:25 GMT",
"timestamp": 1753465705,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 126,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the SuperchainConfig's `pause()` function\"}]}\n receivedPermissions.1.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.1.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.1.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n+ \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.3.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.6:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 1868\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1733134751\n+ 1753380095\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n values.ethLockbox:\n+ \"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.1.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\"},{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x4890928941e62e273dA359374b105F803329F473)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x67B4de6FfA66EF201Ea6099A89cA397D56622E31)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "e261fa11",
"date": "Mon, 14 Jul 2025 12:46:24 GMT",
"timestamp": 1752497184,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Soneium Multisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "a1857ffd",
"date": "Thu, 08 May 2025 08:50:59 GMT",
"timestamp": 1746694259,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "96b5be50",
"date": "Fri, 25 Apr 2025 13:16:01 GMT",
"timestamp": 1745586961,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n+ \"0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.1.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.5:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.4.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.4.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.4.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$pastUpgrades.3.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n values.$pastUpgrades.3.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-02-28T14:55:35.000Z\"\n values.$pastUpgrades.3.0.0:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.2.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.1:\n- \"2025-02-28T14:55:35.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.1.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.0.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]\n values.$pastUpgrades.0.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.1.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "a900d18d",
"date": "Sun, 06 Apr 2025 08:10:27 GMT",
"timestamp": 1743927027,
"description": "eip 1559 gas conf added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 7\n }\n```"
}
]
},
{
"id": "f1ef5211",
"date": "Fri, 04 Apr 2025 09:40:12 GMT",
"timestamp": 1743759612,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 78,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x42D15f045159Ce4adE9EDC7da5704eF36056c936\"\n+ \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.8.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n receivedPermissions.7.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.6.via.0.address:\n- \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.6.description:\n+ \"set and change address mappings.\"\n receivedPermissions.5.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.5.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n receivedPermissions.5.description:\n- \"set and change address mappings.\"\n receivedPermissions.5.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.4:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.3.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.3.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 4\n+ 5\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f\",\"l1ERC721Bridge\":\"0x5933e323bE8896DfaCd1cD671442F27dAA10a053\",\"l1StandardBridge\":\"0xeb9bf100225c214Efc3E7C651ebbaDcF85177607\",\"disputeGameFactory\":\"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\",\"optimismPortal\":\"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\",\"optimismMintableERC20Factory\":\"0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.0.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n directlyReceivedPermissions.5.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n directlyReceivedPermissions.4.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "d790c994",
"date": "Fri, 07 Mar 2025 13:56:40 GMT",
"timestamp": 1741355800,
"description": "Single member added to SoneiumMultisig.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.5:\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.4:\n- \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.3:\n- \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.2:\n- \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.1:\n- \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$members.0:\n- \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n+ \"0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "893fdcbc",
"date": "Mon, 03 Mar 2025 09:03:39 GMT",
"timestamp": 1740992619,
"description": "SystemConfig upgrade to known version:\n- libraries added (Constants, LibString, GasPayingToken)\n- minor changes",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.3:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 9736\n values.blobbasefeeScalar:\n+ 1540079\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "c2d91d02",
"date": "Wed, 26 Feb 2025 16:48:30 GMT",
"timestamp": 1740588510,
"description": "gasLimit raised a bit (60M->30M in last update).\n\nconfig related: added categories for all opstack, op stack and polygoncdk stack templates.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 40000000\n }\n```"
}
]
},
{
"id": "750bfa0c",
"date": "Tue, 18 Feb 2025 10:39:42 GMT",
"timestamp": 1739875182,
"description": "Soneium gas limit halved (checked on l2 block explorer since some op stacks have weird custom gas config).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 30000000\n }\n```"
}
]
},
{
"id": "dfc25f77",
"date": "Wed, 12 Feb 2025 10:00:33 GMT",
"timestamp": 1739354433,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "f61aea97",
"date": "Sat, 08 Feb 2025 15:58:23 GMT",
"timestamp": 1739030303,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "e1720f20",
"date": "Thu, 06 Feb 2025 09:17:21 GMT",
"timestamp": 1738833441,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "94daa03c",
"date": "Tue, 04 Feb 2025 14:08:55 GMT",
"timestamp": 1738678135,
"description": "Added standard lido external canonical escrow (shapes in stock).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1LidoTokensBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "235d4715",
"date": "Mon, 27 Jan 2025 12:04:05 GMT",
"timestamp": 1737979445,
"description": "Soneium external bridge gov change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.$admin:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n values.owner:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n }\n```"
}
]
},
{
"id": "ccfb7a68",
"date": "Wed, 22 Jan 2025 12:20:00 GMT",
"timestamp": 1737548400,
"description": "MS member changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.4:\n- \"0x48FF760E582c3740336656349684b4FD4c6ED88F\"\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.3:\n- \"0x127Bae6Fc751dC92111a359500ae91EB437f3dCb\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.2:\n- \"0x83cC8195856b0463dEd5f052021009b7985FDa2C\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.1:\n- \"0xEc33045FA66cF43E9b5b9F332dc124dbc71c0917\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.0:\n- \"0x2b3Aa0Dc0622eFb9426F5A44015aE9151Bd8224C\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 5 (40%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "85ddc730",
"date": "Wed, 15 Jan 2025 17:33:42 GMT",
"timestamp": 1736962422,
"description": "First discovery of Soneium.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
}
]
+8 -1
+7 -0
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936803,
"transactionHash": "0x67e7390665dd0d4d9d7ad86cf3ae11c0dce8d7538b69d5fc15d176b36474e08f",
"implementations": [
"eth:0x8Ab1b1E21c2f229a7bB1430CF3ADfb0644a69ab7"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x304a52C8354f323672191Ebf1347Cd3d494Ea830"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xde8B916B972cE3c27C21157Fc2b107c413062b9d"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xb6714d9808909b9383B09aD7Ea4Bc7E59b3B0E20"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x6335a030fdCBa6c5704a74EF3BeDdd6550c0375a"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xA0A36095A2258568759fb41CAE4934BBd2d04E26"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936707,
"transactionHash": "0x9cebd2cdbd71bf96668e003794de90cf09858ccebb8f93c41e3d7822df207505",
"implementations": [
"eth:0xA03E2f3Ee6dBa20411A2326D7FA9CCCc6a9A53de"
]
},
{
"timestamp": 1746642323,
"transactionHash": "0x19f086f222696bf287600d456e602d10dd4a1db43027e97262e1abb52f347570",
"implementations": [
"eth:0x795277B6aD8778E27aa70813157134cfC4a4D446"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0x83085450544c3F360a40720859EbB1bfd311584D"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0xaFD10586f3F2cB2aD34E8196563424a3a93EbE9F"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x6b9e81504e961a9CDf81A06e916720fb4c273e90",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1785850655,
"transactionHash": "0x06c740b37bed26864623381918adb2ecf4f469661d067f648ad62e50a989bba9",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6b9e81504e961a9CDf81A06e916720fb4c273e90#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1784287811,
"transactionHash": "0x1f1d4768cc0d3f218a3f5aea7b6ceed0ae663498958e8194f208e88522c6404b",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1784287811,
"transactionHash": "0x1f1d4768cc0d3f218a3f5aea7b6ceed0ae663498958e8194f208e88522c6404b",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1786627967,
"transactionHash": "0x2c62c31e4108c24123b9f5b3c26a87e5ec6b4fc3b85163c7257edb523316f9db",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1786627967,
"transactionHash": "0x2c62c31e4108c24123b9f5b3c26a87e5ec6b4fc3b85163c7257edb523316f9db",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x2a721cBE81a128be0F01040e3353c3805A5EA091",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936755,
"transactionHash": "0xba20c00dc03b009737ebbcaa3db1263524a1322c5984a4f51fbf7c4ebc979575",
"implementations": [
"eth:0x6c01D349d3010Cc2953fFA0A5e8d176fc273B834"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0xA5B66A9FBCE3d57dA2b3Bd764d0a05B95052f73F"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a721cBE81a128be0F01040e3353c3805A5EA091#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936719,
"transactionHash": "0xd13642194be1a1b8947f8d3cd1504ec56ca67f4ba953cc45e4f135fb118a46f7",
"implementations": [
"eth:0x7409668285336dBBe720bE3525AEe372Fce4c2ab"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x0Fc6203310c494963eBAdd1157780a613B67eCDf"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xA4ba8bd753695B6121722CBB7cd81c71BCFBCA28"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xf829F2B0d741712198Aa3F0Be88b68Ec2aB5024b"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x506aadcb7bF93E892a43208d879BAc076eBC97Ef"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
}
],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x994eEb321F9cD79B077a5455fC248c77f30Dd244",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936731,
"transactionHash": "0xd6346f4354e7b4f58d6ef747d0ac04afa4c80319963ac187a69403ff1dcebdc8",
"implementations": [
"eth:0x3B21dC86c412aC34fF4c679497b274509D73cDcC"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0xDF129ECFc63Af454F62b69d03C0f0E21e69bcDAb"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x994eEb321F9cD79B077a5455fC248c77f30Dd244#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x2613d77fFBE105CA861D526061dC3ef191E17051",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2613d77fFBE105CA861D526061dC3ef191E17051#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x4F80B390aF3b49dda96134DA1ac905b05e816496",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n* Roles:\n * **challenger**: Conduit Multisig 1\n * **proposer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F80B390aF3b49dda96134DA1ac905b05e816496#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x798d82222eC87C6B76aeF659A490e1ab9f7f9162",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x798d82222eC87C6B76aeF659A490e1ab9f7f9162#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726591415,
"transactionHash": "0x7ce2acc826dbccea48fc0d45858f428df245e825147aa96c020b57c71f5b6c96",
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
}
],
"description": "Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x912C7271a6A3622dfb8B218eb46a6122aB046C79#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc77ece87C91C44AFb5f19638f9a0F75b5d90E932",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936743,
"transactionHash": "0x25c6d394396aef5f15c5f4fd388c8ebf206b71dfe6ced6d1933573016d7cee77",
"implementations": [
"eth:0xf885DA6A3B4c93905b02f36f9a13680922A554b0"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc77ece87C91C44AFb5f19638f9a0F75b5d90E932#code"
}
],
"zircuit": [
{
"name": "L1Block",
"isVerified": true,
"address": "zircuit:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zircuit:0x4200000000000000000000000000000000000018"
],
"implementations": [
"zircuit:0xe95F7EdfB4cbf87eD14d94913448d89282513d66"
]
},
"chain": "zircuit",
"pastUpgrades": [
{
"timestamp": 1747065601,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"zircuit:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1785855001,
"transactionHash": "0xd89e381f4e17d7226144ae90c4efef010f4f085afb76b191add65dcf51aef089",
"implementations": [
"zircuit:0xe95F7EdfB4cbf87eD14d94913448d89282513d66"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zircuit.com/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "zircuit:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zircuit:0x4200000000000000000000000000000000000018"
],
"implementations": [
"zircuit:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "zircuit",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 3\n * **owner**: EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zircuit.com/address/0x4200000000000000000000000000000000000018#code"
}
]
},
"escrows": [
{
"address": "0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"sinceTimestamp": 1726591415,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726591415,
"transactionHash": "0x7ce2acc826dbccea48fc0d45858f428df245e825147aa96c020b57c71f5b6c96",
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
}
],
"description": "custom wstETH Vault controlled by Lido governance, using the canonical bridge for messaging.",
"url": "https://etherscan.io/address/0x912C7271a6A3622dfb8B218eb46a6122aB046C79#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"sinceTimestamp": 1719936491,
"tokens": [
"ETH"
],
"premintedTokens": [],
"contract": {
"isVerified": true,
"address": "eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936803,
"transactionHash": "0x67e7390665dd0d4d9d7ad86cf3ae11c0dce8d7538b69d5fc15d176b36474e08f",
"implementations": [
"eth:0x8Ab1b1E21c2f229a7bB1430CF3ADfb0644a69ab7"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x304a52C8354f323672191Ebf1347Cd3d494Ea830"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xde8B916B972cE3c27C21157Fc2b107c413062b9d"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xb6714d9808909b9383B09aD7Ea4Bc7E59b3B0E20"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x6335a030fdCBa6c5704a74EF3BeDdd6550c0375a"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xA0A36095A2258568759fb41CAE4934BBd2d04E26"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"sinceTimestamp": 1719936539,
"tokens": "*",
"excludedTokens": [
"rswETH",
"rsETH"
],
"premintedTokens": [
"ZRC"
],
"contract": {
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936719,
"transactionHash": "0xd13642194be1a1b8947f8d3cd1504ec56ca67f4ba953cc45e4f135fb118a46f7",
"implementations": [
"eth:0x7409668285336dBBe720bE3525AEe372Fce4c2ab"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x0Fc6203310c494963eBAdd1157780a613B67eCDf"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xA4ba8bd753695B6121722CBB7cd81c71BCFBCA28"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xf829F2B0d741712198Aa3F0Be88b68Ec2aB5024b"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x506aadcb7bF93E892a43208d879BAc076eBC97Ef"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
}
],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
}
+1 -1
{
"baseTimestamp": 1787820501,
"baseTimestamp": 1789044680,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+18 -4
+3 -3
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * OptimismPortal2 [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer [via: OpFoundationOperationsSafe]",
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\n* Can interact with DisputeGameFactory\n * Allowed to challenge or delete state roots proposed by a Proposer ",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "Zora Multisig 1",
"name": "Zora Multisig 1",
"description": "A Multisig with 2/10 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0xC72aE5c7cc9a332699305E29F68Be66c73b60542",
"type": "Contract",
"isVerified": true,
"name": "0xC72a…0542",
"url": "https://etherscan.io/address/0xC72aE5c7cc9a332699305E29F68Be66c73b60542"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4",
"type": "EOA",
"isVerified": true,
"name": "0xa400…e6e4",
"url": "https://etherscan.io/address/0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4"
},
{
"address": "eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f",
"type": "EOA",
"isVerified": true,
"name": "0x3840…Fd5f",
"url": "https://etherscan.io/address/0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f"
},
{
"address": "eth:0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4",
"type": "EOA",
"isVerified": true,
"name": "0xf298…a8e4",
"url": "https://etherscan.io/address/0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4"
},
{
"address": "eth:0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB",
"type": "EOA",
"isVerified": true,
"name": "0xe7d7…31dB",
"url": "https://etherscan.io/address/0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB"
},
{
"address": "eth:0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7",
"type": "EOA",
"isVerified": true,
"name": "0xc08C…6dA7",
"url": "https://etherscan.io/address/0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7"
},
{
"address": "eth:0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81",
"type": "EOA",
"isVerified": true,
"name": "0xD05e…3E81",
"url": "https://etherscan.io/address/0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81"
},
{
"address": "eth:0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c",
"type": "EOA",
"isVerified": true,
"name": "0x5553…1F4c",
"url": "https://etherscan.io/address/0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd",
"type": "EOA",
"isVerified": true,
"name": "0x4824…88Dd",
"url": "https://etherscan.io/address/0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with DisputeGameFactory\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x625726c858dBF78c0125436C943Bf4b4bE9d9033",
"type": "EOA",
"isVerified": true,
"name": "0x6257…9033",
"url": "https://etherscan.io/address/0x625726c858dBF78c0125436C943Bf4b4bE9d9033",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1784283396,
"baseTimestamp": 1789044657,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "a7d8cb72",
"date": "Thu, 10 Sep 2026 12:52:19 GMT",
"timestamp": 1789044657,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "7c7f5f2b",
"date": "Fri, 17 Jul 2026 10:18:04 GMT",
"timestamp": 1784283396,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "ec74afcf",
"date": "Wed, 01 Jul 2026 09:39:11 GMT",
"timestamp": 1782898687,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 123,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x1a0ad011913A150f69f6A19DF447A0CfD9551054) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1StandardBridge (eth:0x3e2Ea9B92B7E48A52296fD261dc26fd995284631) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x54027b388330415a34b2dBa9E6d25895649eEFf1) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF25e70Aea14e0b9794E05d3A9BFBdEEC9acd6bb1\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 12\n+ 14\n values.batchInbox:\n- \"eth:0x6F54Ca6F6EdE96662024Ffd61BFd18f3f4e34DFf\"\n+ \"eth:0x00B682cfF5C1Be49E3a6b16b2FD164d44e181493\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF25e70Aea14e0b9794E05d3A9BFBdEEC9acd6bb1\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xF25e70Aea14e0b9794E05d3A9BFBdEEC9acd6bb1\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 5\n+ 7\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90854027b388330415a34b2dba9e6d25895649eeff1842ffd6eb189bccdbb817e1cee3286434ed7ae6e000000000000000000000000000000000000000000000000000000000076adf148247032092e7b0ecf5def611ad89eaf3fc888dd9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa54027b388330415a34b2dba9e6d25895649eeff1f25e70aea14e0b9794e05d3a9bfbdeec9acd6bb1000000000000000000000000000000000000000000000000000000000076adf148247032092e7b0ecf5def611ad89eaf3fc888dd9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E\"\n+ \"eth:0xF25e70Aea14e0b9794E05d3A9BFBdEEC9acd6bb1\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF25e70Aea14e0b9794E05d3A9BFBdEEC9acd6bb1\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xdC40a14d9abd6F410226f1E6de71aE03441ca506) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 11\n+ 13\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xF25e70Aea14e0b9794E05d3A9BFBdEEC9acd6bb1) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "e7ee5256",
"date": "Fri, 15 May 2026 13:11:04 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "4764a067",
"date": "Tue, 05 May 2026 15:20:17 GMT",
"timestamp": 1777994350,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "fb7b8c62",
"date": "Wed, 25 Mar 2026 10:08:33 GMT",
"timestamp": 1774433248,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "0b8cdbe2",
"date": "Fri, 27 Feb 2026 13:25:21 GMT",
"timestamp": 1772198397,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "79278f90",
"date": "Fri, 13 Feb 2026 11:46:41 GMT",
"timestamp": 1770804689,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 moves game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x1a0ad011913A150f69f6A19DF447A0CfD9551054) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.9:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n EOA (eth:0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"propose\",\"from\":\"eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e\",\"role\":\".proposerFromDGF\"}]\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x54027b388330415a34b2dBa9E6d25895649eEFf1) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x0da4462cd1b36cd4947cb82f9a307b776532841c14360e98082937b7cf401637\",\"l2SequenceNumber\":36510968}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 9\n+ 10\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"challenge\",\"from\":\"eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e\",\"role\":\".challengerFromDGF\"}]\n }\n```\n\n```diff\n contract SystemConfig (eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.11:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n+ {\"permission\":\"challenge\",\"from\":\"eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e\",\"role\":\".challengerFromDGF\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xb216Bfc1C0dfd63BbdD1b8cFEf30C0A96F4Abda6\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90854027b388330415a34b2dba9e6d25895649eeff1842ffd6eb189bccdbb817e1cee3286434ed7ae6e000000000000000000000000000000000000000000000000000000000076adf148247032092e7b0ecf5def611ad89eaf3fc888dd9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xb216Bfc1C0dfd63BbdD1b8cFEf30C0A96F4Abda6)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xdC40a14d9abd6F410226f1E6de71aE03441ca506) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.10:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 10\n+ 11\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "73e7c0db",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272429,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "cae0849d",
"date": "Thu, 18 Dec 2025 09:02:50 GMT",
"timestamp": 1766048483,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "dcba8d41",
"date": "Fri, 28 Nov 2025 10:24:35 GMT",
"timestamp": 1764325395,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x1a0ad011913A150f69f6A19DF447A0CfD9551054) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x3e2Ea9B92B7E48A52296fD261dc26fd995284631) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n EOA (eth:0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x90Ac42EB72E6ae6f597E8c5a8816d9179a1456F8\"\n+ \"eth:0xb216Bfc1C0dfd63BbdD1b8cFEf30C0A96F4Abda6\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x90Ac42EB72E6ae6f597E8c5a8816d9179a1456F8)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x90Ac42EB72E6ae6f597E8c5a8816d9179a1456F8\"\n+ \"eth:0xb216Bfc1C0dfd63BbdD1b8cFEf30C0A96F4Abda6\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.10:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x90Ac42EB72E6ae6f597E8c5a8816d9179a1456F8\"\n+ \"eth:0xb216Bfc1C0dfd63BbdD1b8cFEf30C0A96F4Abda6\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xdC40a14d9abd6F410226f1E6de71aE03441ca506) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.9:\n+ [\"2025-11-25T19:54:11.000Z\",\"0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xb216Bfc1C0dfd63BbdD1b8cFEf30C0A96F4Abda6)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "270a87d1",
"date": "Mon, 20 Oct 2025 16:07:05 GMT",
"timestamp": 1760976301,
"description": "Standard upgrade to known contracts.",
"isHighSeverity": true,
"changeCount": 118,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x1a0ad011913A150f69f6A19DF447A0CfD9551054) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.5:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.6:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.respectedGameTypeUpdatedAt:\n- 1745506331\n+ 1760038943\n values.version:\n- \"3.10.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0x54027b388330415a34b2dBa9E6d25895649eEFf1\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x3e2Ea9B92B7E48A52296fD261dc26fd995284631) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.1.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n EOA (eth:0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x7541f1C32A501E13F722fBb7C57195aD4C8415E7\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0xee6F71542e32930B44D6C208a15DE67E56F86087\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.5.from:\n- \"eth:0x7615032B5998714A056d5100f403666Be2C3AC15\"\n+ \"eth:0x54027b388330415a34b2dBa9E6d25895649eEFf1\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xee6F71542e32930B44D6C208a15DE67E56F86087\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x7541f1C32A501E13F722fBb7C57195aD4C8415E7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x7615032B5998714A056d5100f403666Be2C3AC15)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.5:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.6:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.version:\n- \"2.1.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x7541f1C32A501E13F722fBb7C57195aD4C8415E7\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract SystemConfig (eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.7:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.8:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$pastUpgrades.9:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 7\n+ 10\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.3.0\"\n+ \"3.7.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0xdC40a14d9abd6F410226f1E6de71aE03441ca506\",\"l1ERC721Bridge\":\"eth:0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3\",\"l1StandardBridge\":\"eth:0x3e2Ea9B92B7E48A52296fD261dc26fd995284631\",\"optimismPortal\":\"eth:0x1a0ad011913A150f69f6A19DF447A0CfD9551054\",\"optimismMintableERC20Factory\":\"eth:0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf\"}\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 7777777\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.1:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$pastUpgrades.2:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x7541f1C32A501E13F722fBb7C57195aD4C8415E7\"\n+ \"eth:0x90Ac42EB72E6ae6f597E8c5a8816d9179a1456F8\"\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.4:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49) {\n +++ description: None\n directlyReceivedPermissions.3.from:\n- \"eth:0x7615032B5998714A056d5100f403666Be2C3AC15\"\n+ \"eth:0x54027b388330415a34b2dBa9E6d25895649eEFf1\"\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xee6F71542e32930B44D6C208a15DE67E56F86087\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xdC40a14d9abd6F410226f1E6de71aE03441ca506) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.6:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.7:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$pastUpgrades.8:\n+ [\"2025-10-09T19:42:23.000Z\",\"0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 6\n+ 9\n values.version:\n- \"2.3.0\"\n+ \"2.10.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xee6F71542e32930B44D6C208a15DE67E56F86087)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x54027b388330415a34b2dBa9E6d25895649eEFf1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x90Ac42EB72E6ae6f597E8c5a8816d9179a1456F8)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "89e49905",
"date": "Mon, 18 Aug 2025 09:04:28 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "a12dc66a",
"date": "Mon, 28 Jul 2025 06:02:16 GMT",
"timestamp": 1753682536,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x7541f1C32A501E13F722fBb7C57195aD4C8415E7\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the SuperchainConfig's `pause()` function\"}]}\n receivedPermissions.1.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.1.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.1.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "c6f864b8",
"date": "Mon, 14 Jul 2025 12:46:52 GMT",
"timestamp": 1752497212,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x1a0ad011913A150f69f6A19DF447A0CfD9551054)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x3e2Ea9B92B7E48A52296fD261dc26fd995284631)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x7541f1C32A501E13F722fBb7C57195aD4C8415E7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x7615032B5998714A056d5100f403666Be2C3AC15)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xB0F15106fa1e473Ddb39790f197275BC979Aa37e)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Zora Multisig 1 (0xC72aE5c7cc9a332699305E29F68Be66c73b60542)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0xdC40a14d9abd6F410226f1E6de71aE03441ca506)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xee6F71542e32930B44D6C208a15DE67E56F86087)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xEF8115F2733fb2033a7c756402Fc1deaa56550Ef)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "3e04afcc",
"date": "Thu, 08 May 2025 08:52:04 GMT",
"timestamp": 1746694324,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "dc872b65",
"date": "Fri, 25 Apr 2025 13:22:54 GMT",
"timestamp": 1745587374,
"description": "(upgrade from optiportal 1 / l2outputoracle to permissioned proofs btw)\n\n[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 127,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (0x1a0ad011913A150f69f6A19DF447A0CfD9551054) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n sourceHashes.0:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n issuedPermissions.3:\n- {\"permission\":\"guard\",\"to\":\"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n issuedPermissions.2:\n- {\"permission\":\"upgrade\",\"to\":\"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\",\"via\":[{\"address\":\"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n issuedPermissions.1:\n- {\"permission\":\"guard\",\"to\":\"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"via\":[{\"address\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"not revoked by the Security Council\"},{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n issuedPermissions.0.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.0.to:\n- \"0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n issuedPermissions.0.via.2:\n- {\"address\":\"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"}\n issuedPermissions.0.via.1:\n- {\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}\n issuedPermissions.0.via.0.address:\n- \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n+ \"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n issuedPermissions.0.via.0.condition:\n- \"the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"\n values.$implementation:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.4:\n+ [\"2023-06-13T22:11:23.000Z\",\"0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03\",[\"0x43260ee547c3965bb2a0174763bb8FEcC650BA4A\"]]\n values.$pastUpgrades.3:\n+ [\"2025-04-24T14:52:11.000Z\",\"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.2.2:\n- [\"0x43260ee547c3965bb2a0174763bb8FEcC650BA4A\"]\n+ \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n values.$pastUpgrades.2.1:\n- \"0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03\"\n+ \"2024-04-19T21:23:23.000Z\"\n values.$pastUpgrades.2.0:\n- \"2023-06-13T22:11:23.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.0.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.$pastUpgrades.0.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.0.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.0.0:\n- [\"0x2D778797049FE9259d947D1ED8e5442226dFB589\"]\n+ \"2025-04-24T14:52:11.000Z\"\n values.$upgradeCount:\n- 3\n+ 5\n values.GUARDIAN:\n- \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.L2_ORACLE:\n- \"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"\n values.l2Oracle:\n- \"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"\n values.SYSTEM_CONFIG:\n- \"0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0xB0F15106fa1e473Ddb39790f197275BC979Aa37e\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1745506331\n derivedName:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract undefined (0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"}]\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\",\"via\":[{\"address\":\"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"0xB0F15106fa1e473Ddb39790f197275BC979Aa37e\",\"via\":[{\"address\":\"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3\",\"via\":[{\"address\":\"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]}\n receivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.8.from:\n- \"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.8.via.0.address:\n- \"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.8.description:\n+ \"set and change address mappings.\"\n receivedPermissions.7.from:\n- \"0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3\"\n+ \"0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf\"\n receivedPermissions.6.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.6.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.6.description:\n- \"set and change address mappings.\"\n receivedPermissions.5.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.5.from:\n- \"0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf\"\n+ \"0xee6F71542e32930B44D6C208a15DE67E56F86087\"\n receivedPermissions.5.via:\n- [{\"address\":\"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"}]\n receivedPermissions.5.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.4.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x3e2Ea9B92B7E48A52296fD261dc26fd995284631\"\n receivedPermissions.4.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n receivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.3.from:\n- \"0x3e2Ea9B92B7E48A52296fD261dc26fd995284631\"\n+ \"0x7615032B5998714A056d5100f403666Be2C3AC15\"\n receivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.from:\n- \"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"\n+ \"0xee6F71542e32930B44D6C208a15DE67E56F86087\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.4:\n+ [\"2024-04-19T21:23:23.000Z\",\"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.3:\n+ [\"2024-04-19T21:23:23.000Z\",\"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.2.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.2.0:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"2025-04-24T14:52:11.000Z\"\n values.$pastUpgrades.1.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.1.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-04-24T14:52:11.000Z\"\n values.$upgradeCount:\n- 3\n+ 5\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"0xc2819DC788505Aac350142A7A707BF9D03E3Bd03\"},{\"address\":\"0x0454092516c9A4d636d3CAfA1e82161376C8a748\",\"condition\":\"the number of 0xc2819DC788505Aac350142A7A707BF9D03E3Bd03 members falls below 8.\"}]}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"not revoked by the Security Council\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x9E6204F750cD866b299594e2aC9eA824E2e5f95c)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract SystemConfig (0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.$pastUpgrades.6:\n+ [\"2024-04-19T21:23:23.000Z\",\"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\",[\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]]\n values.$pastUpgrades.5:\n+ [\"2024-04-19T21:23:23.000Z\",\"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.4.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ \"2025-01-24T14:41:35.000Z\"\n values.$pastUpgrades.4.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.4.0:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.3.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ \"2025-01-24T14:41:35.000Z\"\n values.$pastUpgrades.3.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.2.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.2.1.0:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.2.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"2025-04-24T14:52:11.000Z\"\n values.$pastUpgrades.1.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ \"2023-06-13T22:10:59.000Z\"\n values.$pastUpgrades.1.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"0xf20999bd27f1d3effcc4cb9179f163441079744741a78ca04ea40bb505096f68\"\n values.$pastUpgrades.1.0.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0x17fb7c8Ce213F1A7691ee41EA880ABf6eBC6fa95\"\n values.$pastUpgrades.0.2:\n- \"2023-06-13T22:10:59.000Z\"\n+ [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n values.$pastUpgrades.0.1:\n- \"0xf20999bd27f1d3effcc4cb9179f163441079744741a78ca04ea40bb505096f68\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.0.0:\n- [\"0x17fb7c8Ce213F1A7691ee41EA880ABf6eBC6fa95\"]\n+ \"2025-04-24T14:52:11.000Z\"\n values.$upgradeCount:\n- 5\n+ 7\n values.disputeGameFactory:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xB0F15106fa1e473Ddb39790f197275BC979Aa37e\"\n }\n```\n\n```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"guard\",\"from\":\"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\",\"via\":[{\"address\":\"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2024-04-19T21:23:23.000Z\",\"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$pastUpgrades.2.0.0:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.1.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.1.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ [\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]\n values.$pastUpgrades.1.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-04-24T14:52:11.000Z\"\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n- Status: DELETED\n contract Zora Multisig 2 (0xcA4571b1ecBeC86Ea2E660d242c1c29FcB55Dc72)\n +++ description: None\n```\n\n```diff\n contract ProxyAdmin (0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49) {\n +++ description: None\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"0xB0F15106fa1e473Ddb39790f197275BC979Aa37e\"}\n directlyReceivedPermissions.6.from:\n- \"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\"\n+ \"0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3\"\n directlyReceivedPermissions.5.from:\n- \"0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3\"\n+ \"0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf\"\n directlyReceivedPermissions.4.from:\n- \"0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf\"\n+ \"0x3e2Ea9B92B7E48A52296fD261dc26fd995284631\"\n directlyReceivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0x3e2Ea9B92B7E48A52296fD261dc26fd995284631\"\n+ \"0x7615032B5998714A056d5100f403666Be2C3AC15\"\n directlyReceivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.2.from:\n- \"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"\n+ \"0xee6F71542e32930B44D6C208a15DE67E56F86087\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0xdC40a14d9abd6F410226f1E6de71aE03441ca506) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.5:\n+ [\"2024-04-19T21:23:23.000Z\",\"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.4:\n+ [\"2024-04-19T21:23:23.000Z\",\"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.3.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.3.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n values.$pastUpgrades.3.0:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"2025-04-24T14:52:11.000Z\"\n values.$pastUpgrades.2.2:\n- \"0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1\"\n+ \"0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03\"\n values.$pastUpgrades.2.1:\n- \"2024-04-19T21:23:23.000Z\"\n+ [\"0x363B4B1ADa52E50353f746999bd9E94395190d2C\"]\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2023-06-13T22:11:23.000Z\"\n values.$pastUpgrades.1.2:\n- \"0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03\"\n+ \"0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd\"\n values.$pastUpgrades.1.1.0:\n- \"0x363B4B1ADa52E50353f746999bd9E94395190d2C\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.1.0:\n- \"2023-06-13T22:11:23.000Z\"\n+ \"2025-04-24T14:52:11.000Z\"\n values.$upgradeCount:\n- 4\n+ 6\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x7541f1C32A501E13F722fBb7C57195aD4C8415E7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x7615032B5998714A056d5100f403666Be2C3AC15)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xB0F15106fa1e473Ddb39790f197275BC979Aa37e)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xee6F71542e32930B44D6C208a15DE67E56F86087)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "31925f24",
"date": "Fri, 04 Apr 2025 09:42:08 GMT",
"timestamp": 1743759728,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "ac1c0bc7",
"date": "Wed, 12 Feb 2025 10:01:38 GMT",
"timestamp": 1739354498,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "00e7d6a1",
"date": "Sat, 08 Feb 2025 15:58:58 GMT",
"timestamp": 1739030338,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "d263ec15",
"date": "Thu, 06 Feb 2025 09:17:59 GMT",
"timestamp": 1738833479,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "50c5b449",
"date": "Mon, 27 Jan 2025 11:43:45 GMT",
"timestamp": 1737978225,
"description": "This is a SystemConfig upgrade (v2.3.0, adding gasToken support) for five Superchain eco chains that use superchain governance.\n- op mainnet\n- metal\n- zora\n- arena-z\n- mode\n\nDue to temporary storage setter implementations, multiple upgrades are counted within a single tx.",
"isHighSeverity": true,
"changeCount": 19,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.4:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 100000\n values.blobbasefeeScalar:\n+ 611590\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x0000000000000000000000000000000000000000\"\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n }\n```"
}
]
},
{
"id": "4a806c46",
"date": "Tue, 05 Nov 2024 15:44:16 GMT",
"timestamp": 1730821456,
"description": "Zora MS one signer added (2/10).",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ZoraMultisig (0xC72aE5c7cc9a332699305E29F68Be66c73b60542) {\n +++ description: None\n values.$members.9:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.8:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c\"\n values.$members.7:\n- \"0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c\"\n+ \"0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81\"\n values.$members.6:\n- \"0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81\"\n+ \"0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7\"\n values.$members.5:\n- \"0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7\"\n+ \"0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB\"\n values.$members.4:\n- \"0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB\"\n+ \"0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4\"\n values.$members.3:\n- \"0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.2:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.1:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.$members.0:\n- \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.multisigThreshold:\n- \"2 of 9 (22%)\"\n+ \"2 of 10 (20%)\"\n }\n```"
}
]
},
{
"id": "f04efaac",
"date": "Wed, 30 Oct 2024 13:24:06 GMT",
"timestamp": 1730294646,
"description": "Zora MS: Signer added.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ZoraMultisig (0xC72aE5c7cc9a332699305E29F68Be66c73b60542) {\n +++ description: None\n values.$members.8:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.$members.7:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c\"\n values.$members.6:\n- \"0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c\"\n+ \"0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81\"\n values.$members.5:\n- \"0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81\"\n+ \"0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7\"\n values.$members.4:\n- \"0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7\"\n+ \"0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB\"\n values.$members.3:\n- \"0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB\"\n+ \"0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4\"\n values.$members.2:\n- \"0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.$members.1:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.$members.0:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xA0737fea60F0601A192E3d2c98865A883ab0bda2\"\n values.multisigThreshold:\n- \"2 of 8 (25%)\"\n+ \"2 of 9 (22%)\"\n }\n```"
}
]
},
{
"id": "42c02636",
"date": "Tue, 17 Sep 2024 09:55:37 GMT",
"timestamp": 1726566937,
"description": "DeputyGuardianModule upgrade: `setAnchorState()` is now callable by the deputy guardian.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8\"\n+ \"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```"
}
]
},
{
"id": "f9892317",
"date": "Wed, 07 Aug 2024 07:36:56 GMT",
"timestamp": 1723016216,
"description": "The ProxyAdmin owner is changed to SuperchainProxyAdminOwner and Conduit Multisig is removed.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: It can act on behalf of 0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49, inheriting its permissions.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: It can act on behalf of 0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49, inheriting its permissions. It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\n descriptions.1:\n+ \"It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\"\n descriptions.0:\n- \"It can act on behalf of 0x543bA4AADBAb8f9025686Bd03993043599c6fB04, inheriting its permissions.\"\n+ \"It can act on behalf of 0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49, inheriting its permissions.\"\n assignedPermissions.owner.1:\n+ \"0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49) {\n +++ description: It can upgrade the bridge implementation potentially gaining access to all funds, and change any system component.\n values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```"
}
]
},
{
"id": "953b5af7",
"date": "Fri, 28 Jun 2024 07:32:22 GMT",
"timestamp": 1719559942,
"description": "Nonce of foundation multisig increased, after executing transaction to change the owner of the SystemConfig contract.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract FoundationMultisig_2 (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.nonce:\n- 92\n+ 93\n }\n```"
}
]
},
{
"id": "2e18018f",
"date": "Wed, 12 Jun 2024 05:26:43 GMT",
"timestamp": 1718170003,
"description": "Changes due to Superchain permissions upgrade: \n- Security Council MS threshold raised\n- Liveness and DeputyGuardian modules added\n- Guardian (proxy)MS added",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0x1a0ad011913A150f69f6A19DF447A0CfD9551054) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n upgradeability.modules.0:\n+ \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n upgradeability.threshold:\n- \"4 of 13 (31%)\"\n+ \"10 of 13 (77%)\"\n values.getThreshold:\n- 4\n+ 10\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: None\n```"
}
]
},
{
"id": "16141d8a",
"date": "Wed, 22 May 2024 20:13:47 GMT",
"timestamp": 1716408827,
"description": "ConduitMultisig update.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConduitMultisig (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n upgradeability.threshold:\n- \"3 of 5 (60%)\"\n+ \"4 of 7 (57%)\"\n values.getOwners.6:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.getOwners.5:\n+ \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n values.getOwners.4:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n values.getOwners.3:\n- \"0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.getOwners.2:\n- \"0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.getOwners.1:\n- \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n+ \"0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n values.getOwners.0:\n- \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"0xF3313C48BD8E17b823d5498D62F37019dFEA647D\"\n values.getThreshold:\n- 3\n+ 4\n }\n```"
}
]
},
{
"id": "739396f5",
"date": "Mon, 22 Apr 2024 14:42:15 GMT",
"timestamp": 1713796935,
"description": "The project now uses shared implementations with other projects in the Superchain and a shared Guardian (OP Foundation).",
"isHighSeverity": true,
"changeCount": 67,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0x1a0ad011913A150f69f6A19DF447A0CfD9551054) {\n +++ description: None\n upgradeability.implementation:\n- \"0x43260ee547c3965bb2a0174763bb8FEcC650BA4A\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n implementations.0:\n- \"0x43260ee547c3965bb2a0174763bb8FEcC650BA4A\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.GUARDIAN:\n- \"0xC72aE5c7cc9a332699305E29F68Be66c73b60542\"\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.version:\n- \"1.6.0\"\n+ \"2.5.0\"\n values.guardian:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.l2Oracle:\n+ \"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n+ \"0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x3e2Ea9B92B7E48A52296fD261dc26fd995284631) {\n +++ description: None\n upgradeability.implementation:\n- \"0xbF6acaF315477b15D638bf4d91eA48FA79b58335\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n implementations.0:\n- \"0xbF6acaF315477b15D638bf4d91eA48FA79b58335\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.version:\n- \"1.1.0\"\n+ \"2.1.0\"\n values.otherBridge:\n+ \"0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3) {\n +++ description: None\n upgradeability.implementation:\n- \"0xDBCdA21518AF39E7feb9748F6718D3db11591461\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n implementations.0:\n- \"0xDBCdA21518AF39E7feb9748F6718D3db11591461\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.version:\n- \"1.1.1\"\n+ \"2.1.0\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract L2OutputOracle (0x9E6204F750cD866b299594e2aC9eA824E2e5f95c) {\n +++ description: None\n upgradeability.implementation:\n- \"0x9eedde6b4D3263b97209Ba860eDF3Fc6a8fB6a44\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n implementations.0:\n- \"0x9eedde6b4D3263b97209Ba860eDF3Fc6a8fB6a44\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n values.version:\n- \"1.3.0\"\n+ \"1.8.0\"\n values.challenger:\n+ \"0xcA4571b1ecBeC86Ea2E660d242c1c29FcB55Dc72\"\n values.finalizationPeriodSeconds:\n+ 604800\n values.l2BlockTime:\n+ 2\n values.proposer:\n+ \"0x48247032092e7b0ecf5dEF611ad89eaf3fC888Dd\"\n values.submissionInterval:\n+ 1800\n }\n```\n\n```diff\n contract SystemConfig (0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) {\n +++ description: None\n upgradeability.implementation:\n- \"0x17fb7c8Ce213F1A7691ee41EA880ABf6eBC6fa95\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n implementations.0:\n- \"0x17fb7c8Ce213F1A7691ee41EA880ABf6eBC6fa95\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.version:\n- \"1.3.0\"\n+ \"1.12.0\"\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"0x6F54Ca6F6EdE96662024Ffd61BFd18f3f4e34DFf\"\n values.L1_CROSS_DOMAIN_MESSENGER_SLOT:\n+ \"0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636\"\n values.L1_ERC_721_BRIDGE_SLOT:\n+ \"0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7\"\n values.L1_STANDARD_BRIDGE_SLOT:\n+ \"0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376\"\n values.l1CrossDomainMessenger:\n+ \"0xdC40a14d9abd6F410226f1E6de71aE03441ca506\"\n values.l1ERC721Bridge:\n+ \"0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3\"\n values.l1StandardBridge:\n+ \"0x3e2Ea9B92B7E48A52296fD261dc26fd995284631\"\n values.L2_OUTPUT_ORACLE_SLOT:\n+ \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n+ \"0x9E6204F750cD866b299594e2aC9eA824E2e5f95c\"\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf\"\n values.optimismPortal:\n+ \"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 17473957\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf) {\n +++ description: None\n upgradeability.implementation:\n- \"0x84ee4b9673598ca2FbDad4Ba4a27A58D6328Ec46\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n implementations.0:\n- \"0x84ee4b9673598ca2FbDad4Ba4a27A58D6328Ec46\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.version:\n- \"1.1.0\"\n+ \"1.9.0\"\n values.bridge:\n+ \"0x3e2Ea9B92B7E48A52296fD261dc26fd995284631\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49) {\n +++ description: None\n values.owner:\n- \"0xC72aE5c7cc9a332699305E29F68Be66c73b60542\"\n+ \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0xdC40a14d9abd6F410226f1E6de71aE03441ca506) {\n +++ description: None\n upgradeability.implementation:\n- \"0x363B4B1ADa52E50353f746999bd9E94395190d2C\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n implementations.0:\n- \"0x363B4B1ADa52E50353f746999bd9E94395190d2C\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.version:\n- \"1.4.0\"\n+ \"2.3.0\"\n values.otherMessenger:\n+ \"0x4200000000000000000000000000000000000007\"\n values.paused:\n+ false\n values.portal:\n+ \"0x1a0ad011913A150f69f6A19DF447A0CfD9551054\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_2 (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: None\n```"
}
]
},
{
"id": "8bd2248a",
"date": "Thu, 14 Mar 2024 07:34:32 GMT",
"timestamp": 1710401672,
"description": "Blobs are switched on",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86) {\n +++ description: None\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279133793016986207220\"\n }\n```\n\n```diff\n contract ZoraMultisig (0xC72aE5c7cc9a332699305E29F68Be66c73b60542) {\n +++ description: None\n values.getOwners[7]:\n+ \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n values.getOwners[6]:\n+ \"0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c\"\n values.getOwners.5:\n- \"0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe\"\n+ \"0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81\"\n values.getOwners.4:\n- \"0x5553a23a71Bc7985c8E58Ca08072D2Fa9D1D1F4c\"\n+ \"0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7\"\n values.getOwners.3:\n- \"0xD05e9Ab3B6A7F10ec1374bc352854ABA51643E81\"\n+ \"0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB\"\n values.getOwners.2:\n- \"0xc08C1b8fD69A22a448fC014bEe4A700d70726dA7\"\n+ \"0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4\"\n values.getOwners.1:\n- \"0xe7d71aea6FB8248d4fD4D5d5098D201674B531dB\"\n+ \"0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n values.getOwners.0:\n- \"0xf2989961Bf987bdD6c86CD6B845B6fACa194a8e4\"\n+ \"0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.getThreshold:\n- 4\n+ 2\n }\n```"
}
]
},
{
"id": "ac51ace2",
"date": "Tue, 26 Sep 2023 08:54:55 GMT",
"timestamp": 1695718495,
"description": "",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x9E6204F750cD866b299594e2aC9eA824E2e5f95c) {\n values.deletedOutputs:\n+ []\n }\n```"
}
]
}
]