[
{
"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```"
}
]
}
]
[
{
"id": "45c9bef9",
"date": "Mon, 05 Oct 2026 16:18:28 GMT",
"timestamp": 1791217041,
"description": "Karst hardfork L2 activation on 2026-09-23 16:00:01 UTC: L2 predeploys upgraded to the standard OP Stack implementations.\n\nL2ToL1MessagePasser: the previous Katana-specific implementation reverted `initiateWithdrawal` with \"Withdrawals are disabled\"; the standard 1.2.0 has no such check, so withdrawals through the OP Stack path can be initiated on L2 again. The L1 OptimismPortal2 holds no ETH and the DisputeGameFactory has created no games.\n\nL2ProxyAdmin (1.0.0) adds `upgradePredeploys(address)`. FeeVault `recipient`, `minWithdrawalAmount` and `withdrawalNetwork` moved from immutables to storage, settable by the ProxyAdmin owner. L1Block adds `setFeature(bytes32)`, callable by the depositor account, the ProxyAdmin or its owner.\n\nVersion changes and implementation diffs:\n\n- L2CrossDomainMessenger 2.1.1-beta.1 -> 2.2.1: https://disco.l2beat.com/diff/katana:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/katana:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- L2StandardBridge 1.11.1-beta.1 -> 1.13.2: https://disco.l2beat.com/diff/katana:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/katana:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.5.0-beta.5 -> 1.6.1: https://disco.l2beat.com/diff/katana:0x8A52Ca0E8459460C6861C117285E6973Ecf7EE3f/katana:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.10.1-beta.2 -> 1.11.0: https://disco.l2beat.com/diff/katana:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/katana:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.7.1-beta.2 -> 1.10.1: https://disco.l2beat.com/diff/katana:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/katana:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block 1.7.0 -> 1.9.0: https://disco.l2beat.com/diff/katana:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/katana:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.1.1-beta.1 -> 1.2.0: https://disco.l2beat.com/diff/katana:0xFBF44D0341C03098A1D9C0336e3d5C34E8BFdf1A/katana:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.4.1-beta.1 -> 1.5.1: https://disco.l2beat.com/diff/katana:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/katana:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- ProxyAdmin -> L2ProxyAdmin 1.0.0: https://disco.l2beat.com/diff/katana:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/katana:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.5.0-beta.6 -> 1.6.1: https://disco.l2beat.com/diff/katana:0x7e27d992B349B96ea8D32378B7c53b3D58139a2E/katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.5.0-beta.5 -> 1.6.1: https://disco.l2beat.com/diff/katana:0x0ebC896698De72A444d00Dc3d046B432c555EB09/katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- OperatorFeeVault 1.0.0 -> 1.1.1: https://disco.l2beat.com/diff/katana:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537/katana:0xEddf416c7159387cc6DF3015700F79Cfb8911373\n- SchemaRegistry 1.3.1-beta.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/katana:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020/katana:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.4.1-beta.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/katana:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021/katana:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\n- GasPriceOracle 1.6.0 (source unchanged): https://disco.l2beat.com/diff/katana:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/katana:0x547d0fba434877D7237d511cF87FABe2ee26b152\n\nAggchainFEP: new selected OP Succinct config (op-succinct v3.14.1).\n\nPolygon Multisig 2: member added; threshold 3/5 → 3/6.\n\nSafe: member added; threshold 2/11 → 2/12.",
"isHighSeverity": true,
"changeCount": 156,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) [katana/AggchainFEP_post035] {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x00d68eb096f4c731512562f7a06e6bba104dbcb959261edd3eb3ec542c200c89\"\n+ \"0x00070992a03760456403e800b0bd1a0e907a85a5c2cffca292b5994b56b5363b\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x1f089f9d1cd3f727775788003d3e496037d3625e2e9de6e5005f1e9707ba3b8f\"\n+ \"0x5ae13fed447a94f57d6ee8fc44cce8075ef994485121dcd27e75577d264f75b1\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0x0f30c0b6846b034a146a47c5185fb9a4321df3569376773238ef30c831019190\"\n+ \"0x78bea7db8aa3cf21062aa42ee79556258a369e6fbe39954760f92475ba39a06c\"\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x21a2Db679b4e9f6183E3143cc7Dcfef955b400a6\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n }\n```\n\n```diff\n contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xfB948CB3fE208fd067d36768B2bACd5dCF886066\"\n values.multisigThreshold:\n- \"2 of 11 (18%)\"\n+ \"2 of 12 (17%)\"\n }\n```\n\n```diff\n contract L2CrossDomainMessenger (katana:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0x1ef37a50dbdd57f7019208b81019e52087cb92379f963e1ec092bd3eb81ec978\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"katana:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"katana:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"2.1.1-beta.1\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.katana:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.katana:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (katana:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n values.$implementation:\n- \"katana:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"katana:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.2:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.katana:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.katana:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L2StandardBridge (katana:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe528a1a655ef22d36419f53488f5b31752c4ecc2efea627fc6be5b0d63fa5069\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"katana:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"katana:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.11.1-beta.1\"\n+ \"1.13.2\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.katana:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (katana:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees.\n sourceHashes.1:\n- \"0x93752bf6627e91f3f4f031a686b0a57c754db8b6b8b88401d16e26724cb44f08\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"katana:0x8A52Ca0E8459460C6861C117285E6973Ecf7EE3f\"\n+ \"katana:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.5.0-beta.5\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0x8A52Ca0E8459460C6861C117285E6973Ecf7EE3f:\n- \"SequencerFeeVault\"\n implementationNames.katana:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (katana:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0x106f86d507a55d0f26e3683c910a71a9804d75ced3a4bb374e6a78978462274b\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"katana:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"katana:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.10.1-beta.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.katana:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (katana:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x271f936ec1986057d9043b9961aa266e87908766814bdde8071f19a9de7484be\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"katana:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"katana:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.7.1-beta.2\"\n+ \"1.10.1\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.katana:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (katana:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"katana:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"katana:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.2:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.7.0\"\n+ \"1.9.0\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"L1Block\"\n implementationNames.katana:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (katana: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 template:\n- \"katana/L2ToL1MessagePasser\"\n+ \"opstack/Layer2/L2ToL1MessagePasser\"\n sourceHashes.1:\n- \"0xa53da4d87c97c2504bf8feb43888b64bb6834cfc6f9cf0fb4e59b9e507466756\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n description:\n- \"Contract used internally by the L2CrossDomainMessenger to send messages to L1. It can also be used directly as a low-level interface.\"\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 values.$implementation:\n- \"katana:0xFBF44D0341C03098A1D9C0336e3d5C34E8BFdf1A\"\n+ \"katana:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.1.1-beta.1\"\n+ \"1.2.0\"\n implementationNames.katana:0xFBF44D0341C03098A1D9C0336e3d5C34E8BFdf1A:\n- \"L2ToL1MessagePasser\"\n implementationNames.katana:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n critical:\n+ true\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (katana:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0xec1bfae18ba5717949a6969cb01d743511c076e7bc6c78ed2c2b63232b97cc57\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"katana:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"katana:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.5.1\"\n values.bridge:\n+ \"katana:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.remoteChainID:\n+ 1\n implementationNames.katana:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.katana:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (katana:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n name:\n- \"ProxyAdmin\"\n+ \"L2ProxyAdmin\"\n template:\n- \"global/ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x96d2f0fa1bd83ebd61ba6a2351c64c7fda7aa580b11ea67bb6bf4338e5c28512\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n values.$implementation:\n- \"katana:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"katana:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"katana:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n+ \"1.0.0\"\n implementationNames.katana:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.katana:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n description:\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n critical:\n+ true\n }\n```\n\n```diff\n contract BaseFeeVault (katana:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0xe1e57baf3de85a14ad342b23be3bc829de637a5ac1336b089f49fcab12d6226a\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"katana:0x7e27d992B349B96ea8D32378B7c53b3D58139a2E\"\n+ \"katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.5.0-beta.6\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0x7e27d992B349B96ea8D32378B7c53b3D58139a2E:\n- \"BaseFeeVault\"\n implementationNames.katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (katana:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees.\n template:\n- \"opstack/Layer2/L1FeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0xe6ecd83f7dc6c3a0896d3311ac56023fae6df18d6b4059195c2dfc1d65717687\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"katana:0x0ebC896698De72A444d00Dc3d046B432c555EB09\"\n+ \"katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.5.0-beta.5\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0x0ebC896698De72A444d00Dc3d046B432c555EB09:\n- \"L1FeeVault\"\n implementationNames.katana:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract OperatorFeeVault (katana:0x420000000000000000000000000000000000001b) [opstack/Layer2/OperatorFeeVault] {\n +++ description: Collects the operator fees.\n sourceHashes.1:\n- \"0xee5dca77d41cb3095dbb6dbb7f542e32ec79f4ebfb289ca0622873a493080ffb\"\n+ \"0x0ba9b644913957c9f60eda0ab433da4523bb2437156e4dd8dadca627c884ba2a\"\n values.$implementation:\n- \"katana:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"\n+ \"katana:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"\n values.$pastUpgrades.1:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"1.1.1\"\n values.proxyAdmin:\n+ \"katana:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.katana:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537:\n- \"OperatorFeeVault\"\n implementationNames.katana:0xEddf416c7159387cc6DF3015700F79Cfb8911373:\n+ \"OperatorFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (katana:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x184ad3273d7e257c9f1b138ecff33286528599eae858abc182fdc3068060af90\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"katana:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020\"\n+ \"katana:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.katana:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020:\n- \"SchemaRegistry\"\n implementationNames.katana:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (katana:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x565fcc3b9d0821e7893d6c738d9eafe13dc0e30795042c019bb419f2d6e32c78\"\n+ \"0x16924e7d7c1a311d6c9da93c6bf8bc7bd5454a0efde4d6e365e66c87ef4a0951\"\n values.$implementation:\n- \"katana:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021\"\n+ \"katana:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.0:\n+ [\"2026-09-23T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"katana:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.katana:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021:\n- \"EAS\"\n implementationNames.katana:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```"
}
]
},
{
"id": "7567e9b0",
"date": "Wed, 23 Sep 2026 05:47:11 GMT",
"timestamp": 1788793515,
"description": "Refresh config-derived discovery metadata at the main-branch block.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "60da3e8b",
"date": "Mon, 07 Sep 2026 15:06:55 GMT",
"timestamp": 1788793515,
"description": "All OP-stack L1 contracts upgraded to the current OP stack release (Karst generation, same as the Superchain). The forked OptimismPortal2 still disables ETH and token bridging while allowing forced transactions.\n\nNo risk related changes.\n\nImplementation diffs:\n- OptimismPortal2: https://disco.l2beat.com/diff/eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a/eth:0x3160738db14B27EAe2D0d1b622259010308f4C38\n- SystemConfig: https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- SuperchainConfig: https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n- DisputeGameFactory: https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry: https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- L1CrossDomainMessenger: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1StandardBridge: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1ERC721Bridge: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- OptimismMintableERC20Factory: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- DelayedWETH (new proxy, impl diff): https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e\n- PermissionedDisputeGame (replaced): https://disco.l2beat.com/diff/eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\n- MIPS (replaced): https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\n- PreimageOracle (replaced): https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isHighSeverity": true,
"changeCount": 142,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC721Bridge (eth:0x15a32FCeA89617Ff450F094cDE102CCa46598B7F) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.5:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.5:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E) [katana/OptimismPortal2] {\n +++ description: Stores the configuration of the OP stack components and proof system. Specifies which game type is used for state validation, which currently is the PermissionedDisputeGame. This contract is modified to disable asset bridging, but it allows forced transactions.\n sourceHashes.1:\n- \"0xfcecb325a86c39482f8e9d29272f25089eec0b5fbefe21444fd1ea690c911f0c\"\n+ \"0xcdca45f93efdef12515a42464aa744c87143d83208163ef6a97317da454c7eac\"\n values.$implementation:\n- \"eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a\"\n+ \"eth:0x3160738db14B27EAe2D0d1b622259010308f4C38\"\n values.$pastUpgrades.9:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x3160738db14B27EAe2D0d1b622259010308f4C38\"]]\n values.$upgradeCount:\n- 9\n+ 13\n values.version:\n- \"agg3.15.0\"\n+ \"5.6.1-agglayer\"\n implementationNames.eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x3160738db14B27EAe2D0d1b622259010308f4C38:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811) [opstack/SuperchainConfigFake_expiry] {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n template:\n- \"opstack/SuperchainConfigNoGuard\"\n+ \"opstack/SuperchainConfigFake_expiry\"\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n description:\n- \"This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system. Since the OptimismPortal is not used for state root management in this setup, the guardian role and pausing may be inconsequential.\"\n+ \"This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n values.pauseExpiryFmt:\n+ \"3mo 1d\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n category.name:\n- \"Spam\"\n+ \"Shared Infrastructure\"\n category.priority:\n- -1\n+ 4\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0x98906C3f90A06B5484DD67bf32938815d2993dBC) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.3:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xaA8a62563CFe4E36118ED479B5486F503b438376) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.1:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$pastUpgrades.2:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 1\n+ 4\n values.absolutePrestateFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.challengePeriodFromOracle:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.oracleFromVm:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.5.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.wethFromGame:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xdead000000000000000000000000000000000000000000000000000000000000\",\"l2SequenceNumber\":0}\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.6:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 6\n+ 9\n values.getAddresses.delayedWETH:\n+ \"eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e\"\n values.getAddresses.opcm:\n+ \"eth:0x6FD5B86B93A0405c1eF082ED6Ed3b28e94f022f4\"\n values.version:\n- \"3.11.0\"\n+ \"3.14.2\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e\"\n values.isCustomGasToken:\n+ false\n values.lastUsedOPCM:\n+ \"eth:0x6FD5B86B93A0405c1eF082ED6Ed3b28e94f022f4\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) [GnosisSafe] {\n +++ description: None\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.4:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-01T06:51:23.000Z\",\"0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 4\n+ 7\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x4A6f5889409Bf4Bf3Bff0Fef585D7A29FdA64258\"\n values.version:\n- \"1.3.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x28260fD38F737e98F1599eCd385d4eB13C5A7A1f\"\n values.multisigThreshold:\n- \"2 of 10 (20%)\"\n+ \"2 of 11 (18%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "d922a712",
"date": "Tue, 25 Aug 2026 08:59:35 GMT",
"timestamp": 1787645431,
"description": "New selected op succinct config.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) [katana/AggchainFEP_post035] {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x00d68eb096f4c731512562f7a06e6bba104dbcb959261edd3eb3ec542c200c89\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x1f089f9d1cd3f727775788003d3e496037d3625e2e9de6e5005f1e9707ba3b8f\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"Katana OP Succinct v3.12.0 rollup config (Kona v1.6.0)\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0xe3fbe1170998c9f380d29247864dd07f2f17367a23ae5e0fa409ebd371d97d6f\"\n+ \"0x0f30c0b6846b034a146a47c5185fb9a4321df3569376773238ef30c831019190\"\n }\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "a3fbcb18",
"date": "Thu, 23 Jul 2026 13:53:56 GMT",
"timestamp": 1784814637,
"description": "One Polygon Labs Engineering/Security Multisig signer was rotated and another removed, changing it from 2-of-8 to 2-of-7.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Polygon Labs Engineering/Security Multisig (eth:0x9d851f8b8751c5FbC09b9E74E6e68E9950949052) [GnosisSafe] {\n +++ description: None\n values.$members.1:\n- \"eth:0xe0e8e6bBDef7bbcf8dF1F5Ac0ab9906BFe991d8B\"\n+ \"eth:0xFB2a738AE435610354b132c4a4ee647558f663eb\"\n values.$members.6:\n- \"eth:0xED7cC82235A7757702475c8f77c7830c095FB5a2\"\n values.multisigThreshold:\n- \"2 of 8 (25%)\"\n+ \"2 of 7 (29%)\"\n }\n```"
}
]
},
{
"id": "7f0f13c0",
"date": "Tue, 21 Jul 2026 08:43:22 GMT",
"timestamp": 1784623318,
"description": "4 multisig signers added.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9f02595fBFD199C4cBC02878fc9B2b2E07b0840C\"\n values.$members.1:\n+ \"eth:0x1319279d6d54dB0883F7bAF822191c7184Db0c3d\"\n values.$members.2:\n+ \"eth:0x6Ab87a62E250A5EB09a53Fca832B9Bda480c3890\"\n values.$members.3:\n+ \"eth:0x573D7a729cfcF20B81D70732d625Ae31549B8b91\"\n values.multisigThreshold:\n- \"2 of 6 (33%)\"\n+ \"2 of 10 (20%)\"\n }\n```"
}
]
},
{
"id": "c93bf0f0",
"date": "Fri, 17 Jul 2026 07:35:16 GMT",
"timestamp": 1784270104,
"description": "New op-succinct programHashes - reproduced from v3.10.0 . Add rollup config preimg and instructions to repro.",
"isHighSeverity": true,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) [katana/AggchainFEP_post035] {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x0034587dfb1de8163284d39f3043f5fadfa92f9e03fb3e0315eb469c550fde40\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x1b04822373ca65680026b5610c1edf424798421b032ef9117b2c264661de246f\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"Katana OP Succinct v3.10.0 rollup config (Kona v1.6.0)\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0x3cb66b8472d88440173415d4d4a316b9df81ac208e63e02829f823fccbe3f547\"\n+ \"0xe3fbe1170998c9f380d29247864dd07f2f17367a23ae5e0fa409ebd371d97d6f\"\n }\n```\n\n```diff\n contract Katana Steakhouse Financial / Morpho Multisig (eth:0x827e86072B06674a077f592A531dcE4590aDeCdB) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xfc615395336aADe67fd853a0157001a215Ea1279\"\n values.multisigThreshold:\n- \"2 of 6 (33%)\"\n+ \"2 of 7 (29%)\"\n }\n```"
}
]
},
{
"id": "67d3f4d9",
"date": "Wed, 08 Jul 2026 11:18:11 GMT",
"timestamp": 1783509417,
"description": "One multisig signer removed.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana yieldRecipient Mulsitig (eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x34d23C4fb6542B467cA8724bAD30AC811399b184\"\n values.multisigThreshold:\n- \"2 of 7 (29%)\"\n+ \"2 of 6 (33%)\"\n }\n```\n\n```diff\n contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) [GnosisSafe] {\n +++ description: None\n values.$members.5:\n- \"eth:0x59cE4e1709c7E462F3b72Ca3e1256dFa7358FC29\"\n values.multisigThreshold:\n- \"2 of 7 (29%)\"\n+ \"2 of 6 (33%)\"\n }\n```"
}
]
},
{
"id": "870b374c",
"date": "Tue, 23 Jun 2026 12:57:22 GMT",
"timestamp": 1782219118,
"description": "Update op-succinct programs to v6.1.0.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) [katana/AggchainFEP_post035] {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x0095c1f31a6e1003e1e3083ca45bf69b95c9a1468708df1029c9cf4bceb8a852\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x3813362d038935ad6cb1e2566278975f08be38a92bfe7137505ef0c14a9d1972\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x352a9738897d236014fd5bd11986bf008b3b623b037405900ab338f93cdf5272\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0xe719c402037f76346e69e021164101e16954889c052f75f16a29758815723dde\"\n+ \"0x3cb66b8472d88440173415d4d4a316b9df81ac208e63e02829f823fccbe3f547\"\n }\n```"
}
]
},
{
"id": "31762479",
"date": "Tue, 16 Jun 2026 09:07:56 GMT",
"timestamp": 1781600787,
"description": "Add multisig signer.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (katana:0x7990513f4d64d57524a0B2519759f53B0cB1aEbd) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"katana:0xb3dA4c1Ba8De9E04f22B1554a070189F518FDCac\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "f40af055",
"date": "Wed, 10 Jun 2026 14:34:54 GMT",
"timestamp": 1781102006,
"description": "Two conduit ms members removed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.8:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "25184f45",
"date": "Tue, 02 Jun 2026 13:01:35 GMT",
"timestamp": 1780404229,
"description": "Config ignores and conduit ms changes.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853\"\n values.$members.8:\n- \"eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f\"\n }\n```\n\n```diff\n contract Polygon Labs Engineering/Security Multisig (eth:0x9d851f8b8751c5FbC09b9E74E6e68E9950949052) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xf02BE0dA37dB50BEFA5a525158aa94b50F81D4B2\"\n values.$members.1:\n+ \"eth:0xe0e8e6bBDef7bbcf8dF1F5Ac0ab9906BFe991d8B\"\n values.$members.2:\n+ \"eth:0x6Ab87a62E250A5EB09a53Fca832B9Bda480c3890\"\n values.multisigThreshold:\n- \"2 of 5 (40%)\"\n+ \"2 of 8 (25%)\"\n }\n```"
}
]
},
{
"id": "e7d986f3",
"date": "Fri, 29 May 2026 13:34:21 GMT",
"timestamp": 1780060245,
"description": "Standard L2 contract sources have been verified.",
"isHighSeverity": false,
"changeCount": 44,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AgglayerBridgeL2 (katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe) [katana/AgglayerBridgeL2] {\n +++ description: Agglayer bridge contract. Supports interop with Ethereum and blockchains connected to Agglayer. Escrows all preminted ETH because it cannot mint on the L2. The globalExitRootManager is used as an oracle to validate bridge messages against.\n values.claimedGlobalIndexHashChain:\n- \"0x5fede20963bde12c20e3076c4426550f570914a8a035c1381bc98f8bed306a46\"\n+ \"0xdef05ec6820a531b383dc3f9dbbc1aac9846e2eab7a821929b5a07cc51659e4c\"\n values.getRoot:\n- \"0x1d743ae7262c7410af3fb680660e6c1f336b2f49609f709a69a9fd8b9ad21bb2\"\n+ \"0x5ed5cfaf86b2b848194a0a9ebfa969a88ddee6b8f6f007a0ef658482f2665402\"\n }\n```\n\n```diff\n contract GlobalExitRootManagerL2SovereignChain (katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA) [katana/GlobalExitRootManagerL2SovereignChain] {\n +++ description: Manages Layer 2 and global merkle roots (exit roots). It stores exit roots written during bridge deposits, accepts imported global exit roots from a permissioned address, and manages historical roots.\n values.insertedGERHashChain:\n- \"0xaae24c57922b6453c1812383dba7b31cf9788b57cfc281e208b4e2911e5feee7\"\n+ \"0x59bc3b88b56a09b106e04e1ffe3fd6dc754bf81029ef9cfe2723275b8f5b347c\"\n values.lastRollupExitRoot:\n- \"0x1d743ae7262c7410af3fb680660e6c1f336b2f49609f709a69a9fd8b9ad21bb2\"\n+ \"0x5ed5cfaf86b2b848194a0a9ebfa969a88ddee6b8f6f007a0ef658482f2665402\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n contract ProxyAdmin (katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A) [global/ProxyAdmin] {\n +++ description: None\n name:\n- \"upgradeProxy\"\n+ \"ProxyAdmin\"\n unverified:\n- true\n receivedPermissions:\n- [{\"permission\":\"upgrade\",\"from\":\"katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA\",\"role\":\"admin\"}]\n values.owner:\n+ \"katana:0xBBa0935Fa93Eb23de7990b47F0D96a8f75766d13\"\n implementationNames.katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A:\n- \"\"\n+ \"ProxyAdmin\"\n template:\n+ \"global/ProxyAdmin\"\n sourceHashes:\n+ [\"0xae641c7d7a83bba7fa913b9544f946dc23ca0527c2f4abb9c6a3496f49375218\"]\n directlyReceivedPermissions:\n+ [{\"permission\":\"upgrade\",\"from\":\"katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe\",\"role\":\"admin\"},{\"permission\":\"upgrade\",\"from\":\"katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA\",\"role\":\"admin\"}]\n }\n```\n\n```diff\n contract GasPriceOracle (katana:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n unverified:\n- true\n values.baseFee:\n+ 0\n values.baseFeeScalar:\n+ 1368\n values.decimals:\n+ 6\n values.DECIMALS:\n+ 6\n values.gasPrice:\n+ 0\n values.isEcotone:\n+ true\n values.isFjord:\n+ true\n values.isIsthmus:\n+ true\n values.isJovian:\n+ true\n values.version:\n+ \"1.6.0\"\n implementationNames.katana:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"\"\n+ \"GasPriceOracle\"\n template:\n+ \"opstack/Layer2/GasPriceOracle\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x2a3c7909036a30543d4aaa8e9501caab6f998a671d40cc3822f89c6239e6b8ab\"]\n description:\n+ \"Provides the current gas price for L2 transactions.\"\n }\n```\n\n```diff\n contract L1Block (katana:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n unverified:\n- true\n values.baseFeeScalar:\n+ 1368\n values.batcherHash:\n+ \"0x0000000000000000000000001ffda89c755f6d4af069897d77ccabb580fd412a\"\n values.daFootprintGasScalar:\n+ 400\n values.DEPOSITOR_ACCOUNT:\n+ \"katana:0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001\"\n values.gasPayingToken:\n+ {\"addr_\":\"katana:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.l1FeeOverhead:\n+ 0\n values.l1FeeScalar:\n+ 0\n values.version:\n+ \"1.7.0\"\n implementationNames.katana:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"\"\n+ \"L1Block\"\n template:\n+ \"opstack/Layer2/L1Block\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"]\n description:\n+ \"Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract L2Timelock (katana:0xBBa0935Fa93Eb23de7990b47F0D96a8f75766d13) [polygon-cdk/L2Timelock]\n +++ description: A timelock with access control. The current minimum delay is 12h.\n```"
}
]
},
{
"id": "4a509311",
"date": "Thu, 28 May 2026 12:57:31 GMT",
"timestamp": 1779956198,
"description": "minimal diff upgrade to the OptiPortal that adds deposited transactions! https://flat.l2beat.com/diff/ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/katana:0xFBF44D0341C03098A1D9C0336e3d5C34E8BFdf1A\n\nusers can now force transactions that do not relate to bridging (they still cannot force ETH- or token deposits). the force tx delay in op stack (or op-succinct) depends on the node config/programHash and both are unverified for katana. as soon as we have a source, we should look for `sequencerWindowSize` (OP stack standard is 3600). we will assume standard and show the delay as 12h but say that this is unverified.\n\nproposals are also still permissioned, meaning that, assuming sequencer and proposer/prover are the same entity, the system changed from 'sequencer can cherry-pick/censor' to 'proposer must blanket-censor, no cherry-pick'.\n\nthe agglayer bridge is separate from the OP stack proof system and bridge and has its own proof system and l2 smart contract. this includes the gas token (ETH) bridge. the oracle on L2 that allows to update the agglayer bridge state roots is permissioned to an EOA atm.",
"isHighSeverity": true,
"changeCount": 51,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Yearn Strategist Multisig (eth:0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x5E5D6f849Fa86c058f148E9D3f643C8F4c43f20b\"\n values.$members.1:\n+ \"eth:0x5250077c42627cBd112988f32D482acC9ff40bDB\"\n values.$members.2:\n+ \"eth:0xC357eE8a8DdE88Dd5a3Ea54847Adef6846A28c51\"\n values.$members.3:\n+ \"eth:0xFcc3796370e1538F8cC60bec19A8be5457f2C74F\"\n values.$members.4:\n+ \"eth:0xFafFb75e14faFf9f11315E44a2E54A22872c7a34\"\n values.$members.2:\n- \"eth:0xBD5f1429Ab467E69BEeba51E547C00A21F2a2092\"\n values.$members.3:\n- \"eth:0x787aba336583f4A1D4f8cBBFDFFD49f3a38De665\"\n values.$members.4:\n- \"eth:0x2C2dc95F8C8060a7e3B354c1B9540881AEa1613C\"\n values.$members.5:\n- \"eth:0xd0002c648CCa8DeE2f2b8D70D542Ccde8ad6EC03\"\n values.$members.6:\n- \"eth:0x1b5f15DCb82d25f91c65b53CEe151E8b9fBdD271\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E) [katana/OptimismPortal2] {\n +++ description: Stores the configuration of the OP stack components and proof system. Specifies which game type is used for state validation, which currently is the PermissionedDisputeGame. This contract is modified to disable asset bridging, but it allows forced transactions.\n name:\n- \"OptimismPortal2_neutered\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal2_noForce\"\n+ \"katana/OptimismPortal2\"\n sourceHashes.1:\n- \"0x4cc0e4525ed77b81565c05c0e673e043a93d9878924197f772581f72c11c91c5\"\n+ \"0xfcecb325a86c39482f8e9d29272f25089eec0b5fbefe21444fd1ea690c911f0c\"\n description:\n- \"The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.\"\n+ \"Stores the configuration of the OP stack components and proof system. Specifies which game type is used for state validation, which currently is the PermissionedDisputeGame. This contract is modified to disable asset bridging, but it allows forced transactions.\"\n values.$implementation:\n- \"eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4\"\n+ \"eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a\"\n values.$pastUpgrades.8:\n+ [\"2026-05-22T16:31:35.000Z\",\"0x46d8e0a3a5383c133292ef51e4d7eef96fddc443b892d38e62c39b1186055691\",[\"eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"5.1.1\"\n+ \"agg3.15.0\"\n fieldMeta.respectedGameType:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4:\n- \"OptimismPortal2\"\n implementationNames.eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a:\n+ \"OptimismPortal2\"\n usedTypes.0.arg.1337:\n+ \"KailuaGame\"\n }\n```\n\n```diff\n contract AgglayerBridgeL2 (katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe) [katana/AgglayerBridgeL2] {\n +++ description: Agglayer bridge contract. Supports interop with Ethereum and blockchains connected to Agglayer. Escrows all preminted ETH because it cannot mint on the L2. The globalExitRootManager is used as an oracle to validate bridge messages against.\n values.claimedGlobalIndexHashChain:\n- \"0xfcb94fe6eae1dd3db9426645c49bdd5a55f574591df36333e3822c2e28a6aa5d\"\n+ \"0x5fede20963bde12c20e3076c4426550f570914a8a035c1381bc98f8bed306a46\"\n values.getRoot:\n- \"0x77b2c19aaa8daa89496903e91a84dfdf09cbc2821671eb351e953ed0c646be5b\"\n+ \"0x1d743ae7262c7410af3fb680660e6c1f336b2f49609f709a69a9fd8b9ad21bb2\"\n }\n```\n\n```diff\n contract GlobalExitRootManagerL2SovereignChain (katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA) [katana/GlobalExitRootManagerL2SovereignChain] {\n +++ description: Manages Layer 2 and global merkle roots (exit roots). It stores exit roots written during bridge deposits, accepts imported global exit roots from a permissioned address, and manages historical roots.\n values.insertedGERHashChain:\n- \"0x64bc5ca77fa29cfc3cd117f2314df1d7c1c5f3d01f31f2c58bd277f3e75b1016\"\n+ \"0xaae24c57922b6453c1812383dba7b31cf9788b57cfc281e208b4e2911e5feee7\"\n values.lastRollupExitRoot:\n- \"0x77b2c19aaa8daa89496903e91a84dfdf09cbc2821671eb351e953ed0c646be5b\"\n+ \"0x1d743ae7262c7410af3fb680660e6c1f336b2f49609f709a69a9fd8b9ad21bb2\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract upgradeProxy (katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AgglayerBridgeL2 (katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe) [katana/AgglayerBridgeL2]\n +++ description: Agglayer bridge contract. Supports interop with Ethereum and blockchains connected to Agglayer. Escrows all preminted ETH because it cannot mint on the L2. The globalExitRootManager is used as an oracle to validate bridge messages against.\n```\n\n```diff\n+ Status: CREATED\n contract DeployerWhitelist (katana:0x4200000000000000000000000000000000000002) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (katana: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```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (katana:0x420000000000000000000000000000000000000F) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (katana: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```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (katana:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault]\n +++ description: Collects the sequencer fees.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (katana:0x4200000000000000000000000000000000000012) [opstack/Layer2/OptimismMintableERC20Factory]\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (katana:0x4200000000000000000000000000000000000013) [opstack/Layer2/L1BlockNumber]\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (katana:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge]\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (katana:0x4200000000000000000000000000000000000015) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (katana:0x4200000000000000000000000000000000000016) [katana/L2ToL1MessagePasser]\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (katana:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory]\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (katana:0x4200000000000000000000000000000000000018) [global/ProxyAdmin]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (katana:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault]\n +++ description: Collects EIP-1559 base fees\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (katana:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault]\n +++ description: Collects the L1 portion of the L2 transaction fees.\n```\n\n```diff\n+ Status: CREATED\n contract OperatorFeeVault (katana:0x420000000000000000000000000000000000001b) [opstack/Layer2/OperatorFeeVault]\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (katana:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry]\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (katana:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS]\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (katana:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (katana:0x7990513f4d64d57524a0B2519759f53B0cB1aEbd) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GlobalExitRootManagerL2SovereignChain (katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA) [katana/GlobalExitRootManagerL2SovereignChain]\n +++ description: Manages Layer 2 and global merkle roots (exit roots). It stores exit roots written during bridge deposits, accepts imported global exit roots from a permissioned address, and manages historical roots.\n```\n\n```diff\n+ Status: CREATED\n contract BridgeLib (katana:0xb30C032b183525de7427f04e79F45Cd19866E124) [katana/BridgeLib]\n +++ description: Utility library contract for the AgglayerBridgeL2.\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract TokenWrappedBridgeUpgradeable (katana:0xF0777a825470092b3Debc9af291634460b8E1a2c) [katana/TokenWrappedBridgeUpgradeable]\n +++ description: An ERC-20 implementation designed for cross-chain assets on the L2. It restricts token minting or burning strictly to the primary bridge contract.\n```"
}
]
},
{
"id": "dbd2c228",
"date": "Wed, 13 May 2026 12:37:16 GMT",
"timestamp": 1778675724,
"description": "ms member change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) [GnosisSafe] {\n +++ description: None\n values.$members.4:\n- \"eth:0x6c20ea7778EA9F3Afd74Ce4538bc4D9d61E6ABb1\"\n+ \"eth:0xFAc88BB6229F47A31A78F0Ba91E5a541Cb1866a3\"\n }\n```"
}
]
},
{
"id": "af60feb7",
"date": "Wed, 29 Apr 2026 08:37:50 GMT",
"timestamp": 1777451715,
"description": "Two unrelated changes:\n\n1. **EOA `0x227D9Ea8...` set up an EIP-7702 delegation.** This EOA is a signer on two katana multisigs. It now delegates to `0x63c0c19a...` (MetaMask's `EIP7702StatelessDeleGator` v1.3.0) with `delegationManager = 0xdb9B1e94...` and `entryPoint = 0x00000000...da032` (ERC-4337 EntryPoint v0.7). No protocol change for katana — just the signer's own EOA upgrading to a smart-account setup that runs through ERC-4337.\n\n2. **Conduit Multisig 1 (`eth:0x4a496227...`)** — signer `0x381624F7` removed. Threshold unchanged at 4; total signers 13 → 12 (31% → 33%). Same shared multisig change observed on `forknet`.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x227D9Ea843910Edd305c42e7bB9Ce6D9f369238c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x227D9Ea843910Edd305c42e7bB9Ce6D9f369238c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x876a24e12d1595ba43f838917743b4ea108e3957c4df5ec812cf3348b156d941\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.1:\n- \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 13 (31%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "08710e37",
"date": "Fri, 24 Apr 2026 10:10:16 GMT",
"timestamp": 1777024331,
"description": "New opsuccinct config.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x0065e407807b2b3610cc9ff6637ea16e815552bc34b48c206529d3cfcd9d1152\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x5c7c05114bc5dd360fdb52ec2b4977a45f7e22806bc949a72759ea1172202229\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x352a9738897d236014fd5bd11986bf008b3b623b037405900ab338f93cdf5272\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0x36e852219a68060b42e38154cd2c3e2b36ae97ea0445b1b9a034232cda5b3c00\"\n+ \"0xe719c402037f76346e69e021164101e16954889c052f75f16a29758815723dde\"\n }\n```"
}
]
},
{
"id": "388d9a35",
"date": "Wed, 22 Apr 2026 13:08:46 GMT",
"timestamp": 1776863221,
"description": "fee and multisig changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana Steakhouse Financial / Morpho Multisig (eth:0x827e86072B06674a077f592A531dcE4590aDeCdB) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xf83dB716A1Ff12F9005F98f678D8BE97B8Bc81d6\"\n values.multisigThreshold:\n- \"2 of 5 (40%)\"\n+ \"2 of 6 (33%)\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.minBaseFee:\n- 0\n+ 1000000\n values.operatorFeeConstant:\n- 1351351351351\n+ 0\n values.operatorFeeScalar:\n- 0\n+ 100000\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x6f8CC67A7F6c61E4047aC4870583899CC1fBD08a\"\n values.multisigThreshold:\n- \"3 of 4 (75%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "7769cde1",
"date": "Fri, 10 Apr 2026 08:24:59 GMT",
"timestamp": 1775809429,
"description": "Rotated one member, removed two members from Polygon admin ms.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n values.$members.0:\n- \"eth:0x1B054e6c9F424879d8ad829EE254F88B4D3ac304\"\n+ \"eth:0x4A658D678804DD0a4Ad0A2c26AD4F4EB2517154b\"\n values.$members.3:\n- \"eth:0x34d23C4fb6542B467cA8724bAD30AC811399b184\"\n values.$members.4:\n- \"eth:0x1DD6473a6bb5fF9041D945C7d15AC8fBc2Ee1164\"\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"3 of 4 (75%)\"\n }\n```"
}
]
},
{
"id": "50934e46",
"date": "Tue, 07 Apr 2026 11:34:04 GMT",
"timestamp": 1775561575,
"description": "Rotated MS member.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana yieldRecipient Mulsitig (eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756) {\n +++ description: None\n values.$members.2:\n- \"eth:0x6c20ea7778EA9F3Afd74Ce4538bc4D9d61E6ABb1\"\n+ \"eth:0xf2dc90d4645579f261cA36E81181986dB576BbEe\"\n }\n```"
}
]
},
{
"id": "5acfd848",
"date": "Mon, 16 Mar 2026 12:53:36 GMT",
"timestamp": 1773665394,
"description": "progHashes changed, cannot find on githubs.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x00987c64e3710bc9ab5f3a93f3f1249be821b1a6eedb14dbc1ae2d6fc4fd9337\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x05f486d43f4066c24b8652cd52e122df59f0ea4c33c0df8155dc58de37f93330\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x352a9738897d236014fd5bd11986bf008b3b623b037405900ab338f93cdf5272\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0xf7803dc0ac1322b6bff3d4f9a48ffd57102e4076d8e40333dd72084f0cf9cc68\"\n+ \"0x36e852219a68060b42e38154cd2c3e2b36ae97ea0445b1b9a034232cda5b3c00\"\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x1B054e6c9F424879d8ad829EE254F88B4D3ac304\"\n values.$members.0:\n- \"eth:0x2483A0d6a3Bd89D5C17aA80B3f8f6102ac053361\"\n+ \"eth:0xA697656ac37ee1f59A8a5318F61601B4C208960D\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "d3280720",
"date": "Fri, 06 Mar 2026 08:59:26 GMT",
"timestamp": 1772786542,
"description": "progHash changed to op succinct 3.5.0.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x0077f45ec2258cc98fa879d13a2773190bffb9cafb9f428ce3c5718dc768f03e\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x0e5158b64c46007c04e5972727a2a26832337fbe765162294b0ce1ed0db36f9d\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x352a9738897d236014fd5bd11986bf008b3b623b037405900ab338f93cdf5272\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0xfda6f1430e8363d3850cb5ff3f026f6ce01ad0fad017cb06a1dcbeb72c00304d\"\n+ \"0xf7803dc0ac1322b6bff3d4f9a48ffd57102e4076d8e40333dd72084f0cf9cc68\"\n }\n```"
}
]
},
{
"id": "a0780ac7",
"date": "Wed, 04 Mar 2026 08:43:04 GMT",
"timestamp": 1772612116,
"description": "Upgrade to known op-contracts version.\n\nOptimism portal is neutered, diff to standard: https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4\n\nrest of the contracts are standard.",
"isHighSeverity": true,
"changeCount": 118,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC721Bridge (eth:0x15a32FCeA89617Ff450F094cDE102CCa46598B7F) {\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-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.4.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.systemConfig:\n+ \"eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832) {\n +++ description: None\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xaA8a62563CFe4E36118ED479B5486F503b438376\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372)\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 L1CrossDomainMessenger (eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.3:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$pastUpgrades.4:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.6.0\"\n+ \"2.11.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.systemConfig:\n+ \"eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismPortal2_neutered (eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E) {\n +++ description: The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.\n sourceHashes.1:\n- \"0x9cf3cb8a68c82a3a8328495d5f019daa51e9098a69b69ee8e349e3058b789338\"\n+ \"0x9b5cb94efaca7f6a941c6e29cd8f71079ec5ea2360e3f4948e59560dd107d7f9\"\n values.$implementation:\n- \"eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc\"\n+ \"eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4\"\n values.$pastUpgrades.5:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$pastUpgrades.6:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$pastUpgrades.7:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.respectedGameTypeUpdatedAt:\n- 1746742811\n+ 1772552963\n values.version:\n- \"3.14.0\"\n+ \"5.1.1\"\n values.anchorStateRegistry:\n+ \"eth:0xaA8a62563CFe4E36118ED479B5486F503b438376\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc:\n- \"OptimismPortal2\"\n implementationNames.eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system. Since the OptimismPortal is not used for state root management in this setup, the guardian role and pausing may be inconsequential.\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.4:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.4.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.proxyAdmin:\n+ \"eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x667b7DA73DA7B2A75286378FF45637eEaE9B4793)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger. In the context of this permissioned aggkit deployment, there are no state proposals made here and the op stack fault proof system is not used.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32)\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:0x98906C3f90A06B5484DD67bf32938815d2993dBC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.3.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.systemConfig:\n+ \"eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.4:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$pastUpgrades.5:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.guardian:\n+ \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 747474\n values.minBaseFee:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.superchainConfig:\n+ \"eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xaA8a62563CFe4E36118ED479B5486F503b438376\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe) {\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-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$pastUpgrades.3:\n+ [\"2026-03-03T15:49:23.000Z\",\"0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 2\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x667b7DA73DA7B2A75286378FF45637eEaE9B4793\"\n+ \"eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D\"\n values.version:\n- \"1.0.1\"\n+ \"1.3.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"\n values.proxyAdminOwner:\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xaA8a62563CFe4E36118ED479B5486F503b438376)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "8237ac0a",
"date": "Mon, 02 Mar 2026 13:34:20 GMT",
"timestamp": 1772458371,
"description": "gas config change + ms member changes.",
"isHighSeverity": false,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana Foundation Engineering/Security Multisig (eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n values.$members.1:\n- \"eth:0xEad77b01ea770839F7f576Cd1516Ff6A298d9dB2\"\n+ \"eth:0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72\"\n values.$members.2:\n- \"eth:0xAb76AE6926371B82Af3652cCBABefBBA56270adC\"\n+ \"eth:0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B\"\n values.$members.3:\n- \"eth:0xAb3506507449bF1880f3337825efd19ac89E235E\"\n+ \"eth:0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC\"\n values.$members.4:\n- \"eth:0xcAB31b6A7b4d2eCd562A09e2BfA46535a18862f9\"\n+ \"eth:0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"2 of 5 (40%)\"\n }\n```\n\n```diff\n- Status: DELETED\n reference (eth:0xAb3506507449bF1880f3337825efd19ac89E235E)\n +++ description: None\n```\n\n```diff\n contract SystemConfig (eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 250\n+ 50\n values.eip1559Elasticity:\n- 60\n+ 6\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 120000000\n }\n```\n\n```diff\n- Status: DELETED\n reference (eth:0xcAB31b6A7b4d2eCd562A09e2BfA46535a18862f9)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n reference (eth:0xEad77b01ea770839F7f576Cd1516Ff6A298d9dB2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n reference (eth:0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n reference (eth:0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC)\n +++ description: None\n```"
}
]
},
{
"id": "b182e3dc",
"date": "Thu, 19 Feb 2026 08:41:37 GMT",
"timestamp": 1771490328,
"description": "optimistic mode manager moved to Polygon Multisig 2.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.optimisticModeManager:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.pendingOptimisticModeManager:\n- \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract Katana Foundation Engineering/Security Multisig (eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666\",\"description\":\"toggle the 'optimisticMode'.\",\"role\":\".optimisticModeManager\"}]\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666\",\"description\":\"toggle the 'optimisticMode'.\",\"role\":\".optimisticModeManager\"}\n }\n```"
}
]
},
{
"id": "5c066b30",
"date": "Mon, 16 Feb 2026 13:57:07 GMT",
"timestamp": 1771250113,
"description": "Move aggchain and op mode manager to Polygon Multisig 2.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.aggchainManager:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n values.pendingOptimisticModeManager:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```\n\n```diff\n contract Katana Foundation Engineering/Security Multisig (eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666\",\"description\":\"change verification keys (aggregationVkey, rangeVkeyCommitment, aggchainVkey) and the rollupConfigHash, manage multisig signers for permissioned state transitions and change critical configs for state validation.\",\"role\":\".aggchainManager\"}\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666\",\"description\":\"change verification keys (aggregationVkey, rangeVkeyCommitment, aggchainVkey) and the rollupConfigHash, manage multisig signers for permissioned state transitions and change critical configs for state validation.\",\"role\":\".aggchainManager\"}\n }\n```"
}
]
},
{
"id": "092d0a96",
"date": "Wed, 11 Feb 2026 12:54:49 GMT",
"timestamp": 1770814418,
"description": "Owner changes (Polygon Multisig 2 claiming more permissions).",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana Foundation Engineering/Security Multisig (eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract DelayedWETH (eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32) {\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 values.owner:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.owner:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```"
}
]
},
{
"id": "2760d96c",
"date": "Mon, 02 Feb 2026 14:49:25 GMT",
"timestamp": 1770035635,
"description": "upgrade admin change.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832) {\n +++ description: None\n values.owner:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```\n\n```diff\n contract Katana Foundation Engineering/Security Multisig (eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n receivedPermissions.4:\n- {\"permission\":\"interact\",\"from\":\"eth:0xEaB94275eD336D80d4F46EA8Ea0427e351f11D65\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x15a32FCeA89617Ff450F094cDE102CCa46598B7F\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x98906C3f90A06B5484DD67bf32938815d2993dBC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"role\":\".$admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.13:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.14:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\",\"role\":\".owner\"},{\"permission\":\"act\",\"from\":\"eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52) {\n +++ description: None\n values.owner:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```\n\n```diff\n contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0xEaB94275eD336D80d4F46EA8Ea0427e351f11D65\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x15a32FCeA89617Ff450F094cDE102CCa46598B7F\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0x98906C3f90A06B5484DD67bf32938815d2993dBC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"role\":\".$admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"act\",\"from\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\",\"role\":\".owner\"},{\"permission\":\"act\",\"from\":\"eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52\",\"role\":\".owner\"}]\n }\n```"
}
]
},
{
"id": "7217acf2",
"date": "Tue, 27 Jan 2026 12:37:20 GMT",
"timestamp": 1769516922,
"description": "New member added to Conduit Multisig 1, increasing from 4 of 12 to 4 of 13 threshold.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 13 (31%)\"\n }\n```"
}
]
},
{
"id": "ff6e8897",
"date": "Wed, 21 Jan 2026 12:34:25 GMT",
"timestamp": 1768998796,
"description": "conduit ms change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "5ff094a2",
"date": "Mon, 19 Jan 2026 09:54:14 GMT",
"timestamp": 1768816385,
"description": "admin change and multisig member change.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.admin:\n- \"eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```\n\n```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```\n\n```diff\n contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) {\n +++ description: None\n values.$members.6:\n- \"eth:0xfd5E854b73a239c9052d89C53D1313f5AfB860ac\"\n+ \"eth:0xdEb97974dfCC73178672205A1eadDc2BDeAc1Bd4\"\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 7 (43%)\"\n+ \"2 of 7 (29%)\"\n }\n```"
}
]
},
{
"id": "83b025ef",
"date": "Wed, 14 Jan 2026 06:06:21 GMT",
"timestamp": 1768370407,
"description": "new pending admin: the admin can change the trusted sequencer address, which in turn can finalize state by signature, but only in optimistic mode, managed by the optimistic mode manager address.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.pendingAdmin:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC\"\n }\n```"
}
]
},
{
"id": "e17f828d",
"date": "Mon, 15 Dec 2025 07:24:43 GMT",
"timestamp": 1765783036,
"description": "new opsuccinct vkeys:\n\naggregationVkey\n- unchanged: 0x007efdd073c9845bbc446e0e62018af999bde96ecec416725391efa4a3f0a44d\n\nrangeVkeyCommitment\n- old: 0x4b8234c47685b3361b22399702416a8010783b1b701b279073b4f0831e55da63\n- new: 0x64c8517c14f10577381d8961139a4420420e90e528d02be96e2b0961671db248\n\non gh this corresponds to [this pr](https://github.com/agglayer/provers/pull/316/changes)\n- update sp1 to 5.2.2\n- update alloy to 1.0\n- update agglayer to 0.12.0",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x007efdd073c9845bbc446e0e62018af999bde96ecec416725391efa4a3f0a44d\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x64c8517c14f10577381d8961139a4420420e90e528d02be96e2b0961671db248\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x7179e8c558e26751a56fc2fe9ce0a84ce248cfc98cb5b7a5178655b0c5c42ea5\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0x4a6e8c6abb9ec46b76062d422b6d87bb4b7e0304b4b06d554037828ce3006650\"\n+ \"0xfda6f1430e8363d3850cb5ff3f026f6ce01ad0fad017cb06a1dcbeb72c00304d\"\n }\n```\n\n```diff\n contract Katana Foundation Engineering/Security Multisig (eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n values.$members.2:\n- \"eth:0x54c401eD03D086fE13221E5422165f3b024265d9\"\n+ \"eth:0xAb76AE6926371B82Af3652cCBABefBBA56270adC\"\n }\n```"
}
]
},
{
"id": "83414157",
"date": "Fri, 05 Dec 2025 11:22:21 GMT",
"timestamp": 1764933676,
"description": "Conduit multisig key rotation.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x2103c69696CB2D3779f5445393808239034E911c\"\n values.$members.0:\n- \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n+ \"eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007\"\n values.$members.4:\n- \"eth:0xF0B77EaE7F2dabCC2571c7418406A0dCA3afA4f0\"\n }\n```"
}
]
},
{
"id": "c1c0c241",
"date": "Wed, 26 Nov 2025 13:37:44 GMT",
"timestamp": 1764164180,
"description": "ms change in yearn.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Yearn Strategist Multisig (eth:0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x80a3887BA60F76acAb48EE4aEAd0a71A0774A8B2\"\n values.$members.6:\n- \"eth:0x254f44F45ac892730e511f143DEd3Cd920b075aF\"\n+ \"eth:0x0Dca0FDC170baA4CA9c1dCd37Ffe01f97bCfD504\"\n values.multisigThreshold:\n- \"3 of 7 (43%)\"\n+ \"3 of 8 (38%)\"\n }\n```"
}
]
},
{
"id": "64df4461",
"date": "Tue, 25 Nov 2025 08:37:28 GMT",
"timestamp": 1764059644,
"description": "New opsuccinct vkeys.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n values.selectedOpSuccinctConfig.aggregationVkey:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x007efdd073c9845bbc446e0e62018af999bde96ecec416725391efa4a3f0a44d\"\n values.selectedOpSuccinctConfig.rangeVkeyCommitment:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x4b8234c47685b3361b22399702416a8010783b1b701b279073b4f0831e55da63\"\n values.selectedOpSuccinctConfig.rollupConfigHash:\n- \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n+ \"0x7179e8c558e26751a56fc2fe9ce0a84ce248cfc98cb5b7a5178655b0c5c42ea5\"\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n- \"0x622142ba8035695383551428b698950d3d4a6a53629c90a86d7192cfb221ae4e\"\n+ \"0x4a6e8c6abb9ec46b76062d422b6d87bb4b7e0304b4b06d554037828ce3006650\"\n }\n```"
}
]
},
{
"id": "edc85324",
"date": "Mon, 17 Nov 2025 11:29:07 GMT",
"timestamp": 1763378838,
"description": "New multisig member.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xF045025C845E786E343Df30cC6f67ec6BB822b34\"\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"3 of 7 (43%)\"\n }\n```"
}
]
},
{
"id": "819eb143",
"date": "Tue, 04 Nov 2025 13:55:22 GMT",
"timestamp": 1762264436,
"description": "ms signer added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana Steakhouse Financial / Morpho Multisig (eth:0x827e86072B06674a077f592A531dcE4590aDeCdB) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x8AE8EE5ad6EaE89836B0070Ebc47AF06E3D7422b\"\n values.multisigThreshold:\n- \"2 of 4 (50%)\"\n+ \"2 of 5 (40%)\"\n }\n```"
}
]
},
{
"id": "f0f02b3e",
"date": "Fri, 31 Oct 2025 13:46:31 GMT",
"timestamp": 1761895573,
"description": "Agglayer 0.3.5 upgrade:\n\nAggchainFEP - https://disco.l2beat.com/diff/eth:0xe7FE45579D784DC83B0feD844A65f4cEEFDe5682/eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660\n- aggchainManager added\n- vkey manager removed, new aggchainManager has inherited their permissions\n- oppsuccinctConfig is now a single struct with range, agg vkeys and the confighash (all keys changed)\n- aggchainVkey changed, still defined in the AgglayerGateway and not in this contract",
"isHighSeverity": true,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n template:\n- \"polygon-cdk/AggchainFEP\"\n+ \"katana/AggchainFEP_post035\"\n sourceHashes.1:\n- \"0xe893ad152fe92e36431300818c1be2ef9c1d514a53c4ea4beba3dc0f4f9b8e4f\"\n+ \"0xd4a4d01788e8425e9dc0f2cd6f1954d521d3d0b021487bb0daeec6d8e26091c9\"\n description:\n- \"The main system contract defining the katana Layer 2 logic. As this contract is based on the OP-Succinct L2OutputOracle, OP stack outputRoots (L2 state roots) are saved here.\"\n+ \"The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\"\n values.$implementation:\n- \"eth:0xe7FE45579D784DC83B0feD844A65f4cEEFDe5682\"\n+ \"eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660\"\n values.$pastUpgrades.3:\n+ [\"2025-10-29T14:11:11.000Z\",\"0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939\",[\"eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.pendingVKeyManager:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.useDefaultGateway:\n- true\n values.version:\n- \"v2.0.0\"\n+ \"v3.0.0\"\n values.vKeyManager:\n- \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n values._legacypendingVKeyManager:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values._legacyvKeyManager:\n+ \"eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n values.AGGCHAIN_FEP_VERSION:\n+ \"v3.0.0\"\n values.aggchainMetadataManager:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.aggchainMultisigHash:\n+ \"0xa57d26181a2caeea2b3fd5057d852d665445bd502aac8281622f922335bcc7d7\"\n values.aggchainSigners:\n+ [\"eth:0xC1E65a0cEbF95f56Cd8729f7e37CB33eD94d6439\"]\n values.GENESIS_CONFIG_NAME:\n+ \"0xae8304f40f7123e0c87b97f8a600e94ff3a3a25be588fc66b8a3717c8959ce77\"\n values.getAggchainMultisigHash:\n+ \"0xa57d26181a2caeea2b3fd5057d852d665445bd502aac8281622f922335bcc7d7\"\n values.getAggchainSignerInfos:\n+ [{\"addr\":\"eth:0xC1E65a0cEbF95f56Cd8729f7e37CB33eD94d6439\",\"url\":\"https://rpc.katanarpc.com\"}]\n values.getAggchainSigners:\n+ [\"eth:0xC1E65a0cEbF95f56Cd8729f7e37CB33eD94d6439\"]\n values.getAggchainSignersCount:\n+ 1\n values.getThreshold:\n+ 1\n values.MAX_AGGCHAIN_SIGNERS:\n+ 255\n values.selectedOpSuccinctConfig:\n+ {\"aggregationVkey\":\"0x00afb45d8064ae10aa6a1793b8f39a24c27268efae2917b5c02950b2377fbf00\",\"rangeVkeyCommitment\":\"0x416d710344b6b6fa2a0b1a1445f3d6ba4fdd5ab43f0e863b1c522db20f28ad9b\",\"rollupConfigHash\":\"0x6cd1b72f40b6ddf464897d8d1b084241f38ae5fda17175ff45afb3307b2523e9\"}\n+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\n+++ severity: HIGH\n values.selectedOpSuccinctConfigName:\n+ \"0x622142ba8035695383551428b698950d3d4a6a53629c90a86d7192cfb221ae4e\"\n values.threshold:\n+ 1\n+++ severity: HIGH\n values.useDefaultSigners:\n+ false\n+++ severity: HIGH\n values.useDefaultVkeys:\n+ true\n fieldMeta.optimisticMode.description:\n- \"degrades the system into a permissioned finalization mode without validity proofs. the state root in the aggchain proof in optimistic mode does not need an op succinct validity proof, but only a signature of the trustedSequencer.\"\n+ \"degrades the system into a permissioned finalization mode without validity proofs. The state root in the aggchain proof in optimistic mode does not need an op succinct validity proof, but only a signature of the trustedSequencer.\"\n fieldMeta.aggregationVkey.severity:\n- \"HIGH\"\n+ \"LOW\"\n fieldMeta.aggregationVkey.description:\n- \"Verification key for the aggregation step which aggregates multiple range proofs into a single proof. The aggregation proof ensures that all range proofs in a given block range are linked and use the `rangeVkeyCommitment` as the verification key. This proof is in turn wrapped by the aggchainVkey.\"\n+ \"DEPRECATED - Verification key for the aggregation step which aggregates multiple range proofs into a single proof. The aggregation proof ensures that all range proofs in a given block range are linked and use the `rangeVkeyCommitment` as the verification key. This proof is in turn wrapped by the aggchainVkey.\"\n fieldMeta.rangeVkeyCommitment.severity:\n- \"HIGH\"\n+ \"LOW\"\n fieldMeta.rangeVkeyCommitment.description:\n- \"Verification key for the OP Stack derivation + STF proof for a range of blocks. This proof is the bottom level proof, wrapped by the aggregationVkey.\"\n+ \"DEPRECATED - Verification key for the OP Stack derivation + STF proof for a range of blocks. This proof is the bottom level proof, wrapped by the aggregationVkey.\"\n fieldMeta.useDefaultGateway:\n- {\"severity\":\"HIGH\",\"description\":\"If set to false then aggchainVKey will be loaded from this contract and not from AggLayerGateway. In this case you can uncomment two handlers in this template to track ownedAggchainVKeys.\"}\n fieldMeta.aggchainMultisigHash:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.selectedOpSuccinctConfigName:\n+ {\"severity\":\"HIGH\",\"description\":\"currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.\"}\n fieldMeta.useDefaultSigners:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.useDefaultVkeys:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xe7FE45579D784DC83B0feD844A65f4cEEFDe5682:\n- \"AggchainFEP\"\n implementationNames.eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660:\n+ \"AggchainFEP\"\n }\n```\n\n```diff\n contract Katana Foundation Engineering/Security Multisig (eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n receivedPermissions.0.description:\n- \"change the op-succinct related verification keys (aggregationVkey, rangeVkeyCommitment) and the rollupConfigHash.\"\n+ \"change verification keys (aggregationVkey, rangeVkeyCommitment, aggchainVkey) and the rollupConfigHash, manage multisig signers for permissioned state transitions and change critical configs for state validation.\"\n }\n```\n\n```diff\n EOA (eth:0xC1E65a0cEbF95f56Cd8729f7e37CB33eD94d6439) {\n +++ description: None\n receivedPermissions.0.role:\n- \".trustedSequencer\"\n+ \".aggchainSigners\"\n receivedPermissions.0.description:\n- \"finalize any state root with only their signature.\"\n+ \"sign state transitions (replaces state validation for this aggchain).\"\n }\n```"
}
]
},
{
"id": "da765ddf",
"date": "Fri, 03 Oct 2025 08:42:02 GMT",
"timestamp": 1759480843,
"description": "Member removed from multisig.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x50930d652266EF4127FA3A1906B7Cb9951076628\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "bf919acb",
"date": "Fri, 29 Aug 2025 07:41:35 GMT",
"timestamp": 1756453226,
"description": "Msig changes.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana yieldRecipient Mulsitig (0x67C912fF560951526BffDff66dFbD4DF8AE23756) {\n +++ description: None\n values.$members.2:\n- \"eth:0x0A4857fD89ABfB7536a6D0Bd4400EF769E84Ec8b\"\n+ \"eth:0x6c20ea7778EA9F3Afd74Ce4538bc4D9d61E6ABb1\"\n }\n```\n\n```diff\n contract Safe (0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) {\n +++ description: None\n values.$members.1:\n- \"eth:0x0A4857fD89ABfB7536a6D0Bd4400EF769E84Ec8b\"\n+ \"eth:0x6624307a4f672ec5C289fBA196952902BB518dc0\"\n }\n```"
}
]
},
{
"id": "3bbda47f",
"date": "Tue, 26 Aug 2025 13:28:38 GMT",
"timestamp": 1756214657,
"description": "Conduit msig: removed one address",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.2:\n- \"eth:0x860e06Fe384D1A3340111e7D142E02642178c053\"\n values.multisigThreshold:\n- \"4 of 12 (33%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "c12d6309",
"date": "Wed, 20 Aug 2025 10:48:46 GMT",
"timestamp": 1755686907,
"description": "Updated the range program for proving L2 STF. I was not able to check the vkey commitment.",
"isHighSeverity": true,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AggchainFEP (0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) {\n +++ description: The main system contract defining the katana Layer 2 logic. As this contract is based on the OP-Succinct L2OutputOracle, OP stack outputRoots (L2 state roots) are saved here.\n+++ description: Verification key for the OP Stack derivation + STF proof for a range of blocks. This proof is the bottom level proof, wrapped by the aggregationVkey.\n+++ severity: HIGH\n values.rangeVkeyCommitment:\n- \"0x2ebb1e0d5380158f22adf3750cc6056100a133d274fd7c5b457148ff29dfe173\"\n+ \"0x490685ea27adbbb83301073734f40a5656c984fe352359d54dd637e828e66872\"\n }\n```"
}
]
},
{
"id": "31d79549",
"date": "Thu, 14 Aug 2025 07:33:34 GMT",
"timestamp": 1755156807,
"description": "signer change.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Safe (0x261a25ec6c396389B75B6b22BD4A8227070E3B50) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x3e86A8bcAF0A96DD16Ec8160532DA13b2C0f6e21\"\n values.multisigThreshold:\n- \"1 of 3 (33%)\"\n+ \"1 of 4 (25%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0x3e86A8bcAF0A96DD16Ec8160532DA13b2C0f6e21)\n +++ description: None\n```"
}
]
},
{
"id": "0802cea0",
"date": "Tue, 12 Aug 2025 14:40:13 GMT",
"timestamp": 1755009465,
"description": "Conduit Multisig 1 signer added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xFe0ab87ebE03DD0bF52DaF34Dfda6639c335e2d4\"\n values.multisigThreshold:\n- \"4 of 11 (36%)\"\n+ \"4 of 12 (33%)\"\n }\n```"
}
]
},
{
"id": "d298481e",
"date": "Mon, 11 Aug 2025 10:53:22 GMT",
"timestamp": 1754909593,
"description": "yield recipient changed.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract vbWBTC (0x2C24B57e2CCd1f273045Af6A5f632504C432374F) {\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge WBTC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbWBTC-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\n description:\n- \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge WBTC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbWBTC-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\"\n+ \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge WBTC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbWBTC-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\"\n }\n```\n\n```diff\n contract vbETH (0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF) {\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge ETH) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbETH-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\n description:\n- \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge ETH) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbETH-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\"\n+ \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge ETH) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbETH-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\"\n }\n```\n\n```diff\n contract vbUSDS (0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855) {\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDS) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDS-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\n description:\n- \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDS) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDS-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\"\n+ \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDS) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDS-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\"\n }\n```\n\n```diff\n contract vbUSDC (0x53E82ABbb12638F09d9e624578ccB666217a765e) {\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDC-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\n description:\n- \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDC-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\"\n+ \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDC-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\"\n }\n```\n\n```diff\n contract vbUSDT (0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC) {\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDT) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDT-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\n description:\n- \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDT) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDT-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\"\n+ \"This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDT) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDT-IOU but is sent to eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50.\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0x261a25ec6c396389B75B6b22BD4A8227070E3B50)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb)\n +++ description: None\n```"
}
]
},
{
"id": "e39f12d9",
"date": "Fri, 01 Aug 2025 13:23:05 GMT",
"timestamp": 1754054572,
"description": "op stack operator fee constant set.\n\nthree members added to multisig, threshold increased.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.operatorFeeConstant:\n- 0\n+ 1351351351351\n }\n```\n\n```diff\n contract Polygon Multisig 2 (0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x2483A0d6a3Bd89D5C17aA80B3f8f6102ac053361\"\n values.$members.1:\n+ \"eth:0x73D8846324B30477EA3Ac055589e40F39DE497F8\"\n values.$members.2:\n+ \"eth:0x34d23C4fb6542B467cA8724bAD30AC811399b184\"\n values.$threshold:\n- 1\n+ 3\n values.multisigThreshold:\n- \"1 of 2 (50%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "627293ca",
"date": "Thu, 24 Jul 2025 11:38:32 GMT",
"timestamp": 1753357112,
"description": "Upgrade op stack contracts to known versions. The only aberrant contract is the new OptiPortal2, which, like the old one, [disallows deposited transactions](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc).\n\nConfig: Kailua added to OptimismPortal2 and DisputeGameFactory.",
"isHighSeverity": true,
"changeCount": 90,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC721Bridge (0x15a32FCeA89617Ff450F094cDE102CCa46598B7F) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.1:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.1.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832) {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x79ecD8d8040496014bcD3bA16AdF3914b23f8Fd5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.1:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E) {\n +++ description: The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.\n sourceHashes.1:\n- \"0x1e6e48895b45b98acfe8b9c9f4568d3662e2932d82019f4ea721e2f7b57a58fc\"\n+ \"0x9cf3cb8a68c82a3a8328495d5f019daa51e9098a69b69ee8e349e3058b789338\"\n values.$implementation:\n- \"eth:0x9a6C2Dcc7e523f87716e17Ba36D10CCfFA0A60bb\"\n+ \"eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc\"\n values.$pastUpgrades.2:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.4:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc\"]]\n values.$upgradeCount:\n- 2\n+ 5\n values.version:\n- \"3.11.0-beta.6\"\n+ \"3.14.0\"\n implementationNames.eth:0x9a6C2Dcc7e523f87716e17Ba36D10CCfFA0A60bb:\n- \"OptimismPortal2\"\n implementationNames.eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x2d4B822F8B74AdE7fcD5F740967f4dFcD2fef5e4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3f0bcc82f3184c1cb2e9aa6d3ecdd7c863186eea851dda56dd7e100d9174b840\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"eth:0x838897A86Cb4F130D0eFC1203d7dA6D0db4bEd1A\"\n+ \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.1-beta.1\"\n+ \"1.2.0\"\n implementationNames.eth:0x838897A86Cb4F130D0eFC1203d7dA6D0db4bEd1A:\n- \"SuperchainConfig\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract Katana Foundation Engineering/Security Multisig (0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x79ecD8d8040496014bcD3bA16AdF3914b23f8Fd5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DelayedWETH (0x74034597d29613CC8C0BDc8780e1d292A553Bd32) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087:\n- \"DelayedWETH\"\n implementationNames.eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e:\n+ \"DelayedWETH\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x79ecD8d8040496014bcD3bA16AdF3914b23f8Fd5)\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 L1StandardBridge (0x98906C3f90A06B5484DD67bf32938815d2993dBC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.1.0\"\n+ \"2.3.0\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SystemConfig (0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\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+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.2:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.3:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E\",\"l1ERC721Bridge\":\"eth:0x15a32FCeA89617Ff450F094cDE102CCa46598B7F\",\"l1StandardBridge\":\"eth:0x98906C3f90A06B5484DD67bf32938815d2993dBC\",\"disputeGameFactory\":\"eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe\",\"optimismPortal\":\"eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E\",\"optimismMintableERC20Factory\":\"eth:0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E\"}\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe06278351d120288eDfCB963F934113Ca3C21AFe) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-07-23T17:04:59.000Z\",\"0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.1:\n- \"eth:0x2d4B822F8B74AdE7fcD5F740967f4dFcD2fef5e4\"\n+ \"eth:0x667b7DA73DA7B2A75286378FF45637eEaE9B4793\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x667b7DA73DA7B2A75286378FF45637eEaE9B4793)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "f8d1fbbf",
"date": "Mon, 21 Jul 2025 10:08:59 GMT",
"timestamp": 1753092539,
"description": "MS two members added.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana yieldRecipient Mulsitig (0x67C912fF560951526BffDff66dFbD4DF8AE23756) {\n +++ description: None\n values.$members.0:\n+ \"eth:0x34d23C4fb6542B467cA8724bAD30AC811399b184\"\n values.$members.1:\n+ \"eth:0x09f5F2592791208219A1F51e3855Be9419fF6bE4\"\n values.multisigThreshold:\n- \"2 of 5 (40%)\"\n+ \"2 of 7 (29%)\"\n }\n```"
}
]
},
{
"id": "5f70de70",
"date": "Mon, 14 Jul 2025 12:45:14 GMT",
"timestamp": 1752497114,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 39,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract AggchainFEP (0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666)\n +++ description: The main system contract defining the katana Layer 2 logic. As this contract is based on the OP-Succinct L2OutputOracle, OP stack outputRoots (L2 state roots) are saved here.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x14Be6579A41342ca6B402ec85E7be538e6Ade951)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x15a32FCeA89617Ff450F094cDE102CCa46598B7F)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Yearn Strategist Multisig (0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E)\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 OptimismPortal2 (0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E)\n +++ description: The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x263b251D67BB154DD6b8352539466ACE7948ED56)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract vbWBTC (0x2C24B57e2CCd1f273045Af6A5f632504C432374F)\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge WBTC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbWBTC-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x2d4B822F8B74AdE7fcD5F740967f4dFcD2fef5e4)\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 vbETH (0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF)\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge ETH) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbETH-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\n```\n\n```diff\n+ Status: CREATED\n contract Katana vaultBridge Multisig 1 (0x2De242e27386e224E5fbF110EA8406d5B70740ec)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x377a9e5df2882DC1DF8A0bD162cbc640eA634010)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract vbUSDS (0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855)\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDS) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDS-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\n```\n\n```diff\n+ Status: CREATED\n contract MigrationManager (0x417d01B64Ea30C4E163873f3a1f77b727c689e02)\n +++ description: Helper contract for the vaultBridge tokens on Layer 2. If any vbTokens are minted 'natively' on Layer 2, this contract can receive the underlying assets and lock them in the Layer 1 vaults.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Katana Foundation Engineering/Security Multisig (0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract vbUSDC (0x53E82ABbb12638F09d9e624578ccB666217a765e)\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDC-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract Katana yieldRecipient Mulsitig (0x67C912fF560951526BffDff66dFbD4DF8AE23756)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x6d0ff67fb427422AfF35EEa8596949B374b09a52)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract vbUSDT (0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC)\n +++ description: This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDT) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDT-IOU but is sent to eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x74034597d29613CC8C0BDc8780e1d292A553Bd32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x79ecD8d8040496014bcD3bA16AdF3914b23f8Fd5)\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 Katana Steakhouse Financial / Morpho Multisig (0x827e86072B06674a077f592A531dcE4590aDeCdB)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x8970650CF3f1E57cA804C65B4DBcFf698789FE30)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x98906C3f90A06B5484DD67bf32938815d2993dBC)\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 PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Polygon Labs Engineering/Security Multisig (0x9d851f8b8751c5FbC09b9E74E6e68E9950949052)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E)\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 Katana vaultBridge Multisig 2 (0xA8C31B2edd84c654d06d626383f4154D1E40C5Ff)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174)\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 Polygon Multisig 2 (0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD1e389c046FB734D2a0c7C390312210c408ba832)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe06278351d120288eDfCB963F934113Ca3C21AFe)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xEaB94275eD336D80d4F46EA8Ea0427e351f11D65)\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 Katana vaultBridge Multisig 3 (0xf4F2f5F6bAdBE05433C4604320ecC56BbECBC04E)\n +++ description: None\n```"
}
]
},
{
"id": "b3e7b2fc",
"date": "Fri, 11 Jul 2025 12:28:54 GMT",
"timestamp": 1752236934,
"description": "2 member added, 1 member switch.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana Foundation Engineering/Security Multisig (0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a) {\n +++ description: None\n values.$members.4:\n- \"0xeD44D1CFfB91e163CB7126bdEeA83959f175dB37\"\n+ \"0xcAB31b6A7b4d2eCd562A09e2BfA46535a18862f9\"\n }\n```\n\n```diff\n contract Katana yieldRecipient Mulsitig (0x67C912fF560951526BffDff66dFbD4DF8AE23756) {\n +++ description: None\n values.$members.0:\n+ \"0x0A4857fD89ABfB7536a6D0Bd4400EF769E84Ec8b\"\n values.$members.1:\n+ \"0x54DFA4B635E7eB98515fEBA81d360A3871739277\"\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"2 of 5 (40%)\"\n }\n```"
}
]
},
{
"id": "9620535b",
"date": "Thu, 03 Jul 2025 09:54:26 GMT",
"timestamp": 1751536466,
"description": "add op stack gasconfig parameters.\n\nconfig: refine descriptions and permissions.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 60\n }\n```"
}
]
},
{
"id": "0682952c",
"date": "Tue, 01 Jul 2025 16:11:11 GMT",
"timestamp": 1751386271,
"description": "Predeposits ended (limit 0), chain is live.\n\nadd the AggchainFEP core contract of Katana.\n\nmove TVS to L2 configs.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana Pre-Deposit USDT Token (0x48c03B6FfD0008460F8657Db1037C7e09dEedfcb) {\n +++ description: None\n values.deposit_limit:\n- \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n+ 0\n values.deposit_limit_module:\n- \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DepositModule (0x793D85F585145c050487c7AfBF0e9B97143fF1CB)\n +++ description: None\n```\n\n```diff\n contract Katana Pre-Deposit USDC Token (0x7B5A0182E400b241b317e781a4e9dEdFc1429822) {\n +++ description: None\n values.deposit_limit:\n- \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n+ 0\n values.deposit_limit_module:\n- \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract Katana Pre-Deposit WBTC Token (0x92C82f5F771F6A44CfA09357DD0575B81BF5F728) {\n +++ description: None\n values.deposit_limit:\n- \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n+ 0\n values.deposit_limit_module:\n- \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n contract Katana Pre-Deposit WETH Token (0xcc6a16Be713f6a714f68b0E1f4914fD3db15fBeF) {\n +++ description: None\n values.deposit_limit:\n- \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n+ 0\n values.deposit_limit_module:\n- \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0x67C912fF560951526BffDff66dFbD4DF8AE23756)\n +++ description: None\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract AggchainFEP (0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666)\n +++ description: The main system contract defining the katana Layer 2 logic. As this contract is based on the OP-Succinct L2OutputOracle, OP stack outputRoots (L2 state roots) are saved here.\n```"
}
]
},
{
"id": "41b0c8bb",
"date": "Mon, 30 Jun 2025 11:04:12 GMT",
"timestamp": 1751281452,
"description": "New owner / admin for the opstack contracts: tagged it katana multisig 2.\n\nmove project under review with activity, TVS.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832) {\n +++ description: None\n values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E) {\n +++ description: [PAUSED] 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. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits.\n values.guardian:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n }\n```\n\n```diff\n contract GenericVaultBridgeToken (0x2C24B57e2CCd1f273045Af6A5f632504C432374F) {\n +++ description: None\n values.accessControl.YIELD_COLLECTOR_ROLE.members.1:\n+ \"0xcB1e45481461aeF38E6B0a34F1444E9C5D647645\"\n }\n```\n\n```diff\n contract VbETH (0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF) {\n +++ description: None\n values.accessControl.YIELD_COLLECTOR_ROLE.members.1:\n+ \"0xcB1e45481461aeF38E6B0a34F1444E9C5D647645\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n values.$pastUpgrades.1:\n+ [\"2025-06-30T10:33:47.000Z\",\"0x56f6765801bec01f9aa2a5c9750daada809b1f7a3f5343800c0b76c6308b4558\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-06-30T10:33:47.000Z\",\"0x56f6765801bec01f9aa2a5c9750daada809b1f7a3f5343800c0b76c6308b4558\",[\"0x838897A86Cb4F130D0eFC1203d7dA6D0db4bEd1A\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n }\n```\n\n```diff\n contract GenericVaultBridgeToken (0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855) {\n +++ description: None\n values.accessControl.YIELD_COLLECTOR_ROLE.members.1:\n+ \"0xcB1e45481461aeF38E6B0a34F1444E9C5D647645\"\n }\n```\n\n```diff\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"ethereum:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811\",\"role\":\".guardian\"},{\"permission\":\"interact\",\"from\":\"ethereum:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"},{\"permission\":\"interact\",\"from\":\"ethereum:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"},{\"permission\":\"interact\",\"from\":\"ethereum:0xEaB94275eD336D80d4F46EA8Ea0427e351f11D65\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0x15a32FCeA89617Ff450F094cDE102CCa46598B7F\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x6d0ff67fb427422AfF35EEa8596949B374b09a52\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0x74034597d29613CC8C0BDc8780e1d292A553Bd32\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0x79ecD8d8040496014bcD3bA16AdF3914b23f8Fd5\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0x98906C3f90A06B5484DD67bf32938815d2993dBC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"role\":\".$admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]},{\"permission\":\"upgrade\",\"from\":\"ethereum:0xe06278351d120288eDfCB963F934113Ca3C21AFe\",\"role\":\"admin\",\"via\":[{\"address\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"ethereum:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832\",\"role\":\".owner\"},{\"permission\":\"act\",\"from\":\"ethereum:0x6d0ff67fb427422AfF35EEa8596949B374b09a52\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract GenericVaultBridgeToken (0x53E82ABbb12638F09d9e624578ccB666217a765e) {\n +++ description: None\n values.accessControl.YIELD_COLLECTOR_ROLE.members.1:\n+ \"0xcB1e45481461aeF38E6B0a34F1444E9C5D647645\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x6d0ff67fb427422AfF35EEa8596949B374b09a52) {\n +++ description: None\n values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n }\n```\n\n```diff\n contract GenericVaultBridgeToken (0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC) {\n +++ description: None\n values.accessControl.YIELD_COLLECTOR_ROLE.members.1:\n+ \"0xcB1e45481461aeF38E6B0a34F1444E9C5D647645\"\n }\n```\n\n```diff\n contract DelayedWETH (0x74034597d29613CC8C0BDc8780e1d292A553Bd32) {\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 values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n }\n```\n\n```diff\n contract Polygon Multisig 2 (0x9d851f8b8751c5FbC09b9E74E6e68E9950949052) {\n +++ description: None\n values.$threshold:\n- 3\n+ 2\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"2 of 5 (40%)\"\n }\n```\n\n```diff\n contract SystemConfig (0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe06278351d120288eDfCB963F934113Ca3C21AFe) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.owner:\n- \"0x4a4962275DF8C60a80d3a25faEc5AA7De116A746\"\n+ \"0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract Katana Multisig 2 (0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a)\n +++ description: None\n```"
}
]
},
{
"id": "042fcf4f",
"date": "Fri, 27 Jun 2025 10:25:59 GMT",
"timestamp": 1751019959,
"description": "found the opstack part of katana and some middleware between yearn, morpho and agglayer.\n\nkatana is using an OptiPortal2 that [denies all L1->L2 messages.](https://disco.l2beat.com/diff/eth:0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d/eth:0x9a6C2Dcc7e523f87716e17Ba36D10CCfFA0A60bb) It also does not have any state updates yet. The rest of the system is 'standard' opstack **with** custom gas token support (ETH is set atm, could only be changed with a major upgrade) and standard PermissionedDisputeGame without any games created. Notably this deployment also does not use the latest 7702 protections that the superchain does use.\n\nbehind its yearn vaults, katana seems to use a system of smart contracts written by polygon called vaultBridge. For each yielding asset, a vaultBridge contract (erc20 and vault standards) exists and a MigrationManager allows to migrate these derivative vbTokens to the lxly bridge (agglayer shared bridge), which has not happened yet. All user yields are currently accruing to three different Multisigs that have signers from Katana, Agglayer and Yearn (not sure abt morpho).",
"isHighSeverity": false,
"changeCount": 36,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract ProxyAdmin (0x14Be6579A41342ca6B402ec85E7be538e6Ade951)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x15a32FCeA89617Ff450F094cDE102CCa46598B7F)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Yearn Strategist Multisig (0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E)\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 OptimismPortal2 (0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E)\n +++ description: [PAUSED] 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. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x263b251D67BB154DD6b8352539466ACE7948ED56)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GenericVaultBridgeToken (0x2C24B57e2CCd1f273045Af6A5f632504C432374F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x2d4B822F8B74AdE7fcD5F740967f4dFcD2fef5e4)\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 VbETH (0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (0x2De242e27386e224E5fbF110EA8406d5B70740ec)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x377a9e5df2882DC1DF8A0bD162cbc640eA634010)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GenericVaultBridgeToken (0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MigrationManager (0x417d01B64Ea30C4E163873f3a1f77b727c689e02)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (0x4a4962275DF8C60a80d3a25faEc5AA7De116A746)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GenericVaultBridgeToken (0x53E82ABbb12638F09d9e624578ccB666217a765e)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x6d0ff67fb427422AfF35EEa8596949B374b09a52)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GenericVaultBridgeToken (0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x74034597d29613CC8C0BDc8780e1d292A553Bd32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x79ecD8d8040496014bcD3bA16AdF3914b23f8Fd5)\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 Safe (0x827e86072B06674a077f592A531dcE4590aDeCdB)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x8970650CF3f1E57cA804C65B4DBcFf698789FE30)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x98906C3f90A06B5484DD67bf32938815d2993dBC)\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 PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Polygon Multisig 2 (0x9d851f8b8751c5FbC09b9E74E6e68E9950949052)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E)\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 Safe (0xA8C31B2edd84c654d06d626383f4154D1E40C5Ff)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174)\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 Safe (0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD1e389c046FB734D2a0c7C390312210c408ba832)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe06278351d120288eDfCB963F934113Ca3C21AFe)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xEaB94275eD336D80d4F46EA8Ea0427e351f11D65)\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 Katana Multisig (0xf4F2f5F6bAdBE05433C4604320ecC56BbECBC04E)\n +++ description: None\n```"
}
]
},
{
"id": "19a3fae3",
"date": "Wed, 25 Jun 2025 07:57:08 GMT",
"timestamp": 1750838228,
"description": "deposit limit removed for a deposit module governed by yearn strategist MS.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Katana Pre-Deposit USDT Token (0x48c03B6FfD0008460F8657Db1037C7e09dEedfcb) {\n +++ description: None\n values.deposit_limit:\n- 250000000000000\n+ \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n values.deposit_limit_module:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n }\n```\n\n```diff\n contract Katana Pre-Deposit USDC Token (0x7B5A0182E400b241b317e781a4e9dEdFc1429822) {\n +++ description: None\n values.deposit_limit:\n- 300000000000000\n+ \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n values.deposit_limit_module:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n }\n```\n\n```diff\n contract Katana Pre-Deposit WBTC Token (0x92C82f5F771F6A44CfA09357DD0575B81BF5F728) {\n +++ description: None\n values.deposit_limit:\n- 250000000000\n+ \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n values.deposit_limit_module:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n }\n```\n\n```diff\n contract Katana Pre-Deposit WETH Token (0xcc6a16Be713f6a714f68b0E1f4914fD3db15fBeF) {\n +++ description: None\n values.deposit_limit:\n- \"140000000000000000000000\"\n+ \"115792089237316195423570985008687907853269984665640564039457584007913129639935\"\n values.deposit_limit_module:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x793D85F585145c050487c7AfBF0e9B97143fF1CB\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DepositModule (0x793D85F585145c050487c7AfBF0e9B97143fF1CB)\n +++ description: None\n```"
}
]
},
{
"id": "b83c8243",
"date": "Thu, 05 Jun 2025 12:10:05 GMT",
"timestamp": 1749125405,
"description": "initial katana predeposit disco.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract Accountant (0x40a87104AEb279C061Af6b7C48F7E08c4A6e388D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Katana Pre-Deposit USDT Token (0x48c03B6FfD0008460F8657Db1037C7e09dEedfcb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Katana Pre-Deposit USDC Token (0x7B5A0182E400b241b317e781a4e9dEdFc1429822)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ShareReceiver (0x836304B832687f3811a0dF935934C724B40578eB)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Katana Pre-Deposit WBTC Token (0x92C82f5F771F6A44CfA09357DD0575B81BF5F728)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DepositRelayer (0xB01dADEC98308528ee57A17b24A473213c1704bb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Katana Pre-Deposit WETH Token (0xcc6a16Be713f6a714f68b0E1f4914fD3db15fBeF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AllowanceModule (0xCFbFaC74C26F8647cBDb8c5caf80BB5b32E43134)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Router (0xeeeeee9eC4769A09a76A83C7bC42b185872860eE)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52)\n +++ description: None\n```"
}
]
}
]