[
{
"id": "50f3fa3d",
"date": "Wed, 07 Oct 2026 14:45:55 GMT",
"timestamp": 1791383565,
"description": "The L2 predeploy implementations (L2CrossDomainMessenger, L2StandardBridge, L2ToL1MessagePasser, ProxyAdmin) are now verified. Each is templatized with the opstack/Layer2 templates: same logic as the existing shapes, differences are interface-typed calls (ProxyAdmin, L2CrossDomainMessenger), Celo's fee-currency OptimismMintableERC20 import (L2StandardBridge) and unused library functions (L2ToL1MessagePasser, identical bytecode). The L2 ProxyAdmin is renamed to L2ProxyAdmin and its owner, the CeloProxyAdminOwner L2 alias, now receives the predeploy upgrade permissions. The L1 counterpart fields of the L2 messenger and bridge are formatted as Ethereum addresses.\n\nthis also lists celo on the ossification page!",
"isHighSeverity": false,
"changeCount": 52,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract L2CrossDomainMessenger (celo: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 unverified:\n- true\n values.l1CrossDomainMessenger:\n+ \"eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\"\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+ \"eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\"\n values.otherMessenger:\n+ \"eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95\"\n+++ severity: MEDIUM\n values.paused:\n+ false\n values.RELAY_CALL_OVERHEAD:\n+ 40000\n values.RELAY_CONSTANT_OVERHEAD:\n+ 200000\n values.RELAY_GAS_CHECK_BUFFER:\n+ 5000\n values.RELAY_RESERVED_GAS:\n+ 40000\n values.version:\n+ \"2.1.1-beta.4\"\n fieldMeta.paused:\n+ {\"severity\":\"MEDIUM\"}\n implementationNames.celo:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"\"\n+ \"L2CrossDomainMessenger\"\n template:\n+ \"opstack/Layer2/L2CrossDomainMessenger\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xfb9b6038f92aab239c0d4ae0e732ef9ba91590fee841a84ed2aea05732414997\"]\n description:\n+ \"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 usedTypes:\n+ [{\"typeCaster\":\"ChainPrefix\",\"arg\":{\"prefix\":\"eth\"}}]\n }\n```\n\n```diff\n contract L2StandardBridge (celo: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 unverified:\n- true\n values.l1TokenBridge:\n+ \"eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\"\n values.messenger:\n+ \"celo:0x4200000000000000000000000000000000000007\"\n values.MESSENGER:\n+ \"celo:0x4200000000000000000000000000000000000007\"\n values.OTHER_BRIDGE:\n+ \"eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\"\n values.otherBridge:\n+ \"eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe\"\n+++ severity: MEDIUM\n values.paused:\n+ false\n values.version:\n+ \"1.11.1-beta.3\"\n fieldMeta.paused:\n+ {\"severity\":\"MEDIUM\"}\n implementationNames.celo:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"\"\n+ \"L2StandardBridge\"\n template:\n+ \"opstack/Layer2/L2StandardBridge\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x1d5e294663c579fbf93ce17a16e1ea24409366a02df03e17d4e64c499376ac68\"]\n description:\n+ \"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 usedTypes:\n+ [{\"typeCaster\":\"ChainPrefix\",\"arg\":{\"prefix\":\"eth\"}}]\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (celo: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 unverified:\n- true\n values.MESSAGE_VERSION:\n+ 1\n values.version:\n+ \"1.1.1-beta.1\"\n implementationNames.celo:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"\"\n+ \"L2ToL1MessagePasser\"\n template:\n+ \"opstack/Layer2/L2ToL1MessagePasser\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x139a7bcf87ffc29f97c88feb9de39cb420dd36a61aeddf64c01af03d5b91b4ef\"]\n description:\n+ \"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\n```diff\n contract L2ProxyAdmin (celo:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin] {\n +++ description: Administration contract for other contract proxies.\n name:\n- \"ProxyAdmin\"\n+ \"L2ProxyAdmin\"\n unverified:\n- true\n values.addressManager:\n+ \"celo:0x0000000000000000000000000000000000000000\"\n values.isUpgrading:\n+ false\n fieldMeta.owner.description:\n- \"L2 alias of the CeloProxyAdminOwner. It can upgrade the security-critical L2 predeploys.\"\n implementationNames.celo:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"\"\n+ \"ProxyAdmin\"\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000007\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000010\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000016\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000018\",\"role\":\"admin\"}]\n template:\n+ \"opstack/Layer2/L2ProxyAdmin\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x7f6864f2ed905cae4ebf163729df004c7b19520740e00ee1710427ec016e60ce\"]\n description:\n+ \"Administration contract for other contract proxies.\"\n directlyReceivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000007\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000010\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000016\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"celo:0x4200000000000000000000000000000000000018\",\"role\":\"admin\"}]\n }\n```"
}
]
},
{
"id": "85ba7009",
"date": "Mon, 05 Oct 2026 16:18:47 GMT",
"timestamp": 1791217058,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3): the shared SuperchainConfig implementation was upgraded v2.4.2 → v2.4.3 on 2026-09-24. Version bump only; no chain-specific contract changed. ([diff](https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504))",
"isHighSeverity": true,
"changeCount": 10,
"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- \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n+ \"0xb74ed3aa109bd981b095c02d6e3bda2b2467d40e9d1060b4c89b01de32ebad3a\"\n values.$implementation:\n- \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n+ \"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\"]]\n values.$upgradeCount:\n- 8\n+ 12\n values.version:\n- \"2.4.2\"\n+ \"2.4.3\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n- \"SuperchainConfig\"\n implementationNames.eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "6e0670a0",
"date": "Wed, 23 Sep 2026 05:45:38 GMT",
"timestamp": 1789044398,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (celo:0x4200000000000000000000000000000000000007) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (celo:0x4200000000000000000000000000000000000010) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (celo:0x4200000000000000000000000000000000000016) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (celo:0x4200000000000000000000000000000000000018) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "8c40c6c4",
"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": "87bbad96",
"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": "eee0aead",
"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": "49f509dc",
"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": "ee72d39a",
"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": "1406fc68",
"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": "4e1af81f",
"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": "616cc8c8",
"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": "9ff6bb3d",
"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": "46eb36f1",
"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": "dc344c40",
"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": "4ba24ed3",
"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": "953d9862",
"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": "45b1acb6",
"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": "77237f4b",
"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": "4c71daa7",
"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": "7c5573d1",
"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": "172caa8c",
"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": "37c7ef6b",
"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": "c8375af0",
"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": "561e9d8d",
"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": "4dd1f490",
"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": "a6b1d9a2",
"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": "8c8b367d",
"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": "a0f023b8",
"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": "99e071a2",
"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": "0d90a3cb",
"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```"
}
]
}
]
{
"redWarning": {
"text": "Critical contracts can be upgraded by an EOA which could result in the loss of all funds.",
"detailAnchor": "permissions"
},
"unverifiedContracts": []
}