f6e34290 (main)
and
a1ef0c65 (PR)
+1 -1
+1 -1
{
"clusteredEventCount": 19,
"contracts": [
{
"name": "SecurityCouncilNomineeElectionGovernor",
"address": "arb1:0x8a1cDA8dee421cD06023470608605934c16A05a0",
"isVerified": true,
"ossifyingSince": 1788209529,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "SecurityCouncilManager",
"address": "arb1:0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC",
"isVerified": true,
"ossifyingSince": 1788209529,
"codeChangeCount": 1,
"stateChangeCount": 2
},
{
"name": "RollupProxy",
"address": "eth:0x4DCeB440657f21083db8aDd07665f8ddBe1DCfc0",
"isVerified": true,
"ossifyingSince": 1787092955,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "Inbox",
"address": "eth:0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f",
"isVerified": true,
"ossifyingSince": 1781518127,
"codeChangeCount": 12,
"stateChangeCount": 0
},
{
"name": "Bridge",
"address": "eth:0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"isVerified": true,
"ossifyingSince": 1779645011,
"codeChangeCount": 3,
"stateChangeCount": 1
},
{
"name": "L2ArbitrumToken",
"address": "arb1:0x912CE59144191C1204E64559FE8253a0e49E6548",
"isVerified": true,
"ossifyingSince": 1774870191,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "CoreGovernor",
"address": "arb1:0xf07DeD9dC292157749B6Fd268E37DF6EA38395B9",
"isVerified": true,
"ossifyingSince": 1774870191,
"codeChangeCount": 1,
"stateChangeCount": 2
},
{
"name": "L2UpgradeExecutor",
"address": "arb1:0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827",
"isVerified": true,
"ossifyingSince": 1758645131,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "UpgradeExecutor",
"address": "eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd",
"isVerified": true,
"ossifyingSince": 1758644207,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "Outbox",
"address": "eth:0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "SequencerInbox",
"address": "eth:0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "RollupEventInbox",
"address": "eth:0x57Bd336d579A51938619271a7Cc137a46D0501B1",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "EdgeChallengeManager",
"address": "eth:0xA5565d266c3c3Ee90B16Be8A5b13d587ef559fB0",
"isVerified": true,
"ossifyingSince": 1739368811,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProofEntry",
"address": "eth:0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6",
"isVerified": true,
"ossifyingSince": 1734397931,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProverHostIo",
"address": "eth:0xa07cD154340CC74EcF156FFB9fb378Ee29Ca71Cf",
"isVerified": true,
"ossifyingSince": 1734397775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProverMath",
"address": "eth:0xaB9596a0aaF28bc798c453434EC2DC0F8F0bF921",
"isVerified": true,
"ossifyingSince": 1734397631,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProverMemory",
"address": "eth:0xe0ba77e0E24de5369e3B268Ea79fDe716e2EC48b",
"isVerified": true,
"ossifyingSince": 1734397511,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OneStepProver0",
"address": "eth:0x35FBC5F03d86E88973B06Fb9C5a913D54AbdF731",
"isVerified": true,
"ossifyingSince": 1734397379,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2Timelock",
"address": "arb1:0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0",
"isVerified": true,
"ossifyingSince": 1729843702,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SecurityCouncilMemberElectionGovernor",
"address": "arb1:0x467923B9AE90BDB36BA88eCA11604D45F13b712C",
"isVerified": true,
"ossifyingSince": 1719023040,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1Timelock",
"address": "eth:0xE6841D92B0C345144506576eC13ECf5103aC7f49",
"isVerified": true,
"ossifyingSince": 1695256619,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SecurityCouncilMemberRemovalGovernor",
"address": "arb1:0x6f3a242cA91A119F872f0073BC14BC8a74a315Ad",
"isVerified": true,
"ossifyingSince": 1692138965,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeExecRouteBuilder",
"address": "arb1:0x7481716f05E315Fc4C4a64E56DcD9bc1D6F24C0a",
"isVerified": true,
"ossifyingSince": 1692138965,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SecurityCouncilMemberSyncAction",
"address": "arb1:0x9BF7b8884Fa381a45f8CB2525905fb36C996297a",
"isVerified": true,
"ossifyingSince": 1692138730,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2GatewaysProxyAdmin",
"address": "arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86",
"isVerified": true,
"ossifyingSince": 1679004671,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "UpgradeableBeacon",
"address": "arb1:0xE72ba9418b5f2Ce0A6a40501Fe77c6839Aa37333",
"isVerified": true,
"ossifyingSince": 1679004671,
"codeChangeCount": 2,
"stateChangeCount": 3
},
{
"name": "ArbitrumProxyAdmin",
"address": "eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD",
"isVerified": true,
"ossifyingSince": 1679004215,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "GatewaysAdmin",
"address": "eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa",
"isVerified": true,
"ossifyingSince": 1679004155,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "L2ARBGateway",
"address": "arb1:0xCaD7828a19b363A2B44717AFB1786B5196974D8E",
"isVerified": true,
"ossifyingSince": 1678968435,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1ARBGateway",
"address": "eth:0xbbcE8aA77782F13D4202a230d978F361B011dB27",
"isVerified": true,
"ossifyingSince": 1678968431,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "arb1:0xdb216562328215E010F819B5aBe947bad4ca961e",
"isVerified": true,
"ossifyingSince": 1678968400,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeExecutorAdmin",
"address": "eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678",
"isVerified": true,
"ossifyingSince": 1678968395,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2WethGateway",
"address": "arb1:0x6c411aD3E74De3E7Bd422b94A27770f5B86C623B",
"isVerified": true,
"ossifyingSince": 1675999253,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "L1WethGateway",
"address": "eth:0xd92023E9d9911199a6711321D1277285e6d4e2db",
"isVerified": true,
"ossifyingSince": 1675998023,
"codeChangeCount": 6,
"stateChangeCount": 0
},
{
"name": "GatewayRouter",
"address": "eth:0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef",
"isVerified": true,
"ossifyingSince": 1667926079,
"codeChangeCount": 8,
"stateChangeCount": 0
},
{
"name": "OutboxV0",
"address": "eth:0x667e23ABd27E623c11d4CC00ca3EC4d0bD63337a",
"isVerified": true,
"ossifyingSince": 1661532655,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "OutboxV1",
"address": "eth:0x760723CD2e632826c38Fef8CD438A4CC7E7E1A40",
"isVerified": true,
"ossifyingSince": 1661532655,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ERC20Gateway",
"address": "arb1:0x09e9222E96E7B4AE2a407B98d48e330053351EEe",
"isVerified": true,
"ossifyingSince": 1659980035,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L2GatewayRouter",
"address": "arb1:0x5288c571Fd7aD117beA99bF60FE0846C4E84F933",
"isVerified": true,
"ossifyingSince": 1659980035,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "L1ERC20Gateway",
"address": "eth:0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"isVerified": true,
"ossifyingSince": 1659978124,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "StandardArbERC20",
"address": "arb1:0x3f770Ac673856F105b586bb393d122721265aD46",
"isVerified": true,
"ossifyingSince": 1634920833,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeableBeacon",
"address": "eth:0x14797f5432f699Cb4d4dB04DF599B74952d78d7b",
"isVerified": true,
"ossifyingSince": 1630187882,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "OutboxEntry",
"address": "eth:0xc4940069140142236D4065b866018f7b2BeC77fD",
"isVerified": true,
"ossifyingSince": 1630185130,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "BeaconProxyFactory",
"address": "arb1:0x3fE38087A94903A9D946fa1915e1772fe611000f",
"isVerified": true,
"ossifyingSince": 1623784070,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2WETH",
"address": "arb1:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
"isVerified": true,
"ossifyingSince": 1622346702,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1622317036,
1624716065,
1624918777,
1625161764,
1627684791,
1629993939,
1630187410,
1630287808,
1630440192,
1631675264,
1631908333,
1634222162,
1634923280,
1639177425,
1646670130,
1651333828,
1659978124,
1661457944,
1661913086,
1663124880,
1667926079,
1668791063,
1671119939,
1675998023,
1679004155,
1694993963,
1695256619,
1706212139,
1709903420,
1710423719,
1719023040,
1720582885,
1724809031,
1727230595,
1729843702,
1739368811,
1750200983,
1753193843,
1758644207,
1767622835,
1774870191,
1776742007,
1779645011,
1781518127,
1787092955,
1788209529
],
"criticalChangesPerYear": 6.333333333333333,
"criticalUpdates": [
{
"id": "5edc278c",
"type": "state"
},
{
"id": "7ec2eb8d",
"type": "state"
},
{
"id": "3b2790a0",
"type": "state"
},
{
"id": "46bcbfff",
"type": "state"
},
{
"id": "4baf4688",
"type": "state"
},
{
"id": "ca7c961e",
"type": "state"
},
{
"id": "58ac24d1",
"type": "state"
},
{
"id": "fff87cf5",
"type": "state"
},
{
"id": "b0f8c079",
"type": "state"
},
{
"id": "4fa46c34",
"type": "state"
}
],
"lastCriticalChange": 1788209529,
"maturity": 0.4785151632683215,
"maturity": 0.47851701019503545,
"perimeterResets": [
1622243344,
1622346702,
1623784062,
1624716065,
1624913237,
1625161764,
1627684791,
1629993939,
1630185130,
1630287808,
1630440192,
1631675264,
1631908333,
1634222162,
1634920833,
1639177425,
1646670130,
1651333828,
1659978124,
1661457944,
1661913086,
1663124880,
1667926079,
1668791063,
1671119939,
1675998023,
1678968395,
1692138730,
1694993963,
1695256619,
1706212139,
1709903420,
1710423719,
1719023040,
1720582885,
1724809031,
1727230595,
1729843702,
1734397379,
1739368811,
1750200983,
1753193843,
1758644207,
1767622835,
1774870191,
1776742007,
1779645011,
1781518127,
1787092955,
1788209529
],
"projectClockStart": 1788209529,
"score": 48,
"windowSeconds": 94608000
}
+1 -1
+1 -1
{
"clusteredEventCount": 20,
"contracts": [
{
"name": "DisputeGameFactory",
"address": "eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e",
"isVerified": true,
"ossifyingSince": 1785176507,
"codeChangeCount": 5,
"stateChangeCount": 13
},
{
"name": "SP1VerifierGateway",
"address": "eth:0xdc32E228636273285Befa5F001dBB5142517C106",
"isVerified": true,
"ossifyingSince": 1785176507,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "AggregateVerifier",
"address": "eth:0xeE303bA054c5F1E14A8EF87f1C7E285af45A1ba2",
"isVerified": true,
"ossifyingSince": 1784748491,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TEEProverRegistry",
"address": "eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA",
"isVerified": true,
"ossifyingSince": 1782229799,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ZkVerifier",
"address": "eth:0xB88D95bDf6972508942d184866890c1834219B75",
"isVerified": true,
"ossifyingSince": 1780357679,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"isVerified": true,
"ossifyingSince": 1779825599,
"codeChangeCount": 8,
"stateChangeCount": 3
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72",
"isVerified": true,
"ossifyingSince": 1779825599,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "TEEVerifier",
"address": "eth:0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228",
"isVerified": true,
"ossifyingSince": 1779394835,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71",
"isVerified": true,
"ossifyingSince": 1779394835,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "NitroEnclaveVerifier",
"address": "eth:0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb",
"isVerified": true,
"ossifyingSince": 1779394727,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E",
"isVerified": true,
"ossifyingSince": 1772559431,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "L1StandardBridge",
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 5,
"stateChangeCount": 3
},
{
"name": "DelayedWETH",
"address": "eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SystemConfig",
"address": "eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 11,
"stateChangeCount": 3
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
"isVerified": true,
"ossifyingSince": 1772559059,
"codeChangeCount": 6,
"stateChangeCount": 3
},
{
"name": "SuperchainConfig",
"address": "eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c",
"isVerified": true,
"ossifyingSince": 1771973279,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"isVerified": true,
"ossifyingSince": 1766424179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499",
"isVerified": true,
"ossifyingSince": 1766424179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec",
"isVerified": true,
"ossifyingSince": 1759862579,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"isVerified": true,
"ossifyingSince": 1756842755,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroSetVerifier",
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"isVerified": true,
"ossifyingSince": 1756842743,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"isVerified": true,
"ossifyingSince": 1755283787,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"isVerified": true,
"ossifyingSince": 1755283775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"isVerified": true,
"ossifyingSince": 1751494343,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"isVerified": true,
"ossifyingSince": 1751494331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1740762647,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "HistoryStorage",
"address": "eth:0x0000F90827F1C53a10cb7A02335B175320002935",
"isVerified": true,
"ossifyingSince": 1739979839,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierRouter",
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"isVerified": true,
"ossifyingSince": 1718237375,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockController",
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"isVerified": true,
"ossifyingSince": 1718237363,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2",
"isVerified": true,
"ossifyingSince": 1686793895,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2CrossDomainMessenger",
"address": "base:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "base:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "base:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "base:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1686789349,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1719592367,
1728326435,
1730302883,
1733958059,
1736355959,
1738700927,
1744214879,
1745512871,
1745938967,
1746643607,
1750797287,
1759862579,
1764604703,
1770742199,
1772558891,
1779825599,
1780160147,
1780423643,
1782229799,
1785176507
],
"criticalChangesPerYear": 6.666666666666667,
"criticalUpdates": [
{
"id": "649003b6",
"type": "code"
},
{
"id": "05eaffb6",
"type": "state"
},
{
"id": "f8cdcaf7",
"type": "code"
},
{
"id": "9f17fcf4",
"type": "code"
},
{
"id": "a8dda342",
"type": "state"
},
{
"id": "be870638",
"type": "code"
},
{
"id": "3e186ad9",
"type": "code"
},
{
"id": "77392bfd",
"type": "state"
},
{
"id": "91b4eeeb",
"type": "state"
},
{
"id": "d1275fe3",
"type": "state"
},
{
"id": "b1cb7b1f",
"type": "state"
},
{
"id": "310f6e25",
"type": "state"
}
],
"lastCriticalChange": 1785176507,
"maturity": 0.5858800162445504,
"maturity": 0.5858801058943871,
"perimeterResets": [
1686789349,
1718237363,
1719592367,
1728308027,
1730302883,
1733958059,
1736355959,
1738700927,
1739979839,
1740762647,
1744214879,
1745512871,
1745938967,
1746643607,
1750797287,
1751494331,
1755283775,
1756842743,
1759862579,
1762212215,
1764604703,
1766424179,
1770742199,
1771973279,
1772558891,
1776172415,
1779394727,
1779825599,
1780160147,
1780357499,
1780473821,
1782229799,
1782377394,
1784748491,
1785176507
],
"projectClockStart": 1785176507,
"score": 59,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 22,
"contracts": [
{
"name": "L1StandardBridge",
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"isVerified": true,
"ossifyingSince": 1789547003,
"codeChangeCount": 3,
"stateChangeCount": 2
},
{
"name": "DisputeGameFactory",
"address": "eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079",
"isVerified": true,
"ossifyingSince": 1777988075,
"codeChangeCount": 2,
"stateChangeCount": 20
},
{
"name": "OptimismPortal2",
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"isVerified": true,
"ossifyingSince": 1773311975,
"codeChangeCount": 5,
"stateChangeCount": 1
},
{
"name": "AnchorStateRegistry",
"address": "eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c",
"isVerified": true,
"ossifyingSince": 1773311975,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46",
"isVerified": true,
"ossifyingSince": 1768920023,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c",
"isVerified": true,
"ossifyingSince": 1752682883,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0",
"isVerified": true,
"ossifyingSince": 1742468147,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1740762647,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0xF2dc77c697e892542cC53336178a78Bb313DFDC7",
"isVerified": true,
"ossifyingSince": 1712862023,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1712862371,
1741870439,
1742468147,
1752686123,
1753214303,
1753361039,
1755555779,
1756823843,
1757106887,
1762813583,
1764685823,
1764861527,
1768920023,
1769450699,
1772045687,
1772624639,
1773311975,
1777981427,
1778580971,
1779312767,
1783496147,
1789547003
],
"criticalChangesPerYear": 8.886954862997007,
"criticalChangesPerYear": 8.88695440765614,
"criticalUpdates": [
{
"id": "2f577ebe",
"type": "code"
},
{
"id": "7493af41",
"type": "state"
},
{
"id": "5d7229ab",
"type": "state"
},
{
"id": "983d5bd1",
"type": "state"
},
{
"id": "d25db477",
"type": "state"
},
{
"id": "c1f6733c",
"type": "state"
},
{
"id": "7742af1a",
"type": "state"
},
{
"id": "0af4c649",
"type": "state"
},
{
"id": "9a3232bd",
"type": "code"
},
{
"id": "fa1c0e70",
"type": "state"
},
{
"id": "d3b597f3",
"type": "state"
},
{
"id": "c0a5cd9a",
"type": "state"
},
{
"id": "6e0a0f51",
"type": "state"
}
],
"lastCriticalChange": 1789547003,
"maturity": 0.37753395566787235,
"maturity": 0.3775343464710618,
"perimeterResets": [
1712862023,
1718237363,
1740762647,
1741870439,
1742468147,
1751494331,
1752682883,
1753214303,
1753361039,
1755283775,
1755555779,
1756823843,
1757106887,
1762212215,
1762813583,
1764685823,
1764861527,
1768920023,
1769450699,
1772045687,
1772624639,
1773311975,
1777898303,
1777988075,
1778580971,
1779312767,
1783496147,
1789547003
],
"projectClockStart": 1789547003,
"score": 38,
"windowSeconds": 78068586
"windowSeconds": 78068590
}
+2 -2
+2 -2
{
"clusteredEventCount": 16,
"contracts": [
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "DisputeGameFactory",
"address": "eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683",
"isVerified": true,
"ossifyingSince": 1779804539,
"codeChangeCount": 4,
"stateChangeCount": 11
},
{
"name": "OPSuccinctFaultDisputeGame",
"address": "eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF",
"isVerified": true,
"ossifyingSince": 1779117911,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1VerifierGateway",
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"isVerified": true,
"ossifyingSince": 1776370439,
"codeChangeCount": 0,
"stateChangeCount": 23
},
{
"name": "AccessManager",
"address": "eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816",
"isVerified": true,
"ossifyingSince": 1776249827,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 1
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC",
"isVerified": true,
"ossifyingSince": 1774940891,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "CeloSuperchainConfig",
"address": "eth:0x25035d2233d099f0BA710ca1e5a3834842870C66",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x91FA5B653aFe81A79890A93ad83768A04cc011b4",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552",
"isVerified": true,
"ossifyingSince": 1774940723,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"isVerified": true,
"ossifyingSince": 1771084331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"isVerified": true,
"ossifyingSince": 1762212215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1753380539,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Celo native asset Token",
"address": "eth:0x057898f3C43F129a17517B9056D23851F124b19f",
"isVerified": true,
"ossifyingSince": 1741879583,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x55093104b76FAA602F9d6c35A5FFF576bE78d753",
"isVerified": true,
"ossifyingSince": 1741879547,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x783A434532Ee94667979213af1711505E8bFE374",
"isVerified": true,
"ossifyingSince": 1741879547,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"isVerified": true,
"ossifyingSince": 1740762647,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1685377355,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2CrossDomainMessenger",
"address": "celo:0x4200000000000000000000000000000000000007",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "celo:0x4200000000000000000000000000000000000010",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "celo:0x4200000000000000000000000000000000000016",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "celo:0x4200000000000000000000000000000000000018",
"isVerified": false,
"ossifyingSince": 1587571205,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1720099295,
1721270315,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729728863,
1730498375,
1731025967,
1735951931,
1736970023,
1742960075,
1743612623,
1748558771,
1750785371,
1751883851,
1753378247,
1764092795,
1765362083,
1769109083,
1770648059,
1771445567,
1774940723,
1776164147,
1776370439,
1777372319,
1779804539,
1782428747
],
"criticalChangesPerYear": 10.518585949627711,
"criticalChangesPerYear": 10.518585072529781,
"criticalUpdates": [
{
"id": "a6b1d9a2",
"type": "code"
},
{
"id": "4c71daa7",
"type": "state"
},
{
"id": "953d9862",
"type": "state"
},
{
"id": "eeb61c0d",
"type": "state"
},
{
"id": "616cc8c8",
"type": "code"
},
{
"id": "4e1af81f",
"type": "state"
},
{
"id": "13fde891",
"type": "state"
},
{
"id": "49f509dc",
"type": "state"
}
],
"lastCriticalChange": 1782428747,
"maturity": 0,
"perimeterResets": [
1587571205,
1685377355,
1705954799,
1717149791,
1720099223,
1721270315,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729728863,
1730498375,
1731025967,
1735951931,
1736970023,
1740762647,
1741879547,
1742960075,
1743612623,
1748550023,
1748963099,
1750785371,
1751883851,
1753378247,
1762212215,
1764092795,
1764596735,
1764689339,
1765362083,
1769109083,
1770648059,
1771084331,
1771445567,
1774940723,
1776164147,
1776370439,
1777372319,
1779117911,
1779804539,
1782428747
],
"projectClockStart": 1782428747,
"score": 0,
"windowSeconds": 47969946
"windowSeconds": 47969950
}
+44 -2
+29 -1
{
"addresses": {
"ethereum": [
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x0d93eAA86eb6948b977857750A5512Bef6B05C51"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430379,
"transactionHash": "0xc392745fd3e67d4347ad194517bde29387a4dc7c626b827972102ca69640dda5",
"implementations": [
"eth:0x0d93eAA86eb6948b977857750A5512Bef6B05C51"
]
},
{
"timestamp": 1715671307,
"transactionHash": "0x4fd0c1776784e1eb46c2163c016d617ee9ae7a8f048eee48b90ac4c4a1dd9163",
"implementations": [
"eth:0x414066fd3dadC875531BE2992770aDab2ecB6366"
]
},
{
"timestamp": 1715673083,
"transactionHash": "0x3cc67944142886e727f20803c61e7bbf540886871bee9b34f032ecd9973c98e7",
"implementations": [
"eth:0x0d93eAA86eb6948b977857750A5512Bef6B05C51"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430835,
"transactionHash": "0xd4fd4cd6ce6aad5d056750a7b68db1a42f9867bbbd504e6a1015d94f17f03eb7",
"implementations": [
"eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785861839,
"transactionHash": "0x05ff2cb55118f839a31c2e8ea398c99d0f97dcb0d71535df87f14ece5c130475",
"implementations": [
"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44"
]
},
{
"timestamp": 1785861947,
"transactionHash": "0x5bc9e4731a28ac126a9f926e98369d4ddc5ae13adeaa22762f7123d0d15069e3",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430679,
"transactionHash": "0x7baf10386f86fa4c2c95447255dcc4abd2fa9444f3972cefd55c53e9fb9e7998",
"implementations": [
"eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Cyber Multisig 2",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763438987,
"transactionHash": "0x354e34abdcb87ccd2379801c787eb9f3899d8cea17ab12573f2ebeb40ef10b1d",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1\n * **owner**: Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x12a580c05466eefb2c467C6b115844cDaF55B255",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x12a580c05466eefb2c467C6b115844cDaF55B255#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430763,
"transactionHash": "0xbd95ce28613d85f3168404146fdc7ac9eff1b161479cea7504d95d7bf2dfccd2",
"implementations": [
"eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430715,
"transactionHash": "0x45f84739a98d87d3f74dc44571cac69b624fd3e0cd2ac82ce23aabec05e51fb3",
"implementations": [
"eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x795F854562d82b3A051e415f6c48B2766521C855"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763439011,
"transactionHash": "0x0cf1741c2a6d18e26d76b053c232622771540d0424dcbd225d4073e794573c0b",
"implementations": [
"eth:0x795F854562d82b3A051e415f6c48B2766521C855"
]
},
{
"timestamp": 1785861347,
"transactionHash": "0x7e83c02dfbd4cf29d07626f34579b27937493b4436c3ad495a2b3b7e8b095d71",
"implementations": [
"eth:0x8C8a1F23F3AfE6aeF5F0030FaB44D5b17ee97268"
]
},
{
"timestamp": 1785861527,
"transactionHash": "0x65c4f08365a1298614ba2b61a7ae5cac0c517a405622c41bd2d68b150e5a88b7",
"implementations": [
"eth:0x795F854562d82b3A051e415f6c48B2766521C855"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430727,
"transactionHash": "0x8b50a69675b2c276948af99ad89046cbc03b5fe33b9ddaeaacf3f31572ad3184",
"implementations": [
"eth:0x985F187489954435ddf9571D45500184566e4B46"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x6A9AFfDcfeF73f66177a1386590607F444520571",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763439023,
"transactionHash": "0xa5c21d138ee301c3fd84df71d8bfa88d6ebbb968d095a2d25d915bb7b1c006de",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1\n * **owner**: Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6A9AFfDcfeF73f66177a1386590607F444520571#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Cyber Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7E54107731EC43e78DA678DFa5fB6222Ad036e03#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x924B10d37392414b0813190F01DbaF6c3322E906",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x924B10d37392414b0813190F01DbaF6c3322E906#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277#code"
}
]
},
"escrows": [
{
"address": "0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99",
"sinceTimestamp": 1713430391,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430835,
"transactionHash": "0xd4fd4cd6ce6aad5d056750a7b68db1a42f9867bbbd504e6a1015d94f17f03eb7",
"implementations": [
"eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785861839,
"transactionHash": "0x05ff2cb55118f839a31c2e8ea398c99d0f97dcb0d71535df87f14ece5c130475",
"implementations": [
"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44"
]
},
{
"timestamp": 1785861947,
"transactionHash": "0x5bc9e4731a28ac126a9f926e98369d4ddc5ae13adeaa22762f7123d0d15069e3",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x12a580c05466eefb2c467C6b115844cDaF55B255",
"sinceTimestamp": 1713430415,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x12a580c05466eefb2c467C6b115844cDaF55B255",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x12a580c05466eefb2c467C6b115844cDaF55B255#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate Cyber",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"verificationStatus": "unsuccessful",
"hash": "0x03c7ae758795765c6664a5d39bf63841c71ff191e9189522bad8ebff5d4eca98"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1789044436,
"baseTimestamp": 1790808262,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "3e732be6",
"date": "Wed, 30 Sep 2026 22:47:30 GMT",
"timestamp": 1790808262,
"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": "9726f48e",
"date": "Thu, 10 Sep 2026 12:48:50 GMT",
"timestamp": 1789044436,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "d3b362e3",
"date": "Tue, 04 Aug 2026 21:27:45 GMT",
"timestamp": 1785878764,
"description": "Guardian intervention by the operator: a resolved PermissionedDisputeGame proposal (`0x7373…f4c3`) was blacklisted on the OptimismPortal2 and the AnchorStateRegistry anchor was reset from a separate, valid game. Since the guardian role is derived from the Superchain-wide SuperchainConfig, both contracts were temporarily upgraded to `SuperchainConfigSetter` implementations pointing `superchainConfig` at an operator-controlled deployment; minutes later the pointer and original implementations were restored.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract AnchorStateRegistry (eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07) [opstack/AnchorStateRegistry] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.1:\n+ [\"2026-08-04T16:35:47.000Z\",\"0x7e83c02dfbd4cf29d07626f34579b27937493b4436c3ad495a2b3b7e8b095d71\",[\"eth:0x8C8a1F23F3AfE6aeF5F0030FaB44D5b17ee97268\"]]\n values.$pastUpgrades.2:\n+ [\"2026-08-04T16:38:47.000Z\",\"0x65c4f08365a1298614ba2b61a7ae5cac0c517a405622c41bd2d68b150e5a88b7\",[\"eth:0x795F854562d82b3A051e415f6c48B2766521C855\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.3:\n+ [\"2026-08-04T16:43:59.000Z\",\"0x05ff2cb55118f839a31c2e8ea398c99d0f97dcb0d71535df87f14ece5c130475\",[\"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-04T16:45:47.000Z\",\"0x5bc9e4731a28ac126a9f926e98369d4ddc5ae13adeaa22762f7123d0d15069e3\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 3\n+ 5\n }\n```"
}
]
},
{
"id": "b2f66d10",
"date": "Fri, 17 Jul 2026 10:09:47 GMT",
"timestamp": 1784282889,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "c103056a",
"date": "Mon, 06 Jul 2026 07:56:33 GMT",
"timestamp": 1783324511,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling). Batcher rotated (`0xf99F…6FC5` → `0x2F8F…040f`). PermissionedDisputeGame redeployed to rotate proposer (`0xE1F8…E36f` → `0xAA0F…99Ab`); other params unchanged ([diff](https://disco.l2beat.com/diff/eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8/eth:0x924B10d37392414b0813190F01DbaF6c3322E906)).",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xf99F2E466D35b9B2755f7bA99E34bC7D56F96FC5\"\n+ \"eth:0x2F8Fd76923E2B0D0ba8F9C1a52A365CC6E7c040f\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8\"\n+ \"eth:0x924B10d37392414b0813190F01DbaF6c3322E906\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x924B10d37392414b0813190F01DbaF6c3322E906) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "c7a5e292",
"date": "Mon, 08 Jun 2026 13:32:15 GMT",
"timestamp": 1780925465,
"description": "PermissionedDisputeGame clone redeployed with new proposer + challenger immutable args ([diff](https://disco.l2beat.com/diff/eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b/eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8)). SystemConfig `batcherHash` + `unsafeBlockSigner` rotated.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n+ \"eth:0xf99F2E466D35b9B2755f7bA99E34bC7D56F96FC5\"\n values.unsafeBlockSigner:\n- \"eth:0x1F316F0F898AAb1919F9Fb9183F8D1900F721AdB\"\n+ \"eth:0xa3AC51c395ddA7a264D54890Da04ddF61bCDA359\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n+ \"eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xDE6284479EA9e623C00C14CFfc04091113BcB2B8) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "d41320a8",
"date": "Fri, 15 May 2026 13:11:05 GMT",
"timestamp": 1778850529,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "d620d657",
"date": "Tue, 05 May 2026 15:19:09 GMT",
"timestamp": 1777994281,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "66d633b8",
"date": "Wed, 25 Mar 2026 10:07:04 GMT",
"timestamp": 1774433159,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "ebb805b1",
"date": "Fri, 27 Feb 2026 13:23:33 GMT",
"timestamp": 1772198383,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "e82cb0c0",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272322,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "ed1d31a5",
"date": "Thu, 18 Dec 2025 08:56:22 GMT",
"timestamp": 1766048095,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "4f22b743",
"date": "Fri, 28 Nov 2025 09:49:22 GMT",
"timestamp": 1764323296,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 103,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x12a580c05466eefb2c467C6b115844cDaF55B255) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x01b46e02fcE5FC0731076711aFFe73bEeCD87997\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x01b46e02fcE5FC0731076711aFFe73bEeCD87997:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x0C883f622b4ccbF1e8ce86217998f87e6d36BCE4\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"eth:0x0C883f622b4ccbF1e8ce86217998f87e6d36BCE4\"\n values.L2_ORACLE:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.l2Oracle:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.SYSTEM_CONFIG:\n- \"eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1764210551\n implementationNames.eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0x985F187489954435ddf9571D45500184566e4B46\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x985F187489954435ddf9571D45500184566e4B46:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n values.$implementation:\n- \"eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-27T02:29:11.000Z\",\"0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 1\n values.blobbasefeeScalar:\n+ 1\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n implementationNames.eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"role\":\"admin\"}\n directlyReceivedPermissions.9.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (eth:0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract Cyber Multisig 1 (eth:0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398) {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6A9AFfDcfeF73f66177a1386590607F444520571\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}]}\n receivedPermissions.9.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0\"\n }\n```\n\n```diff\n EOA (eth:0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\",\"role\":\".challenger\"}\n receivedPermissions.1.role:\n- \".CHALLENGER\"\n+ \".challenger\"\n receivedPermissions.1.from:\n- \"eth:0xa669A743b065828682eE16109273F5CFeF5e676d\"\n+ \"eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (eth:0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x6A9AFfDcfeF73f66177a1386590607F444520571)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "b06d59a9",
"date": "Mon, 14 Jul 2025 12:44:56 GMT",
"timestamp": 1752497096,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x12a580c05466eefb2c467C6b115844cDaF55B255)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x19b5804B88F10262A55ac731f28A3BbC4209853a)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 2 (0x68ca4cDCb0F47457273B554E60ff8321D5C133E4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x7E54107731EC43e78DA678DFa5fB6222Ad036e03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 1 (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398)\n +++ description: None\n```"
}
]
},
{
"id": "f886bf47",
"date": "Sun, 06 Apr 2025 08:20:46 GMT",
"timestamp": 1743927646,
"description": "Operators change, no change to implementations.",
"isHighSeverity": true,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.1.permission:\n- \"interact\"\n+ \"sequence\"\n issuedPermissions.1.to:\n- \"0xc76C563185d01284AdbC9cF5bb909162dD2F15e7\"\n+ \"0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n issuedPermissions.1.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.0.permission:\n- \"sequence\"\n+ \"interact\"\n issuedPermissions.0.to:\n- \"0xf0748C52EDC23135d9845CDFB91279Cf61ee14b4\"\n+ \"0x68ca4cDCb0F47457273B554E60ff8321D5C133E4\"\n issuedPermissions.0.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n values.batcherHash:\n- \"0xf0748C52EDC23135d9845CDFB91279Cf61ee14b4\"\n+ \"0x6AdE72DA6C1d47c856f13CD01Aac22A90D722e01\"\n values.owner:\n- \"0xc76C563185d01284AdbC9cF5bb909162dD2F15e7\"\n+ \"0x68ca4cDCb0F47457273B554E60ff8321D5C133E4\"\n values.unsafeBlockSigner:\n- \"0xa7A4D6d5920b93D0FE590f9524Ef17f24EE1F5B8\"\n+ \"0x1F316F0F898AAb1919F9Fb9183F8D1900F721AdB\"\n }\n```\n\n```diff\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.permission:\n- \"upgrade\"\n+ \"challenge\"\n issuedPermissions.2.to:\n- \"0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n issuedPermissions.2.via.0:\n- {\"address\":\"0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}\n issuedPermissions.1.permission:\n- \"propose\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0x7E54107731EC43e78DA678DFa5fB6222Ad036e03\"}\n issuedPermissions.0.permission:\n- \"challenge\"\n+ \"propose\"\n issuedPermissions.0.to:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n values.$pastUpgrades.2:\n+ [\"2024-04-18T08:59:47.000Z\",\"0x3873d6dcc852f76be0f9f8c71f927a42b055ddb43c495e17464831044ac31046\",[\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]]\n values.$pastUpgrades.1:\n+ [\"2025-04-05T10:01:23.000Z\",\"0x73ee182446c88efe7fcb620040891c07867047a2f87527f0c2f313d87f9657d9\",[\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]]\n values.$pastUpgrades.0.2:\n- \"2024-04-18T08:59:47.000Z\"\n+ [\"0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08\"]\n values.$pastUpgrades.0.1:\n- \"0x3873d6dcc852f76be0f9f8c71f927a42b055ddb43c495e17464831044ac31046\"\n+ \"2025-04-05T09:37:35.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x93E1c0D8ef27930130fb809CE18ca681A8C32F85\"]\n+ \"0x8a478837105675e4e373c2a15350499aaed1c3c899df845ea10eec28b275c662\"\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.challenger:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n values.CHALLENGER:\n- \"0x87bD2cFf3b59d615b1Eac7A7f809B5e5f0Ee6752\"\n+ \"0xE363e5aeAbf7F6c20589a774fCD83389ebBF0275\"\n+++ severity: HIGH\n values.proposer:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n values.PROPOSER:\n- \"0xF2987f0A626c8D29dFB2E0A21144ca3026d6F1E1\"\n+ \"0x0DE6711cE623d03f0888310ca3A04a69DE0E12e1\"\n }\n```\n\n```diff\n contract undefined (0xc76C563185d01284AdbC9cF5bb909162dD2F15e7) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract Cyber Multisig 2 (0x68ca4cDCb0F47457273B554E60ff8321D5C133E4)\n +++ description: None\n```"
}
]
},
{
"id": "2ec38aa8",
"date": "Fri, 17 May 2024 09:35:04 GMT",
"timestamp": 1715938504,
"description": "Signers added to Owner Multisig, threshold changed to 3/4. EOA warning is removed.\n\nThe DAChallenge contract has resolverRefundPercentage set to 100%. A successful resolve now gets `( fixedResolutionCost + preImageLength * variableResolutionCost / variableResolutionCostPrecision ) * block.basefee` as a refund. Depending on the other variables, a malicious Sequencer can now challenge itself infinitely without cost.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49) {\n +++ description: None\n values.resolverRefundPercentage:\n- 0\n+ 100\n }\n```\n\n```diff\n contract ProxyAdminOwner (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398) {\n +++ description: None\n upgradeability.threshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 4 (75%)\"\n values.getOwners.3:\n+ \"0x1a76Ed328600489811F819959a74043f106CF0f9\"\n values.getOwners.2:\n+ \"0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7\"\n values.getOwners.1:\n+ \"0xaC79765A73eB9dcBd3c427181E6819902AE25b48\"\n values.getOwners.0:\n- \"0x1a76Ed328600489811F819959a74043f106CF0f9\"\n+ \"0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2\"\n values.getThreshold:\n- 1\n+ 3\n }\n```"
}
]
},
{
"id": "82843724",
"date": "Wed, 15 May 2024 13:24:31 GMT",
"timestamp": 1715779471,
"description": "Initial discovery: Cyber is an OP stack plasma mode L2 using custom DA (currently not yet EigenDA).",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x12a580c05466eefb2c467C6b115844cDaF55B255)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x19b5804B88F10262A55ac731f28A3BbC4209853a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x1aeC4c3BE47C30d0BEfa7514Cf9D99EaC596959D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x7E54107731EC43e78DA678DFa5fB6222Ad036e03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0xa669A743b065828682eE16109273F5CFeF5e676d)\n +++ description: Central actor allowed to post new L2 state roots to L1.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0xc2259E7Fb719411f97aBdCdf449f6Ba3B9D75398)\n +++ description: None\n```"
}
]
}
]
+44 -2
+29 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213063,
"transactionHash": "0x2e1c7cec7b5d66a48b5bd7fc2339da0b7c87bbee53a474e7232bd662cbfec6fe",
"implementations": [
"eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785859439,
"transactionHash": "0x8ae9c575a81b99b976cceca3ea4e08fdf2232457ebc85647258a002bd7077ef2",
"implementations": [
"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44"
]
},
{
"timestamp": 1785859823,
"transactionHash": "0x528836e8c2f19b30fdecacb75a0bcf31e85f9b6dd7363a0b73f47daa42484d9c",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763433575,
"transactionHash": "0x261918d58c7f37e601b07afeafd6da19718d83002b9caca5abeb55a4f4928a36",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1\n * **owner**: Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213075,
"transactionHash": "0xc7313637d7c43261e14d2b0c299d02089f5488943b39559e605d4eacb4ffbfbc",
"implementations": [
"eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: Funki Multisig 2",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD39a6CcCFa23cb741bB530497e42EC337f1215a8#code"
},
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x951d813B1C700964a725C87F77c53aa696847F59"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721212763,
"transactionHash": "0x4cd38097011a0f746ef8ebfd721bac90e90283cdb9a7c7488f0daf7d0994d6d3",
"implementations": [
"eth:0x951d813B1C700964a725C87F77c53aa696847F59"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x8F56a665c376A08b604DD32ee6E88667A6093172",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213159,
"transactionHash": "0xaba099e1fe516cc6e3e9cc69789b83b3fbabd940f2a900114f0c409de015bd99",
"implementations": [
"eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8F56a665c376A08b604DD32ee6E88667A6093172#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213111,
"transactionHash": "0xdf2f60d83b4a721433a7d8207b9d8d058807f63754d289e78fd71b3339727c33",
"implementations": [
"eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213123,
"transactionHash": "0x539ee390b917a31ea3fa1ffde5cee5823cf6c3591c081d1cb75896eff3e7ec4d",
"implementations": [
"eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763433599,
"transactionHash": "0x33a38fad2ed9f186ce509b95fca5e0f94c454bf628794f447fa66820cb1dea0d",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1\n * **owner**: Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97E417DC6f93adBe742733095C16FFE91B9d7530#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Funki Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD069C4724f9bC15FA53b3b2516594512AEf8c957#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763433587,
"transactionHash": "0x2225d6018a0be125bded604db70b5f18f323ff018fba3933b756c1678981a980",
"implementations": [
"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719"
]
},
{
"timestamp": 1785858371,
"transactionHash": "0x33432ac905eeae713da21603bc69ede8dfadcf94fcdd49f234e77d7550bc9d53",
"implementations": [
"eth:0x46D4f9b61cEC319902b007F4253d376ecA73875F"
]
},
{
"timestamp": 1785859499,
"transactionHash": "0x30d1456049b58e81d1504f46ef56bd93c735e26e4d5ad8c0b34fde1563f87506",
"implementations": [
"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3#code"
}
]
},
"escrows": [
{
"address": "0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22",
"sinceTimestamp": 1721212775,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213063,
"transactionHash": "0x2e1c7cec7b5d66a48b5bd7fc2339da0b7c87bbee53a474e7232bd662cbfec6fe",
"implementations": [
"eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785859439,
"transactionHash": "0x8ae9c575a81b99b976cceca3ea4e08fdf2232457ebc85647258a002bd7077ef2",
"implementations": [
"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44"
]
},
{
"timestamp": 1785859823,
"transactionHash": "0x528836e8c2f19b30fdecacb75a0bcf31e85f9b6dd7363a0b73f47daa42484d9c",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC",
"sinceTimestamp": 1721212799,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate Cyber",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"verificationStatus": "unsuccessful",
"hash": "0x03c7ae758795765c6664a5d39bf63841c71ff191e9189522bad8ebff5d4eca98"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1789044471,
"baseTimestamp": 1790808269,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "5e1c26a8",
"date": "Wed, 30 Sep 2026 22:47:32 GMT",
"timestamp": 1790808269,
"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": "6f479007",
"date": "Thu, 10 Sep 2026 12:49:13 GMT",
"timestamp": 1789044471,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "555cd99d",
"date": "Tue, 04 Aug 2026 21:28:10 GMT",
"timestamp": 1785878806,
"description": "Guardian intervention by the operator: a resolved PermissionedDisputeGame proposal (`0x586a…77ef`) was blacklisted on the OptimismPortal2 and the AnchorStateRegistry anchor was reset from a separate, valid game. Since the guardian role is derived from the Superchain-wide SuperchainConfig, both contracts were temporarily upgraded to `SuperchainConfigSetter` implementations pointing `superchainConfig` at an operator-controlled deployment; minutes later the pointer and original implementations were restored.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.3:\n+ [\"2026-08-04T16:03:59.000Z\",\"0x8ae9c575a81b99b976cceca3ea4e08fdf2232457ebc85647258a002bd7077ef2\",[\"eth:0xa702D767ef8a7ba06eD0d605Fe584e2C42eeED44\"]]\n values.$pastUpgrades.4:\n+ [\"2026-08-04T16:10:23.000Z\",\"0x528836e8c2f19b30fdecacb75a0bcf31e85f9b6dd7363a0b73f47daa42484d9c\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 3\n+ 5\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3) [opstack/AnchorStateRegistry] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.1:\n+ [\"2026-08-04T15:46:11.000Z\",\"0x33432ac905eeae713da21603bc69ede8dfadcf94fcdd49f234e77d7550bc9d53\",[\"eth:0x46D4f9b61cEC319902b007F4253d376ecA73875F\"]]\n values.$pastUpgrades.2:\n+ [\"2026-08-04T16:04:59.000Z\",\"0x30d1456049b58e81d1504f46ef56bd93c735e26e4d5ad8c0b34fde1563f87506\",[\"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```"
}
]
},
{
"id": "00fb76c9",
"date": "Fri, 17 Jul 2026 10:10:08 GMT",
"timestamp": 1784282928,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "55e15a71",
"date": "Mon, 06 Jul 2026 07:56:55 GMT",
"timestamp": 1783324534,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling). Batcher rotated (`0xE33D…D7d2` → `0xE840…1208`). PermissionedDisputeGame redeployed to rotate proposer (`0x30B6…2AC8` → `0xC7D3…0496`); other params unchanged ([diff](https://disco.l2beat.com/diff/eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117/eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE)).",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117\"\n+ \"eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0xE33DbfDd77D969c3c55fE420E8AF4dCCac4Dd7d2\"\n+ \"eth:0xE840FF9BCC3de1097a8BF51bDD60b996dA971208\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x63A70Bb5e1C613B5D2fCA1dac70C1408A271C0bE) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "b47dbf73",
"date": "Mon, 08 Jun 2026 13:32:21 GMT",
"timestamp": 1780925476,
"description": "PermissionedDisputeGame clone redeployed with new proposer + challenger immutable args ([diff](https://disco.l2beat.com/diff/eth:0x695F652b03470F396789cF007278F922e1726B94/eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117)). SystemConfig `batcherHash` + `unsafeBlockSigner` rotated.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x695F652b03470F396789cF007278F922e1726B94) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n+ \"eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n+ \"eth:0xE33DbfDd77D969c3c55fE420E8AF4dCCac4Dd7d2\"\n values.unsafeBlockSigner:\n- \"eth:0xa54e493641d097d164A6a2D8F9895303344d88A9\"\n+ \"eth:0x039d75D5DA1834d291E911Fe58599d077184D01a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB4dAc1E9586f440430bc4F5d2ac4Ed2e51c24117) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "bc137cee",
"date": "Fri, 15 May 2026 13:11:07 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "6f0f1824",
"date": "Tue, 05 May 2026 15:19:39 GMT",
"timestamp": 1777994313,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "7713c532",
"date": "Wed, 25 Mar 2026 10:07:18 GMT",
"timestamp": 1774433174,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "450547af",
"date": "Fri, 27 Feb 2026 13:21:04 GMT",
"timestamp": 1772198384,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "381079e4",
"date": "Mon, 26 Jan 2026 09:08:12 GMT",
"timestamp": 1769272331,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "e39193c7",
"date": "Thu, 18 Dec 2025 08:56:48 GMT",
"timestamp": 1766048122,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "88dd24a8",
"date": "Fri, 28 Nov 2025 09:53:23 GMT",
"timestamp": 1764323514,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 103,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x0B3476949e1C82160575295f58720E16EeD2BF7b) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\".challenger\"}\n receivedPermissions.1.role:\n- \".CHALLENGER\"\n+ \".challenger\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025eaa1cbd7fa48ee7b33fc45374ef90b0676ec3a15bd7224a4cb394cc343b7d\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.8.1-beta.1\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1764125519\n implementationNames.eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract Funki Multisig 1 (eth:0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD) {\n +++ description: None\n receivedPermissions.1.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.1.via:\n- [{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]\n receivedPermissions.1.role:\n- \"admin\"\n+ \".owner\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\"\n receivedPermissions.1.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}\n receivedPermissions.8.from:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x8F56a665c376A08b604DD32ee6E88667A6093172) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x4d4c8988a076d9b4f8e7056a3223ce908cacc5888a54ae3940f1c8d7b7aae742\"\n+ \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n values.$implementation:\n- \"eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n- \"eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\"\n values.version:\n- \"2.4.0\"\n+ \"2.3.0\"\n implementationNames.eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x56b8df1d0d704ad119f31879a8c1446528dbdc9130c3442ae76a2991ca1df17a\"\n+ \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n values.$implementation:\n- \"eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.1.1+beta.1\"\n+ \"2.1.0\"\n implementationNames.eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\"\n+ \"eth:0x695F652b03470F396789cF007278F922e1726B94\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xe3ebd11527e7e2cc700c4894d46405fa80fdd55e1f6074a122818a25141db5f2\"\n+ \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n values.$implementation:\n- \"eth:0x64F1e21412f61e9Ceda3b65FcFC5A4739c7eBBeE\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n- \"eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\"\n values.version:\n- \"2.2.0\"\n+ \"2.1.0\"\n implementationNames.eth:0x64F1e21412f61e9Ceda3b65FcFC5A4739c7eBBeE:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\",\"role\":\"admin\"}\n directlyReceivedPermissions.8.from:\n- \"eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\"\n+ \"eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x37e4bc420a724954556b571c6d8bc8c72d7c7f2b6c48465c65d895e51d5bbc10\"\n+ \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n values.$implementation:\n- \"eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-26T02:51:59.000Z\",\"0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.basefeeScalar:\n- 2269\n+ 1\n values.blobbasefeeScalar:\n- 0\n+ 1\n values.disputeGameFactory:\n- \"eth:0x2Dc9d2Cb1Ba0b8A46AE252ab4FBE1ad5C5c3B795\"\n+ \"eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98\"\n values.version:\n- \"2.3.0-beta.2\"\n+ \"2.3.0\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n implementationNames.eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (eth:0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (eth:0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x695F652b03470F396789cF007278F922e1726B94)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "61008130",
"date": "Mon, 14 Jul 2025 12:45:07 GMT",
"timestamp": 1752497107,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 2 (0x3D389212A78FD7D4600C9483470e59630C293416)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x8F56a665c376A08b604DD32ee6E88667A6093172)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD069C4724f9bC15FA53b3b2516594512AEf8c957)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```"
}
]
},
{
"id": "d09ecccd",
"date": "Sun, 06 Apr 2025 08:20:46 GMT",
"timestamp": 1743927646,
"description": "Operators change, no change to implementations.",
"isHighSeverity": true,
"changeCount": 67,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.permission:\n- \"propose\"\n+ \"upgrade\"\n issuedPermissions.2.to:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.2.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.to:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"propose\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n values.$pastUpgrades.2:\n+ [\"2025-04-05T13:02:59.000Z\",\"0x36b019357e2b55f4676855c5ae23f1e9d02c42fd9e01bbe2873f51be02ec3b8f\",[\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]]\n values.$pastUpgrades.1:\n+ [\"2024-07-17T10:46:23.000Z\",\"0x3dc0389b8d624e6c853fcbcba1321b88a48cefdcf2000af75c986263414c312d\",[\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]]\n values.$pastUpgrades.0.2:\n- \"2024-07-17T10:46:23.000Z\"\n+ [\"0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08\"]\n values.$pastUpgrades.0.1:\n- \"0x3dc0389b8d624e6c853fcbcba1321b88a48cefdcf2000af75c986263414c312d\"\n+ \"0xe6eedfdce548f3eaa2abd10d1d2195d00cc231b28017490753ea5739bc26bdca\"\n values.$pastUpgrades.0.0:\n- [\"0xA3facd35d9a0BD9Df1603E00F10D7b0f9Ee5f587\"]\n+ \"2025-04-05T12:57:35.000Z\"\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.challenger:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n values.CHALLENGER:\n- \"0x9f8b2470ffECbca2FFda20B9e10f6a12F33BC2Ce\"\n+ \"0x0B3476949e1C82160575295f58720E16EeD2BF7b\"\n+++ severity: HIGH\n values.proposer:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n values.PROPOSER:\n- \"0x7a7690bBAb496537Ac59B45B4c59d789233BcA16\"\n+ \"0xA1ddae0829c3bD4096c34aEC58b2BC21e3a6d10E\"\n }\n```\n\n```diff\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D) {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n issuedPermissions.1.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"guard\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD) {\n +++ description: None\n values.$members.3:\n+ \"0xB5b01E638CEF6AE50462A487d70005D6fe85eCf2\"\n values.$members.2:\n+ \"0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7\"\n values.$members.1:\n+ \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n values.$members.0:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0xaC79765A73eB9dcBd3c427181E6819902AE25b48\"\n values.$threshold:\n- 1\n+ 3\n values.multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 4 (75%)\"\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"0x5a4ebF927338EA6af377caEee99C85088908f57D\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]},{\"permission\":\"upgrade\",\"from\":\"0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}]}]\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```\n\n```diff\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.2.permission:\n- \"interact\"\n+ \"upgrade\"\n issuedPermissions.2.to:\n- \"0x3D389212A78FD7D4600C9483470e59630C293416\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.2.description:\n- \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.2.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.permission:\n- \"upgrade\"\n+ \"interact\"\n issuedPermissions.1.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x3D389212A78FD7D4600C9483470e59630C293416\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n issuedPermissions.1.description:\n+ \"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\"\n issuedPermissions.0.to:\n- \"0x73c98Cf34AF1f7D798e8e6f34b16037530Bffc41\"\n+ \"0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n values.batcherHash:\n- \"0x73c98Cf34AF1f7D798e8e6f34b16037530Bffc41\"\n+ \"0x4712454AddDbAbACaAb84916546899CA9690A6fF\"\n values.unsafeBlockSigner:\n- \"0x843458b6De651E02dFD5bFFea0e9cfb3eca293EF\"\n+ \"0xa54e493641d097d164A6a2D8F9895303344d88A9\"\n }\n```\n\n```diff\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2) {\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n issuedPermissions.1.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.1.to:\n- \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.permission:\n- \"upgrade\"\n+ \"guard\"\n issuedPermissions.0.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x052a8cd5967bc3Bdb5660c989a3A68bCA683A077\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.0.via.0:\n- {\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}\n }\n```\n\n```diff\n contract Funki (0xf0AE006C6f810831DA1d2A061288575fB5082144) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"0x5a4ebF927338EA6af377caEee99C85088908f57D\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x1A9aE6486caEc0504657351ac473B3dF8A1367cb\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC\",\"description\":\"upgrading the bridge implementation can give access to all funds escrowed therein.\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD39a6CcCFa23cb741bB530497e42EC337f1215a8\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]},{\"permission\":\"upgrade\",\"from\":\"0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD\",\"via\":[{\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"},{\"address\":\"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"}]}]\n }\n```\n\n```diff\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD) {\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n issuedPermissions.1.to:\n- \"0xf0AE006C6f810831DA1d2A061288575fB5082144\"\n+ \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"}\n issuedPermissions.1.via.0.address:\n- \"0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD\"\n+ \"0xD069C4724f9bC15FA53b3b2516594512AEf8c957\"\n }\n```"
}
]
},
{
"id": "644e95a8",
"date": "Fri, 04 Apr 2025 10:09:01 GMT",
"timestamp": 1743761341,
"description": "Standard Orbit chain.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L2OutputOracle (0x1A9aE6486caEc0504657351ac473B3dF8A1367cb)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 2 (0x3D389212A78FD7D4600C9483470e59630C293416)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5a4ebF927338EA6af377caEee99C85088908f57D)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Funki Multisig 1 (0x89CB6669f87c165E7128F4a57476EE4Daa7ffbCD)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x8F56a665c376A08b604DD32ee6E88667A6093172)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xD069C4724f9bC15FA53b3b2516594512AEf8c957)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xD39a6CcCFa23cb741bB530497e42EC337f1215a8)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0xD3B2Ee457Cf8F05f00c17BFe509b43BA04c9e5a2)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DataAvailabilityChallenge (0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD)\n +++ description: The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n```"
}
]
}
]
+473 -183
+28 -0
[
{
"address": "0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"sinceTimestamp": 1753379243,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xbd4AbB321138e8Eddc399cE64E66451294325a14#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x88FF1e5b602916615391F55854588EFcBB7663f0",
"sinceTimestamp": 1733498411,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x88FF1e5b602916615391F55854588EFcBB7663f0#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+4 -4
{
"architectureImage": "opstack-rollup-superchain-opfp-permissionless",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "Derivation: Batch submission - OP Mainnet specs",
"url": "https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission"
},
{
"title": "BatchInbox - address",
"url": "https://etherscan.io/address/0x005969bf0EcbF6eDB6C47E5e94693b1C3651Be97#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exits",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When a state root containing such transaction is settled, the funds become available for withdrawal on L1 after 3d 12h. Withdrawal inclusion can be proven before state root settlement, but a 7d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 12h to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"risks": [],
"references": [
{
"title": "OptimismPortal2.sol - Etherscan source code, proveWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.",
"risks": [],
"references": [
{
"title": "Introducing EVM Equivalence",
"url": "https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306"
}
]
}
],
"stateDerivation": {
"nodeSoftware": "The rollup node is composed of two software components: [op-node](https://github.com/ethereum-optimism/optimism/tree/develop/op-node), implementing consensus related logic, and [op-geth](https://github.com/ethereum-optimism/op-geth), implementing execution logic. The configuration file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/ink.toml).",
"compressionScheme": "Data batches are compressed using the [zlib](https://github.com/madler/zlib) algorithm with best compression level.",
"genesisState": "The genesis file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/extra/genesis/mainnet/ink.json.zst).",
"dataFormat": "The format specification of Sequencer's data batches can be found [here](https://optimism.io/blog/here-s-how-you-can-reproduce-op-mainnet-s-migration-to-bedrock)."
},
"stateValidation": {
"description": "Updates to the system state can be proposed and challenged by anyone who has sufficient funds. If a state root passes the challenge period, it is optimistically considered correct and made actionable for withdrawals.",
"categories": [
{
"title": "State root proposals",
"description": "Proposers submit state roots as children of the latest confirmed state root (called anchor state), by calling the `create` function in the DisputeGameFactory. A state root can have multiple conflicting children. Each proposal requires a stake, currently set to 0.08 ETH, that can be slashed if the proposal is proven incorrect via a fraud proof. Stakes can be withdrawn only after the proposal has been confirmed. A state root gets confirmed if the challenge period has passed and it is not countered.",
"references": [
{
"title": "OP stack specification: Fault Dispute Game",
"url": "https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#fault-dispute-game"
}
],
"risks": []
},
{
"title": "Challenges",
"description": "Challenges are opened to disprove invalid state roots using bisection games. Each bisection move requires a stake that increases expontentially with the depth of the bisection, with a factor of 1.09493. The maximum depth is 73, and reaching it therefore requires a cumulative stake of 691.23 ETH from depth 0. Actors can participate in any challenge by calling the `defend` or `attack` functions, depending whether they agree or disagree with the latest claim and want to move the bisection game forward. Actors that disagree with the top-level claim are called challengers, and actors that agree are called defenders. Each actor might be involved in multiple (sub-)challenges at the same time, meaning that the protocol operates with [full concurrency](https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a). Challengers and defenders alternate in the bisection game, and they pass each other a clock that starts with 3d 12h. If a clock expires, the claim is considered defeated if it was countered, or it gets confirmed if uncountered. Since honest parties can inherit clocks from malicious parties that play both as challengers and defenders (see [freeloader claims](https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#freeloader-claims)), an inherited clock with too little time remaining is generally extended by 3h. The extension is 6h when the next claim is immediately before split depth 30, and 1d 3h (the standard extension plus the 1d oracle challenge period) immediately before the last depth. Along a full-depth path, cumulative extensions can therefore add up to 10d 3h. Since unconfirmed state roots are independent of one another, users can decide to exit with a subsequent confirmed state root if the previous one is delayed. Winners get the entire losers' stake, meaning that sybils can potentially play against each other at no cost. The final instruction found via the bisection game is then executed onchain in the MIPS one step prover contract who determines the winner. The protocol does not enforce valid bisections, meaning that actors can propose correct initial claims and then provide incorrect midpoints. The protocol can be subject to resource exhaustion attacks ([Spearbit 5.1.3](https://github.com/ethereum-optimism/optimism/blob/develop/docs/security-reviews/2024_08_Fault-Proofs-No-MIPS_Spearbit.pdf)).",
"references": [
{
"title": "Fraud Proof Wars: OPFP",
"url": "https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a"
}
]
}
]
},
"stateValidationImage": "opfp"
}
+0 -68
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * ETHLockbox [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system [via: OpFoundationUpgradeSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6db6161fC5662450E801398Bad62dD9921216B98",
"type": "EOA",
"isVerified": true,
"name": "0x6db6…6B98",
"url": "https://etherscan.io/address/0x6db6161fC5662450E801398Bad62dD9921216B98",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
},
"ink": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"accounts": [
{
"address": "ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"type": "EOA",
"isVerified": true,
"name": "0x6B1B…4E3b",
"url": "https://explorer.inkonchain.com/address/0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"displayName": "SuperchainProxyAdminOwner_L2Alias"
}
],
"chain": "ink",
"description": "* Can upgrade **with no delay**\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+340 -32
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
}
],
"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* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **owner**: SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10d7B35078d3baabB96Dd45a9143B94be65b12CD#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"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 SuperFaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5d66C1782664115999C47c9fA5cd031f495D3e4F#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: OpFoundationUpgradeSafe; ultimately SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x661235a238B11191211fa95D4Dd9E423d521E0Be#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x88FF1e5b602916615391F55854588EFcBB7663f0#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "PreimageOracle",
"name": "SuperFaultDisputeGame",
"isVerified": true,
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"address": "eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"description": "Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0#code"
"url": "https://etherscan.io/address/0x19AF533Cc2A2A55786DCB8672aA5717e64213208#code"
},
{
"name": "FaultDisputeGame",
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC#code"
"url": "https://etherscan.io/address/0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x57b4C29DAee99a28E6E86778b499361294c134eA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57b4C29DAee99a28E6E86778b499361294c134eA#code"
},
{
"name": "SuperPermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C3eb47cB0174aea522a2a9Ae79487139A53D691#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xA8B389A82e088b164cD03230e900980CcED34d29",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA8B389A82e088b164cD03230e900980CcED34d29#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCc005DCd857B401e4732E6F7837135A22825cfA#code"
},
{
"name": "ETHLockbox",
"isVerified": true,
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbd4AbB321138e8Eddc399cE64E66451294325a14#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xd56045E68956FCe2576E680c95a4750cf8241f79",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd56045E68956FCe2576E680c95a4750cf8241f79#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
}
],
"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* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEe018bAf058227872540AC60eFbd38b023d9dAe2#code"
}
],
"ink": [
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "GasPriceOracle",
"isVerified": true,
"address": "ink:0x420000000000000000000000000000000000000F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30",
"implementations": [
"ink:0x93e57A196454CB919193fa9946f14943cf733845"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9",
"implementations": [
"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152"
]
}
],
"description": "Provides the current gas price for L2 transactions.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x420000000000000000000000000000000000000F#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA"
]
}
],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE"
]
}
],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c",
"implementations": [
"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias\n * **owner**: SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
}
],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "ink:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
}
],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34"
]
}
],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6"
]
}
],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000021#code"
}
]
},
"escrows": [
{
"address": "0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"sinceTimestamp": 1753379243,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xbd4AbB321138e8Eddc399cE64E66451294325a14#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x88FF1e5b602916615391F55854588EFcBB7663f0",
"sinceTimestamp": 1733498411,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x88FF1e5b602916615391F55854588EFcBB7663f0#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP Kona absolute prestate v1.6.0-rc.2 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program of Kona client.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/d7cea91bc2f555a76b7720bf9c32f46c0b856119/rust/kona",
"title": "OP Kona interop absolute prestate v1.7.0-rc.2 (cannon64-kona-interop)",
"description": "A commitment to the initial state of the OP stack fault proof program of Kona client, in the interop variant run by the super fault dispute game (respected game type 9).",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/kona-client/v1.7.0-rc.2/rust/kona",
"verificationStatus": "successful",
"verificationSteps": "1. Install [just](https://just.systems).\n2. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n3. Check out the correct commit of the [optimism](https://github.com/ethereum-optimism/optimism) repo (tag `kona-client/v1.6.0-rc.2`): `git checkout d7cea91bc2f555a76b7720bf9c32f46c0b856119`.\n4. Go to the kona dir `cd kona` and run `just build-cannon-prestate`. This script regenerates the kona absolute prestate and creates `kona/prestates/.bin.gz`, where `` is the resulting absolute prestate.",
"hash": "0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025"
"verificationSteps": "1. Install [just](https://just.systems).\n2. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n3. Check out the correct commit of the [optimism](https://github.com/ethereum-optimism/optimism) repo (tag `kona-client/v1.7.0-rc.2`): `git checkout 64b043ea5bbca9bc6e57e0f1c8df0404b4cf5f68`.\n4. From the monorepo root run `just reproducible-prestate`. A single docker build produces both variants and prints their hashes; this prestate is the `kona-client-int` (interop) one.",
"hash": "0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1789045166,
"baseTimestamp": 1790862352,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "cc3ef196",
"date": "Thu, 01 Oct 2026 13:46:57 GMT",
"timestamp": 1790862352,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3), executed 2026-09-24.\n\nState roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 19265297 to 1788848282. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 8 → 9, CANNON_KONA to SUPER_CANNON_KONA. Proposing and challenging remain permissionless, with a 0.08 ETH bond, a 3.5 day clock, max game depth 73 and split depth 30. The fault proof program is the interop variant of kona v1.7.0-rc.2.\n\nGame types 0, 1 and 8 were cleared. The permissioned fallback is now type 5, SUPER_PERMISSIONED, which carries no bond and defines only a proposer. It has no challenger, so the OP Foundation Operations Safe no longer holds a challenger role.\n\nSystemConfig v3.14.2 → v4.0.0 removes the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nVersion changes and implementation diffs:\n\n- FaultDisputeGame -> SuperFaultDisputeGame (type 8 -> 9): https://disco.l2beat.com/diff/eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC/eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- OptimismPortal2 5.6.1 -> 5.8.0: https://disco.l2beat.com/diff/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2/eth:0x1005217ad392DC64CEf501FA1777A27D42166748\n- SystemConfig 3.14.2 -> 4.0.0: https://disco.l2beat.com/diff/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504",
"isHighSeverity": true,
"changeCount": 113,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.$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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 8\n+ 12\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n- \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n- 57073\n+ \"UNRESOLVED\"\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n values.game5Args:\n- \"0x\"\n+ \"0xee018baf058227872540ac60efbd38b023d9dae23832bfbef03173e4c49a00ec0dd178817a02d177\"\n+++ severity: HIGH\n values.game5Proposer:\n- \"UNRESOLVED\"\n+ \"eth:0x3832bfbeF03173E4C49a00ec0DD178817A02D177\"\n+++ severity: HIGH\n values.game8:\n- \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n- \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n+ \"UNRESOLVED\"\n values.game8Args:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea000000000000000000000000000000000000000000000000000000000000def1\"\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n- 57073\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n- \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n- \"UNRESOLVED\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n values.game9Args:\n- \"0x\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1dfacc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea0000000000000000000000000000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9Vm:\n- \"UNRESOLVED\"\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+++ severity: HIGH\n values.game9Weth:\n- \"UNRESOLVED\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.initBondGame1:\n- \"80000000000000000\"\n+ 0\n values.initBondGame8:\n- \"80000000000000000\"\n+ 0\n values.initBondGame9:\n- 0\n+ \"80000000000000000\"\n values.permissionedGameArgs:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea000000000000000000000000000000000000000000000000000000000000def13832bfbef03173e4c49a00ec0dd178817a02d1779ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0x3832bfbeF03173E4C49a00ec0DD178817A02D177\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.vmFromDGF:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n+ \"UNRESOLVED\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DelayedWETH (eth:0x57b4C29DAee99a28E6E86778b499361294c134eA) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.$pastUpgrades.2:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$upgradeCount:\n- 2\n+ 6\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\n sourceHashes.1:\n- \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 9\n+ 13\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n values.respectedGameType:\n- 8\n+ 9\n values.version:\n- \"5.6.1\"\n+ \"5.8.0\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\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:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 10\n+ 14\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0x005969bf0EcbF6eDB6C47E5e94693b1C3651Be97\"\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 30000000\n values.getAddresses.opcm:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCM:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n- \"7.1.17\"\n+ \"8.0.1\"\n values.version:\n- \"3.14.2\"\n+ \"4.0.0\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"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```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\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:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 6\n+ 10\n }\n```\n\n```diff\n contract ETHLockbox (eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 3\n+ 7\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 5\n+ 9\n values.getStartingAnchorRoot.root:\n- \"0x10c839264195b6b897892b2d8949004bcb6005a9c712b41651aaf1a68c004d21\"\n+ \"0x25b22a0c711fa1d01b3cdb95fb98c0e7ff003b00909bfe8fade3507a6e62d44e\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 19265297\n+ 1788848282\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 8\n+ 9\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperFaultDisputeGame (eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208) [opstack/SuperFaultDisputeGame]\n +++ description: Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```"
}
]
},
{
"id": "e645a512",
"date": "Thu, 10 Sep 2026 13:00:50 GMT",
"timestamp": 1789045166,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "3faa3c28",
"date": "Thu, 27 Aug 2026 12:38:00 GMT",
"timestamp": 1787834174,
"description": "SystemConfig: ownership transferred from OpFoundationOperationsSafe to OpFoundationUpgradeSafe.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0.via.0.address:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```"
}
]
},
{
"id": "35fe1dcf",
"date": "Mon, 10 Aug 2026 11:03:38 GMT",
"timestamp": 1786359753,
"description": "DisputeGameFactory: the proposer key was rotated. L1FeeVault: the recipient changed to a new address and the minimum withdrawal dropped from 2 ETH to 0.15 ETH. This vault collects only the L1 data-fee component of L2 transaction fees; the BaseFeeVault and SequencerFeeVault still pay out to the previous recipient at the 2 ETH threshold.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n values.proposerFromDGF:\n- \"eth:0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n+ \"eth:0x3832bfbeF03173E4C49a00ec0DD178817A02D177\"\n }\n```\n\n```diff\n contract L1FeeVault (ink:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n values.MIN_WITHDRAWAL_AMOUNT:\n- \"2000000000000000000\"\n+ \"150000000000000000\"\n values.minWithdrawalAmount:\n- \"2000000000000000000\"\n+ \"150000000000000000\"\n values.recipient:\n- \"ink:0xa6f0F94C13C4255231958079E7331694205F6c93\"\n+ \"ink:0x1eB630b2e7409597D462dd5f3D21E305FC56B8C9\"\n values.RECIPIENT:\n- \"ink:0xa6f0F94C13C4255231958079E7331694205F6c93\"\n+ \"ink:0x1eB630b2e7409597D462dd5f3D21E305FC56B8C9\"\n }\n```"
}
]
},
{
"id": "6578d519",
"date": "Thu, 30 Jul 2026 11:05:46 GMT",
"timestamp": 1785409481,
"description": "SystemConfig batch submitter and unsafe block signer rotated. L1Block now mirrors the new batcher hash on L2.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.batcherHash:\n- \"eth:0x500d7Ea63CF2E501dadaA5feeC1FC19FE2Aa72Ac\"\n+ \"eth:0x6db6161fC5662450E801398Bad62dD9921216B98\"\n values.unsafeBlockSigner:\n- \"eth:0x7D056B99AA2021864c42E25B4F8cE3BdEAc9463C\"\n+ \"eth:0x7b322282DF45E537E5de76D60E1432Db3cF3F8E1\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.batcherHash:\n- \"0x000000000000000000000000500d7ea63cf2e501dadaa5feec1fc19fe2aa72ac\"\n+ \"0x0000000000000000000000006db6161fc5662450e801398bad62dd9921216b98\"\n }\n```"
}
]
},
{
"id": "f3a8ed9c",
"date": "Mon, 20 Jul 2026 15:36:32 GMT",
"timestamp": 1784561683,
"description": "SystemConfig `owner` transferred from the Gelato Multisig to the OpFoundationOperationsSafe (`0x9BA6…6b3A`). Ink's sequencer address, batch-submitter address, and gas config are now controlled by OP Foundation instead of Gelato.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.owner:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n }\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n receivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "d855fd61",
"date": "Fri, 17 Jul 2026 10:10:49 GMT",
"timestamp": 1784282949,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "a94fc3c6",
"date": "Tue, 14 Jul 2026 10:11:47 GMT",
"timestamp": 1784023841,
"description": "Karst hardfork (Upgrade 19b, op-contracts/v7.0.0) L2 activation on 2026-07-08 16:00:01 UTC.\n\nMost predeploys now inherit `ProxyAdminOwnedBase`, which lets a contract read its proxy's ProxyAdmin and ProxyAdmin owner on-chain so privileged functions can be gated to them. On the initializable ones — both bridges, both mintable factories, L2CrossDomainMessenger and every FeeVault — the constructor calls `_disableInitializers()` and `initialize()` is restricted to the ProxyAdmin or its owner (the SuperchainProxyAdminOwner). L1Block is not initializable but inherits the same base and gates its new `setFeature` setter the same way.\n\nCustom gas token support was removed from L2StandardBridge and L2CrossDomainMessenger. The `gasPayingToken()` override is gone, and `withdraw()` / `withdrawTo()` no longer revert on custom gas token chains. Ink pays gas in ETH, so behaviour is unchanged.\n\nL2ProxyAdmin (1.0.0) adds `upgradePredeploys(address)`, which delegatecalls the L2ContractsManager.\n\nFeeVault configuration (recipient, minimum withdrawal amount, withdrawal network) moved from constructor immutables to storage set by `initialize()`, and is now mutable post-deployment via `setRecipient`, `setMinWithdrawalAmount` and `setWithdrawalNetwork` — each gated to the ProxyAdmin owner. Previously these values were fixed at deployment; the SuperchainProxyAdminOwner can now change them. BaseFeeVault and L1FeeVault are byte-identical and now share implementation `0xf7bed7215EEF1003fac426682Cf2edeb958569f7`.\n\nGasPriceOracle stayed at 1.6.0 with unchanged source; only its implementation address moved.\n\nVersion changes and implementation diffs:\n\n- L2CrossDomainMessenger 2.1.1-beta.1 -> 2.2.1: https://disco.l2beat.com/diff/ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- L2StandardBridge 1.11.1-beta.1 -> 1.13.2: https://disco.l2beat.com/diff/ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.10.1-beta.2 -> 1.11.0: https://disco.l2beat.com/diff/ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.7.1-beta.2 -> 1.10.1: https://disco.l2beat.com/diff/ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block 1.7.0 -> 1.9.0: https://disco.l2beat.com/diff/ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.1.1-beta.1 -> 1.2.0: https://disco.l2beat.com/diff/ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.4.1-beta.1 -> 1.5.1: https://disco.l2beat.com/diff/ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- ProxyAdmin -> L2ProxyAdmin 1.0.0: https://disco.l2beat.com/diff/ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- GasPriceOracle 1.6.0 (source unchanged): https://disco.l2beat.com/diff/ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\n- SchemaRegistry 1.3.1-beta.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020/ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.4.1-beta.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021/ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6",
"isHighSeverity": true,
"changeCount": 137,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2CrossDomainMessenger (ink:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0x1ef37a50dbdd57f7019208b81019e52087cb92379f963e1ec092bd3eb81ec978\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"2.1.1-beta.1\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.ink:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (ink:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x2a3c7909036a30543d4aaa8e9501caab6f998a671d40cc3822f89c6239e6b8ab\"\n+ \"0x2a5cf70e1712c3e8ae9596f3b71055e47fa8d83c7e248050853c903ee70cb139\"\n values.$implementation:\n- \"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.ink:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L2StandardBridge (ink:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe528a1a655ef22d36419f53488f5b31752c4ecc2efea627fc6be5b0d63fa5069\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.11.1-beta.1\"\n+ \"1.13.2\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.ink:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (ink:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x509425b10b7bc736a2d76eb9fe3bc5951124e88ef3e4752a0a314d33690041d2\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.ink:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (ink:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0x106f86d507a55d0f26e3683c910a71a9804d75ced3a4bb374e6a78978462274b\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.10.1-beta.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.ink:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (ink:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x271f936ec1986057d9043b9961aa266e87908766814bdde8071f19a9de7484be\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.7.1-beta.2\"\n+ \"1.10.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.ink:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.7.0\"\n+ \"1.9.0\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"L1Block\"\n implementationNames.ink:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (ink:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0x1e27889ae9ce2358b6248afde8e8b6f7c4ccf0b308a9d9ecb629369ce110ea23\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.1.1-beta.1\"\n+ \"1.2.0\"\n implementationNames.ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.ink:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (ink:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0xec1bfae18ba5717949a6969cb01d743511c076e7bc6c78ed2c2b63232b97cc57\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.5.1\"\n values.bridge:\n+ \"ink:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.ink:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (ink:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n template:\n- \"opstack/Layer2/L2ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x5685f6e3015a6b9a257228bb8ef3c33efb233627bc5c81b7005670a10a37bd47\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n description:\n- \"Administration contract for other contract proxies.\"\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n values.$implementation:\n- \"ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n+ \"1.0.0\"\n implementationNames.ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.ink:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n }\n```\n\n```diff\n contract BaseFeeVault (ink:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (ink:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n name:\n- \"BaseFeeVault\"\n+ \"L1FeeVault\"\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n description:\n- \"Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\"\n+ \"Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\"\n values.$implementation:\n- \"ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"ink:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"ink:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"BaseFeeVault\"\n implementationNames.ink:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (ink:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x184ad3273d7e257c9f1b138ecff33286528599eae858abc182fdc3068060af90\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020\"\n+ \"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020:\n- \"SchemaRegistry\"\n implementationNames.ink:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (ink:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xa445fc3be07624967bd4cb9792e42018303744e20dc788527e19f17d83b6373d\"\n+ \"0xd39abb26f6acde3141075c8398a29b17974750e1651a038fcf5647d6cd8c5215\"\n values.$implementation:\n- \"ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021\"\n+ \"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.4.1-beta.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021:\n- \"EAS\"\n implementationNames.ink:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```"
}
]
},
{
"id": "8341db46",
"date": "Wed, 01 Jul 2026 09:35:39 GMT",
"timestamp": 1782898474,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations and the respected game type changed 0 → 8 (CANNON → CANNON_KONA) — the permissionless fault proof now runs the Rust kona-client on the Cannon VM instead of op-program. Uses the shared Superchain deployment (same kona prestate `0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025` as OP Mainnet, verified); trust model unchanged.",
"isHighSeverity": true,
"changeCount": 138,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [\"80000000000000000\",\"80000000000000000\",0,0,0]\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n values.game8Args:\n+ \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfaee018baf058227872540ac60efbd38b023d9dae257b4c29daee99a28e6e86778b499361294c134ea000000000000000000000000000000000000000000000000000000000000def1\"\n values.game8Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ \"80000000000000000\"\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ \"80000000000000000\"\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 7\n+ 9\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ETHLockbox (eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd56045E68956FCe2576E680c95a4750cf8241f79) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x57b4C29DAee99a28E6E86778b499361294c134eA\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x57b4C29DAee99a28E6E86778b499361294c134eA) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "64aa3df5",
"date": "Fri, 15 May 2026 13:31:28 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "622dea2b",
"date": "Tue, 05 May 2026 15:18:48 GMT",
"timestamp": 1777994261,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "c3e5e703",
"date": "Tue, 28 Apr 2026 15:44:52 GMT",
"timestamp": 1777390955,
"description": "Gelato Multisig (`eth:0xBeA2Bc85...`) member rotation: 5 signers removed (`0x349f3839`, `0xB65540bB`, `0x58edE8C6`, `0x28bB9385`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 9→5 (44% → 60%). Shared multisig — same change observed on `ethernity`, `lisk`, `everclear`, `reya`, and `educhain` (arb1).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"eth:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.1:\n- \"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.2:\n- \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.3:\n- \"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.5:\n- \"eth:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "a60efb6e",
"date": "Wed, 25 Mar 2026 10:07:23 GMT",
"timestamp": 1774433178,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, a Gelato Multisig signer (0x28bB9385A588EF4747264D19B9A9F1603591680c) has set an EIP-7702 delegation to an EIP7702StatelessDeleGator contract.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4831558cc7e858c354d05912425f7b608f63f175997992468f288e0d88c4cc50\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "1d117f2b",
"date": "Fri, 27 Feb 2026 13:20:54 GMT",
"timestamp": 1772198385,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "9ce267d2",
"date": "Fri, 13 Feb 2026 11:46:54 GMT",
"timestamp": 1770912803,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.7:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x10c839264195b6b897892b2d8949004bcb6005a9c712b41651aaf1a68c004d21\",\"l2SequenceNumber\":19265297}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "00a86fec",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272339,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "84a11b4f",
"date": "Thu, 18 Dec 2025 08:57:30 GMT",
"timestamp": 1766048148,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "f6b8b6fd",
"date": "Wed, 10 Dec 2025 09:59:18 GMT",
"timestamp": 1765360693,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (ink:0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0xc5d4d2bf19122f506ce43be8395b97b65c2b1109721869f31aa0b39605c5254b\"\n+ \"0x3a8edff20d21cac6fe4146bd2ae47f7ec927759ff9eb35e3f32f366e91da9e15\"\n values.$implementation:\n- \"ink:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.4.0\"\n+ \"1.6.0\"\n values.isJovian:\n+ true\n implementationNames.ink:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (ink:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0x1d69ab3b3edee9b7eeccc72b0980f9041777fdc5f5224f97aa5e69f0a8b68c7c\"\n values.$implementation:\n- \"ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.6.0\"\n+ \"1.7.0\"\n values.daFootprintGasScalar:\n+ 400\n implementationNames.ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "dd4421dc",
"date": "Fri, 28 Nov 2025 11:36:47 GMT",
"timestamp": 1764329741,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 70,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\"\n+ \"eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.6:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (eth:0x65436ddCbc026F34118954F229f7F132b696b3B4) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n+ \"eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x4cBFBA0AfEb3a36878eb52fAE78335751076250C)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "291a7d2e",
"date": "Fri, 24 Oct 2025 12:59:10 GMT",
"timestamp": 1761310677,
"description": "Fix previously misreported value by dwellir rpc and accidentally commited.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 185\n+ 190\n }\n```"
}
]
},
{
"id": "c6a6a4a0",
"date": "Thu, 23 Oct 2025 12:37:13 GMT",
"timestamp": 1761222955,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "4e925686",
"date": "Fri, 03 Oct 2025 09:11:16 GMT",
"timestamp": 1759482605,
"description": "OptimismPortal2\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0])\nhttps://disco.l2beat.com/diff/eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1/eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1])\nhttps://disco.l2beat.com/diff/eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\n\nMIPS → MIPS64\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1)\nhttps://disco.l2beat.com/diff/eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE/eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\n\nDelayedWETH (replacement 2)\nhttps://disco.l2beat.com/diff/eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32/eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd",
"isHighSeverity": true,
"changeCount": 93,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1\"\n+ \"eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9\"\n+ \"eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.8.role:\n- \".$admin\"\n+ \"admin\"\n receivedPermissions.8.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: None\n template:\n- \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.params.prevBlockNum:\n- 23476785\n+ 23496111\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n fieldMeta:\n- {\"respectedGameType\":{\"severity\":\"HIGH\"},\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n usedTypes:\n- [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\",\"1337\":\"KailuaGame\"}}]\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: None\n template:\n- \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n description:\n- \"Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.5:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.batcherHash:\n- \"eth:0x500d7Ea63CF2E501dadaA5feeC1FC19FE2Aa72Ac\"\n+ \"0x000000000000000000000000500d7ea63cf2e501dadaa5feec1fc19fe2aa72ac\"\n values.initVersion:\n- 2\n+ 3\n values.opStackDA:\n- {\"isSequencerSendingBlobTx\":true,\"isUsingCelestia\":false,\"isUsingEigenDA\":false}\n values.sequencerInbox:\n- \"eth:0x005969bf0EcbF6eDB6C47E5e94693b1C3651Be97\"\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta:\n- {\"paused\":{\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"},\"gasLimit\":{\"severity\":\"LOW\",\"description\":\"Gas limit for blocks on L2.\"},\"eip1559Denominator\":{\"description\":\"volatility param: lower denominator -> quicker fee changes on L2\"}}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n category:\n- {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: None\n template:\n- \"opstack/L1ERC721Bridge\"\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n description:\n- \"Used to bridge ERC-721 tokens from host chain to this chain.\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: None\n template:\n- \"opstack/L1CrossDomainMessenger\"\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n description:\n- \"Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.messageNonce:\n- \"1766847064778384329583297500742918515827483896875618958121606201292632463\"\n+ \"1766847064778384329583297500742918515827483896875618958121606201292632532\"\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n errors:\n+ {\"xDomainMessageSender\":\"Processing error occurred.\"}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: None\n template:\n- \"opstack/L1StandardBridge\"\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n description:\n- \"The main entry point to deposit ERC20 tokens from host chain to this chain.\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n category:\n- {\"name\":\"Canonical Bridges\",\"priority\":2}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\",\"description\":\"it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.role:\n- \".$admin\"\n+ \"admin\"\n directlyReceivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS64 (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x5F5BEa598Fdf8DF30d56808E8b793da8FC7f3028)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "37f15798",
"date": "Mon, 18 Aug 2025 14:05:07 GMT",
"timestamp": 1755525900,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "8f19a735",
"date": "Fri, 25 Jul 2025 17:48:23 GMT",
"timestamp": 1753465703,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342\"\n+ \"eth:0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x40641A4023f0F4C66D7f8Ade16497f4C947A7163\"\n+ \"eth:0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"interact\",\"from\":\"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.5.from:\n- \"eth:0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n+ \"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\"\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.13.from:\n- \"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n+ \"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\"\n receivedPermissions.14.from:\n- \"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1737576635\n+ 1753379243\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n values.ethLockbox:\n+ \"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 57073\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n+ \"eth:0x3F7b07A5D638024a37A776FA228fE90b317aF6dE\"\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14\",\"role\":\"admin\"}\n directlyReceivedPermissions.9.from:\n- \"eth:0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n+ \"eth:0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32\"\n directlyReceivedPermissions.10.from:\n- \"eth:0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x1a20c06a80260AA45adA0F9F59b334560eE3FEf1)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x3F7b07A5D638024a37A776FA228fE90b317aF6dE)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x46DDe051eb4561694DC1F0286eBe940d9E90fbe9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0xbd4AbB321138e8Eddc399cE64E66451294325a14)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xD5d9Eb5B1edce381C9f3377264e05c31f3036F32)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xEe018bAf058227872540AC60eFbd38b023d9dAe2)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```"
}
]
},
{
"id": "f8179fb7",
"date": "Mon, 21 Jul 2025 11:59:18 GMT",
"timestamp": 1753099158,
"description": "fee increase.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n values.baseFeeScalar:\n- 1368\n+ 4424\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.baseFeeScalar:\n- 1368\n+ 4424\n }\n```"
}
]
},
{
"id": "119aa72b",
"date": "Tue, 15 Jul 2025 11:31:07 GMT",
"timestamp": 1752579067,
"description": "Gelato MS: one signer removed, one changed.\n\nfee config updated.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 0\n+ 4424\n values.blobbasefeeScalar:\n- 0\n+ 810831\n }\n```\n\n```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "70a21a32",
"date": "Mon, 14 Jul 2025 12:46:55 GMT",
"timestamp": 1752497215,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```"
}
]
},
{
"id": "f1ff18f5",
"date": "Mon, 14 Jul 2025 12:46:55 GMT",
"timestamp": 1752497215,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "16b74f0a",
"date": "Mon, 12 May 2025 08:14:46 GMT",
"timestamp": 1747037686,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee (standard contracts).",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6e5bd465cdf07c7fc7de194833be336109be5aceaeb509643962096c772ec26a\"\n+ \"0xa6ae4f0695335983b644f1524c759f3178ee95c406e1e905b8cbccf5763af43a\"\n values.$implementation:\n- \"0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\",[\"0x93e57A196454CB919193fa9946f14943cf733845\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x936b7b7eb2a88a64e3eceaf897abfa2dc6e48b4c75eba2da34ff927b98413b6b\"\n+ \"0x6a90057e0a817ce81f9ed4b565f5efdbf1ebf76d5f59f3ce62f2994455e8199d\"\n sourceHashes.0:\n- \"0x6a90057e0a817ce81f9ed4b565f5efdbf1ebf76d5f59f3ce62f2994455e8199d\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\",[\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.5.1-beta.1\"\n+ \"1.6.0\"\n implementationNames.0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "085af5d4",
"date": "Thu, 08 May 2025 08:49:06 GMT",
"timestamp": 1746694146,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1\"\n+ \"0x40641A4023f0F4C66D7f8Ade16497f4C947A7163\"\n values.gameImpls.3:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342\"\n values.gameImpls.0:\n- \"0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x3cCF7C31a3A8C1b8aaA9A18FC2d010dDE4262342)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x40641A4023f0F4C66D7f8Ade16497f4C947A7163)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "304f8558",
"date": "Fri, 25 Apr 2025 13:16:23 GMT",
"timestamp": 1745586983,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x69361c9134D620B704C2a72c58523a4373eCe86f\"\n+ \"0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1\"\n values.gameImpls.0:\n- \"0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443\"\n+ \"0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.2.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.2.0:\n- [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2024-12-06T15:20:11.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n values.$pastUpgrades.0.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x69361c9134D620B704C2a72c58523a4373eCe86f)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2024-12-06T15:20:11.000Z\",\"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1.2:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.1.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.1.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.0.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.0.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x436BaC2Efe273e3f13eEFeda2b3689C34591bca1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x499E30a3b1BDB03f554fFFFAe4c9c5Edf31ca554)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "ac066efb",
"date": "Fri, 04 Apr 2025 09:41:29 GMT",
"timestamp": 1743759689,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 88,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637\"\n+ \"0x69361c9134D620B704C2a72c58523a4373eCe86f\"\n values.gameImpls.0:\n- \"0x7e87B471e96b96955044328242456427A0D49694\"\n+ \"0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.6.from:\n- \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n receivedPermissions.5.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n receivedPermissions.5.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.4.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.4.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.3.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.3.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.1.from:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.2.0\"\n+ \"2.4.0\"\n values.basefeeScalar:\n+ 0\n values.blobbasefeeScalar:\n+ 0\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f\",\"l1ERC721Bridge\":\"0x661235a238B11191211fa95D4Dd9E423d521E0Be\",\"l1StandardBridge\":\"0x88FF1e5b602916615391F55854588EFcBB7663f0\",\"disputeGameFactory\":\"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\",\"optimismPortal\":\"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\",\"optimismMintableERC20Factory\":\"0xA8B389A82e088b164cD03230e900980CcED34d29\"}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2024-12-06T15:20:11.000Z\",\"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.0.2:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.1:\n- \"2024-12-06T15:20:11.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.0.0:\n- \"0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x7e87B471e96b96955044328242456427A0D49694)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.5.from:\n- \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n+ \"0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d\"\n directlyReceivedPermissions.4.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n directlyReceivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.3.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.2.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.1.from:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x2fc99fd16D8D3F6F66d164aA84E244c567E58A3d)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x4699D20479dfD20e15CaB4FCB6F2a7CC6fE35443)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x69361c9134D620B704C2a72c58523a4373eCe86f)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "887eff7b",
"date": "Tue, 18 Mar 2025 10:45:54 GMT",
"timestamp": 1742294754,
"description": "Migrate to new FaultDisputeGame (v1.3.1), which is the same as the one used by op mainnet and unichain.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD\"\n+ \"0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637\"\n values.gameImpls.0:\n- \"0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963\"\n+ \"0x7e87B471e96b96955044328242456427A0D49694\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.7.from:\n- \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n+ \"0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n receivedPermissions.6.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n receivedPermissions.6.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.5.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.5.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.5.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.4.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.3.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.2.from:\n- \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n+ \"0xc4986627A41cdCf6fa33543D96f00F475bCE42f5\"\n directlyReceivedPermissions.5.from:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0xf6b1554F483C391414d3830927E3600c105AaE6E\"\n directlyReceivedPermissions.5.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.4.from:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.2.from:\n- \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n+ \"0x10d7B35078d3baabB96Dd45a9143B94be65b12CD\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x7e87B471e96b96955044328242456427A0D49694)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x8D9faaEb46cBCf487baf2182E438Ac3D0847F637)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc4986627A41cdCf6fa33543D96f00F475bCE42f5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xf6b1554F483C391414d3830927E3600c105AaE6E)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "3a65a579",
"date": "Tue, 11 Mar 2025 12:03:49 GMT",
"timestamp": 1741694629,
"description": "Contract verified.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017) {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n unverified:\n- true\n values.BRIDGE:\n+ \"0x4200000000000000000000000000000000000014\"\n values.REMOTE_CHAIN_ID:\n+ 1\n values.version:\n+ \"1.4.1-beta.1\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xd05d0050b36bb2fb43c345eabc2d7f6e796571360aa2198707da64794c5f4b64\"]\n }\n```"
}
]
},
{
"id": "4e816dbe",
"date": "Wed, 26 Feb 2025 16:18:31 GMT",
"timestamp": 1740586711,
"description": "Config related: Add L2 contracts as templates with source.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014) {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n unverified:\n- true\n values.messenger:\n+ \"0x4200000000000000000000000000000000000007\"\n values.MESSENGER:\n+ \"0x4200000000000000000000000000000000000007\"\n values.OTHER_BRIDGE:\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n values.otherBridge:\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n values.paused:\n+ false\n values.version:\n+ \"1.7.1-beta.2\"\n template:\n+ \"opstack/Layer2/L2ERC721Bridge\"\n sourceHashes:\n+ [\"0xdb44b7e73254e0314f233ca790b4d44a2f9e3cebc019945c0ef84b9e3579c77a\",\"0xf8e3171eeccb9b5e31480276120e77545d7f33ae218b16ee367370dc484149f2\"]\n }\n```"
}
]
},
{
"id": "fce0a3d2",
"date": "Mon, 24 Feb 2025 06:46:01 GMT",
"timestamp": 1740379561,
"description": "Initial L2 discovery: 3 unverified contracts, ProxyAdmin gov correctly resolves to L1.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```"
}
]
},
{
"id": "781020a0",
"date": "Wed, 12 Feb 2025 09:59:40 GMT",
"timestamp": 1739354380,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "f30ca1f0",
"date": "Sat, 08 Feb 2025 16:14:13 GMT",
"timestamp": 1739031253,
"description": "Two SC members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "9ed1fc42",
"date": "Thu, 06 Feb 2025 09:16:25 GMT",
"timestamp": 1738833385,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "2a02bb4b",
"date": "Fri, 24 Jan 2025 08:30:33 GMT",
"timestamp": 1737707433,
"description": "re-add the permissioned games tracker since the default is permissionless games now.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.permissionedGamesTotal:\n- 189\n+ 190\n }\n```"
}
]
},
{
"id": "50b74787",
"date": "Wed, 22 Jan 2025 22:51:41 GMT",
"timestamp": 1737586301,
"description": "Ink is now Stage 1.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (0x5d66C1782664115999C47c9fA5cd031f495D3e4F) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"FaultDisputeGame\"\n values.respectedGameType:\n- 1\n+ 0\n values.respectedGameTypeUpdatedAt:\n- 1733498411\n+ 1737576635\n }\n```"
}
]
},
{
"id": "68ebb84e",
"date": "Wed, 15 Jan 2025 10:19:47 GMT",
"timestamp": 1736936387,
"description": "PermissionedDisputeGame upgraded (1.3.0), FaultDisputeGame (1.3.0) and DelayedWETH added, all known shapes. InitBonds same as optimism for now. Permissioned game is still the respected gameType.\n\nTwo signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 43,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059\"\n+ \"0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD\"\n values.initBonds.1:\n- 0\n+ \"80000000000000000\"\n values.initBonds.0:\n- 0\n+ \"80000000000000000\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"target\":\"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\",\"via\":[{\"address\":\"0xd56045E68956FCe2576E680c95a4750cf8241f79\"}]}\n receivedPermissions.10.target:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n receivedPermissions.9.target:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.9.via.0.address:\n- \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.8.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n receivedPermissions.8.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0xd56045E68956FCe2576E680c95a4750cf8241f79\"\n receivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.7.target:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n receivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.6.target:\n- \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n+ \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n receivedPermissions.5.target:\n- \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n+ \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n receivedPermissions.4.target:\n- \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n+ \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"}\n directlyReceivedPermissions.8.target:\n- \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n+ \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n directlyReceivedPermissions.7.target:\n- \"0xA8B389A82e088b164cD03230e900980CcED34d29\"\n+ \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n directlyReceivedPermissions.7.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.6.target:\n- \"0x88FF1e5b602916615391F55854588EFcBB7663f0\"\n+ \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n directlyReceivedPermissions.6.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.5.target:\n- \"0x661235a238B11191211fa95D4Dd9E423d521E0Be\"\n+ \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n directlyReceivedPermissions.4.target:\n- \"0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364\"\n+ \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n directlyReceivedPermissions.3.target:\n- \"0x5d66C1782664115999C47c9fA5cd031f495D3e4F\"\n+ \"0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n values.$pastUpgrades.2:\n+ [\"2025-01-13T21:22:47.000Z\",\"0x71234ec9d3df32360383a0091277b0facbeb21456f1a29accb110fa43a6b5441\",[\"0x7A78aa7D5dec2F8B368ca13f00Df2fA4E5De3C3F\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-13T21:22:47.000Z\",\"0x71234ec9d3df32360383a0091277b0facbeb21456f1a29accb110fa43a6b5441\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x0A780bE3eB21117b1bBCD74cf5D7624A3a482963)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x3Beaca17eaE5643FB1479AA5f4B1fF75cc4b9B50)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x6A8eFcba5642EB15D743CBB29545BdC44D5Ad8cD)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "9574dbc6",
"date": "Thu, 26 Dec 2024 11:32:41 GMT",
"timestamp": 1735212761,
"description": "Contracts verified (PermissionedDisputeGame, AnchorStateRegistry).\n\nBoth contracts are unintended beta versions (see ink telegram chat) but contain mostly cosmetic changes and the diff is audited, according to ink. A brief review of the diff shows no logic changes and thus the standard templates are used here.",
"isHighSeverity": false,
"changeCount": 29,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059) {\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n unverified:\n- true\n values.absolutePrestate:\n+ \"0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c\"\n values.anchorStateRegistry:\n+ \"0xde744491BcF6b2DD2F32146364Ea1487D75E2509\"\n values.challenger:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.claimData:\n+ []\n values.claimDataLen:\n+ 0\n values.createdAt:\n+ 0\n values.extraData:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.gameCreator:\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameData:\n+ {\"gameType_\":1,\"rootClaim_\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extraData_\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}\n values.gameType:\n+ 1\n values.getChallengerDuration:\n+ []\n values.l1Head:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.l2BlockNumber:\n+ 0\n values.l2BlockNumberChallenged:\n+ false\n values.l2BlockNumberChallenger:\n+ \"0x0000000000000000000000000000000000000000\"\n values.l2ChainId:\n+ 57073\n values.proposer:\n+ \"0x65436ddCbc026F34118954F229f7F132b696b3B4\"\n values.resolvedAt:\n+ 0\n values.rootClaim:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.startingBlockNumber:\n+ 0\n values.startingOutputRoot:\n+ {\"root\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"l2BlockNumber\":0}\n values.startingRootHash:\n+ \"0x0000000000000000000000000000000000000000000000000000000000000000\"\n values.status:\n+ 0\n values.version:\n+ \"1.3.1-beta.3\"\n values.weth:\n+ \"0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38\"\n sourceHashes:\n+ [\"0xf2f258eb38ded9ad4f2ad678585505ab05851f008aad859af6ad97de75a276b9\"]\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x14773a8040Ff22e3DcBb0C83eC8e33Be7D920D38)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xde744491BcF6b2DD2F32146364Ea1487D75E2509)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
}
]
},
{
"id": "c4607f40",
"date": "Sat, 21 Dec 2024 17:04:52 GMT",
"timestamp": 1734800692,
"description": "Initial discovery. Chain controlled by Superchain upgradability but with permissioned games.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x10d7B35078d3baabB96Dd45a9143B94be65b12CD)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x5d66C1782664115999C47c9fA5cd031f495D3e4F)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x661235a238B11191211fa95D4Dd9E423d521E0Be)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x88FF1e5b602916615391F55854588EFcBB7663f0)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA8B389A82e088b164cD03230e900980CcED34d29)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa8E6a9bF1Ba2dF76C6787EAEbE2273Ae98498059)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd56045E68956FCe2576E680c95a4750cf8241f79)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
}
]
+86 -78
{
"clusteredEventCount": 13,
"clusteredEventCount": 14,
"contracts": [
{
"name": "SystemConfig",
"address": "eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364",
"name": "DisputeGameFactory",
"address": "eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD",
"isVerified": true,
"ossifyingSince": 1787692559,
"ossifyingSince": 1790268683,
"codeChangeCount": 7,
"stateChangeCount": 2
"stateChangeCount": 11
},
{
"name": "L2CrossDomainMessenger",
"address": "ink:0x4200000000000000000000000000000000000007",
"name": "DelayedWETH",
"address": "eth:0x57b4C29DAee99a28E6E86778b499361294c134eA",
"isVerified": true,
"ossifyingSince": 1783526401,
"ossifyingSince": 1790268683,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "ink:0x4200000000000000000000000000000000000010",
"name": "OptimismPortal2",
"address": "eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
"ossifyingSince": 1790268683,
"codeChangeCount": 8,
"stateChangeCount": 1
},
{
"name": "L2ToL1MessagePasser",
"address": "ink:0x4200000000000000000000000000000000000016",
"name": "SystemConfig",
"address": "eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"ossifyingSince": 1790268683,
"codeChangeCount": 8,
"stateChangeCount": 2
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f",
"isVerified": true,
"ossifyingSince": 1790268683,
"codeChangeCount": 8,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "ink:0x4200000000000000000000000000000000000018",
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1783526401,
"ossifyingSince": 1790268683,
"codeChangeCount": 5,
"stateChangeCount": 2
},
{
"name": "ETHLockbox",
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"isVerified": true,
"ossifyingSince": 1790268683,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "DisputeGameFactory",
"address": "eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD",
"name": "AnchorStateRegistry",
"address": "eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 6,
"stateChangeCount": 10
"ossifyingSince": 1790268683,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "DelayedWETH",
"address": "eth:0x57b4C29DAee99a28E6E86778b499361294c134eA",
"name": "SuperPermissionedDisputeGame",
"address": "eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691",
"isVerified": true,
"ossifyingSince": 1782428747,
"ossifyingSince": 1788049691,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F",
"name": "SuperFaultDisputeGame",
"address": "eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 7,
"stateChangeCount": 1
"ossifyingSince": 1788049679,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f",
"name": "L2CrossDomainMessenger",
"address": "ink:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 7,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"name": "L2StandardBridge",
"address": "ink:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 6,
"stateChangeCount": 1
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"name": "L2ToL1MessagePasser",
"address": "ink:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 4,
"stateChangeCount": 2
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "ETHLockbox",
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"name": "L2ProxyAdmin",
"address": "ink:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 1,
"ossifyingSince": 1783526401,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2",
"name": "L1StandardBridge",
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 3,
"codeChangeCount": 6,
"stateChangeCount": 1
},
{
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1748963099,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x9b7C9BbD6d540A8A4dEDd935819fC4408Ba71153",
"isVerified": true,
"ossifyingSince": 1733498411,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xd56045E68956FCe2576E680c95a4750cf8241f79",
"isVerified": true,
"ossifyingSince": 1733498411,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1685377355,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1736803367,
1742243783,
1743612623,
1745511383,
1746628403,
1753378247,
1759422923,
1764092795,
1770667859,
1782428747,
1783526401,
1784545691,
1787692559
1787692559,
1790268683
],
"criticalChangesPerYear": 7.13829549062357,
"criticalChangesPerYear": 7.68739460834185,
"criticalUpdates": [
{
"id": "ac066efb",
"type": "code"
},
{
"id": "304f8558",
"type": "code"
},
{
"id": "8f19a735",
"type": "code"
},
{
"id": "4e925686",
"type": "code"
},
{
"id": "dd4421dc",
"type": "code"
},
{
"id": "9ce267d2",
"type": "code"
},
{
"id": "8341db46",
"type": "code"
},
{
"id": "f3a8ed9c",
"type": "state"
},
{
"id": "3faa3c28",
"type": "state"
},
{
"id": "cc3ef196",
"type": "state"
}
],
"lastCriticalChange": 1787692559,
"maturity": 0.501094727676058,
"lastCriticalChange": 1790268683,
"maturity": 0.2971310943673494,
"perimeterResets": [
1685377355,
1705954799,
1717149791,
1733498411,
1736803367,
1742243783,
1743612623,
1743759689,
1745511383,
1746628403,
1748963099,
1753378247,
1759422923,
1764092795,
1764329741,
1764596735,
1770667859,
1770912803,
1778190599,
1782428747,
1782898474,
1783526401,
1784545691,
1787692559
1787692559,
1788049679,
1790268683
],
"projectClockStart": 1787692559,
"score": 50,
"windowSeconds": 57432198
"projectClockStart": 1790268683,
"score": 30,
"windowSeconds": 57432202
}
+3 -3
+3 -3
{
"clusteredEventCount": 30,
"contracts": [
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x98906C3f90A06B5484DD67bf32938815d2993dBC",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0xaA8a62563CFe4E36118ED479B5486F503b438376",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 3,
"stateChangeCount": 2
},
{
"name": "DisputeGameFactory",
"address": "eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe",
"isVerified": true,
"ossifyingSince": 1788245483,
"codeChangeCount": 1,
"stateChangeCount": 5
},
{
"name": "AggchainFEP",
"address": "eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666",
"isVerified": true,
"ossifyingSince": 1787568047,
"codeChangeCount": 1,
"stateChangeCount": 16
},
{
"name": "AgglayerGateway",
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"isVerified": true,
"ossifyingSince": 1781516999,
"codeChangeCount": 1,
"stateChangeCount": 5
},
{
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2Timelock",
"address": "katana:0xBBa0935Fa93Eb23de7990b47F0D96a8f75766d13",
"isVerified": true,
"ossifyingSince": 1773388166,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "AgglayerBridgeL2",
"address": "katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"isVerified": true,
"ossifyingSince": 1772560429,
"codeChangeCount": 3,
"stateChangeCount": 2
},
{
"name": "BridgeLib",
"address": "katana:0xb30C032b183525de7427f04e79F45Cd19866E124",
"isVerified": true,
"ossifyingSince": 1772018458,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TokenWrappedBridgeUpgradeable",
"address": "katana:0xF0777a825470092b3Debc9af291634460b8E1a2c",
"isVerified": true,
"ossifyingSince": 1772018458,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832",
"isVerified": true,
"ossifyingSince": 1769765279,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "ProxyAdmin",
"address": "eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52",
"isVerified": true,
"ossifyingSince": 1769765279,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "AgglayerBridge",
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"isVerified": true,
"ossifyingSince": 1761747071,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "AgglayerManager",
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"isVerified": true,
"ossifyingSince": 1761747071,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "AgglayerGER",
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"isVerified": true,
"ossifyingSince": 1761747071,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "BridgeLib",
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"isVerified": true,
"ossifyingSince": 1759503191,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "GlobalExitRootManagerL2SovereignChain",
"address": "katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA",
"isVerified": true,
"ossifyingSince": 1747840689,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ProxyAdmin",
"address": "katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"isVerified": true,
"ossifyingSince": 1746742812,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2CrossDomainMessenger",
"address": "katana:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1746742812,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "katana:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1746742812,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0xEaB94275eD336D80d4F46EA8Ea0427e351f11D65",
"isVerified": true,
"ossifyingSince": 1746742811,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Timelock",
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"isVerified": true,
"ossifyingSince": 1738676704,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SharedProxyAdmin",
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"isVerified": true,
"ossifyingSince": 1679653103,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1746747095,
1747774642,
1750689983,
1750858139,
1751061868,
1751279627,
1753290299,
1753882523,
1761747071,
1763987450,
1765376687,
1768411847,
1769765279,
1770634007,
1770926771,
1771250987,
1771411343,
1772458852,
1772552963,
1772715731,
1773388166,
1773662783,
1776963143,
1779467495,
1781095928,
1781516999,
1781619767,
1784022011,
1787568047,
1788245483
],
"criticalChangesPerYear": 21.41043552339947,
"criticalChangesPerYear": 21.41043358526862,
"criticalUpdates": [
{
"id": "41b0c8bb",
"type": "state"
},
{
"id": "627293ca",
"type": "code"
},
{
"id": "f0f02b3e",
"type": "state"
},
{
"id": "506434ca",
"type": "state"
},
{
"id": "cf34a84f",
"type": "state"
},
{
"id": "64df4461",
"type": "state"
},
{
"id": "e17f828d",
"type": "state"
},
{
"id": "5ff094a2",
"type": "state"
},
{
"id": "2760d96c",
"type": "state"
},
{
"id": "092d0a96",
"type": "state"
},
{
"id": "5c066b30",
"type": "state"
},
{
"id": "b182e3dc",
"type": "state"
},
{
"id": "5dab537d",
"type": "state"
},
{
"id": "a0780ac7",
"type": "code"
},
{
"id": "d3280720",
"type": "state"
},
{
"id": "5acfd848",
"type": "state"
},
{
"id": "08710e37",
"type": "state"
},
{
"id": "ad8059d1",
"type": "state"
},
{
"id": "8b099c72",
"type": "state"
},
{
"id": "870b374c",
"type": "state"
},
{
"id": "c93bf0f0",
"type": "state"
},
{
"id": "d922a712",
"type": "state"
},
{
"id": "60da3e8b",
"type": "code"
}
],
"lastCriticalChange": 1788245483,
"maturity": 0.47637564683578265,
"maturity": 0.47637578460789937,
"perimeterResets": [
1679653103,
1746619859,
1746740171,
1747774642,
1748550023,
1750087643,
1750689983,
1750858139,
1751061868,
1751279627,
1753290299,
1753882523,
1759503191,
1761747071,
1763987450,
1765376687,
1768411847,
1769765279,
1770634007,
1770926771,
1771250987,
1771411343,
1772018458,
1772458852,
1772552963,
1772715731,
1773388166,
1773662783,
1776172415,
1776963143,
1778190599,
1779467495,
1781095928,
1781516999,
1781619767,
1784022011,
1787568047,
1788245483
],
"projectClockStart": 1788245483,
"score": 48,
"windowSeconds": 44187798
"windowSeconds": 44187802
}
+3 -3
+3 -3
{
"clusteredEventCount": 59,
"contracts": [
{
"name": "Lighter",
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"isVerified": true,
"ossifyingSince": 1789910219,
"codeChangeCount": 21,
"stateChangeCount": 0
},
{
"name": "UpgradeGatekeeper",
"address": "eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67",
"isVerified": true,
"ossifyingSince": 1789910219,
"codeChangeCount": 0,
"stateChangeCount": 152
},
{
"name": "ZkLighterVerifier",
"address": "eth:0xac3Ce44B6ff4E402858C99D5699ff63131572BaA",
"isVerified": true,
"ossifyingSince": 1789910219,
"codeChangeCount": 64,
"stateChangeCount": 0
},
{
"name": "DesertVerifier",
"address": "eth:0x866418061d4C1168e1c8E8f6facE79675395E008",
"isVerified": true,
"ossifyingSince": 1784379467,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Governance",
"address": "eth:0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1",
"isVerified": true,
"ossifyingSince": 1737090335,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1737139751,
1737264431,
1737623303,
1738733903,
1738978151,
1739428151,
1741186163,
1741647875,
1742943923,
1743039563,
1743280079,
1744136675,
1744553687,
1746131831,
1746235007,
1746578543,
1749280139,
1750721651,
1751596475,
1753750103,
1755635711,
1759348199,
1761490571,
1762084091,
1764849563,
1766621339,
1767568979,
1767804407,
1768172423,
1768911059,
1769658551,
1770944819,
1771294043,
1771624919,
1772980763,
1773229307,
1774601231,
1774792151,
1776007127,
1776661907,
1777044599,
1777828259,
1777990103,
1778504015,
1778794283,
1779033143,
1779895415,
1780154471,
1783873907,
1784382047,
1784807819,
1786291487,
1787364167,
1787489699,
1787661323,
1788204263,
1788899147,
1789296359,
1789909139
],
"criticalChangesPerYear": 34.55821937310349,
"criticalChangesPerYear": 34.55821680564131,
"criticalUpdates": [
{
"id": "5517b089",
"type": "code"
},
{
"id": "42d84a81",
"type": "code"
},
{
"id": "196b1d79",
"type": "code"
},
{
"id": "1e1f3162",
"type": "code"
},
{
"id": "9519397f",
"type": "code"
},
{
"id": "13a4c4d4",
"type": "code"
},
{
"id": "a3678747",
"type": "code"
},
{
"id": "ed521fe8",
"type": "code"
},
{
"id": "9e8022b3",
"type": "code"
},
{
"id": "42874125",
"type": "code"
},
{
"id": "65748edf",
"type": "code"
},
{
"id": "0aafdc95",
"type": "code"
},
{
"id": "83b66f4d",
"type": "code"
},
{
"id": "813318ec",
"type": "code"
},
{
"id": "5b795ab3",
"type": "code"
},
{
"id": "f0ac0634",
"type": "code"
},
{
"id": "121f63dd",
"type": "code"
},
{
"id": "4e9b56bc",
"type": "code"
},
{
"id": "dccd34b3",
"type": "code"
},
{
"id": "a5c2bdc7",
"type": "code"
},
{
"id": "22833684",
"type": "code"
},
{
"id": "3484e5da",
"type": "code"
},
{
"id": "3fce832b",
"type": "code"
},
{
"id": "6ca52fb0",
"type": "code"
},
{
"id": "2a4ae025",
"type": "code"
},
{
"id": "eb7b4d0f",
"type": "code"
},
{
"id": "319f3083",
"type": "code"
},
{
"id": "21a86659",
"type": "code"
},
{
"id": "f3073dbb",
"type": "code"
},
{
"id": "16a37b66",
"type": "code"
}
],
"lastCriticalChange": 1789910219,
"maturity": 0.33994887466605167,
"maturity": 0.3399493872007278,
"perimeterResets": [
1737090335,
1737264431,
1737623303,
1738733903,
1738978151,
1739428151,
1741186163,
1741647875,
1742943923,
1743039563,
1743280079,
1744136675,
1744553687,
1746131831,
1746235007,
1746578543,
1749280139,
1750721651,
1751596475,
1753750103,
1755635711,
1759348199,
1761490571,
1762084091,
1764849563,
1766621339,
1767568979,
1767804407,
1768172423,
1768911059,
1769658551,
1770944819,
1771294043,
1771624919,
1772980763,
1773229307,
1774601231,
1774792151,
1776007127,
1776661907,
1777044599,
1777828259,
1777990103,
1778504015,
1778794283,
1779033143,
1779895415,
1780154471,
1783873907,
1784379467,
1784807819,
1786291487,
1787364167,
1787489699,
1787661323,
1788204263,
1788899147,
1789296359,
1789909139
],
"projectClockStart": 1789910219,
"score": 34,
"windowSeconds": 53840274
"windowSeconds": 53840278
}
+1 -1
+1 -1
{
"clusteredEventCount": 32,
"contracts": [
{
"name": "LineaRollup",
"address": "eth:0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"isVerified": true,
"ossifyingSince": 1788510683,
"codeChangeCount": 4,
"stateChangeCount": 30
},
{
"name": "PlonkVerifierFull",
"address": "eth:0xAFF26999780901ee8B48f0a1271a177ff46fD53F",
"isVerified": true,
"ossifyingSince": 1788424391,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "YieldManager",
"address": "eth:0xeb63cABDd78537b9b72A2AFB573F7caa91bd8D94",
"isVerified": true,
"ossifyingSince": 1788253667,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "L2Timelock",
"address": "linea:0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca",
"isVerified": true,
"ossifyingSince": 1784199952,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "PlonkVerifierFull",
"address": "eth:0x09ac9f7E5Fb37e241e0B1e52aaF01eFE0a488a77",
"isVerified": true,
"ossifyingSince": 1783527107,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressFilter",
"address": "eth:0x526AE78F0103Ae73F05449ae30eb626C1003784E",
"isVerified": true,
"ossifyingSince": 1781777411,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Timelock",
"address": "eth:0xd6B95c960779c72B8C6752119849318E5d550574",
"isVerified": true,
"ossifyingSince": 1777542575,
"codeChangeCount": 0,
"stateChangeCount": 6
},
{
"name": "L2MessageService",
"address": "linea:0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec",
"isVerified": true,
"ossifyingSince": 1777540107,
"codeChangeCount": 3,
"stateChangeCount": 8
},
{
"name": "TokenBridge",
"address": "linea:0x353012dc4a9A6cF55c941bADC267f82004A8ceB9",
"isVerified": true,
"ossifyingSince": 1774970935,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "TokenBridge",
"address": "eth:0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"isVerified": true,
"ossifyingSince": 1774970807,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "LidoStVaultYieldProvider",
"address": "eth:0x486D8cADc10489B30b64c890aEc747F1220eEEC3",
"isVerified": true,
"ossifyingSince": 1770742547,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Delay",
"address": "eth:0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436",
"isVerified": true,
"ossifyingSince": 1753454807,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CallForwardingProxy",
"address": "eth:0x3697bD0bC6C050135b8321F989a5316eACbF367D",
"isVerified": true,
"ossifyingSince": 1733219987,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeableBeacon",
"address": "linea:0xE798695d2e78f7caeb5BbF3385433959324c02c0",
"isVerified": true,
"ossifyingSince": 1691068246,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "BridgedToken",
"address": "linea:0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF",
"isVerified": true,
"ossifyingSince": 1691068234,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UpgradeableBeacon",
"address": "eth:0x971f46a2852d11D59dbF0909e837cfd06f357DeB",
"isVerified": true,
"ossifyingSince": 1691067839,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "BridgedToken",
"address": "eth:0x36f274C1C197F277EA3C57859729398FCc8a3763",
"isVerified": true,
"ossifyingSince": 1691067827,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6",
"isVerified": true,
"ossifyingSince": 1689158711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E",
"isVerified": true,
"ossifyingSince": 1688650653,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1690185683,
1690562783,
1691513927,
1693599947,
1697440450,
1700506391,
1707813305,
1708467875,
1711448987,
1717588175,
1721289491,
1721724311,
1730216147,
1734357131,
1745842943,
1748942951,
1749460535,
1753454807,
1756078979,
1758247055,
1758532607,
1761067259,
1761578543,
1763371871,
1764802439,
1772375135,
1774211675,
1774393919,
1774970807,
1775081291,
1776450743,
1776778631,
1777540107,
1784199952,
1788253667,
1788510683
],
"criticalChangesPerYear": 10.666666666666666,
"criticalUpdates": [
{
"id": "d18fed4f",
"type": "state"
},
{
"id": "3376a51f",
"type": "state"
},
{
"id": "d37a911c",
"type": "state"
},
{
"id": "75facd10",
"type": "state"
},
{
"id": "0546d3e6",
"type": "state"
},
{
"id": "0f15f1fd",
"type": "state"
},
{
"id": "b0a6b80c",
"type": "state"
},
{
"id": "f6ae248d",
"type": "state"
},
{
"id": "6b70b41a",
"type": "state"
},
{
"id": "94da819f",
"type": "state"
},
{
"id": "b62380e0",
"type": "state"
},
{
"id": "2b932220",
"type": "state"
},
{
"id": "8f408813",
"type": "state"
},
{
"id": "5d2181e9",
"type": "state"
},
{
"id": "a0fe459a",
"type": "state"
},
{
"id": "cfe482dd",
"type": "state"
},
{
"id": "440c8e93",
"type": "state"
},
{
"id": "4f07d08b",
"type": "state"
},
{
"id": "85c95a19",
"type": "state"
},
{
"id": "1e00a7f6",
"type": "state"
},
{
"id": "a3b27464",
"type": "state"
},
{
"id": "45d15938",
"type": "state"
},
{
"id": "05cf3683",
"type": "state"
},
{
"id": "97d70ccc",
"type": "state"
},
{
"id": "e20553c4",
"type": "state"
}
],
"lastCriticalChange": 1788510683,
"maturity": 0.4486112814070532,
"maturity": 0.448611472616532,
"perimeterResets": [
1688650653,
1689150959,
1690185683,
1690562783,
1691067827,
1691513927,
1693599947,
1697440450,
1700506391,
1707813305,
1708467875,
1711448987,
1717588175,
1721289491,
1721724311,
1730216147,
1733219987,
1734357131,
1745842943,
1748942951,
1749460535,
1753454807,
1756078979,
1758247055,
1758532607,
1761067259,
1761578543,
1763371871,
1764802439,
1770742511,
1772375135,
1774211675,
1774393919,
1774970807,
1775081291,
1776450743,
1776778631,
1777540107,
1781777411,
1783527107,
1784199952,
1788253667,
1788424391
],
"projectClockStart": 1788510683,
"score": 45,
"windowSeconds": 94608000
}
+44 -2
+29 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x05f23282FFDCA8286E4738C1aF79079f3d843750",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730399,
"transactionHash": "0xc11b949a2d36badaad0e61d755725b252de22d520f00c496c4a9d3b8cbb8a3b2",
"implementations": [
"eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **batcherHash**: EOA 1\n * **owner**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05f23282FFDCA8286E4738C1aF79079f3d843750#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752233399,
"transactionHash": "0xfe283ec96960a02e42a4dec01d93768b39630f53b1b41065414221ef586c82c4",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **owner**: Lisk Multisig; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730615,
"transactionHash": "0x4194ea6fa29f5dd080b647267726a7f0b36d277f46019550706335c763ac352d",
"implementations": [
"eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x26dB93F8b8b4f7016240af62F7730979d353f9A7#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2658723Bf70c7667De6B25F99fcce13A16D25d08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2658723Bf70c7667De6B25F99fcce13A16D25d08#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x31B72D76FB666844C41EdF08dF0254875Dbb7edB",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730543,
"transactionHash": "0xfae1f2f01e0de9b66095de3faf83be79326792924394411ebef79b3c4d3314b9",
"implementations": [
"eth:0x0318A37e2662507789a6E17E85A506709F89488b"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31B72D76FB666844C41EdF08dF0254875Dbb7edB#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x3A44A3b263FB631cdbf25f339e2D29497511A81f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730459,
"transactionHash": "0x27155d16a9584317f4c13bac90f9b3ff0b1df01ff4f7360bcddfb343e6b61d50",
"implementations": [
"eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3A44A3b263FB631cdbf25f339e2D29497511A81f#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n* Roles:\n * **challenger**: Gelato Multisig\n * **proposer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752233423,
"transactionHash": "0xc5e3b8e9ce67cb7f7c4c93fcde0b11570d34df6fab8c260ada3a9ea602cb419e",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **owner**: Lisk Multisig; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x214e74388Abf07A8f513c533d6a42c6968d42aD3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752233411,
"transactionHash": "0xaf4ff471bdbe4292d7e4e89808d01599881b366cb70e2b36ce0de1f45dbf9556",
"implementations": [
"eth:0x214e74388Abf07A8f513c533d6a42c6968d42aD3"
]
},
{
"timestamp": 1752687095,
"transactionHash": "0x747d1959ae598f82c0f81f0b739c41bae306eb558622b9be4dbe4d75da501d07",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752687095,
"transactionHash": "0x747d1959ae598f82c0f81f0b739c41bae306eb558622b9be4dbe4d75da501d07",
"implementations": [
"eth:0x214e74388Abf07A8f513c533d6a42c6968d42aD3"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737623423,
"transactionHash": "0xc46d4a4110ff87720804f018aa5be922d1a401d1b869ea4f7fee645ee6ba1b60",
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
}
],
"description": "Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc1dA06CC5DD5cE23bABa924463de7F762039252d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730483,
"transactionHash": "0xc8310656324ea8f2f677190f579a9f950979ba83586245df990cdbf8f82b9fd0",
"implementations": [
"eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc1dA06CC5DD5cE23bABa924463de7F762039252d#code"
},
{
"name": "L1OpUSDCBridgeAdapter",
"isVerified": true,
"address": "eth:0xE3622468Ea7dD804702B56ca2a4f88C0936995e6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1727719139,
"transactionHash": "0x63ba1a0bd2a3d75396e1e3e118057dfc69de7b9303552cd4996d6187dcec7fa1",
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
}
],
"description": "Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3622468Ea7dD804702B56ca2a4f88C0936995e6#code"
},
{
"name": "L1OpEURCBridgeAdapter",
"isVerified": true,
"address": "eth:0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748849495,
"transactionHash": "0x842ad723004e0ab6eec96d63e9480318f20b4262a5727cdf8ab01df70aed9c83",
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
}
],
"description": "Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Lisk Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeC432c4F1d0E12737f3a42a459B84848Af979b2d#code"
}
]
},
"escrows": [
{
"address": "0x26dB93F8b8b4f7016240af62F7730979d353f9A7",
"sinceTimestamp": 1714730003,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730615,
"transactionHash": "0x4194ea6fa29f5dd080b647267726a7f0b36d277f46019550706335c763ac352d",
"implementations": [
"eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x26dB93F8b8b4f7016240af62F7730979d353f9A7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2658723Bf70c7667De6B25F99fcce13A16D25d08",
"sinceTimestamp": 1714730063,
"tokens": "*",
"excludedTokens": [
"USDC",
"wstETH"
],
"premintedTokens": [
"LSK"
],
"contract": {
"isVerified": true,
"address": "eth:0x2658723Bf70c7667De6B25F99fcce13A16D25d08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x2658723Bf70c7667De6B25F99fcce13A16D25d08#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xE3622468Ea7dD804702B56ca2a4f88C0936995e6",
"sinceTimestamp": 1727719139,
"tokens": [
"USDC"
],
"contract": {
"name": "USDC Vault",
"isVerified": true,
"address": "eth:0xE3622468Ea7dD804702B56ca2a4f88C0936995e6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1727719139,
"transactionHash": "0x63ba1a0bd2a3d75396e1e3e118057dfc69de7b9303552cd4996d6187dcec7fa1",
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
}
],
"description": "Custom escrow for USDC bridged to Lisk.",
"url": "https://etherscan.io/address/0xE3622468Ea7dD804702B56ca2a4f88C0936995e6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677",
"sinceTimestamp": 1748849495,
"tokens": [
"EURC"
],
"contract": {
"name": "EURC Vault",
"isVerified": true,
"address": "eth:0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748849495,
"transactionHash": "0x842ad723004e0ab6eec96d63e9480318f20b4262a5727cdf8ab01df70aed9c83",
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
}
],
"description": "Custom escrow for EURC bridged to Lisk.",
"url": "https://etherscan.io/address/0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf",
"sinceTimestamp": 1737623423,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737623423,
"transactionHash": "0xc46d4a4110ff87720804f018aa5be922d1a401d1b869ea4f7fee645ee6ba1b60",
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate Lisk",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-contracts/v1.3.0/op-program/client",
"verificationStatus": "successful",
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-contracts/v1.3.0` . Commit hash should be `e6ef3a900c42c8722e72c2e2314027f85d12ced5`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x03cb5216c8cf2902c66127db119ba03a1296205736addc39cfeafc7c14d0bd14"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1789917496,
"baseTimestamp": 1790808274,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "54ea7065",
"date": "Wed, 30 Sep 2026 22:47:35 GMT",
"timestamp": 1790808274,
"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": "517cb0a1",
"date": "Thu, 17 Sep 2026 14:42:47 GMT",
"timestamp": 1789656039,
"description": "Gelato Multisig: member removed; threshold 3/5 → 3/4.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 4 (75%)\"\n }\n```"
}
]
},
{
"id": "28188cb1",
"date": "Thu, 10 Sep 2026 12:49:48 GMT",
"timestamp": 1789044500,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "11590ec4",
"date": "Fri, 17 Jul 2026 10:11:14 GMT",
"timestamp": 1784282990,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "a5b238a3",
"date": "Mon, 06 Jul 2026 07:53:50 GMT",
"timestamp": 1783324341,
"description": "Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 ([diff](https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550)). No behavioral change — `ProxyAdminOwnedBase` import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared `Constants` library (forward-plumbing for OPCM tooling).",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "64aa3df5",
"date": "Fri, 15 May 2026 13:31:28 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "d0a304ce",
"date": "Tue, 05 May 2026 15:19:03 GMT",
"timestamp": 1777994276,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "d74ffcbd",
"date": "Tue, 28 Apr 2026 15:46:38 GMT",
"timestamp": 1777391131,
"description": "Gelato Multisig (`eth:0xBeA2Bc85...`) member rotation: 5 signers removed (`0x349f3839`, `0xB65540bB`, `0x58edE8C6`, `0x28bB9385`, `0x5bE3E96C`), 1 added (`0x6a0A93Cd`). Threshold dropped 4→3 and total signers 9→5 (44% → 60%). Shared multisig — same change observed on `ethernity`, `ink`, `everclear`, `reya`, and `educhain` (arb1).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.0:\n- \"eth:0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.$members.1:\n- \"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.2:\n- \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.3:\n- \"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.5:\n- \"eth:0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682\"\n values.$threshold:\n- 4\n+ 3\n values.multisigThreshold:\n- \"4 of 9 (44%)\"\n+ \"3 of 5 (60%)\"\n }\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x6a0A93Cd6d6FB7a36bF6234ef4650Bf9474e7682)\n +++ description: None\n```"
}
]
},
{
"id": "fd09d383",
"date": "Wed, 25 Mar 2026 10:07:29 GMT",
"timestamp": 1774433184,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA. Additionally, a Gelato Multisig signer (0x28bB9385A588EF4747264D19B9A9F1603591680c) has set an EIP-7702 delegation to an EIP7702StatelessDeleGator contract.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x28bB9385A588EF4747264D19B9A9F1603591680c) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n sourceHashes:\n+ [\"0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf\"]\n values:\n+ {\"$implementation\":\"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",\"delegationManager\":\"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",\"DOMAIN_VERSION\":\"1\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"EIP7702StatelessDeleGator\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0x28bB9385A588EF4747264D19B9A9F1603591680c\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"entryPoint\":\"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032\",\"getDeposit\":0,\"getDomainHash\":\"0x4831558cc7e858c354d05912425f7b608f63f175997992468f288e0d88c4cc50\",\"getNonce\":0,\"NAME\":\"EIP7702StatelessDeleGator\",\"PACKED_USER_OP_TYPEHASH\":\"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18\",\"VERSION\":\"1.3.0\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "cb53f198",
"date": "Fri, 27 Feb 2026 13:25:17 GMT",
"timestamp": 1772198386,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "ca81df69",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272346,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "876fc657",
"date": "Thu, 18 Dec 2025 08:57:58 GMT",
"timestamp": 1766048190,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "263b5906",
"date": "Fri, 28 Nov 2025 11:37:21 GMT",
"timestamp": 1764329775,
"description": "Jovian upgrade.",
"isHighSeverity": true,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```"
}
]
},
{
"id": "8a17cc43",
"date": "Mon, 20 Oct 2025 15:26:02 GMT",
"timestamp": 1760973885,
"description": "OpFoundation multisig member rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "fb9449b1",
"date": "Mon, 18 Aug 2025 09:02:32 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "e453448b",
"date": "Thu, 14 Aug 2025 07:44:37 GMT",
"timestamp": 1755157463,
"description": "Fee pricing update.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.basefeeScalar:\n- 37110\n+ 127543\n }\n```"
}
]
},
{
"id": "83cc2b36",
"date": "Mon, 28 Jul 2025 05:51:30 GMT",
"timestamp": 1753681890,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.",
"isHighSeverity": true,
"changeCount": 26,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```"
}
]
},
{
"id": "93db614d",
"date": "Mon, 21 Jul 2025 10:30:37 GMT",
"timestamp": 1753093837,
"description": "standard op stack v3 upgrade (optiPortal 2) to permissioned fp game.",
"isHighSeverity": true,
"changeCount": 110,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe\"\n+ \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.version:\n- \"1.12.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 37110\n values.blobbasefeeScalar:\n+ 1201993\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n+++ description: volatility param: lower denominator -> quicker fee changes on L2\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n values.maximumGasLimit:\n+ 200000000\n implementationNames.eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe:\n- \"SystemConfig\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n EOA (0x0AbD6da1cE10D1cD6c7C9C14b905786D20f3EB23) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"propose\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".proposer\"}\n receivedPermissions.1.role:\n- \".PROPOSER\"\n+ \".proposer\"\n receivedPermissions.1.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0x5BFC7acc740D2E19c290167052F69947e19475F3\"\n+ \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x5BFC7acc740D2E19c290167052F69947e19475F3:\n- \"L1StandardBridge\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract OptimismPortal2 (0x26dB93F8b8b4f7016240af62F7730979d353f9A7) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0xe35fb7bc0433439337b3eadda3d6fb7991918162f62a337a695e8c7f948cdd35\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e\"\n+ \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.L2_ORACLE:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.l2Oracle:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.SYSTEM_CONFIG:\n- \"eth:0x05f23282FFDCA8286E4738C1aF79079f3d843750\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1752607223\n implementationNames.eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e:\n- \"OptimismPortal\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n+ \"OptimismPortal2\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"eth:0x0318A37e2662507789a6E17E85A506709F89488b\"\n+ \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0x0318A37e2662507789a6E17E85A506709F89488b:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a\"\n+ \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$pastUpgrades.2:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\"\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".challenger\"}\n receivedPermissions.1:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\",\"role\":\".CHALLENGER\"}\n receivedPermissions.2:\n- {\"permission\":\"guard\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\".guardian\"}\n receivedPermissions.3:\n- {\"permission\":\"guard\",\"from\":\"eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7\",\"role\":\".guardian\"}\n receivedPermissions.4.role:\n- \".GUARDIAN\"\n+ \".challenger\"\n receivedPermissions.4.from:\n- \"eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7\"\n+ \"eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6\"\n receivedPermissions.4.permission:\n- \"guard\"\n+ \"challenge\"\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.8.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d\"},{\"address\":\"eth:0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad\"\n+ \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-07-15T19:20:23.000Z\",\"0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d\",[\"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d) {\n +++ description: None\n directlyReceivedPermissions.2.from:\n- \"eth:0x113cB99283AF242Da0A0C54347667edF531Aa7d6\"\n+ \"eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C\"\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x26C7bFB430d68Bf74d2d52497836d4336b555dE7\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract Lisk Multisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "172fe546",
"date": "Tue, 15 Jul 2025 09:09:26 GMT",
"timestamp": 1752570566,
"description": "Gelato MS: one signer removed, one changed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "bddf3742",
"date": "Mon, 14 Jul 2025 12:45:19 GMT",
"timestamp": 1752497119,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x2dF7057d3F25212E51aFEA8dA628668229Ea423f)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf)\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xE3622468Ea7dD804702B56ca2a4f88C0936995e6)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract L1OpEURCBridgeAdapter (0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677)\n +++ description: Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Lisk Multisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45)\n +++ description: None\n```"
}
]
},
{
"id": "8e90c514",
"date": "Tue, 03 Jun 2025 15:23:28 GMT",
"timestamp": 1748964208,
"description": "add EURC external bridge.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpEURCBridgeAdapter (0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677) {\n +++ description: Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n name:\n+ \"L1OpEURCBridgeAdapter\"\n template:\n+ \"circle/L1OpEURCBridgeAdapter\"\n sourceHashes:\n+ [\"0xbbe53a68c0042f4050bdf21e8d16eee4688dd35d24e49740915f0a0cf994f0d6\",\"0x54fe8d50c1e462bc4bc77f3edef769d75b14fe44a09a708ceb8125d9760e71db\"]\n description:\n+ \"Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\"\n sinceTimestamp:\n+ 1748849495\n sinceBlock:\n+ 22615527\n values:\n+ {\"$admin\":\"0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9\",\"$implementation\":\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\",\"$pastUpgrades\":[[\"2025-06-02T07:31:35.000Z\",\"0x842ad723004e0ab6eec96d63e9480318f20b4262a5727cdf8ab01df70aed9c83\",[\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\"]]],\"$upgradeCount\":1,\"BRIDGE_MESSAGE_TYPEHASH\":\"0x87e4683aad14f1869b43140e06b846bd1b00c2e08e9825f6719d163b4cfef2a6\",\"burnAmount\":0,\"burnCaller\":\"0x0000000000000000000000000000000000000000\",\"eip712Domain\":{\"fields\":\"0x0f\",\"name\":\"OpEURCBridgeAdapter\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]},\"EURC\":\"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c\",\"LINKED_ADAPTER\":\"0x4db1c96C1f9c3d5429fDf35ED2e684b309b0c281\",\"MESSENGER\":\"0x31B72D76FB666844C41EdF08dF0254875Dbb7edB\",\"messengerStatus\":0,\"owner\":\"0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n implementationNames:\n+ {\"0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677\":\"ERC1967Proxy\",\"0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80\":\"L1OpEURCBridgeAdapter\"}\n }\n```"
}
]
},
{
"id": "adf1bd1f",
"date": "Mon, 14 Apr 2025 08:37:06 GMT",
"timestamp": 1744619826,
"description": "Add custom wstETH escrow.",
"isHighSeverity": true,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1ERC20TokenBridge (0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf) {\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n name:\n+ \"L1ERC20TokenBridge\"\n template:\n+ \"lido/L1ERC20TokenBridge\"\n sourceHashes:\n+ [\"0x698ae88793265d087e07a445b69bf16b450cdcf636b9073b86221936e912a135\",\"0xc4b0423b7d0fcada3862027e805c2fc79676feb6f4bc3978e5a86b390bfd7be3\"]\n description:\n+ \"Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\"\n sinceTimestamp:\n+ 1737623423\n sinceBlock:\n+ 21686205\n values:\n+ {\"$admin\":\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"$implementation\":\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\",\"$pastUpgrades\":[[\"2025-01-23T09:10:23.000Z\",\"0xc46d4a4110ff87720804f018aa5be922d1a401d1b869ea4f7fee645ee6ba1b60\",[\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\"]]],\"$upgradeCount\":1,\"DEFAULT_ADMIN_ROLE\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"DEPOSITS_DISABLER_ROLE\":\"0x63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d6\",\"DEPOSITS_ENABLER_ROLE\":\"0x4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a\",\"isDepositsEnabled\":true,\"isInitialized\":true,\"isWithdrawalsEnabled\":true,\"l1Token\":\"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\",\"l2Token\":\"0x76D8de471F54aAA87784119c60Df1bbFc852C415\",\"l2TokenBridge\":\"0xca498Ee83eD3546321d4DC25e2789B0624F15f68\",\"messenger\":\"0x31B72D76FB666844C41EdF08dF0254875Dbb7edB\",\"proxy__getAdmin\":\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"proxy__getImplementation\":\"0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC\",\"proxy__getIsOssified\":false,\"WITHDRAWALS_DISABLER_ROLE\":\"0x94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c\",\"WITHDRAWALS_ENABLER_ROLE\":\"0x9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d\"}\n derivedName:\n+ \"L1ERC20TokenBridge\"\n }\n```"
}
]
},
{
"id": "3e05a762",
"date": "Thu, 16 Jan 2025 08:14:39 GMT",
"timestamp": 1737015279,
"description": "Gas limit doubled to 60M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "9c9fe756",
"date": "Wed, 15 Jan 2025 07:30:12 GMT",
"timestamp": 1736926212,
"description": "Two signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "c4df1edf",
"date": "Fri, 06 Dec 2024 11:00:47 GMT",
"timestamp": 1733482847,
"description": "Add external USDC escrow.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xE3622468Ea7dD804702B56ca2a4f88C0936995e6)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "3162e6b3",
"date": "Wed, 30 Oct 2024 13:22:20 GMT",
"timestamp": 1730294540,
"description": "GelatoMS: Signer removed, threshold decreased.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.8:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.6:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.5:\n- \"0xc85aC6d2fdC376F335455D4cCA30c45ED1080849\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$threshold:\n- 6\n+ 4\n values.multisigThreshold:\n- \"6 of 9 (67%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "2626432f",
"date": "Fri, 11 Oct 2024 10:34:24 GMT",
"timestamp": 1728642864,
"description": "Getalo MS signer removed.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.7:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.6:\n- \"0x27b1682E9C5Cb0E58Ff474F3a13EeCC36E708ad3\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.multisigThreshold:\n- \"6 of 10 (60%)\"\n+ \"6 of 9 (67%)\"\n }\n```"
}
]
},
{
"id": "d41dfdb2",
"date": "Tue, 23 Jul 2024 10:36:43 GMT",
"timestamp": 1721731003,
"description": "EOA signer removed, the LiskRollupOwnerMultisig is now just a transparent MS for Gelato MS. Warning removed from FE.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n values.$multisigThreshold:\n- \"1 of 2 (50%)\"\n+ \"1 of 1 (100%)\"\n values.getOwners.1:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n }\n```"
}
]
},
{
"id": "a85070ce",
"date": "Tue, 23 Jul 2024 07:36:01 GMT",
"timestamp": 1721720161,
"description": "Challenger and Guardian are changed to the GelatoMultisig. Rollup Upgrade owner is still an EOA (and additionally GelatoMS).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750) {\n +++ description: None\n values.owner:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6) {\n +++ description: None\n values.challenger:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.CHALLENGER:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7) {\n +++ description: None\n values.guardian:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7) {\n +++ description: None\n values.guardian:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.GUARDIAN:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45) {\n +++ description: None\n values.$multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"1 of 2 (50%)\"\n values.getOwners.1:\n+ \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n values.getOwners.0:\n- \"0xdA6e5640aFB2ED212Ba3a6fd83076e2ad3daD185\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```"
}
]
},
{
"id": "85ed059d",
"date": "Fri, 19 Jul 2024 10:16:12 GMT",
"timestamp": 1721384172,
"description": "Initial discovery: OP stack rollup on the latest superchain (fork) contracts. EOA-governed without being in the Superchain governance.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract SystemConfig (0x05f23282FFDCA8286E4738C1aF79079f3d843750)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x113cB99283AF242Da0A0C54347667edF531Aa7d6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x2658723Bf70c7667De6B25F99fcce13A16D25d08)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x26C7bFB430d68Bf74d2d52497836d4336b555dE7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0x26dB93F8b8b4f7016240af62F7730979d353f9A7)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x2dF7057d3F25212E51aFEA8dA628668229Ea423f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x31B72D76FB666844C41EdF08dF0254875Dbb7edB)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x3A44A3b263FB631cdbf25f339e2D29497511A81f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1dA06CC5DD5cE23bABa924463de7F762039252d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xeC432c4F1d0E12737f3a42a459B84848Af979b2d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LiskRollupOwnerMultisig (0xECd4150ABbb1EBff13f74e42Fb43C3d78B4E0b45)\n +++ description: None\n```"
}
]
}
]
+1 -1
+1 -1
{
"clusteredEventCount": 29,
"contracts": [
{
"name": "OPSuccinctL2OutputOracle",
"address": "eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481",
"isVerified": true,
"ossifyingSince": 1789615739,
"codeChangeCount": 1,
"stateChangeCount": 11
},
{
"name": "SP1VerifierGateway",
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"isVerified": true,
"ossifyingSince": 1776370439,
"codeChangeCount": 0,
"stateChangeCount": 23
},
{
"name": "SystemConfig",
"address": "eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf",
"isVerified": true,
"ossifyingSince": 1776322715,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"isVerified": true,
"ossifyingSince": 1771084331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockController",
"address": "eth:0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F",
"isVerified": true,
"ossifyingSince": 1739349323,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x676A795fe6E43C17c668de16730c3F690FEB7120",
"isVerified": true,
"ossifyingSince": 1710490775,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"isVerified": true,
"ossifyingSince": 1710490775,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "OptimismPortal",
"address": "eth:0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"isVerified": true,
"ossifyingSince": 1710490775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xca35F8338054739D138884685e08b39EE2217794",
"isVerified": true,
"ossifyingSince": 1710467267,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "AddressManager",
"address": "eth:0x6968f3F16C3e64003F02E121cf0D5CCBf5625a42",
"isVerified": true,
"ossifyingSince": 1687951883,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1MantleToken",
"address": "eth:0x3c3a81e81dc49A522A592e7622A7E711c06bf354",
"isVerified": true,
"ossifyingSince": 1687241795,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MantleTokenProxyAdmin",
"address": "eth:0x0cac2B1a172ac24012621101634DD5ABD6399ADd",
"isVerified": true,
"ossifyingSince": 1687241639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MantleEngineeringMultisig",
"address": "eth:0x2F44BD2a54aC3fB20cd7783cF94334069641daC9",
"isVerified": true,
"ossifyingSince": 1686902471,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MantleSecurityMultisig",
"address": "eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f",
"isVerified": true,
"ossifyingSince": 1683509999,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1710467267,
1720099295,
1721270315,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729728863,
1730498375,
1731025967,
1735951931,
1736970023,
1748558771,
1750785371,
1758005207,
1758610559,
1767768479,
1769160827,
1771445567,
1776322715,
1776868559,
1777434335,
1781079551,
1785314135,
1788925163,
1789615739
],
"criticalChangesPerYear": 9.666666666666666,
"criticalUpdates": [
{
"id": "5dc1a14e",
"type": "code"
},
{
"id": "df347cbc",
"type": "state"
},
{
"id": "d7e3f45d",
"type": "state"
},
{
"id": "58e087bc",
"type": "state"
},
{
"id": "930cf6f5",
"type": "state"
},
{
"id": "eeb61c0d",
"type": "state"
},
{
"id": "3460a30b",
"type": "state"
},
{
"id": "13fde891",
"type": "state"
},
{
"id": "c3e9d0e9",
"type": "state"
},
{
"id": "d64f0885",
"type": "state"
},
{
"id": "32d5466d",
"type": "state"
},
{
"id": "7337d399",
"type": "state"
},
{
"id": "2437125d",
"type": "state"
},
{
"id": "706bc529",
"type": "state"
}
],
"lastCriticalChange": 1789615739,
"maturity": 0.36951840300868216,
"maturity": 0.36951879813925115,
"perimeterResets": [
1683509999,
1686902471,
1687241639,
1687951883,
1710439895,
1720099223,
1721270315,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729728863,
1730498375,
1731025967,
1735951931,
1736970023,
1739349323,
1748550023,
1750785371,
1758005207,
1758610559,
1767768479,
1769160827,
1771084331,
1771445567,
1776172415,
1776322715,
1776868559,
1777434335,
1781079551,
1785314135,
1788925163,
1789615739
],
"projectClockStart": 1789615739,
"score": 37,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 31,
"contracts": [
{
"name": "Rollup",
"address": "eth:0x759894Ced0e6af42c26668076Ffa84d02E3CeF60",
"isVerified": true,
"ossifyingSince": 1790063675,
"codeChangeCount": 8,
"stateChangeCount": 6
},
{
"name": "MultipleVersionRollupVerifier",
"address": "eth:0x5d1584c27b4aD233283c6da1ca1B825d6f220EC1",
"isVerified": true,
"ossifyingSince": 1790063627,
"codeChangeCount": 0,
"stateChangeCount": 12
},
{
"name": "Submitter",
"address": "eth:0xf2d50000C994565A4742059802fdbb0BEE1CBef6",
"isVerified": true,
"ossifyingSince": 1789617215,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkEvmVerifierV1",
"address": "eth:0x651cA600813fC0126225b727EDbA617949b1d1c9",
"isVerified": true,
"ossifyingSince": 1789614347,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CustomERC20Gateway",
"address": "eth:0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1",
"isVerified": true,
"ossifyingSince": 1786502579,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "L1GatewayRouter",
"address": "eth:0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a",
"isVerified": true,
"ossifyingSince": 1786502411,
"codeChangeCount": 0,
"stateChangeCount": 13
},
{
"name": "L1USDCGateway",
"address": "eth:0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289",
"isVerified": true,
"ossifyingSince": 1785410867,
"codeChangeCount": 1,
"stateChangeCount": 2
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304",
"isVerified": true,
"ossifyingSince": 1785410831,
"codeChangeCount": 1,
"stateChangeCount": 3
},
{
"name": "L1MessageQueueWithGasPriceOracle",
"address": "eth:0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF",
"isVerified": true,
"ossifyingSince": 1772517791,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "ProxyAdmin",
"address": "eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0",
"isVerified": true,
"ossifyingSince": 1772103443,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "TimelockController",
"address": "eth:0x542675E90E269F20ecbb9e0095d4751ac155B530",
"isVerified": true,
"ossifyingSince": 1770779267,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x8654061457582c867B77A3a9f4ca714dFc84Ec17",
"isVerified": true,
"ossifyingSince": 1770779267,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Morph Multisig 2",
"address": "eth:0xB822319ab7848b7cC4537c8409e50f85BFb04377",
"isVerified": true,
"ossifyingSince": 1758698315,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "Morph Multisig 1",
"address": "eth:0xF101f7f59A348c1F971A2BC64fdBdA58c7bBD887",
"isVerified": true,
"ossifyingSince": 1758532307,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "L1USDCGatewayLegacy",
"address": "eth:0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535",
"isVerified": true,
"ossifyingSince": 1730455703,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "EnforcedTxGateway",
"address": "eth:0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7",
"isVerified": true,
"ossifyingSince": 1729765139,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "L1StandardERC20Gateway",
"address": "eth:0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8",
"isVerified": true,
"ossifyingSince": 1729765055,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1ETHGateway",
"address": "eth:0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68",
"isVerified": true,
"ossifyingSince": 1729765043,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1Staking",
"address": "eth:0x0Dc417F8AF88388737c5053FF73f345f080543F7",
"isVerified": true,
"ossifyingSince": 1729764983,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Whitelist",
"address": "eth:0xFFafDd9167777C0e5421e0B6789D6d7A5E386984",
"isVerified": true,
"ossifyingSince": 1729328435,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1729344671,
1729486715,
1729607387,
1729764527,
1730260763,
1730455703,
1731489851,
1731581219,
1731911627,
1732765919,
1733748707,
1733895167,
1735652267,
1736753519,
1737445727,
1747030703,
1756352015,
1758532307,
1758698315,
1763737343,
1764060695,
1768208819,
1772103443,
1772517791,
1774575251,
1774863407,
1775699999,
1779354407,
1780485971,
1785410831,
1786500551,
1790063627
],
"criticalChangesPerYear": 15.911664623406473,
"criticalChangesPerYear": 15.911663587494399,
"criticalUpdates": [
{
"id": "a9360a3b",
"type": "state"
},
{
"id": "e4a70468",
"type": "state"
},
{
"id": "4a92d411",
"type": "state"
},
{
"id": "83f3649a",
"type": "state"
},
{
"id": "e898e91e",
"type": "state"
},
{
"id": "1d922498",
"type": "state"
},
{
"id": "e59936ee",
"type": "state"
},
{
"id": "e1a5c3a0",
"type": "state"
},
{
"id": "6cd524c6",
"type": "state"
},
{
"id": "9e6da537",
"type": "state"
},
{
"id": "2ff16c37",
"type": "state"
},
{
"id": "171a57ae",
"type": "state"
},
{
"id": "98f2ec73",
"type": "state"
},
{
"id": "17fdba45",
"type": "state"
},
{
"id": "da922e8f",
"type": "state"
}
],
"lastCriticalChange": 1790063675,
"maturity": 0.3174944976238855,
"maturity": 0.31749479419797283,
"perimeterResets": [
1729306655,
1729486715,
1729598531,
1729764527,
1730260763,
1730455703,
1730976923,
1731486323,
1731581219,
1731911627,
1732765919,
1733748707,
1733895167,
1735652267,
1736753519,
1737359447,
1737455087,
1747030703,
1756352015,
1758532307,
1758698315,
1763737343,
1764060695,
1768208819,
1770779267,
1772103443,
1772517791,
1774575251,
1774863407,
1775699999,
1779354407,
1780485971,
1780914460,
1785410831,
1786500551,
1789614347,
1790063627
],
"projectClockStart": 1790063675,
"score": 32,
"windowSeconds": 61440209
"windowSeconds": 61440213
}
+478 -188
+28 -0
[
{
"address": "0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"sinceTimestamp": 1753379243,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x322b47Ff1FA8D5611F761e3E275C45B71b294D43#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"sinceTimestamp": 1624401464,
"tokens": "*",
"excludedTokens": [
"rsETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"sinceTimestamp": 1625675779,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maker/Sky-controlled vault for DAI bridged with canonical messaging.",
"url": "https://etherscan.io/address/0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"sinceTimestamp": 1620680982,
"tokens": [
"SNX"
],
"contract": {
"isVerified": true,
"address": "eth:0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "SNX Vault for custom SNX Gateway managed by Synthetix.",
"url": "https://etherscan.io/address/0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x045e507925d2e05D114534D0810a1abD94aca8d6",
"sinceTimestamp": 1610668212,
"tokens": [
"SNX"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xCd9D4988C0AE61887B075bA77f08cbFAd2b65068",
"sinceTimestamp": 1620680934,
"tokens": [
"SNX"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"sinceTimestamp": 1659687799,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659687799,
"transactionHash": "0x1bc90e7c6fe12e03691f7eccf025f3a244ea5a4888c7fb274f45f5e1004110ca",
"implementations": [
"eth:0x29C5c51A031165CE62F964966A6399b81165EFA4"
]
},
{
"timestamp": 1728663671,
"transactionHash": "0xc7bc3019721ecf320698f2897b329d1930f64661100a5fa159181146088e03c2",
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x76943C0D61395d8F2edF9060e1533529cAe05dE6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+5 -5
{
"architectureImage": "opstack-rollup-superchain-opfp-permissionless",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "Derivation: Batch submission - OP Mainnet specs",
"url": "https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission"
},
{
"title": "BatchInbox - address",
"url": "https://etherscan.io/address/0xFF00000000000000000000000000000000000010#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exits",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When a state root containing such transaction is settled, the funds become available for withdrawal on L1 after 3d 12h. Withdrawal inclusion can be proven before state root settlement, but a 7d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 12h to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"risks": [],
"references": [
{
"title": "OptimismPortal2.sol - Etherscan source code, proveWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.",
"risks": [],
"references": [
{
"title": "Introducing EVM Equivalence",
"url": "https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306"
}
]
}
],
"sequencing": {
"name": "Transactions are ordered by a centralized sequencer",
"description": "OP Mainnet uses a single centralized sequencer for fast confirmations. Users can bypass it with one Ethereum transaction to the OptimismPortal. Rollup nodes derive the deposited transaction from Ethereum, including it after at most one sequencing window.",
"sequencingSpec": {
"type": "centralized",
"trustedPreconfirmation": {
"value": "250 ms",
"secondLine": "2 s L2 block time",
"description": "The centralized sequencer streams cumulative Flashblock preconfirmations every 250 ms while sealing regular L2 blocks every 2 seconds. Flashblocks are out of protocol: the promise has no protocol enforcement or slashing, and 250 ms is a target that can vary with execution load.",
"orderHint": 0.25
},
"trustedOrdering": {
"value": "Dynamic priority auction",
"secondLine": "Fee order per Flashblock",
"description": "For each 250 ms build loop, the centralized builder selects available transactions by priority fee. Transactions committed to an earlier Flashblock are not reordered when a higher-fee transaction arrives later, so arrival time also affects ordering. This policy is not enforced by the derivation rules."
},
"sequencer": {
"value": "Centralized",
"secondLine": "Raft HA",
"sentiment": "bad",
"description": "The OP Mainnet operator controls real-time ordering. They run redundant sequencer instances coordinated by op-conductor using Raft leader election, with only the leader producing blocks. op-conductor explicitly assumes all nodes are honest and is not Byzantine fault tolerant, so the replicas do not create independent operators or censorship resistance.",
"orderHint": 1
},
"realtimeCensorshipResistance": {
"value": "No",
"sentiment": "bad",
"description": "The centralized sequencer can censor transactions submitted through the normal L2 path."
},
"forcedInclusion": {
"value": "Automatic derivation",
"secondLine": "1 L1 tx: portal deposit",
"sentiment": "good",
"description": "The user submits one Ethereum transaction to the OptimismPortal which is automatically derived by conforming nodes."
},
"inclusionDelay": {
"value": "12 hours",
"secondLine": "3,600 L1 blocks",
"sentiment": "good",
"description": "The static sequencing window is measured in Ethereum blocks.",
"orderHint": 3600
},
"inclusionMechanics": {
"value": "1 L1 Tx",
"secondLine": "Address alias",
"description": "Forced inclusion creates an L1-originated deposit transaction rather than submitting the original signed L2 transaction. Its calldata is capped at 120,000 bytes, its minimum L2 gas limit is 21,000 plus 40 gas per calldata byte, and deposits share a metered 20,000,000 gas resource limit per Ethereum block. L1 contract callers use an aliased address on L2."
},
"exitDelay": {
"value": "21 days 3 hours",
"secondLine": "12h inclusion + 20d 15h state",
"description": "After successful L2 inclusion (forced or sequencer), the user can propose the state needed to exit by creating a permissionless fault dispute game. A maximally delayed challenge path can take up to 17 days 3 hours: both teams' 3 days 12 hours chess clocks plus up to 10 days 3 hours of cumulative clock extensions. This is followed by the 3 days 12 hours finality air gap. Parallel branches increase the transactions and gas needed to defend and resolve the game. The 7 days withdrawal-proof maturity period runs concurrently.",
"orderHint": 1825200
},
"exitEconomics": {
"value": "0.08 ETH",
"secondLine": "Favors attacker 1.09×",
"description": "Self-proposing the state needed for an exit starts with a 0.08 ETH bond. If challenged, the user must defend it with progressively larger bonds: each counterclaim costs 1.09 times the claim it counters, favoring the attacker in a capital-exhaustion attack."
}
},
"censorshipResistance": "The centralized sequencer provides no real-time censorship resistance. The Ethereum deposit path provides eventual censorship resistance, assuming the deposit is included on Ethereum.",
"references": [
{
"title": "OP Stack specification - sequencing window",
"url": "https://specs.optimism.io/protocol/overview.html#epochs-and-the-sequencing-window"
},
{
"title": "OP Mainnet documentation - Flashblocks",
"url": "https://docs.optimism.io/op-stack/features/flashblocks"
},
{
"title": "OP Stack documentation - Conductor",
"url": "https://docs.optimism.io/chain-operators/tools/op-conductor"
},
{
"title": "OP Mainnet documentation - transaction fees",
"url": "https://docs.optimism.io/op-stack/transactions/fees"
},
{
"title": "OptimismPortal2 - source code",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
},
{
"title": "OP Stack specification - fault dispute game resolution",
"url": "https://specs.optimism.io/fault-proof/stage-one/honest-challenger-fdg.html#resolution"
}
],
"risks": []
},
"stateDerivation": {
"nodeSoftware": "The rollup node is composed of two software components: [op-node](https://github.com/ethereum-optimism/optimism/tree/develop/op-node), implementing consensus related logic, and [op-geth](https://github.com/ethereum-optimism/op-geth), implementing execution logic. The configuration file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/op.toml).",
"compressionScheme": "Data batches are compressed using the [zlib](https://github.com/madler/zlib) algorithm with best compression level.",
"genesisState": "Since OP Mainnet has migrated from the OVM to Bedrock, a node must be synced using a data directory that can be found [here](https://docs.optimism.io/builders/node-operators/management/snapshots). To reproduce the migration itself, see this [guide](https://optimism.io/blog/here-s-how-you-can-reproduce-op-mainnet-s-migration-to-bedrock).",
"dataFormat": "The format specification of Sequencer's data batches can be found [here](https://optimism.io/blog/here-s-how-you-can-reproduce-op-mainnet-s-migration-to-bedrock)."
},
"stateValidation": {
"description": "Updates to the system state can be proposed and challenged by anyone who has sufficient funds. If a state root passes the challenge period, it is optimistically considered correct and made actionable for withdrawals.",
"categories": [
{
"title": "State root proposals",
"description": "Proposers submit state roots as children of the latest confirmed state root (called anchor state), by calling the `create` function in the DisputeGameFactory. A state root can have multiple conflicting children. Each proposal requires a stake, currently set to 0.08 ETH, that can be slashed if the proposal is proven incorrect via a fraud proof. Stakes can be withdrawn only after the proposal has been confirmed. A state root gets confirmed if the challenge period has passed and it is not countered.",
"references": [
{
"title": "OP stack specification: Fault Dispute Game",
"url": "https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#fault-dispute-game"
}
],
"risks": []
},
{
"title": "Challenges",
"description": "Challenges are opened to disprove invalid state roots using bisection games. Each bisection move requires a stake that increases expontentially with the depth of the bisection, with a factor of 1.09493. The maximum depth is 73, and reaching it therefore requires a cumulative stake of 691.23 ETH from depth 0. Actors can participate in any challenge by calling the `defend` or `attack` functions, depending whether they agree or disagree with the latest claim and want to move the bisection game forward. Actors that disagree with the top-level claim are called challengers, and actors that agree are called defenders. Each actor might be involved in multiple (sub-)challenges at the same time, meaning that the protocol operates with [full concurrency](https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a). Challengers and defenders alternate in the bisection game, and they pass each other a clock that starts with 3d 12h. If a clock expires, the claim is considered defeated if it was countered, or it gets confirmed if uncountered. Since honest parties can inherit clocks from malicious parties that play both as challengers and defenders (see [freeloader claims](https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#freeloader-claims)), an inherited clock with too little time remaining is generally extended by 3h. The extension is 6h when the next claim is immediately before split depth 30, and 1d 3h (the standard extension plus the 1d oracle challenge period) immediately before the last depth. Along a full-depth path, cumulative extensions can therefore add up to 10d 3h. Since unconfirmed state roots are independent of one another, users can decide to exit with a subsequent confirmed state root if the previous one is delayed. Winners get the entire losers' stake, meaning that sybils can potentially play against each other at no cost. The final instruction found via the bisection game is then executed onchain in the MIPS one step prover contract who determines the winner. The protocol does not enforce valid bisections, meaning that actors can propose correct initial claims and then provide incorrect midpoints. The protocol can be subject to resource exhaustion attacks ([Spearbit 5.1.3](https://github.com/ethereum-optimism/optimism/blob/develop/docs/security-reviews/2024_08_Fault-Proofs-No-MIPS_Spearbit.pdf)).",
"references": [
{
"title": "Fraud Proof Wars: OPFP",
"url": "https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a"
}
]
}
]
},
"stateValidationImage": "opfp",
"upgradesAndGovernance": {
"content": "All contracts are upgradable by the `SuperchainProxyAdmin` which is controlled by a 2/2 multisig composed by the Optimism Foundation and a Security Council. The Guardian role is assigned to the Security Council multisig, with a Safe Module that limits the Optimism Foundation to act through it to stop withdrawals in the whole Superchain or specific individual chains. Each pause automatically expires after 3 months if not extended or unpaused by the Security Council. The Security Council can remove the module if the Foundation becomes malicious. The single Sequencer actor can be modified by the `OpFoundationOperationsSafe` via the `SystemConfig` contract. The SuperchainProxyAdminOwner can recover dispute bonds in case of bugs that would distribute them incorrectly. \n\nAt the moment, for regular upgrades, the DAO signals its intent by voting on upgrade proposals, but has no direct control over the upgrade process.",
"governanceInfo": {
"securityCouncil": {
"Composition": "**10/13** — Gnosis Safe with cohorts of 7 + 6, 12-month staggered terms. Token-House-elected via Agora with Optimism Foundation eligibility screening (KYC/AML, geographic and organisational diversity).",
"Members public": "**Entities only** — elected entity names are public; 1:1 entity-to-address mapping deliberately not published (Foundation privacy policy). Current Cohort A (Feb 2026 – Feb 2027): Agora, Velodrome, Cyfrin, pablito.eth, Mariano, Uniswap Foundation, Emiliano. Cohort B's initial slate (Feb 2025): L2BEAT, OP Labs PBC, Coinbase Technologies, Test in Prod, Ink Foundation/Kraken, World Foundation.",
"Charter": "[Security Council Charter v0.1](https://github.com/ethereum-optimism/OPerating-manual/blob/main/Security%20Council%20Charter%20v0.1.md) — defines 75% threshold, emergency response, Token House removal, LivenessModule failsafe (control reverts to Foundation Upgrade Safe if signers drop below 8).",
"Can bypass DAO?": "**Yes** — emergency response measures may be taken without specific Governance approval (Charter v0.1). The SC + Foundation Upgrade Safe (2/2 SuperchainProxyAdminOwner) hold the actual upgrade keys and can execute at any time.",
"DAO can override SC?": "**Veto, plus member removal** — Token House and Citizens' House can veto DAB-approved upgrades during the 7-day veto window (subject to participation thresholds). Token House can remove SC members by simple majority within one voting cycle (≤3 weeks) for Code of Conduct violations. LivenessModule auto-removes signers inactive ≥3 months 8 days; if signer count drops below 8, control reverts to the Foundation Upgrade Safe."
},
"upgrades": {
"Normal upgrade path": "Technical review by the 7-member elected Developer Advisory Board (DAB, 5/7 quorum for approval) → release on Sepolia → **7-day veto window** during which Token House and/or Citizens' House can veto a DAB-approved upgrade or override a DAB rejection if participation thresholds are met (17% with two groups, 14% with three, 11% with four) → if not vetoed, SC + Foundation Upgrade Safe (2/2 SuperchainProxyAdminOwner) co-sign the L1 transaction → execute. Maintenance upgrades use a shortened path. Live since Aug 1, 2025.",
"Emergency upgrade path": "**SC + Foundation Upgrade Safe (2/2), instant** — \"may preemptively address actual or anticipated bugs, defects, or stability issues without specific Governance approval\" (Charter v0.1). No DAB review, no veto window. Mandatory after-the-fact public retrospective.",
"Exit window": "**None** — upgrades take effect as soon as they are co-signed by the 2/2 SuperchainProxyAdminOwner, with no onchain delay or prior notice, so users cannot exit ahead of an unwanted upgrade."
},
"tokenGovernance": {
"Governance token": "`OP` — ~4.29B initial supply, up to 2%/yr inflation (cap fixed in the Operating Manual; changes require a 76% Inflation proposal). 1 OP = 1 vote, delegated.",
"Voting venue": "[Agora](https://vote.optimism.io/) for binding on-chain Token House votes. [Snapshot](https://snapshot.org/#/opcollective.eth) for Citizens' House signaling, Protocol Upgrade vetoes, and some Reflection Period votes. Forum stage: [gov.optimism.io](https://gov.optimism.io).",
"Proposal threshold": "**No OP minimum** — submission requires explicit approval from 4 of the top-100 delegates on the discussion thread (Operating Manual). Citizens' House analog: 4 Citizens. Foundation-initiated proposals require no approvals. Note: protocol upgrades since Aug 2025 originate from the DAB rather than the Token House.",
"Quorum": "**30%** for Token House proposals. Veto-window participation thresholds for protocol upgrades: 17% (two groups voting), 14% (three groups), 11% (four groups).",
"Execution model": "**DAB-gated approval + 2/2 Safe signs** — DAB approves, veto window passes, then SC + Foundation Upgrade Safe co-sign the L1 transaction. Token House and Citizens' House signal/veto on-chain via Agora and Snapshot but do not directly trigger the L1 state change. No permissionless `execute()`."
}
}
}
}
+0 -68
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: SuperchainProxyAdmin]\n * SystemConfig [via: SuperchainProxyAdmin]\n * AnchorStateRegistry [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: SuperchainProxyAdmin]\n * ETHLockbox [via: SuperchainProxyAdmin]\n * L1ERC721Bridge [via: SuperchainProxyAdmin]\n * OptimismMintableERC20Factory [via: SuperchainProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1StandardBridge [via: SuperchainProxyAdmin]\n * OptimismPortal2 [via: SuperchainProxyAdmin]\n * DisputeGameFactory [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type ",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system [via: OpFoundationUpgradeSafe]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - Optimism Collective Governance Forum",
"url": "https://gov.optimism.io/t/security-council-vote-2-initial-member-ratification/7118"
}
],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6887246668a3b87F54DeB3b94Ba47a6f63F32985",
"type": "EOA",
"isVerified": true,
"name": "0x6887…2985",
"url": "https://etherscan.io/address/0x6887246668a3b87F54DeB3b94Ba47a6f63F32985",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
},
"optimism": {
"roles": [],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 6/9 threshold. It uses the following modules: SaferSafes.\nMember of MintManagerOwner.\n* Can interact with MintManager\n * can mint OP up to the hardcoded inflation cap [via: MintManagerOwner]",
"accounts": [
{
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"type": "Contract",
"isVerified": true,
"name": "0x3F3C…61D2",
"url": "https://optimistic.etherscan.io/address/0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2"
}
],
"chain": "optimism",
"references": [],
"participants": [
{
"address": "oeth:0xb8CF6C0425FD799D617351C24fF35B493eD06Cb4",
"type": "EOA",
"isVerified": true,
"name": "0xb8CF…6Cb4",
"url": "https://optimistic.etherscan.io/address/0xb8CF6C0425FD799D617351C24fF35B493eD06Cb4"
},
{
"address": "oeth:0x510Aede8bDB9Fe5278C4ca13D5419922cb41f926",
"type": "EOA",
"isVerified": true,
"name": "0x510A…f926",
"url": "https://optimistic.etherscan.io/address/0x510Aede8bDB9Fe5278C4ca13D5419922cb41f926"
},
{
"address": "oeth:0x23d85C88792454DcCffD460bC06C349A21aDb102",
"type": "EOA",
"isVerified": true,
"name": "0x23d8…b102",
"url": "https://optimistic.etherscan.io/address/0x23d85C88792454DcCffD460bC06C349A21aDb102"
},
{
"address": "oeth:0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5",
"type": "EOA",
"isVerified": true,
"name": "0x2eFd…62A5",
"url": "https://optimistic.etherscan.io/address/0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5"
},
{
"address": "oeth:0xDD086e652f81FBDe8b2148Cc026D357De15d77c1",
"type": "EOA",
"isVerified": true,
"name": "0xDD08…77c1",
"url": "https://optimistic.etherscan.io/address/0xDD086e652f81FBDe8b2148Cc026D357De15d77c1"
},
{
"address": "oeth:0xB2433A0C418Bda24a771489918EF3a7EBC57e24C",
"type": "EOA",
"isVerified": true,
"name": "0xB243…e24C",
"url": "https://optimistic.etherscan.io/address/0xB2433A0C418Bda24a771489918EF3a7EBC57e24C"
},
{
"address": "oeth:0xa564C83958f7F9fA5a255a540EF5e49445873104",
"type": "EOA",
"isVerified": true,
"name": "0xa564…3104",
"url": "https://optimistic.etherscan.io/address/0xa564C83958f7F9fA5a255a540EF5e49445873104"
},
{
"address": "oeth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://optimistic.etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "oeth:0xe4149Acb6F5DA74b760a1007F05FB5514F3351ea",
"type": "EOA",
"isVerified": true,
"name": "0xe414…51ea",
"url": "https://optimistic.etherscan.io/address/0xe4149Acb6F5DA74b760a1007F05FB5514F3351ea"
}
],
"discoveryDrivenData": true
},
{
"id": "MintManager",
"name": "MintManager",
"accounts": [
{
"address": "oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005",
"type": "Contract",
"isVerified": true,
"name": "0x5C4e…1005",
"url": "https://optimistic.etherscan.io/address/0x5C4e7Ba1E219E47948e6e3F55019A647bA501005"
}
],
"chain": "optimism",
"description": "Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n* Can interact with OPToken\n * can mint OP tokens ",
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://optimistic.etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "optimism",
"description": "* Can interact with MintManager\n * can mint OP up to the hardcoded inflation cap [via: SafeL2 → MintManagerOwner]",
"discoveryDrivenData": true
},
{
"id": "MintManagerOwner",
"name": "MintManagerOwner",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26",
"type": "Contract",
"isVerified": true,
"name": "0x2A82…3a26",
"url": "https://optimistic.etherscan.io/address/0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26"
}
],
"chain": "optimism",
"references": [],
"participants": [
{
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"type": "Contract",
"isVerified": true,
"name": "SafeL2",
"url": "#SafeL2"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"accounts": [
{
"address": "oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"type": "EOA",
"isVerified": true,
"name": "0x6B1B…4E3b",
"url": "https://optimistic.etherscan.io/address/0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"displayName": "SuperchainProxyAdminOwner - L2 Alias"
}
],
"chain": "optimism",
"description": "* Can upgrade **with no delay**\n * DeployerWhitelist [via: L2ProxyAdmin]\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * OperatorFeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+347 -39
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686067127,
"transactionHash": "0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537",
"implementations": [
"eth:0x5efa852e92800D1C982711761e45c3FE39a2b6D8"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: OpFoundationUpgradeSafe; ultimately SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x229047fed2591dbec1eF1118d64F7aF3dB9EB290#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0x28a55488fef40005309e2DA0040DbE9D300a64AB"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"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 SuperFaultDisputeGame.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbEb5Fc579115071764c7423A4f12eDde41f106Ed#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715887055,
"transactionHash": "0x2c16c813ff50e9e09a3c58508a9b90293c896f1f91534d09a5002f50bc8760ff",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **owner**: SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe5965Ab5962eDc7477C8520243A95517CD252fA9#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624400967,
"transactionHash": "0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a",
"implementations": [
"eth:0x16393737D09d2722AD13DcA3cA8C3DB957699F1D"
]
},
{
"timestamp": 1624668767,
"transactionHash": "0x98a05fb521b3349dd92cff2e104d78c6c318add003bb501c0d416b2b4d75df8a",
"implementations": [
"eth:0xbfba066b5cA610Fe70AdCE45FcB622F945891bb0"
]
},
{
"timestamp": 1636652276,
"transactionHash": "0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1636658954,
"transactionHash": "0xbabb37235bd38ae5a29717590eedfd9b02f84a12b890b2126feac68f223d7448",
"implementations": [
"eth:0xd9166833FF12A5F900ccfBf2c8B62a90F1Ca1FD5"
]
},
{
"timestamp": 1686067127,
"transactionHash": "0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1664921339,
"transactionHash": "0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d",
"implementations": [
"eth:0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2"
]
},
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5a7749f83b81B301cAb5f48EB8516B986DAef23D#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "L1DAITokenBridge",
"isVerified": true,
"address": "eth:0x10E6593CDda8c58a1d0f14C5164B376352a55f2F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Custom Gateway for DAI deposits via canonical messaging. Deposited DAI is forwarded to a Vault contract.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10E6593CDda8c58a1d0f14C5164B376352a55f2F#code"
},
{
"name": "SuperFaultDisputeGame",
"isVerified": true,
"address": "eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x19AF533Cc2A2A55786DCB8672aA5717e64213208#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x23B2C62946350F4246f9f9D027e071f0264FD113",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23B2C62946350F4246f9f9D027e071f0264FD113#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC#code"
},
{
"name": "ETHLockbox",
"isVerified": true,
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x322b47Ff1FA8D5611F761e3E275C45B71b294D43#code"
},
{
"name": "L1DAIEscrow",
"isVerified": true,
"address": "eth:0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stores DAI deposited from the attached L1DAITokenBridge.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "SuperPermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C3eb47cB0174aea522a2a9Ae79487139A53D691#code"
},
{
"name": "SynthetixBridgeEscrow",
"isVerified": true,
"address": "eth:0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Synthetix-governed custom escrow for SNX bridged via canonical messaging. Its additional trust assumptions put it outside the ossification perimeter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0xaE849EFA4BcFc419593420e14707996936E365E2"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0x74e273220Fa1cB62Fd756FE6CbDA8BBb89404deD"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75505a97BD334E7BD3C476893285569C4136Fa0F#code"
},
{
"name": "wstETHEscrow",
"isVerified": true,
"address": "eth:0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659687799,
"transactionHash": "0x1bc90e7c6fe12e03691f7eccf025f3a244ea5a4888c7fb274f45f5e1004110ca",
"implementations": [
"eth:0x29C5c51A031165CE62F964966A6399b81165EFA4"
]
},
{
"timestamp": 1728663671,
"transactionHash": "0xc7bc3019721ecf320698f2897b329d1930f64661100a5fa159181146088e03c2",
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
}
],
"description": "Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76943C0D61395d8F2edF9060e1533529cAe05dE6#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "FeesCollector",
"isVerified": true,
"address": "eth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa",
"upgradeability": {
"proxyType": "EIP1167 proxy",
"admins": [],
"implementations": [
"eth:0xE8E847cf573Fc8ed75621660A36AffD18c543d7E"
]
},
"chain": "ethereum",
"description": "Collecting sequencer, base- and L1 fees from L2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCc005DCd857B401e4732E6F7837135A22825cfA#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e#code"
}
],
"optimism": [
{
"name": "DeployerWhitelist",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000002",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xc0d3c0d3C0d3c0D3c0d3C0D3c0d3C0d3c0D30002"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000002#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "GasPriceOracle",
"isVerified": true,
"address": "oeth:0x420000000000000000000000000000000000000F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1710374401,
"transactionHash": "0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2",
"implementations": [
"oeth:0xb528D11cC114E026F138fE568744c6D45ce6Da7A"
]
},
{
"timestamp": 1720627201,
"transactionHash": "0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc",
"implementations": [
"oeth:0xa919894851548179A0750865e7974DA599C0Fac7"
]
},
{
"timestamp": 1746806401,
"transactionHash": "0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30",
"implementations": [
"oeth:0x93e57A196454CB919193fa9946f14943cf733845"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9",
"implementations": [
"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152"
]
}
],
"description": "Provides the current gas price for L2 transactions.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x420000000000000000000000000000000000000F#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA"
]
}
],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1664919373,
"transactionHash": "0x02985bade8b066202067f455d11aa0996a23c022fcd923e113af5d9997ddb5ce",
"implementations": [
"oeth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1710374401,
"transactionHash": "0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24",
"implementations": [
"oeth:0x07dbe8500fc591d1852B76feE44d5a05e13097Ff"
]
},
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE"
]
}
],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c",
"implementations": [
"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias\n * **owner**: SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
}
],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "oeth:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
}
],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "OperatorFeeVault",
"isVerified": true,
"address": "oeth:0x420000000000000000000000000000000000001b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xf162acc8ebbaf9237755736b62331a4817fe27bbbe3712f473ecfa8fee499f7c",
"implementations": [
"oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373"
]
}
],
"description": "Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x420000000000000000000000000000000000001b#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1690495533,
"transactionHash": "0xe09a2d85965656572055111f1968491e9bb6b174bfaa5b3e38dbbb82ef94e6fb",
"implementations": [
"oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34"
]
}
],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1690495533,
"transactionHash": "0xe09a2d85965656572055111f1968491e9bb6b174bfaa5b3e38dbbb82ef94e6fb",
"implementations": [
"oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6"
]
}
],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000021#code"
},
{
"name": "OPToken",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000042",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "The OP token contract. The minting policy is controlled by the MintManager.\n* Roles:\n * **owner**: MintManager",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000042#code"
}
]
},
"escrows": [
{
"address": "0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"sinceTimestamp": 1753379243,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x322b47Ff1FA8D5611F761e3E275C45B71b294D43#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"sinceTimestamp": 1624401464,
"tokens": "*",
"excludedTokens": [
"rsETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"sinceTimestamp": 1625675779,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maker/Sky-controlled vault for DAI bridged with canonical messaging.",
"url": "https://etherscan.io/address/0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"sinceTimestamp": 1620680982,
"tokens": [
"SNX"
],
"contract": {
"isVerified": true,
"address": "eth:0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "SNX Vault for custom SNX Gateway managed by Synthetix.",
"url": "https://etherscan.io/address/0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x045e507925d2e05D114534D0810a1abD94aca8d6",
"sinceTimestamp": 1610668212,
"tokens": [
"SNX"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xCd9D4988C0AE61887B075bA77f08cbFAd2b65068",
"sinceTimestamp": 1620680934,
"tokens": [
"SNX"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"sinceTimestamp": 1659687799,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659687799,
"transactionHash": "0x1bc90e7c6fe12e03691f7eccf025f3a244ea5a4888c7fb274f45f5e1004110ca",
"implementations": [
"eth:0x29C5c51A031165CE62F964966A6399b81165EFA4"
]
},
{
"timestamp": 1728663671,
"transactionHash": "0xc7bc3019721ecf320698f2897b329d1930f64661100a5fa159181146088e03c2",
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x76943C0D61395d8F2edF9060e1533529cAe05dE6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP Kona absolute prestate v1.6.0-rc.2 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program of Kona client.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/d7cea91bc2f555a76b7720bf9c32f46c0b856119/rust/kona",
"title": "OP Kona interop absolute prestate v1.7.0-rc.2 (cannon64-kona-interop)",
"description": "A commitment to the initial state of the OP stack fault proof program of Kona client, in the interop variant run by the super fault dispute game (respected game type 9).",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/kona-client/v1.7.0-rc.2/rust/kona",
"verificationStatus": "successful",
"verificationSteps": "1. Install [just](https://just.systems).\n2. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n3. Check out the correct commit of the [optimism](https://github.com/ethereum-optimism/optimism) repo (tag `kona-client/v1.6.0-rc.2`): `git checkout d7cea91bc2f555a76b7720bf9c32f46c0b856119`.\n4. Go to the kona dir `cd kona` and run `just build-cannon-prestate`. This script regenerates the kona absolute prestate and creates `kona/prestates/.bin.gz`, where `` is the resulting absolute prestate.",
"hash": "0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025"
"verificationSteps": "1. Install [just](https://just.systems).\n2. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n3. Check out the correct commit of the [optimism](https://github.com/ethereum-optimism/optimism) repo (tag `kona-client/v1.7.0-rc.2`): `git checkout 64b043ea5bbca9bc6e57e0f1c8df0404b4cf5f68`.\n4. From the monorepo root run `just reproducible-prestate`. A single docker build produces both variants and prints their hashes; this prestate is the `kona-client-int` (interop) one.",
"hash": "0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1789044333,
"baseTimestamp": 1790862344,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "637b2364",
"date": "Thu, 01 Oct 2026 13:46:52 GMT",
"timestamp": 1790862344,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3), executed 2026-09-24.\n\nState roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 138585637 to 1788842855. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 8 → 9, CANNON_KONA to SUPER_CANNON_KONA. Proposing and challenging remain permissionless, with a 0.08 ETH bond, a 3.5 day clock, max game depth 73 and split depth 30. The fault proof program is the interop variant of kona v1.7.0-rc.2.\n\nGame types 0, 1 and 8 were cleared. The permissioned fallback is now type 5, SUPER_PERMISSIONED, which carries no bond and defines only a proposer. It has no challenger, so the OP Foundation Operations Safe no longer holds a challenger role.\n\nSystemConfig v3.14.2 → v4.0.0 removes the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nVersion changes and implementation diffs:\n\n- FaultDisputeGame -> SuperFaultDisputeGame (type 8 -> 9): https://disco.l2beat.com/diff/eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC/eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- SystemConfig 3.14.2 -> 4.0.0: https://disco.l2beat.com/diff/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\n- OptimismPortal2 5.6.1 -> 5.8.0: https://disco.l2beat.com/diff/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2/eth:0x1005217ad392DC64CEf501FA1777A27D42166748",
"isHighSeverity": true,
"changeCount": 114,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH (eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.$pastUpgrades.2:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$upgradeCount:\n- 2\n+ 6\n }\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.17:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.18:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.19:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.20:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 17\n+ 21\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0x00c65A7bB8d6351C1Cf70C95A316CC6A92839c98\"\n values.getAddresses.opcm:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCM:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n- \"7.1.17\"\n+ \"8.0.1\"\n values.version:\n- \"3.14.2\"\n+ \"4.0.0\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 5\n+ 9\n values.getStartingAnchorRoot.root:\n- \"0xfce6d556d11e1662f316ed1408782a3227b1c1dcd8f643c1f563043298822e62\"\n+ \"0xbd4aeba96e33ef5582e14257fb776b3223ad45934ccd368c2f3084c8b75c1d68\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 138585637\n+ 1788842855\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 8\n+ 9\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.18:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.19:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.20:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.21:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 18\n+ 22\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract ETHLockbox (eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 3\n+ 7\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.14:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.15:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.16:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.17:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 14\n+ 18\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n 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:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 10\n+ 14\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"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```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\n sourceHashes.1:\n- \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.15:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.16:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.17:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.18:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 15\n+ 19\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n values.respectedGameType:\n- 8\n+ 9\n values.version:\n- \"5.6.1\"\n+ \"5.8.0\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n 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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 8\n+ 12\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n- \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n- 10\n+ \"UNRESOLVED\"\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n values.game5Args:\n- \"0x\"\n+ \"0x23b2c62946350f4246f9f9d027e071f0264fd113473300df21d047806a082244b417f96b32f13a33\"\n+++ severity: HIGH\n values.game5Proposer:\n- \"UNRESOLVED\"\n+ \"eth:0x473300df21D047806A082244b417f96b32f13A33\"\n+++ severity: HIGH\n values.game8:\n- \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n- \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n+ \"UNRESOLVED\"\n values.game8Args:\n- \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb3162000000000000000000000000000000000000000000000000000000000000000a\"\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n- 10\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n- \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n- \"UNRESOLVED\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n values.game9Args:\n- \"0x\"\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1dfacc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb31620000000000000000000000000000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9Vm:\n- \"UNRESOLVED\"\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+++ severity: HIGH\n values.game9Weth:\n- \"UNRESOLVED\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.gameImpls.1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initBondGame1:\n- \"80000000000000000\"\n+ 0\n values.initBondGame8:\n- \"80000000000000000\"\n+ 0\n values.initBondGame9:\n- 0\n+ \"80000000000000000\"\n values.initBonds.1:\n- \"80000000000000000\"\n+ 0\n values.permissionedGameArgs:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb3162000000000000000000000000000000000000000000000000000000000000000a473300df21d047806a082244b417f96b32f13a339ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0x473300df21D047806A082244b417f96b32f13A33\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.vmFromDGF:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n+ \"UNRESOLVED\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperFaultDisputeGame (eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208) [opstack/SuperFaultDisputeGame]\n +++ description: Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```"
}
]
},
{
"id": "0b31835c",
"date": "Thu, 10 Sep 2026 12:47:37 GMT",
"timestamp": 1789044333,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "1e9d6e1a",
"date": "Fri, 17 Jul 2026 10:13:04 GMT",
"timestamp": 1784283055,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "62accfa2",
"date": "Tue, 14 Jul 2026 10:11:55 GMT",
"timestamp": 1784023848,
"description": "Karst hardfork (Upgrade 19b, op-contracts/v7.0.0) L2 activation on 2026-07-08 16:00:01 UTC.\n\nThe final implementation addresses are deterministic and identical to the other Superchain chains (e.g. Ink).\n\nMost predeploys now inherit `ProxyAdminOwnedBase`, which lets a contract read its proxy's ProxyAdmin and ProxyAdmin owner on-chain so privileged functions can be gated to them. On the initializable ones — both bridges, both mintable factories, L2CrossDomainMessenger and every FeeVault — the constructor calls `_disableInitializers()` and `initialize()` is restricted to the ProxyAdmin or its owner (the SuperchainProxyAdminOwner). L1Block is not initializable but inherits the same base and gates its new `setFeature` setter the same way.\n\nCustom gas token support was removed from L2StandardBridge and L2CrossDomainMessenger. The `gasPayingToken()` override is gone, and `withdraw()` / `withdrawTo()` no longer revert on custom gas token chains. OP Mainnet pays gas in ETH, so behaviour is unchanged.\n\nL2ProxyAdmin (1.0.0) adds `upgradePredeploys(address)`, which delegatecalls the L2ContractsManager.\n\nFeeVault configuration (recipient, minimum withdrawal amount, withdrawal network) moved from constructor immutables to storage set by `initialize()`, and is now mutable post-deployment via `setRecipient`, `setMinWithdrawalAmount` and `setWithdrawalNetwork` — each gated to the ProxyAdmin owner. Previously these values were fixed at deployment; the SuperchainProxyAdminOwner can now change them. This also applies to OperatorFeeVault. BaseFeeVault and L1FeeVault are byte-identical and now share implementation `0xf7bed7215EEF1003fac426682Cf2edeb958569f7`.\n\nGasPriceOracle stayed at 1.6.0 with unchanged source; only its implementation address moved.\n\nVersion changes and implementation diffs:\n\n- L2CrossDomainMessenger 1.4.0 -> 2.2.1: https://disco.l2beat.com/diff/oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- L2StandardBridge 1.1.0 -> 1.13.2: https://disco.l2beat.com/diff/oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.1.0 -> 1.11.0: https://disco.l2beat.com/diff/oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.1.0 -> 1.10.1: https://disco.l2beat.com/diff/oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block 1.7.0 -> 1.9.0: https://disco.l2beat.com/diff/oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.0.0 -> 1.2.0: https://disco.l2beat.com/diff/oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.2.0 -> 1.5.1: https://disco.l2beat.com/diff/oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- L2ProxyAdmin ProxyAdmin -> L2ProxyAdmin 1.0.0: https://disco.l2beat.com/diff/oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.1.0 -> 1.6.1: https://disco.l2beat.com/diff/oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- OperatorFeeVault 1.0.0 -> 1.1.1: https://disco.l2beat.com/diff/oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537/oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\n- SchemaRegistry 1.0.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13/oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.0.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088/oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\n- GasPriceOracle 1.6.0 (source unchanged): https://disco.l2beat.com/diff/oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\n\nUnrelated to Karst: a member of the SafeL2 at `0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2` was rotated.",
"isHighSeverity": true,
"changeCount": 167,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2) [GnosisSafe] {\n +++ description: None\n values.$members.7:\n- \"oeth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"oeth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract L2CrossDomainMessenger (oeth:0x4200000000000000000000000000000000000007) [opstack/Layer2/L2CrossDomainMessenger] {\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n sourceHashes.1:\n- \"0xc976dd7891ac59d37603c7648ea8e3a566365094a242d169a646ebfed971bab8\"\n+ \"0x9e9ae8aec73e808e50f80bced53c3a020588eed516b310a10397596869dcd3b1\"\n values.$implementation:\n- \"oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.4.0\"\n+ \"2.2.1\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.otherMessenger:\n+ \"oeth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.oeth:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (oeth:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n values.$implementation:\n- \"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.4:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 4\n+ 5\n implementationNames.oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.oeth:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L2StandardBridge (oeth:0x4200000000000000000000000000000000000010) [opstack/Layer2/L2StandardBridge] {\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0x4354fe0c1ae65beab0a93e37ea50f3964a7d5e51a2f4a33c98cb041a1d18d32c\"\n+ \"0xf6ef848ca1cf88e27b5e3bb5e01b91ef79f302e5daad8ba5206c4dc60027d312\"\n values.$implementation:\n- \"oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.13.2\"\n values.otherBridge:\n+ \"oeth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.oeth:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (oeth:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x0441c14992309acc9ee49b32ded90950f349d5d4ab52d9d4f3380bbfb12d9957\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.oeth:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (oeth:0x4200000000000000000000000000000000000012) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n template:\n- \"opstack/Layer2/OptimismMintableERC20Factory\"\n+ \"opstack/OptimismMintableERC20Factory\"\n sourceHashes.1:\n- \"0xb2fc6f2e6343ad65e6ad1c34dcc5eeb708cc17ebdaeba5635ee74568f976ad26\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n description:\n- \"Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\"\n+ \"A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\"\n values.$implementation:\n- \"oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.11.0\"\n values.bridge:\n+ \"oeth:0x4200000000000000000000000000000000000010\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.oeth:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (oeth:0x4200000000000000000000000000000000000014) [opstack/Layer2/L2ERC721Bridge] {\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n sourceHashes.1:\n- \"0xe7457c0a0e9e7ba45f45fb369ff94f8a3613c4bb9083999a6eb18eaf6a077cdd\"\n+ \"0x0d8059378487e33161e0b838f622400642360f1e311eba8c7b8fbdb504aeee1e\"\n values.$implementation:\n- \"oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.1.0\"\n+ \"1.10.1\"\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.oeth:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (oeth:0x4200000000000000000000000000000000000015) [opstack/Layer2/L1Block] {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x399e57fff478211b47d61c5acb60592a4df8ffa5716959a1a6ee2ccabc44915e\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.3:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.7.0\"\n+ \"1.9.0\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"L1Block\"\n implementationNames.oeth:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract L2ToL1MessagePasser (oeth:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0xa8bdac224f506426db48b13c4933c57cbe3d88178a3499712638d559204c5eaa\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n implementationNames.oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.oeth:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (oeth:0x4200000000000000000000000000000000000017) [opstack/Layer2/OptimismMintableERC721Factory] {\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n sourceHashes.1:\n- \"0x889f9ffc10090c8df747b3523aa4fde7bcc0aade333f7ddabece6b3f005a2e80\"\n+ \"0xf4fd8df9e9191098f5647a3568864aee248b011c092313bf392b57a4b0f43268\"\n values.$implementation:\n- \"oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.2.0\"\n+ \"1.5.1\"\n values.bridge:\n+ \"oeth:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.oeth:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (oeth:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n name:\n- \"ProxyAdmin\"\n+ \"L2ProxyAdmin\"\n template:\n- \"global/ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x96d2f0fa1bd83ebd61ba6a2351c64c7fda7aa580b11ea67bb6bf4338e5c28512\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n values.$implementation:\n- \"oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n+ \"1.0.0\"\n implementationNames.oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.oeth:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n description:\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n }\n```\n\n```diff\n contract BaseFeeVault (oeth:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0xa4fbbae0f482b898d87c15326c29fdeaa7ad5371f679bbaa0dc95b0866325cab\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (oeth:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/L1FeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x09853f7c7e9d53511d9bcb729b4b53f1b00b56183056dd353d2cd640d9407d82\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.1.0\"\n+ \"1.6.1\"\n values.minWithdrawalAmount:\n+ \"10000000000000000000\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.recipient:\n+ \"oeth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa\"\n values.WITHDRAWAL_NETWORK:\n+ 0\n values.withdrawalNetwork:\n+ 0\n implementationNames.oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"L1FeeVault\"\n implementationNames.oeth:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract OperatorFeeVault (oeth:0x420000000000000000000000000000000000001b) [opstack/Layer2/OperatorFeeVault] {\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n sourceHashes.1:\n- \"0x8ee929b67fce68f8daf1dac67514e5e05678a9f554e8d6e676fa28fe81874844\"\n+ \"0x0ba9b644913957c9f60eda0ab433da4523bb2437156e4dd8dadca627c884ba2a\"\n values.$implementation:\n- \"oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"\n+ \"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"1.1.1\"\n values.proxyAdmin:\n+ \"oeth:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"oeth:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537:\n- \"OperatorFeeVault\"\n implementationNames.oeth:0xEddf416c7159387cc6DF3015700F79Cfb8911373:\n+ \"OperatorFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (oeth:0x4200000000000000000000000000000000000020) [opstack/Layer2/SchemaRegistry] {\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xc94799f3b35c3dedb3578da655614d2690e56477b3e176966113bbf06888e05d\"\n+ \"0xe2a60db541c987ffa9a6ed73b9100c7f62f2574966a20c903a73a8f730c7dfcc\"\n values.$implementation:\n- \"oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13\"\n+ \"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.0.1\"\n+ \"1.3.1-beta.2\"\n implementationNames.oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13:\n- \"SchemaRegistry\"\n implementationNames.oeth:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (oeth:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0x22dcc9bc6d8b0463159f8a96f6f2ee61c897a8ae5e1b684e38e74e2b25b48e66\"\n+ \"0x16924e7d7c1a311d6c9da93c6bf8bc7bd5454a0efde4d6e365e66c87ef4a0951\"\n values.$implementation:\n- \"oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088\"\n+ \"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.getAttestTypeHash:\n- \"0xdbfdf8dc2b135c26253e00d5b6cbe6f20457e003fd526d97cea183883570de61\"\n+ \"0xfeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d988076\"\n values.getDomainSeparator:\n- \"0xd963157246e3d9bacafb6121ee5c596e8048baf5c3814c1b9fa094fdc4d6aed1\"\n+ \"0x12909de2583872a9cb6474f44ae7f84a355ed273fda804f81a9594c3fa6220e9\"\n values.getRevokeTypeHash:\n- \"0xa98d02348410c9c76735e0d0bb1396f4015ac2bb9615f9c2611d19d7a8a99650\"\n+ \"0xb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e75\"\n values.version:\n- \"1.0.1\"\n+ \"1.4.1-beta.3\"\n implementationNames.oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088:\n- \"EAS\"\n implementationNames.oeth:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```"
}
]
},
{
"id": "60c3fc67",
"date": "Tue, 30 Jun 2026 20:17:14 GMT",
"timestamp": 1782850566,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0), executed 2026-06-25 via the new OPContractsManagerV2 (`0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D`, v7.1.17).\n\nRespected game type changed 0 → 8 (CANNON → CANNON_KONA): the permissionless fault proof now runs the Rust kona-client on the Cannon VM instead of op-program. Trust model is unchanged (still permissionless fault proofs).\n\nImplementation upgrades:\n- OptimismPortal2 v5.2.0 → v5.6.1: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\n- SystemConfig v3.13.1 → v3.14.2 (adds lastUsedOPCM / OPCM_SLOT): https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory → v1.6.1 Creator Pattern (per-type gameImpls, gameArgs): https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry → v3.9.0, now post-U16 (holds respectedGameType + blacklistDisputeGame): https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- L1CrossDomainMessenger: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1StandardBridge: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1ERC721Bridge: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- ETHLockbox: https://disco.l2beat.com/diff/eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6/eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\n- OptimismMintableERC20Factory: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- SuperchainConfig (shared): https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\n\nA new OPContractsManager (`0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D`) is the upgrade mechanism used for this release; upgrade authority remains with the SuperchainProxyAdminOwner. The active proof program is the kona-client prestate `0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025`.",
"isHighSeverity": true,
"changeCount": 139,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.15:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.16:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 15\n+ 17\n values.batchInbox:\n- \"eth:0xFF00000000000000000000000000000000000010\"\n+ \"eth:0x00c65A7bB8d6351C1Cf70C95A316CC6A92839c98\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.16:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.17:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 16\n+ 18\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract ETHLockbox (eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\",\"role\":\"admin\"}\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD061AB95069987868768818cc1248705351e2D0e\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD061AB95069987868768818cc1248705351e2D0e\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.12:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 12\n+ 14\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.13:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.14:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 13\n+ 15\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 8\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xD061AB95069987868768818cc1248705351e2D0e) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls.1:\n- \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n values.initBonds.0:\n- \"80000000000000000\"\n+ 0\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n+ \"eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC\"\n values.game8Args:\n+ \"0x0337ecb3604c0b40c352e0c7711beb17a212d583f4fe956fd8d66e29ad5f9025acc005dcd857b401e4732e6f7837135a22825cfa23b2c62946350f4246f9f9d027e071f0264fd1131b6dbf05eaf22d4e70dc993e8a19dd9f3dcb3162000000000000000000000000000000000000000000000000000000000000000a\"\n values.game8Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ \"80000000000000000\"\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ \"80000000000000000\"\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "44c712d2",
"date": "Fri, 15 May 2026 13:31:29 GMT",
"timestamp": 1778851817,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "3e5d5e59",
"date": "Tue, 05 May 2026 15:19:06 GMT",
"timestamp": 1777994275,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "49ad3a10",
"date": "Thu, 16 Apr 2026 09:33:25 GMT",
"timestamp": 1776331867,
"description": "One signer rotation on the 6-of-9 SafeL2 (0x3F3Cd7) that controls MintManagerOwner: member 0xc222ab replaced with 0x2eFd8F. Threshold unchanged.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2) {\n +++ description: None\n values.$members.3:\n- \"oeth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"oeth:0x2eFd8FCbF4a120372e94baFaaA2E12783e1062A5\"\n }\n```"
}
]
},
{
"id": "4bd2123b",
"date": "Thu, 09 Apr 2026 08:07:35 GMT",
"timestamp": 1775721846,
"description": "MintManagerOwner on OP Mainnet (L2) restructured: the previous 3-of-5 multisig was replaced by a 1-of-1 Safe whose sole owner is a 6-of-9 SafeL2 multisig (0x3F3Cd7...). All 5 original EOA members were removed. The 6-of-9 Safe also has a SaferSafes module (0xA8447329...) that can act on its behalf, providing an additional execution path. Net effect: OP token inflation policy now requires 6-of-9 signatures (or the SaferSafes module) through the 1-of-1 delegate, instead of 3-of-5 directly.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MintManagerOwner (oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26) {\n +++ description: None\n values.$members.0:\n- \"oeth:0x3041BA32f451F5850c147805F5521AC206421623\"\n values.$members.1:\n- \"oeth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n values.$members.2:\n- \"oeth:0xdb203D7f00fF435dA107543B33495f9cA2c484C6\"\n values.$members.3:\n- \"oeth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15\"\n values.$members.4:\n- \"oeth:0xA902A27a7631D502E3Ec17fc5d4c3e0861752c94\"\n+ \"oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2\"\n values.$threshold:\n- 3\n+ 1\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"1 of 1 (100%)\"\n receivedPermissions:\n- [{\"permission\":\"interact\",\"from\":\"oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005\",\"description\":\"change the OP token owner to a different MintManager and therefore change the inflation policy.\",\"role\":\".owner\"}]\n directlyReceivedPermissions:\n+ [{\"permission\":\"interact\",\"from\":\"oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005\",\"description\":\"change the OP token owner to a different MintManager and therefore change the inflation policy.\",\"role\":\".owner\"}]\n }\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: None\n```"
}
]
},
{
"id": "6c176b5c",
"date": "Wed, 25 Mar 2026 10:07:55 GMT",
"timestamp": 1774433205,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "7f88298c",
"date": "Fri, 27 Feb 2026 13:57:06 GMT",
"timestamp": 1772198389,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "3de2546f",
"date": "Fri, 13 Feb 2026 11:46:52 GMT",
"timestamp": 1770912106,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0).\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.14:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 14\n+ 15\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0xfce6d556d11e1662f316ed1408782a3227b1c1dcd8f643c1f563043298822e62\",\"l2SequenceNumber\":138585637}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.15:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 15\n+ 16\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x478c26109b169a840D61E95B19512FF0b5F19c87)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.11:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 11\n+ 12\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.7:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.12:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-09T20:10:59.000Z\",\"0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x478c26109b169a840D61E95B19512FF0b5F19c87\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x473300df21D047806A082244b417f96b32f13A33\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "5871bec8",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272178,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "e7f01124",
"date": "Thu, 18 Dec 2025 08:59:03 GMT",
"timestamp": 1766048259,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "d4970e41",
"date": "Wed, 10 Dec 2025 10:26:58 GMT",
"timestamp": 1765362353,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)\n\nGas price oracle - isJovian fork for new gas calculation (getOperatorFee())\nhttps://disco.l2beat.com/diff/oeth:0x93e57A196454CB919193fa9946f14943cf733845/oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1",
"isHighSeverity": true,
"changeCount": 16,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (oeth:0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x1cb14befaee4fe093cdeeaab8c4a2d125540a0790929ca046c8193a094a88a4f\"\n+ \"0x3a8edff20d21cac6fe4146bd2ae47f7ec927759ff9eb35e3f32f366e91da9e15\"\n values.$implementation:\n- \"oeth:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.3:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.4.0\"\n+ \"1.6.0\"\n values.isJovian:\n+ true\n implementationNames.oeth:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (oeth:0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0x1d69ab3b3edee9b7eeccc72b0980f9041777fdc5f5224f97aa5e69f0a8b68c7c\"\n values.$implementation:\n- \"oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.2:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.6.0\"\n+ \"1.7.0\"\n values.daFootprintGasScalar:\n+ 400\n implementationNames.oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "5a491673",
"date": "Fri, 28 Nov 2025 09:39:21 GMT",
"timestamp": 1764322695,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff\n\n[FaultDisputeGame] (https://disco.l2beat.com/diff/eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d/eth:0x478c26109b169a840D61E95B19512FF0b5F19c87) : added MIN_BASE_FEE, DA_FOOTPRINT_GAS_SCALAR to update type, small diffs.",
"isHighSeverity": true,
"changeCount": 66,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.13:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 13\n+ 14\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.14:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 14\n+ 15\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n EOA (eth:0x473300df21D047806A082244b417f96b32f13A33) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.10:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.6:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.11:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\"\n+ \"eth:0x478c26109b169a840D61E95B19512FF0b5F19c87\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n+ \"eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x478c26109b169a840D61E95B19512FF0b5F19c87)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x8081faB7cc5D0e56122bB6651928e0bcF94b95bf)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "eb13fe49",
"date": "Wed, 29 Oct 2025 18:21:16 GMT",
"timestamp": 1761761995,
"description": "performed an empty mint to disallow inflating the supply for one year. the inflation rate is 2% per year but it was never used, and it is the first time they explicitly skip a year. the value here shows the timestamp of last mint.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract MintManager (oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005) {\n +++ description: Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n values.mintPermittedAfter:\n- 0\n+ 1793220409\n }\n```"
}
]
},
{
"id": "b2e0ba31",
"date": "Mon, 20 Oct 2025 15:27:50 GMT",
"timestamp": 1760973987,
"description": "OpFoundation multisigs member rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "9ecac755",
"date": "Fri, 03 Oct 2025 14:32:18 GMT",
"timestamp": 1759501868,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F/eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124/eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7/eth:0xD061AB95069987868768818cc1248705351e2D0e\n\nDelayedWETH (replacement 2) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xe214879aD573693A4C49f7654449Caa455cdE34f/eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.12:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x23B2C62946350F4246f9f9D027e071f0264FD113) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.13:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 13\n+ 14\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.10.from:\n- \"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\"\n+ \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n directlyReceivedPermissions.11.from:\n- \"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.10.from:\n- \"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\"\n+ \"eth:0xD061AB95069987868768818cc1248705351e2D0e\"\n receivedPermissions.11.from:\n- \"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\"\n+ \"eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.9:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.10:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 10\n+ 11\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe214879aD573693A4C49f7654449Caa455cdE34f)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract DisputeGameFactory (eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F\"\n+ \"eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124\"\n+ \"eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x22F2AfB837156246187Cd2652ad281eE08EBBB9d)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xbF2027A15e1a6ceE76257ED9bB623C8dC08D4EF7)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xD061AB95069987868768818cc1248705351e2D0e)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```"
}
]
},
{
"id": "43cfdc57",
"date": "Mon, 18 Aug 2025 14:04:55 GMT",
"timestamp": 1755525885,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "793e7ea6",
"date": "Fri, 25 Jul 2025 17:48:24 GMT",
"timestamp": 1753465704,
"description": "[Optimism upgrade 16](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037): Interop Contracts, Stage 1, and Go 1.23 Support in Cannon\n\ngov changes:\n- DeputyGuardianModule removed: only the SC can e.g. blacklistDisputeGame or change respectedGameType\n- DeputyPauseModule is now a module of the Optimism Guardian Multisig, meaning the Optimism EOA can pause through it\n- Pause expires after 3 months (local + superchain pause = 6 months max pause)\n - identifier = local eth lockbox for local pause or 0x0 for global pause\n\nalmost all contracts have:\n- paused() and guardian() now exposed\n- additional initializer/upgrade check\n- lots of interfaces added in the flat files\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a)\n- add `migrateLiquidity()` and `migrateToSuperRoots()`, callable by proxyAdminOwner\n- `setRespectedGameType()` and `blacklistDisputeGame()` removed (moved to AnchorStateRegistry)\n- ETH moved to the ETHLockbox\n- superRoots (interop) support (e.g. for proving withdrawals)\n\nETHLockbox\n- new contract\n- holds ETH\n- ETH can be unlocked by the optiportal, or withdrawn/migrated by the ProxyAdminOwner\n\n[SystemConfig](https://disco.l2beat.com/diff/eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa)\n- max gas limit 200M -> 500M\n\n[L1Standardbridge](https://disco.l2beat.com/diff/eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A/eth:0x44AfB7722AF276A601D524F429016A18B6923df0)\n- no significant changes (still holds the ERC-20 tokens)\n\n[L1CDM](https://disco.l2beat.com/diff/eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54)\n- `hashSuperRootProof()`, `encodeSuperRootProof()` added, related to the future SuperFaultDisputeGame and interop\n\n[DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D)\n- minimal changes\n\n[AnchorStateRegistry](https://disco.l2beat.com/diff/eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E)\n- `setRespectedGameType()` and `blacklistDisputeGame()` added, can be called by guardian (not DeputyPauser)\n\n[FaultDisputeGame](https://disco.l2beat.com/diff/eth:0x89D68b1D63AAA0db4af1163e81f56B76934292F8/eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n- minimal changes\n\n[PermissionedDisputegame](https://disco.l2beat.com/diff/eth:0xa1E0baCde89d899B3f24eEF3D179cC335A24E777/eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n- minimal changes\n\n[DelayedWETH](https://disco.l2beat.com/diff/eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998)\n- ownable removed\n- `hold()` (recover) now requires msg.sender == proxyadminowner\n\n[MIPS64](https://disco.l2beat.com/diff/eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n- explanations about the diff are in the forum post\n\n[L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F)\n- minimal changes",
"isHighSeverity": true,
"changeCount": 134,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.11:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 11\n+ 12\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 10\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.12:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 12\n+ 13\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.0.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.0.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\",\"role\":\"admin\"}\n directlyReceivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"role\":\"admin\"}\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\",\"role\":\"admin\"}\n directlyReceivedPermissions.5.from:\n- \"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n directlyReceivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.7.from:\n- \"eth:0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc5f54F934075677FBA99b5E43468439cbdE88ca7\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe214879aD573693A4C49f7654449Caa455cdE34f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.8:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.9:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.respectedGameTypeUpdatedAt:\n- 1726070915\n+ 1753379243\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x23B2C62946350F4246f9f9D027e071f0264FD113\"\n values.ethLockbox:\n+ \"eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x89D68b1D63AAA0db4af1163e81f56B76934292F8\"\n+ \"eth:0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xa1E0baCde89d899B3f24eEF3D179cC335A24E777\"\n+ \"eth:0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x23B2C62946350F4246f9f9D027e071f0264FD113)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x322b47Ff1FA8D5611F761e3E275C45B71b294D43)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xc5f54F934075677FBA99b5E43468439cbdE88ca7)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xd73Dd0F5665055B03eA0bFcac49bd4d26F1FFA4F)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xe214879aD573693A4C49f7654449Caa455cdE34f)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xEcca4BFbD017002abf25Aeebf2B21b903A5fC124)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "07eacb49",
"date": "Mon, 14 Jul 2025 12:47:06 GMT",
"timestamp": 1752497226,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract MintManagerOwner (0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OperatorFeeVault (0x420000000000000000000000000000000000001b)\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract OPToken (0x4200000000000000000000000000000000000042)\n +++ description: The OP token contract. The minting policy is controlled by the oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005.\n```\n\n```diff\n+ Status: CREATED\n contract MintManager (0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)\n +++ description: Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n```"
}
]
},
{
"id": "0765693b",
"date": "Mon, 14 Jul 2025 12:47:06 GMT",
"timestamp": 1752497226,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 32,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1DAITokenBridge (0x10E6593CDda8c58a1d0f14C5164B376352a55f2F)\n +++ description: Custom Gateway for DAI deposits via canonical messaging. Deposited DAI is forwarded to a Vault contract.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1DAIEscrow (0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65)\n +++ description: Stores DAI deposited from the attached L1DAITokenBridge.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SynthetixBridgeEscrow (0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f)\n +++ description: Custom escrow for SNX bridged via canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FeesCollector (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa)\n +++ description: Collecting sequencer, base- and L1 fees from L2.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "7d3a108c",
"date": "Mon, 26 May 2025 15:08:08 GMT",
"timestamp": 1748272088,
"description": "gaslimit adjustments (net increase while decreasing elasticity).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 4\n+ 2\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 40000000\n }\n```"
}
]
},
{
"id": "16fb095c",
"date": "Mon, 12 May 2025 08:10:17 GMT",
"timestamp": 1747037417,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee.",
"isHighSeverity": true,
"changeCount": 82,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6d0f92051952bf3dcccae9e0ff5cf654e3b386df386bc0609b0c7234a2a108bb\"\n+ \"0x926a45849c8c68704718056d544ac26d7683a6b44a90a9590dda1a9bdd495962\"\n values.$implementation:\n- \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$pastUpgrades.2:\n+ [\"2024-07-10T16:00:01.000Z\",\"0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc\",[\"0xa919894851548179A0750865e7974DA599C0Fac7\"]]\n values.$pastUpgrades.1.2:\n- \"2024-07-10T16:00:01.000Z\"\n+ \"2024-03-14T00:00:01.000Z\"\n values.$pastUpgrades.1.1:\n- \"0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc\"\n+ \"0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2\"\n values.$pastUpgrades.1.0.0:\n- \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n+ \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n values.$pastUpgrades.0.2:\n- \"2024-03-14T00:00:01.000Z\"\n+ \"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\"\n values.$pastUpgrades.0.1:\n- \"0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2\"\n+ \"2025-05-09T16:00:01.000Z\"\n values.$pastUpgrades.0.0.0:\n- \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xa919894851548179A0750865e7974DA599C0Fac7:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0xbdd7533735ef92fffadfbee431b476e72f2f048487c921c5570443e3cba5cb30\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.$pastUpgrades.1:\n+ [\"2024-03-14T00:00:01.000Z\",\"0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24\",[\"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"]]\n values.$pastUpgrades.0.2:\n- \"2024-03-14T00:00:01.000Z\"\n+ \"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\"\n values.$pastUpgrades.0.1:\n- \"0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24\"\n+ [\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]\n values.$pastUpgrades.0.0:\n- [\"0x07dbe8500fc591d1852B76feE44d5a05e13097Ff\"]\n+ \"2025-05-09T16:00:01.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.2.0\"\n+ \"1.6.0\"\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n implementationNames.0x07dbe8500fc591d1852B76feE44d5a05e13097Ff:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x4200000000000000000000000000000000000018) {\n +++ description: None\n directlyReceivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"0x4200000000000000000000000000000000000002\"}\n directlyReceivedPermissions.15.from:\n- \"0x4200000000000000000000000000000000000002\"\n+ \"0x4200000000000000000000000000000000000007\"\n directlyReceivedPermissions.14.from:\n- \"0x4200000000000000000000000000000000000007\"\n+ \"0x420000000000000000000000000000000000000F\"\n directlyReceivedPermissions.13.from:\n- \"0x420000000000000000000000000000000000000F\"\n+ \"0x4200000000000000000000000000000000000010\"\n directlyReceivedPermissions.12.from:\n- \"0x4200000000000000000000000000000000000010\"\n+ \"0x4200000000000000000000000000000000000011\"\n directlyReceivedPermissions.11.from:\n- \"0x4200000000000000000000000000000000000011\"\n+ \"0x4200000000000000000000000000000000000012\"\n directlyReceivedPermissions.10.from:\n- \"0x4200000000000000000000000000000000000012\"\n+ \"0x4200000000000000000000000000000000000013\"\n directlyReceivedPermissions.9.from:\n- \"0x4200000000000000000000000000000000000013\"\n+ \"0x4200000000000000000000000000000000000014\"\n directlyReceivedPermissions.8.from:\n- \"0x4200000000000000000000000000000000000014\"\n+ \"0x4200000000000000000000000000000000000015\"\n directlyReceivedPermissions.7.from:\n- \"0x4200000000000000000000000000000000000015\"\n+ \"0x4200000000000000000000000000000000000016\"\n directlyReceivedPermissions.6.from:\n- \"0x4200000000000000000000000000000000000016\"\n+ \"0x4200000000000000000000000000000000000017\"\n directlyReceivedPermissions.5.from:\n- \"0x4200000000000000000000000000000000000017\"\n+ \"0x4200000000000000000000000000000000000018\"\n directlyReceivedPermissions.4.from:\n- \"0x4200000000000000000000000000000000000018\"\n+ \"0x4200000000000000000000000000000000000019\"\n directlyReceivedPermissions.3.from:\n- \"0x4200000000000000000000000000000000000019\"\n+ \"0x420000000000000000000000000000000000001A\"\n directlyReceivedPermissions.2.from:\n- \"0x420000000000000000000000000000000000001A\"\n+ \"0x4200000000000000000000000000000000000020\"\n directlyReceivedPermissions.1.from:\n- \"0x4200000000000000000000000000000000000020\"\n+ \"0x4200000000000000000000000000000000000021\"\n directlyReceivedPermissions.0.from:\n- \"0x4200000000000000000000000000000000000021\"\n+ \"0x420000000000000000000000000000000000001b\"\n }\n```\n\n```diff\n contract OperatorFeeVault (0x420000000000000000000000000000000000001b) {\n +++ description: Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n name:\n- \"Proxy\"\n+ \"OperatorFeeVault\"\n sourceHashes.1:\n+ \"0xc35c98e4b7bad72da3eda4ed9193d928885e62142aaf1ab37e3a298cf7a51371\"\n proxyType:\n- \"immutable\"\n+ \"EIP1967 proxy\"\n values.$immutable:\n- true\n values.$admin:\n+ \"0x4200000000000000000000000000000000000018\"\n values.$implementation:\n+ \"0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"\n values.$pastUpgrades:\n+ [[\"2025-05-09T16:00:01.000Z\",\"0xf162acc8ebbaf9237755736b62331a4817fe27bbbe3712f473ecfa8fee499f7c\",[\"0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537\"]]]\n values.$upgradeCount:\n+ 1\n values.MIN_WITHDRAWAL_AMOUNT:\n+ 0\n values.minWithdrawalAmount:\n+ 0\n values.recipient:\n+ \"0x4200000000000000000000000000000000000019\"\n values.RECIPIENT:\n+ \"0x4200000000000000000000000000000000000019\"\n values.totalProcessed:\n+ 0\n values.version:\n+ \"1.0.0\"\n values.WITHDRAWAL_NETWORK:\n+ 1\n values.withdrawalNetwork:\n+ 1\n implementationNames.0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537:\n+ \"OperatorFeeVault\"\n template:\n+ \"opstack/Layer2/OperatorFeeVault\"\n description:\n+ \"Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\"\n }\n```\n\n```diff\n EOA SuperchainProxyAdminOwner - L2 Alias (0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b) {\n +++ description: None\n receivedPermissions.16:\n+ {\"permission\":\"upgrade\",\"from\":\"0x4200000000000000000000000000000000000002\",\"via\":[{\"address\":\"0x4200000000000000000000000000000000000018\"}]}\n receivedPermissions.15.from:\n- \"0x4200000000000000000000000000000000000002\"\n+ \"0x4200000000000000000000000000000000000007\"\n receivedPermissions.14.from:\n- \"0x4200000000000000000000000000000000000007\"\n+ \"0x420000000000000000000000000000000000000F\"\n receivedPermissions.13.from:\n- \"0x420000000000000000000000000000000000000F\"\n+ \"0x4200000000000000000000000000000000000010\"\n receivedPermissions.12.from:\n- \"0x4200000000000000000000000000000000000010\"\n+ \"0x4200000000000000000000000000000000000011\"\n receivedPermissions.11.from:\n- \"0x4200000000000000000000000000000000000011\"\n+ \"0x4200000000000000000000000000000000000012\"\n receivedPermissions.10.from:\n- \"0x4200000000000000000000000000000000000012\"\n+ \"0x4200000000000000000000000000000000000013\"\n receivedPermissions.9.from:\n- \"0x4200000000000000000000000000000000000013\"\n+ \"0x4200000000000000000000000000000000000014\"\n receivedPermissions.8.from:\n- \"0x4200000000000000000000000000000000000014\"\n+ \"0x4200000000000000000000000000000000000015\"\n receivedPermissions.7.from:\n- \"0x4200000000000000000000000000000000000015\"\n+ \"0x4200000000000000000000000000000000000016\"\n receivedPermissions.6.from:\n- \"0x4200000000000000000000000000000000000016\"\n+ \"0x4200000000000000000000000000000000000017\"\n receivedPermissions.5.from:\n- \"0x4200000000000000000000000000000000000017\"\n+ \"0x4200000000000000000000000000000000000018\"\n receivedPermissions.4.from:\n- \"0x4200000000000000000000000000000000000018\"\n+ \"0x4200000000000000000000000000000000000019\"\n receivedPermissions.3.from:\n- \"0x4200000000000000000000000000000000000019\"\n+ \"0x420000000000000000000000000000000000001A\"\n receivedPermissions.2.from:\n- \"0x420000000000000000000000000000000000001A\"\n+ \"0x4200000000000000000000000000000000000020\"\n receivedPermissions.1.from:\n- \"0x4200000000000000000000000000000000000020\"\n+ \"0x4200000000000000000000000000000000000021\"\n receivedPermissions.0.from:\n- \"0x4200000000000000000000000000000000000021\"\n+ \"0x420000000000000000000000000000000000001b\"\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Proxy (0x420000000000000000000000000000000000001b)\n +++ description: None\n```"
}
]
},
{
"id": "fee2cf7f",
"date": "Thu, 08 May 2025 10:05:18 GMT",
"timestamp": 1746698718,
"description": "Introduction of the DeputyPause Module and the EOA superchain pauser. New dispute games deployed with identical code but 1.6.0 cannon64 prestates.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 4\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x5738a876359b48A65d35482C93B43e2c1147B32B)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe\"\n+ \"0x89D68b1D63AAA0db4af1163e81f56B76934292F8\"\n values.gameImpls.3:\n- \"0x5738a876359b48A65d35482C93B43e2c1147B32B\"\n+ \"0xa1E0baCde89d899B3f24eEF3D179cC335A24E777\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x89D68b1D63AAA0db4af1163e81f56B76934292F8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xa1E0baCde89d899B3f24eEF3D179cC335A24E777)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "b4d134f4",
"date": "Mon, 28 Apr 2025 07:26:55 GMT",
"timestamp": 1745825215,
"description": "DelayedWETH owners upgraded to the SuperchainProxyAdminOwner. Under review removed.",
"isHighSeverity": false,
"changeCount": 25,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n issuedPermissions.0.to:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n issuedPermissions.0.to:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.10.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.10.via:\n- [{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]\n receivedPermissions.10.description:\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.9.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.9.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.9.description:\n+ \"set and change address mappings.\"\n receivedPermissions.8.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.8.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.8.description:\n- \"set and change address mappings.\"\n receivedPermissions.7.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.6.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.5.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.5.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.4.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.4.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.4.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n+ \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.4.via:\n- [{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"interact\",\"from\":\"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\",\"description\":\"can pull funds from the contract in case of emergency.\"}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\",\"description\":\"can pull funds from the contract in case of emergency.\"}\n }\n```"
}
]
},
{
"id": "24b38107",
"date": "Fri, 25 Apr 2025 13:14:46 GMT",
"timestamp": 1745586886,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 104,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.0:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.10:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.9.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.9.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.8.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n values.$pastUpgrades.8.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.8.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.7.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.7.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.7.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$pastUpgrades.6.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537\"\n values.$pastUpgrades.6.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ [\"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"]\n values.$pastUpgrades.6.0:\n- [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n+ \"2023-06-06T15:58:47.000Z\"\n values.$pastUpgrades.5.2:\n- \"0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537\"\n+ \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n values.$pastUpgrades.5.1.0:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.5.0:\n- \"2023-06-06T15:58:47.000Z\"\n+ \"2024-06-10T16:42:59.000Z\"\n values.$pastUpgrades.4.2:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.4.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.4.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.3.2:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n values.$pastUpgrades.3.1:\n- \"2024-02-26T21:44:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.3.0:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"2024-06-10T16:42:59.000Z\"\n values.$pastUpgrades.2.2:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.2.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.1.2:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.1.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.1.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"]\n values.$pastUpgrades.0.2:\n- \"2024-02-26T21:44:11.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0.0:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.11:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"]]\n values.$pastUpgrades.10.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n values.$pastUpgrades.10.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2021-11-11T17:37:56.000Z\"\n values.$pastUpgrades.10.0.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.$pastUpgrades.9.2:\n- \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.9.1:\n- \"2021-11-11T17:37:56.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.9.0:\n- [\"0x0000000000000000000000000000000000000000\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.8.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a\"\n values.$pastUpgrades.8.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2021-06-22T22:29:27.000Z\"\n values.$pastUpgrades.8.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ [\"0x16393737D09d2722AD13DcA3cA8C3DB957699F1D\"]\n values.$pastUpgrades.7.2:\n- \"0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.7.1:\n- \"2021-06-22T22:29:27.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.7.0:\n- [\"0x16393737D09d2722AD13DcA3cA8C3DB957699F1D\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 11\n+ 12\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.7:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.6.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.6.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.6.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.5.2:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d\"\n values.$pastUpgrades.5.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2022-10-04T22:08:59.000Z\"\n values.$pastUpgrades.5.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2\"]\n values.$pastUpgrades.4.2:\n- \"0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.4.1:\n- \"2022-10-04T22:08:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.3.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.3.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2024-02-26T21:44:11.000Z\"\n values.$pastUpgrades.3.0:\n- [\"0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2\"]\n+ \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n values.$pastUpgrades.2.2.0:\n- \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n+ \"0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b\"\n values.$pastUpgrades.1.2:\n- [\"0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b\"]\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.1.1:\n- \"2024-02-26T21:44:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.0:\n- \"0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50\"\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.0.2:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ [\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]\n values.$pastUpgrades.0.1:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0x18e98a64fbfe011a7514d7a547900c02a3e0f9a49ab3413d517fd7e0e3c539dd\"\n sourceHashes.0:\n- \"0x18e98a64fbfe011a7514d7a547900c02a3e0f9a49ab3413d517fd7e0e3c539dd\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract OptimismPortal2 (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.8:\n+ [\"2024-06-10T16:42:59.000Z\",\"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.7.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n values.$pastUpgrades.7.1:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.7.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.6.2:\n- [\"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.6.1:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.6.0:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.5.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]\n values.$pastUpgrades.5.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.5.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0\"\n+ \"0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe\"\n values.gameImpls.3:\n- \"0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b\"\n+ \"0x5738a876359b48A65d35482C93B43e2c1147B32B\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x1Ae178eBFEECd51709432EA5f37845Da0414EdFe)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x5738a876359b48A65d35482C93B43e2c1147B32B)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "62284543",
"date": "Fri, 04 Apr 2025 09:17:31 GMT",
"timestamp": 1743758251,
"description": "Upgrade 13: https://gov.optimism.io/t/upgrade-proposal-13-opcm-and-incident-response-improvements/9739",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2024-12-11T12:29:23.000Z\",\"0x6b9ad25cef01bd97f1be9642d96cbf75d533129608d5a62e4ae3d69ead47d3dc\",[\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]]\n values.$pastUpgrades.0.2:\n- \"2024-12-11T12:29:23.000Z\"\n+ [\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]\n values.$pastUpgrades.0.1:\n- \"0x6b9ad25cef01bd97f1be9642d96cbf75d533129608d5a62e4ae3d69ead47d3dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.0:\n- [\"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n sourceHashes.0:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.9:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.8.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n values.$pastUpgrades.8.0:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.7.2:\n- \"2025-01-24T14:41:35.000Z\"\n+ [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n values.$pastUpgrades.7.1:\n- \"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\"\n+ \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n values.$pastUpgrades.7.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-04-11T20:49:59.000Z\"\n values.$pastUpgrades.6.2:\n- [\"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.6.1:\n- \"0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.6.0:\n- \"2024-04-11T20:49:59.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 9\n+ 10\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\",\"l1ERC721Bridge\":\"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\",\"l1StandardBridge\":\"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\",\"disputeGameFactory\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\",\"optimismPortal\":\"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\",\"optimismMintableERC20Factory\":\"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x6e4b297b822bdda2bb8bbf4dde360ee51379af5a0de55c0d726a2d7b68791bf7\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x6e4b297b822bdda2bb8bbf4dde360ee51379af5a0de55c0d726a2d7b68791bf7\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.10:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"]]\n values.$pastUpgrades.9.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n values.$pastUpgrades.9.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2021-11-11T17:37:56.000Z\"\n values.$pastUpgrades.9.0.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.$pastUpgrades.8.2:\n- \"0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.8.1:\n- \"2021-11-11T17:37:56.000Z\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.8.0:\n- [\"0x0000000000000000000000000000000000000000\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$upgradeCount:\n- 10\n+ 11\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x27B81db41F586016694632193b99E45b1a27B8f8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.10.from:\n- \"0x18DAc71c228D1C32c99489B7323d441E1175e443\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n directlyReceivedPermissions.9.from:\n- \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n directlyReceivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n directlyReceivedPermissions.8.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n directlyReceivedPermissions.8.description:\n+ \"set and change address mappings.\"\n directlyReceivedPermissions.7.permission:\n- \"interact\"\n+ \"upgrade\"\n directlyReceivedPermissions.7.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n directlyReceivedPermissions.7.description:\n- \"set and change address mappings.\"\n directlyReceivedPermissions.6.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n directlyReceivedPermissions.5.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n directlyReceivedPermissions.4.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.3.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n directlyReceivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.2.from:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n directlyReceivedPermissions.1.from:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.0.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.10.from:\n- \"0x18DAc71c228D1C32c99489B7323d441E1175e443\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n receivedPermissions.9.from:\n- \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n receivedPermissions.8.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.8.from:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.8.description:\n+ \"set and change address mappings.\"\n receivedPermissions.7.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.7.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n receivedPermissions.7.description:\n- \"set and change address mappings.\"\n receivedPermissions.6.from:\n- \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.5.from:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.4.from:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.4.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.3.from:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n receivedPermissions.3.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.2.from:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n receivedPermissions.1.from:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.0.from:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.6:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.0:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.5:\n+ [\"2023-06-06T18:24:11.000Z\",\"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\",[\"0xaE849EFA4BcFc419593420e14707996936E365E2\"]]\n values.$pastUpgrades.4.2:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.4.1:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.4.0.0:\n- \"0xaE849EFA4BcFc419593420e14707996936E365E2\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x91a661891248d8C4916FB4a1508492a5e2CBcb87)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n sourceHashes.0:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x2cdcfef705094aaac53d507bad64d27b48ea5a9c11a7fadffacc192aab7a823f\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.7:\n+ [\"2024-06-10T16:42:59.000Z\",\"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.6.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n values.$pastUpgrades.6.1:\n- \"0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61\"\n+ \"2023-06-06T18:24:11.000Z\"\n values.$pastUpgrades.6.0:\n- \"2024-06-10T16:42:59.000Z\"\n+ \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n values.$pastUpgrades.5.2:\n- [\"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.5.1:\n- \"2023-06-06T18:24:11.000Z\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.5.0:\n- \"0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x27B81db41F586016694632193b99E45b1a27B8f8\"\n+ \"0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0\"\n values.gameImpls.3:\n- \"0x91a661891248d8C4916FB4a1508492a5e2CBcb87\"\n+ \"0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x1c68ECfbf9C8B1E6C0677965b3B9Ecf9A104305b)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xbA94955CA3422fC57f9D982a0BaD2a9c88e2a9D0)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xd113ad136a0dF1c7FfB7F1606Be1c778bCfE2f3b)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "8cc327b1",
"date": "Wed, 12 Feb 2025 10:00:09 GMT",
"timestamp": 1739354409,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "f0fea75b",
"date": "Sat, 08 Feb 2025 15:57:57 GMT",
"timestamp": 1739030277,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "3848318b",
"date": "Thu, 06 Feb 2025 09:16:56 GMT",
"timestamp": 1738833416,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "2f31d636",
"date": "Mon, 27 Jan 2025 11:40:56 GMT",
"timestamp": 1737978056,
"description": "This is a SystemConfig upgrade (v2.3.0, adding gasToken support) for five Superchain eco chains that use superchain governance.\n- op mainnet\n- metal\n- zora\n- arena-z\n- mode\n\nDue to temporary storage setter implementations, multiple upgrades are counted within a single tx.",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.8:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.7:\n+ [\"2025-01-24T14:41:35.000Z\",\"0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 5227\n values.blobbasefeeScalar:\n+ 1014213\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "98eb7db6",
"date": "Thu, 09 Jan 2025 06:23:35 GMT",
"timestamp": 1736403815,
"description": "New MIPS, PermissionedDisputeGame, FaultDisputeGame and DelayedWETH contracts.\n\n- interop: add `hashL2toL2CrossDomainMessage()` and `_dependencySet` (in 'encoding' and 'hashing' libraries)\n- formatting and doc changes\n- removal of interfaces (IDisputeGame, IFaultDisputeGame)\n- no changes in DelayedWETH\n\n### MIPS\n\nRefactor: [64bit architecture and multithreading support](https://github.com/ethereum-optimism/docs/issues/1066).",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x050ed6F6273c7D836a111E42153BC00D0380b87d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.8.target:\n- \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.7.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n directlyReceivedPermissions.6.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n directlyReceivedPermissions.5.target:\n- \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n directlyReceivedPermissions.4.target:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n directlyReceivedPermissions.3.target:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n directlyReceivedPermissions.2.target:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.8.target:\n- \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.8.description:\n+ \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.7.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.7.description:\n- \"upgrading the bridge implementation can give access to all funds escrowed therein.\"\n receivedPermissions.6.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n receivedPermissions.5.target:\n- \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n receivedPermissions.4.target:\n- \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n+ \"0x323dFC63c9B83CB83f40325AaB74b245937cbdF0\"\n receivedPermissions.3.target:\n- \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n receivedPermissions.2.target:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n+ \"0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x82511d494B5C942BE57498a70Fdd7184Ee33B975)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x9F9b897e37de5052cD70Db6D08474550DDb07f39)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xA6f3DFdbf4855a43c529bc42EDE96797252879af)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0x050ed6F6273c7D836a111E42153BC00D0380b87d\"\n+ \"0x91a661891248d8C4916FB4a1508492a5e2CBcb87\"\n values.gameImpls.0:\n- \"0xA6f3DFdbf4855a43c529bc42EDE96797252879af\"\n+ \"0x27B81db41F586016694632193b99E45b1a27B8f8\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x21429aF66058BC3e4aE4a8f2EC4531AaC433ecbC)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x27B81db41F586016694632193b99E45b1a27B8f8)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x323dFC63c9B83CB83f40325AaB74b245937cbdF0)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x91a661891248d8C4916FB4a1508492a5e2CBcb87)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "0b6a847f",
"date": "Wed, 23 Oct 2024 09:21:39 GMT",
"timestamp": 1729675299,
"description": "Gas limit doubled to 60M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "f7c1dc3f",
"date": "Sat, 12 Oct 2024 07:40:30 GMT",
"timestamp": 1728718830,
"description": "New custom escrow for wstETH, supports rebasable wstETH on L2. Escrowed token is still wstETH.",
"isHighSeverity": true,
"changeCount": 23,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6) {\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n template:\n- \"lido/L1ERC20TokenBridge\"\n+ \"lido/L1LidoTokensBridge\"\n descriptions.0:\n- \"Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\"\n+ \"Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\"\n values.$implementation:\n- \"0x29C5c51A031165CE62F964966A6399b81165EFA4\"\n+ \"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"\n values.$pastUpgrades.1:\n+ [\"2024-10-11T16:21:11.000Z\",[\"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.isDepositsEnabled:\n- false\n+ true\n values.l1Token:\n- \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n values.l2Token:\n- \"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb\"\n values.messenger:\n- \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.proxy__getImplementation:\n- \"0x29C5c51A031165CE62F964966A6399b81165EFA4\"\n+ \"0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4\"\n values.accesscontrol:\n+ {\"DEFAULT_ADMIN_ROLE\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d6\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"0x73b047fe6337183A454c5217241D780a932777bD\"]},\"0x9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\"]},\"0x94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c\":{\"adminRole\":\"DEFAULT_ADMIN_ROLE\",\"members\":[\"0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c\",\"0x73b047fe6337183A454c5217241D780a932777bD\"]}}\n values.ACCOUNTING_ORACLE:\n+ \"0x852deD011285fe67063a08005c71a85690503Cee\"\n values.GENESIS_TIME:\n+ 1606824023\n values.getContractVersion:\n+ 2\n values.L1_TOKEN_NON_REBASABLE:\n+ \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n values.L1_TOKEN_REBASABLE:\n+ \"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84\"\n values.L2_TOKEN_NON_REBASABLE:\n+ \"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb\"\n values.L2_TOKEN_REBASABLE:\n+ \"0x76A50b8c7349cCDDb7578c6627e79b5d99D24138\"\n values.MESSENGER:\n+ \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.SECONDS_PER_SLOT:\n+ 12\n values.TOKEN_RATE_DECIMALS:\n+ 27\n values.WSTETH:\n+ \"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0\"\n derivedName:\n- \"L1ERC20TokenBridge\"\n+ \"L1LidoTokensBridge\"\n }\n```"
}
]
},
{
"id": "79c5d08b",
"date": "Tue, 08 Oct 2024 17:23:11 GMT",
"timestamp": 1728408191,
"description": "The deposits on the main Lido escrow for Optimism are paused by the Lido EmergencyBrake Multisig following [an upgrade proposal](https://research.lido.fi/t/steth-on-optimism-upgrade-announcement-and-action-plan/8474) for rebasing L2 stETH. This is a scheduled action and deposits should be reenabled im 2024/10/10.\n\nConfig related: Move to discovery driven data.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract wstETHEscrow (0x76943C0D61395d8F2edF9060e1533529cAe05dE6) {\n +++ description: Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n values.isDepositsEnabled:\n- true\n+ false\n }\n```"
}
]
},
{
"id": "f5eebd45",
"date": "Wed, 25 Sep 2024 09:34:30 GMT",
"timestamp": 1727256870,
"description": "Single signer change in SNX MS (SNX escrow owner).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.3:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0xcC934A54A2Dc516B2bb0CFE2F73bfA9A87F5341f\"\n }\n```"
}
]
},
{
"id": "a9c6509d",
"date": "Mon, 16 Sep 2024 14:09:19 GMT",
"timestamp": 1726495759,
"description": "Synthetix MS signer changes.",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.7:\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.6:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.5:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.$members.4:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.$members.3:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.$members.2:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n values.$members.1:\n- \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n+ \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n values.$members.0:\n- \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n+ \"0x148a2c821687686CFBeEbC138534E05797D65984\"\n values.multisigThreshold:\n- \"4 of 7 (57%)\"\n+ \"4 of 8 (50%)\"\n }\n```"
}
]
},
{
"id": "fd9b3eaa",
"date": "Thu, 12 Sep 2024 07:25:21 GMT",
"timestamp": 1726125921,
"description": "Upgrade 10 part 2. Reactivates proof system and adds ability for guardian module to set anchor state.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8\"\n+ \"0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n values.respectedGameType:\n- 1\n+ 0\n values.respectedGameTypeUpdatedAt:\n- 1723833359\n+ 1726070915\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 610\n+ 617\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: None\n```"
}
]
},
{
"id": "41492ef8",
"date": "Wed, 11 Sep 2024 09:31:05 GMT",
"timestamp": 1726047065,
"description": "Upgrade #10: https://gov.optimism.io/t/upgrade-proposal-10-granite-network-upgrade/8733\n\nIt fixes some bugs and adds the ability to the anchor state registry to be set by the guardian.",
"isHighSeverity": true,
"changeCount": 34,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (0x0f8EdFbDdD3c0256A80AD8C0F2560B1807873C9c)\n +++ description: None\n```\n\n```diff\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443) {\n +++ description: None\n values.$implementation:\n- \"0x6B7da1647Aa9684F54B2BEeB699F91F31cd35Fb9\"\n+ \"0x1B5CC028A4276597C607907F24E1AC05d3852cFC\"\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.0.0\"\n+ \"2.0.0\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n +++ description: None\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"}\n directlyReceivedPermissions.8.target:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n directlyReceivedPermissions.7.target:\n- \"0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14\"\n+ \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n directlyReceivedPermissions.6.target:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n directlyReceivedPermissions.6.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n directlyReceivedPermissions.5.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n directlyReceivedPermissions.5.description:\n- \"upgrading bridge implementation allows to access all funds and change every system component.\"\n directlyReceivedPermissions.4.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"target\":\"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\",\"via\":[{\"address\":\"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"}]}\n receivedPermissions.8.target:\n- \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n receivedPermissions.7.target:\n- \"0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14\"\n+ \"0x9F9b897e37de5052cD70Db6D08474550DDb07f39\"\n receivedPermissions.6.target:\n- \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n receivedPermissions.6.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n receivedPermissions.5.target:\n- \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n receivedPermissions.5.description:\n- \"upgrading bridge implementation allows to access all funds and change every system component.\"\n receivedPermissions.4.target:\n- \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n+ \"0x82511d494B5C942BE57498a70Fdd7184Ee33B975\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xc307e93a7C530a184c98EaDe4545a412b857b62f)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0xD326E10B8186e90F4E2adc5c13a2d0C137ee8b34)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14)\n +++ description: None\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.gameImpls.1:\n- \"0xc307e93a7C530a184c98EaDe4545a412b857b62f\"\n+ \"0x050ed6F6273c7D836a111E42153BC00D0380b87d\"\n values.gameImpls.0:\n- \"0xf691F8A6d908B58C534B624cF16495b491E633BA\"\n+ \"0xA6f3DFdbf4855a43c529bc42EDE96797252879af\"\n values.permissionedGamesTotal:\n- 493\n+ 610\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xf691F8A6d908B58C534B624cF16495b491E633BA)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x050ed6F6273c7D836a111E42153BC00D0380b87d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionlessGames (0x82511d494B5C942BE57498a70Fdd7184Ee33B975)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH_PermissionedGames (0x9F9b897e37de5052cD70Db6D08474550DDb07f39)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xA6f3DFdbf4855a43c529bc42EDE96797252879af)\n +++ description: None\n```"
}
]
},
{
"id": "958f54b1",
"date": "Fri, 06 Sep 2024 11:28:35 GMT",
"timestamp": 1725622115,
"description": "One signer of SynthetixMultisig is replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 326\n+ 493\n }\n```\n\n```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.0:\n- \"0xe2163dd599067919d1e9108929b568Bf41D3A420\"\n+ \"0x1C8236B406911A376369e33D39189F1b4B39F27D\"\n }\n```"
}
]
},
{
"id": "c0e3f371",
"date": "Fri, 30 Aug 2024 10:28:19 GMT",
"timestamp": 1725013699,
"description": "Synthetix MS changes (owns the SNX escrow).\n\nOptimism is meanwhile still using the fallback centralized FPs.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 17\n+ 326\n }\n```\n\n```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.$members.10:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.9:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.$members.8:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.$members.7:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.6:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.$members.5:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.$members.4:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.$members.3:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.$threshold:\n- 5\n+ 4\n values.multisigThreshold:\n- \"5 of 11 (45%)\"\n+ \"4 of 7 (57%)\"\n }\n```"
}
]
},
{
"id": "a259c851",
"date": "Sat, 17 Aug 2024 12:04:40 GMT",
"timestamp": 1723896280,
"description": "OP Mainnet has used the fall back to activate permissioned games.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n values.respectedGameType:\n- 0\n+ 1\n values.respectedGameTypeUpdatedAt:\n- 1718037779\n+ 1723833359\n }\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.permissionedGamesTotal:\n- 0\n+ 17\n }\n```"
}
]
},
{
"id": "c1cc2483",
"date": "Fri, 12 Jul 2024 12:08:02 GMT",
"timestamp": 1720786082,
"description": "These changes are due to the [OP Mainnet 'Fjord' upgrade](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236) which, on the L1, affects the fault proof related contracts in order to introduce the new op-program pre-state hash (otherwise code-identical).\n\n### Fjord upgrade TLDR\n\n- secp256r1 precompile\n- brotli channel compression\n- FastLZ based DA fee calculation\n- max sequencer drift (time delta between L2 block ts and according epoch ts derived from L1) raised from 10 to 30 minutes",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract FaultDisputeGame (0x4146DF64D83acB0DcB0c1a4884a16f090165e122)\n +++ description: None\n```\n\n```diff\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9) {\n +++ description: None\n values.gameImpls.1:\n- \"0xE9daD167EF4DE8812C1abD013Ac9570C616599A0\"\n+ \"0xc307e93a7C530a184c98EaDe4545a412b857b62f\"\n values.gameImpls.0:\n- \"0x4146DF64D83acB0DcB0c1a4884a16f090165e122\"\n+ \"0xf691F8A6d908B58C534B624cF16495b491E633BA\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xE9daD167EF4DE8812C1abD013Ac9570C616599A0)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xc307e93a7C530a184c98EaDe4545a412b857b62f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0xf691F8A6d908B58C534B624cF16495b491E633BA)\n +++ description: None\n```"
}
]
},
{
"id": "24594bfa",
"date": "Fri, 12 Jul 2024 11:52:45 GMT",
"timestamp": 1720785165,
"description": "The changes are due to the [OP Mainnet 'Fjord' upgrade](https://gov.optimism.io/t/upgrade-proposal-9-fjord-network-upgrade/8236).\n\nThe GasPriceOracle predeploy is changed to use a FastLZ-based compression estimator for gas price estimation. (compare [the spec](https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/fjord/exec-engine.md#fees))",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: None\n values.$implementation:\n- \"0xb528D11cC114E026F138fE568744c6D45ce6Da7A\"\n+ \"0xa919894851548179A0750865e7974DA599C0Fac7\"\n values.baseFeeScalar:\n- 1368\n+ 5227\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n values.isFjord:\n+ true\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: None\n values.baseFeeScalar:\n- 1368\n+ 5227\n }\n```"
}
]
},
{
"id": "50024322",
"date": "Fri, 28 Jun 2024 07:31:54 GMT",
"timestamp": 1719559914,
"description": "Changed SystemConfig owner from FoundationMultisig_2 (5/7) to FoundationMultisig_1 (5/7).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x847B5c174615B1B7fDF770882256e2D3E95b9D92\"\n }\n```"
}
]
},
{
"id": "aeff10bd",
"date": "Tue, 11 Jun 2024 10:11:02 GMT",
"timestamp": 1718100662,
"description": "The ProxyAdmin owner is now the same as L1 (but aliased).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract InternalProxyAdminOwnerMultisig1 (0x28B1eE885034ccD2d5Fa228a9A3157390D27177C)\n +++ description: None\n```\n\n```diff\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018) {\n +++ description: None\n values.owner:\n- \"0x7871d1187A97cbbE40710aC119AA3d412944e4Fe\"\n+ \"0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n }\n```\n\n```diff\n- Status: DELETED\n contract L2ProxyAdminOwner (0x7871d1187A97cbbE40710aC119AA3d412944e4Fe)\n +++ description: None\n```"
}
]
},
{
"id": "d86b3fe1",
"date": "Tue, 11 Jun 2024 08:53:37 GMT",
"timestamp": 1718096017,
"description": "Introduction of permissionless fraud proofs and permissions update to be Stage 1.",
"isHighSeverity": true,
"changeCount": 38,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n implementations.0:\n- \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: None\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n implementations.0:\n- \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.guardian:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.GUARDIAN:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.L2_ORACLE:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.l2Oracle:\n- \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.SYSTEM_CONFIG:\n- \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n values.version:\n- \"2.5.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0xe5965Ab5962eDc7477C8520243A95517CD252fA9\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.respectedGameType:\n+ 0\n values.respectedGameTypeUpdatedAt:\n+ 1718037779\n derivedName:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n upgradeability.modules.0:\n+ \"0x0454092516c9A4d636d3CAfA1e82161376C8a748\"\n upgradeability.threshold:\n- \"4 of 13 (31%)\"\n+ \"10 of 13 (77%)\"\n values.getThreshold:\n- 4\n+ 10\n }\n```\n\n```diff\n- Status: DELETED\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x0f8EdFbDdD3c0256A80AD8C0F2560B1807873C9c)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x18DAc71c228D1C32c99489B7323d441E1175e443)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x4146DF64D83acB0DcB0c1a4884a16f090165e122)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0x5dC91D01290af474CE21DE14c17335a6dEe4d2a8)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0xD326E10B8186e90F4E2adc5c13a2d0C137ee8b34)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xE497B094d6DbB3D5E4CaAc9a14696D7572588d14)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0xe5965Ab5962eDc7477C8520243A95517CD252fA9)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0xE9daD167EF4DE8812C1abD013Ac9570C616599A0)\n +++ description: None\n```"
}
]
},
{
"id": "d08e5860",
"date": "Wed, 05 Jun 2024 10:52:26 GMT",
"timestamp": 1717584746,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 22,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract InternalProxyAdminOwnerMultisig1 (0x28B1eE885034ccD2d5Fa228a9A3157390D27177C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MintManagerOwner (0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OPToken (0x4200000000000000000000000000000000000042)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OldQuixoticNFTBridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MintManager (0x5C4e7Ba1E219E47948e6e3F55019A647bA501005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdminOwner (0x7871d1187A97cbbE40710aC119AA3d412944e4Fe)\n +++ description: None\n```"
}
]
},
{
"id": "1a8c413b",
"date": "Wed, 05 Jun 2024 10:52:13 GMT",
"timestamp": 1717584733,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract FeesCollector (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa)\n +++ description: None\n```"
}
]
},
{
"id": "f0162ec3",
"date": "Wed, 15 May 2024 13:52:02 GMT",
"timestamp": 1715781122,
"description": "One signer of the SynthetixMultisig (governing the SNX escrow) has been replaced: `0xEde8a407913A874Dd7e3d5B731AFcA135D30375E` replaced by `0xe2163dd599067919d1e9108929b568Bf41D3A420`.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n +++ description: None\n values.getOwners.10:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.9:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.8:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.7:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.6:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.5:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.4:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.getOwners.3:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n values.getOwners.2:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.getOwners.1:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n values.getOwners.0:\n- \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n+ \"0xe2163dd599067919d1e9108929b568Bf41D3A420\"\n }\n```"
}
]
},
{
"id": "234c8021",
"date": "Fri, 12 Apr 2024 12:08:01 GMT",
"timestamp": 1712923681,
"description": "Summary and rationale of the changes: \n\n### SystemConfig\n\nThe SystemConfig now contains the addresses of all the contracts.\n\n### OptimismPortal\n\nThe L2OutputOracle and the SystemConfig variables are no longer immutable. They're only modifiable via an upgrade, but now there is the advantage that different chains can share the same implementation: if they are immutable, the address is hardcoded into the bytecode instead, but now the only things that changes is the state of the proxy.\n\n### L2OutputOracle\n\nImmutable variables, including the challenger and the proposer are no longer immutable.\n\n### L1StandardBridge\n\nThe messenger and other bridge on L2 are no longer immutable.\n\n### L1CrossDomainMessenger\n\nThe OptimismPortal variable is no longer immutable.",
"isHighSeverity": true,
"changeCount": 37,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n implementations.0:\n- \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n+ \"0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1\"\n values.version:\n- \"1.11.0\"\n+ \"1.12.0\"\n values.BATCH_INBOX_SLOT:\n+ \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n+ \"0xFF00000000000000000000000000000000000010\"\n values.L1_CROSS_DOMAIN_MESSENGER_SLOT:\n+ \"0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636\"\n values.L1_ERC_721_BRIDGE_SLOT:\n+ \"0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7\"\n values.L1_STANDARD_BRIDGE_SLOT:\n+ \"0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376\"\n values.l1CrossDomainMessenger:\n+ \"0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1\"\n values.l1ERC721Bridge:\n+ \"0x5a7749f83b81B301cAb5f48EB8516B986DAef23D\"\n values.l1StandardBridge:\n+ \"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1\"\n values.L2_OUTPUT_ORACLE_SLOT:\n+ \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n+ \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT:\n+ \"0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c\"\n values.OPTIMISM_PORTAL_SLOT:\n+ \"0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac\"\n values.optimismMintableERC20Factory:\n+ \"0x75505a97BD334E7BD3C476893285569C4136Fa0F\"\n values.optimismPortal:\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n values.START_BLOCK_SLOT:\n+ \"0xa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb19f\"\n values.startBlock:\n+ 17422444\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: None\n upgradeability.implementation:\n- \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n implementations.0:\n- \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.otherMessenger:\n+ \"0x4200000000000000000000000000000000000007\"\n }\n```\n\n```diff\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: None\n upgradeability.implementation:\n- \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n implementations.0:\n- \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.version:\n- \"2.0.0\"\n+ \"2.1.0\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n implementations.0:\n- \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n+ \"0x2D778797049FE9259d947D1ED8e5442226dFB589\"\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.nonce:\n- 1\n+ 2\n }\n```\n\n```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n +++ description: None\n upgradeability.implementation:\n- \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n implementations.0:\n- \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n+ \"0xF243BEd163251380e78068d317ae10f26042B292\"\n values.version:\n- \"1.7.0\"\n+ \"1.8.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5a7749f83b81B301cAb5f48EB8516B986DAef23D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x75505a97BD334E7BD3C476893285569C4136Fa0F)\n +++ description: None\n```"
}
]
},
{
"id": "c1fdae5b",
"date": "Thu, 14 Mar 2024 00:15:18 GMT",
"timestamp": 1710375318,
"description": "Optimism uses blobs",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n values.opStackDA.isSequencerSendingBlobTx:\n- false\n+ true\n values.overhead:\n- 188\n+ 0\n values.scalar:\n- 684000\n+ \"452312848583266388373324160190187140051835877600158453279134670530344387928\"\n }\n```"
}
]
},
{
"id": "34096a96",
"date": "Wed, 06 Mar 2024 22:46:02 GMT",
"timestamp": 1709765162,
"description": "Introduced SuperchainConfig contract, able to pause the following functions:\nOptimismPortal.proveWithdrawalTransaction()\nOptimismPortal.finalizeWithdrawalTransaction()\nL1CrossDomainMessenger.relayMessage()\nStandardBridge.finalizeBridgeERC20()\nStandardBridge.finalizeBridgeETH()\nL1ERC721Bridge.finalizeBridgeERC721().",
"isHighSeverity": true,
"changeCount": 34,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x229047fed2591dbec1eF1118d64F7aF3dB9EB290) {\n +++ description: None\n upgradeability.implementation:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n implementations.0:\n- \"0x5efa852e92800D1C982711761e45c3FE39a2b6D8\"\n+ \"0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314\"\n values.version:\n- \"1.3.0\"\n+ \"1.11.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1) {\n +++ description: None\n upgradeability.implementation:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n implementations.0:\n- \"0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43\"\n+ \"0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6\"\n values.version:\n- \"1.4.0\"\n+ \"2.2.0\"\n values.paused:\n+ false\n values.portal:\n+ \"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L1StandardBridge (0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1) {\n +++ description: None\n upgradeability.implementation:\n- \"0xBFB731Cd36D26c2a7287716DE857E4380C73A64a\"\n+ \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n implementations.0:\n- \"0xBFB731Cd36D26c2a7287716DE857E4380C73A64a\"\n+ \"0x566511a1A09561e2896F8c0fD77E8544E59bFDB0\"\n values.version:\n- \"1.1.0\"\n+ \"2.0.0\"\n values.otherBridge:\n+ \"0x4200000000000000000000000000000000000010\"\n values.paused:\n+ false\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract OptimismPortal (0xbEb5Fc579115071764c7423A4f12eDde41f106Ed) {\n +++ description: None\n upgradeability.implementation:\n- \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n+ \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n implementations.0:\n- \"0x28a55488fef40005309e2DA0040DbE9D300a64AB\"\n+ \"0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de\"\n values.version:\n- \"1.6.0\"\n+ \"2.4.0\"\n values.guardian:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.l2Oracle:\n+ \"0xdfe97868233d1aa22e815a266982f2cf17685a27\"\n values.superchainConfig:\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.systemConfig:\n+ \"0x229047fed2591dbec1eF1118d64F7aF3dB9EB290\"\n }\n```\n\n```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.nonce:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n +++ description: None\n upgradeability.implementation:\n- \"0xd2E67B6a032F0A9B1f569E63ad6C38f7342c2e00\"\n+ \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n implementations.0:\n- \"0xd2E67B6a032F0A9B1f569E63ad6C38f7342c2e00\"\n+ \"0xDb5d932AF15D00F879CaBEbf008caDAAAa691e06\"\n values.version:\n- \"1.3.0\"\n+ \"1.7.0\"\n values.challenger:\n+ \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n values.finalizationPeriodSeconds:\n+ 604800\n values.l2BlockTime:\n+ 2\n values.proposer:\n+ \"0x473300df21D047806A082244b417f96b32f13A33\"\n values.submissionInterval:\n+ 1800\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: None\n```"
}
]
},
{
"id": "db0d2b31",
"date": "Mon, 12 Feb 2024 08:28:31 GMT",
"timestamp": 1707726511,
"description": "The Security Council is introduced, but with a 4/13 threshold. Now the multisig owning the ProxyAdmin is a 2/2 with the Foundation multisig and the Security Council multisig.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04) {\n values.owner:\n- \"0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract FoundationMultisig_1 (0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n }\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n }\n```"
}
]
},
{
"id": "926d8522",
"date": "Mon, 08 Jan 2024 11:19:28 GMT",
"timestamp": 1704712768,
"description": "One owner is removed from SynthetixMultisig (now 5/11).",
"isHighSeverity": false,
"changeCount": 9,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n values.getOwners[11]:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.10:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.9:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.8:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.7:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.6:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.5:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.4:\n- \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.0:\n- \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n+ \"0x26E10fF641839cA457695CE955Cb90657D6E3F53\"\n }\n```"
}
]
},
{
"id": "ca61cf40",
"date": "Wed, 03 Jan 2024 13:33:11 GMT",
"timestamp": 1704288791,
"description": "SynthetixMultisig has removed one owner. We are not showing it on the frontend. If it changes often, we can ignore it but for now I'll leave it as it is.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SynthetixMultisig (0xEb3107117FEAd7de89Cd14D463D340A2E6917769) {\n values.getOwners[12]:\n- \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.11:\n- \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n+ \"0xEde8a407913A874Dd7e3d5B731AFcA135D30375E\"\n values.getOwners.10:\n- \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n+ \"0x562948111d50BF039A39Eea48D127f2Ae51ddF02\"\n values.getOwners.9:\n- \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n+ \"0x1dd532CF7603a60C3ec91360f273DA3Db38545aB\"\n values.getOwners.8:\n- \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n+ \"0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd\"\n values.getOwners.7:\n- \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n+ \"0x347c3190bD015FBD0e47fb90AA4917138A8A32FE\"\n values.getOwners.6:\n- \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n+ \"0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211\"\n values.getOwners.5:\n- \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n+ \"0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8\"\n values.getOwners.4:\n- \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n+ \"0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947\"\n values.getOwners.3:\n- \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n+ \"0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC\"\n values.getOwners.2:\n- \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n+ \"0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0\"\n values.getOwners.1:\n- \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n+ \"0x0B67bab43157e53D21965Af0d83f83BeD9553E0a\"\n values.getOwners.0:\n- \"0x28Ed18Bd77A061E0A886a2a8FFb91da95FF03E56\"\n+ \"0xd9b891AB93C210eafa46c61fAeb53836F99aa35B\"\n }\n```"
}
]
},
{
"id": "2c04a739",
"date": "Tue, 26 Sep 2023 08:05:22 GMT",
"timestamp": 1695715522,
"description": "",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0xdfe97868233d1aa22e815a266982f2cf17685a27) {\n values.deletedOutputs:\n+ []\n }\n```"
}
]
}
]
+83 -75
{
"clusteredEventCount": 22,
"clusteredEventCount": 23,
"contracts": [
{
"name": "L2CrossDomainMessenger",
"address": "oeth:0x4200000000000000000000000000000000000007",
"name": "DelayedWETH",
"address": "eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162",
"isVerified": true,
"ossifyingSince": 1783526401,
"ossifyingSince": 1790268683,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2StandardBridge",
"address": "oeth:0x4200000000000000000000000000000000000010",
"name": "SystemConfig",
"address": "eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"ossifyingSince": 1790268683,
"codeChangeCount": 12,
"stateChangeCount": 0
},
{
"name": "L2ToL1MessagePasser",
"address": "oeth:0x4200000000000000000000000000000000000016",
"name": "AnchorStateRegistry",
"address": "eth:0x23B2C62946350F4246f9f9D027e071f0264FD113",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"ossifyingSince": 1790268683,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1",
"isVerified": true,
"ossifyingSince": 1790268683,
"codeChangeCount": 12,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "oeth:0x4200000000000000000000000000000000000018",
"name": "ETHLockbox",
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"isVerified": true,
"ossifyingSince": 1783526401,
"ossifyingSince": 1790268683,
"codeChangeCount": 2,
"stateChangeCount": 1
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x1B6DBF05EaF22d4E70dC993e8a19dd9F3dcb3162",
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 0,
"ossifyingSince": 1790268683,
"codeChangeCount": 6,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290",
"name": "OptimismPortal2",
"address": "eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed",
"isVerified": true,
"ossifyingSince": 1782428747,
"ossifyingSince": 1790268683,
"codeChangeCount": 11,
"stateChangeCount": 0
"stateChangeCount": 1
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x23B2C62946350F4246f9f9D027e071f0264FD113",
"name": "DisputeGameFactory",
"address": "eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 3,
"stateChangeCount": 1
"ossifyingSince": 1790268683,
"codeChangeCount": 7,
"stateChangeCount": 8
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1",
"name": "SuperPermissionedDisputeGame",
"address": "eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 11,
"ossifyingSince": 1788049691,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ETHLockbox",
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"name": "SuperFaultDisputeGame",
"address": "eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208",
"isVerified": true,
"ossifyingSince": 1782428747,
"ossifyingSince": 1788049679,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2CrossDomainMessenger",
"address": "oeth:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"name": "L2StandardBridge",
"address": "oeth:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 5,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L1StandardBridge",
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"name": "L2ToL1MessagePasser",
"address": "oeth:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 8,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed",
"name": "L2ProxyAdmin",
"address": "oeth:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 10,
"ossifyingSince": 1783526401,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "DisputeGameFactory",
"address": "eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9",
"name": "L1StandardBridge",
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 6,
"stateChangeCount": 7
"codeChangeCount": 8,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x2DDA3584b51eF5236f7726Dea5A0FB6B3cA94AeC",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"isVerified": true,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MintManagerOwner",
"address": "oeth:0x2A82Ae142b2e62Cb7D10b55E323ACB1Cab663a26",
"isVerified": true,
"ossifyingSince": 1775575311,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "SafeL2",
"address": "oeth:0x3F3Cd78Ef9Bd85961C0729E6BbB11E94Ca6f61D2",
"isVerified": true,
"ossifyingSince": 1770219757,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OpFoundationUpgradeSafe",
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "SaferSafes",
"address": "oeth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596903,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1764596735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Guardian Multisig",
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"isVerified": true,
"ossifyingSince": 1753380539,
"codeChangeCount": 0,
"stateChangeCount": 4
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1748963099,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Security Council",
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"isVerified": true,
"ossifyingSince": 1718045303,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1707514547,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "SuperchainProxyAdminOwner",
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"isVerified": true,
"ossifyingSince": 1707420875,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0xdE1FCfB0851916CA5101820A69b13a4E276bd81F",
"isVerified": true,
"ossifyingSince": 1686075851,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "OPToken",
"address": "oeth:0x4200000000000000000000000000000000000042",
"isVerified": true,
"ossifyingSince": 1665503636,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "MintManager",
"address": "oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005",
"isVerified": true,
"ossifyingSince": 1665174739,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1665503636,
1686067127,
1696542003,
1707514547,
1708983851,
1712868599,
1718037779,
1720551167,
1726016099,
1733920163,
1736352527,
1737729695,
1743612623,
1745511383,
1746628403,
1753378247,
1759422923,
1764092795,
1765898063,
1769109083,
1770667859,
1775575311,
1782428747,
1783526401
1783526401,
1790268683
],
"criticalChangesPerYear": 7.333333333333333,
"criticalChangesPerYear": 7.666666666666667,
"criticalUpdates": [
{
"id": "db0d2b31",
"type": "state"
},
{
"id": "34096a96",
"type": "code"
},
{
"id": "234c8021",
"type": "code"
},
{
"id": "aeff10bd",
"type": "state"
},
{
"id": "d86b3fe1",
"type": "state"
},
{
"id": "fd9b3eaa",
"type": "state"
},
{
"id": "62284543",
"type": "code"
},
{
"id": "24b38107",
"type": "code"
},
{
"id": "793e7ea6",
"type": "code"
},
{
"id": "9ecac755",
"type": "code"
},
{
"id": "5a491673",
"type": "code"
},
{
"id": "e7f01124",
"type": "code"
},
{
"id": "5871bec8",
"type": "state"
},
{
"id": "3de2546f",
"type": "state"
},
{
"id": "4bd2123b",
"type": "state"
},
{
"id": "60c3fc67",
"type": "code"
},
{
"id": "637b2364",
"type": "state"
}
],
"lastCriticalChange": 1783526401,
"maturity": 0.6157976077061502,
"lastCriticalChange": 1790268683,
"maturity": 0.2971310943673494,
"perimeterResets": [
1624400033,
1636665399,
1650712171,
1650979836,
1665174739,
1665503636,
1685377355,
1686067127,
1696542003,
1705954799,
1707420419,
1707514547,
1708983851,
1712868599,
1715887055,
1716902219,
1717149791,
1718037779,
1720551167,
1726016099,
1733920163,
1736352527,
1737729695,
1743612623,
1743758251,
1745511383,
1746628403,
1748963099,
1753378247,
1759422923,
1764092795,
1764322695,
1764596735,
1765898063,
1769109083,
1770219757,
1770667859,
1770912106,
1775575311,
1778190599,
1782428747,
1783526401
1782850566,
1783526401,
1788049679,
1790268683
],
"projectClockStart": 1783526401,
"score": 62,
"projectClockStart": 1790268683,
"score": 30,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 10,
"contracts": [
{
"name": "PrivacyPoolsEntrypoint",
"address": "eth:0x6818809EefCe719E480a7526D76bD3e561526b46",
"isVerified": true,
"ossifyingSince": 1770833867,
"codeChangeCount": 1,
"stateChangeCount": 10
},
{
"name": "PrivacyPoolBOLD",
"address": "eth:0xb4b5Fd38Fd4788071d7287e3cB52948e0d10b23E",
"isVerified": true,
"ossifyingSince": 1770806867,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolFxUSD",
"address": "eth:0xD14F4B36E1D1D98c218db782c49149876042BC56",
"isVerified": true,
"ossifyingSince": 1765446455,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolWOETH",
"address": "eth:0x7d2959bCFb936a84531518e8391DdBa844e03ebE",
"isVerified": true,
"ossifyingSince": 1756377743,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolFrxUSD",
"address": "eth:0xC6C769fac7AABEadd31a03fAe5Ca0Ec5B4C50f84",
"isVerified": true,
"ossifyingSince": 1754583623,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSD1",
"address": "eth:0xc0A8Bc0F4F982b4d4f1fFae8F4FCCb58c9B29c98",
"isVerified": true,
"ossifyingSince": 1754583179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDe",
"address": "eth:0xe6D36B33b00A7C0cB0C2a8d39D07e7dB0c526Abc",
"isVerified": true,
"ossifyingSince": 1754583083,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolWBTC",
"address": "eth:0xF973f4B180A568157Cd7A0E6006449139E6Bfc32",
"isVerified": true,
"ossifyingSince": 1753975703,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolWstETH",
"address": "eth:0x1A604E9DFa0EFDC7FFda378AF16Cb81243b61633",
"isVerified": true,
"ossifyingSince": 1753975583,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDC",
"address": "eth:0xb419c2867aB3CBc78921660cB95150d95A94ce86",
"isVerified": true,
"ossifyingSince": 1753353035,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDT",
"address": "eth:0xe859C0bD25f260BaEE534Fb52e307D3b64D24572",
"isVerified": true,
"ossifyingSince": 1753352915,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolDAI",
"address": "eth:0x1c31C03B8CB2EE674D0F11De77135536db828257",
"isVerified": true,
"ossifyingSince": 1752848471,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolSUSDS",
"address": "eth:0xBBdA2173CDFEA1c3bD7F2908798F1265301d750c",
"isVerified": true,
"ossifyingSince": 1752782999,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolUSDS",
"address": "eth:0x05e4DBD71B56861eeD2Aaa12d00A797F04B5D3c0",
"isVerified": true,
"ossifyingSince": 1752503003,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PrivacyPoolETH",
"address": "eth:0xF241d57C6DebAe225c0F2e6eA1529373C9A9C9fB",
"isVerified": true,
"ossifyingSince": 1743265259,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RagequitVerifier",
"address": "eth:0xa45ACa8604a73D80C551fAad6355A5c3A5565eC6",
"isVerified": true,
"ossifyingSince": 1743265211,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "WithdrawalVerifier",
"address": "eth:0x022891F938Ae7fDC8Ab9Ead0FBf50aBA8C897D6d",
"isVerified": true,
"ossifyingSince": 1743265199,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Privacy Pools Multisig",
"address": "eth:0xAd7f9A19E2598b6eFE0A25C84FB1c87F81eB7159",
"isVerified": true,
"ossifyingSince": 1742919851,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1743265271,
1747945823,
1752600335,
1752792059,
1753360031,
1753994843,
1754667935,
1756405043,
1765812563,
1770833867
],
"criticalChangesPerYear": 6.568527828700392,
"criticalChangesPerYear": 6.568527281445773,
"criticalUpdates": [],
"lastCriticalChange": 1770833867,
"maturity": 0.750740406053233,
"maturity": 0.7507404115112809,
"perimeterResets": [
1742919851,
1743265199,
1747945823,
1752503003,
1752600335,
1752782999,
1753352915,
1753975583,
1754583083,
1756377743,
1765446455,
1765812563,
1770806867
],
"projectClockStart": 1770833867,
"score": 75,
"windowSeconds": 48010758
"windowSeconds": 48010762
}
+1 -1
+1 -1
{
"clusteredEventCount": 2,
"contracts": [
{
"name": "RailgunSmartWallet",
"address": "eth:0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9",
"isVerified": true,
"ossifyingSince": 1786715435,
"codeChangeCount": 4,
"stateChangeCount": 2
},
{
"name": "Delegator",
"address": "eth:0xB6d513f6222Ee92Fff975E901bd792E2513fB53B",
"isVerified": true,
"ossifyingSince": 1753717703,
"codeChangeCount": 0,
"stateChangeCount": 5
},
{
"name": "VerificationKeySetter_64DA",
"address": "eth:0x64DA0892E8E24fECa6Eb5E3D8cbf2D9b6Fbe7598",
"isVerified": true,
"ossifyingSince": 1752516023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "VerificationKeySetter_9086",
"address": "eth:0x9086aFC6FC88667d4031Cabd556AfDD0E3903B46",
"isVerified": true,
"ossifyingSince": 1677376967,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Voting",
"address": "eth:0xc480F68A3dcC3EdD82134FAB45C14A0FcF1dA3CC",
"isVerified": true,
"ossifyingSince": 1662770918,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x4F8E20f55f879beE7Bc010Bd6bD2138B34aC65c8",
"isVerified": true,
"ossifyingSince": 1625961245,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Staking",
"address": "eth:0xEE6A649Aa3766bD117e12C161726b693A1B2Ee20",
"isVerified": true,
"ossifyingSince": 1625670240,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Rail Token",
"address": "eth:0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D",
"isVerified": true,
"ossifyingSince": 1625318205,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1628326800,
1652034772,
1665068219,
1669738223,
1678360187,
1753717703,
1786715435
],
"criticalChangesPerYear": 0.6666666666666666,
"criticalUpdates": [],
"lastCriticalChange": 1786715435,
"maturity": 0.5401576037869379,
"maturity": 0.5401576789052186,
"perimeterResets": [
1625318205,
1625670240,
1625810239,
1625961245,
1628326800,
1652034772,
1662770918,
1665068219,
1669738223,
1677376967,
1678360187,
1752516023,
1753717703,
1786715435
],
"projectClockStart": 1786715435,
"score": 54,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 7,
"contracts": [
{
"name": "AddressManager",
"address": "eth:0x6FFbcf498CcF81111f397fa6065dEA13A47E573C",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1StandardBridge",
"address": "eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"isVerified": true,
"ossifyingSince": 1789973519,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A",
"isVerified": true,
"ossifyingSince": 1788777107,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "DisputeGameFactory",
"address": "eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a",
"isVerified": true,
"ossifyingSince": 1782901175,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "SuperchainConfig",
"address": "eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c",
"isVerified": true,
"ossifyingSince": 1780988555,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "RoninConduitOwner",
"address": "eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607",
"isVerified": true,
"ossifyingSince": 1779285407,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "L1ERC721Bridge",
"address": "eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e",
"isVerified": true,
"ossifyingSince": 1771964639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34",
"isVerified": true,
"ossifyingSince": 1771964591,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1779285407,
1779399734,
1780066583,
1780988555,
1782901175,
1788777107,
1789973519
],
"criticalChangesPerYear": 17.90125554173655,
"criticalChangesPerYear": 17.901249735132833,
"criticalUpdates": [
{
"id": "3f3ba4f2",
"type": "state"
},
{
"id": "8d0ae0ed",
"type": "state"
},
{
"id": "f6059a61",
"type": "state"
},
{
"id": "8c7d17d4",
"type": "state"
}
],
"lastCriticalChange": 1789973519,
"maturity": 0.3315859176691315,
"maturity": 0.3315861785747924,
"perimeterResets": [
1680797639,
1718237363,
1740762647,
1751494331,
1755283775,
1756842743,
1762212215,
1766424179,
1771964591,
1778240927,
1779285407,
1779399734,
1780027571,
1780988555,
1782901175,
1788777107,
1789973519
],
"projectClockStart": 1789973519,
"score": 33,
"windowSeconds": 12331649
"windowSeconds": 12331653
}
+3 -3
+3 -3
{
"clusteredEventCount": 26,
"contracts": [
{
"name": "MultipleVersionRollupVerifier",
"address": "eth:0x4CEA3E866e7c57fD75CB0CA3E9F5f1151D4Ead3F",
"isVerified": true,
"ossifyingSince": 1790041547,
"codeChangeCount": 0,
"stateChangeCount": 10
},
{
"name": "ZkEvmVerifierPostFeynman",
"address": "eth:0x7966FE0De13e3B81533470640Ac489223476B254",
"isVerified": true,
"ossifyingSince": 1789438643,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PlonkVerifierOpenVMv2",
"address": "eth:0x0d2A59fd7060460F07c30C2817b4E79576da01C6",
"isVerified": true,
"ossifyingSince": 1789438487,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Scroll Multisig 3",
"address": "scr:0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe",
"isVerified": true,
"ossifyingSince": 1779270521,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Scroll Multisig 3",
"address": "eth:0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe",
"isVerified": true,
"ossifyingSince": 1779270407,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "ScrollAdminMultisig",
"address": "scr:0xcca54B0916Cee2186b47E9709BEdcb7041A8F761",
"isVerified": true,
"ossifyingSince": 1774419711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollAdminMultisig",
"address": "eth:0xcca54B0916Cee2186b47E9709BEdcb7041A8F761",
"isVerified": true,
"ossifyingSince": 1774419707,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1GatewayRouter",
"address": "eth:0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6",
"isVerified": true,
"ossifyingSince": 1770602759,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ZkEvmVerifierPostFeynman",
"address": "eth:0x4AF7f3aBd780Fbd319c4356a219100A45F85DDb5",
"isVerified": true,
"ossifyingSince": 1764678203,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PlonkVerifierGalileo",
"address": "eth:0x749fC77A1a131632a8b88e8703E489557660C75e",
"isVerified": true,
"ossifyingSince": 1764678143,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AgoraGovernor",
"address": "scr:0x2f3F2054776bd3C2fc30d750734A8F539Bb214f0",
"isVerified": true,
"ossifyingSince": 1764490172,
"codeChangeCount": 1,
"stateChangeCount": 3
},
{
"name": "L1MessageQueueV2",
"address": "eth:0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1ScrollMessenger",
"address": "eth:0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1WETHGateway",
"address": "eth:0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1ETHGateway",
"address": "eth:0x7F2b8C31F88B6006c382775eea88297Ec1e3E905",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "SystemConfig",
"address": "eth:0x8432728A257646449245558B8b7Dbe51A16c7a4D",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "ScrollChain",
"address": "eth:0xa13BAF47339d63B743e7Da8741db5456DAc1E556",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 7,
"stateChangeCount": 1
},
{
"name": "L1CustomERC20Gateway",
"address": "eth:0xb2b10a289A229415a124EFDeF310C10cb004B6ff",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1StandardERC20Gateway",
"address": "eth:0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9",
"isVerified": true,
"ossifyingSince": 1755485183,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "ZkEvmVerifierPostEuclid-2",
"address": "eth:0xc084a6De8b0F2742396572d6f110eC87ca9329bA",
"isVerified": true,
"ossifyingSince": 1754694995,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkEvmVerifierPostFeynman",
"address": "eth:0xa8d4702Aa5c09AF5dD1323E1842a43789021F485",
"isVerified": true,
"ossifyingSince": 1753339811,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PlonkVerifierPostEuclid-2",
"address": "eth:0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4",
"isVerified": true,
"ossifyingSince": 1753339799,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2PauseController",
"address": "scr:0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd",
"isVerified": true,
"ossifyingSince": 1753067278,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PauseController",
"address": "eth:0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b",
"isVerified": true,
"ossifyingSince": 1753067003,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EnforcedTxGateway",
"address": "eth:0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d",
"isVerified": true,
"ossifyingSince": 1745301695,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "TimelockEmergency",
"address": "scr:0xA77D19C1F2B06C9aeA9bE88C17B771a33892734f",
"isVerified": true,
"ossifyingSince": 1730295517,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCEmergencyScroll",
"address": "scr:0x1f807E2E8ab2e61230a0A9C271F90242831278b4",
"isVerified": true,
"ossifyingSince": 1730295071,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCEmergency",
"address": "eth:0x0CD4c0F24a0A9f3E2Fe80ed385D8AD5a2FfECA44",
"isVerified": true,
"ossifyingSince": 1730294447,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockEmergency",
"address": "eth:0x826714adD4dDA2b8750794A467C892c0Cd49216b",
"isVerified": true,
"ossifyingSince": 1730294447,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCSlow",
"address": "eth:0x3f9041350B661c74C6CbE440c8Bd6BC4C168a9fd",
"isVerified": true,
"ossifyingSince": 1729781135,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockSCSlow",
"address": "scr:0x79D83D1518e2eAA64cdc0631df01b06e2762CC14",
"isVerified": true,
"ossifyingSince": 1725377342,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "scr:0x82e58e20Da6ecF4B07649C9B2237FAf27f02bC81",
"isVerified": true,
"ossifyingSince": 1725377322,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProposalTypesConfigurator",
"address": "scr:0xfDa7cF1D9C51b3fab41E2e4093374DD8715D640E",
"isVerified": true,
"ossifyingSince": 1725377313,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SCRToken",
"address": "scr:0xd29687c813D741E2F938F4aC377128810E217b1b",
"isVerified": true,
"ossifyingSince": 1725336741,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "scr:0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e",
"isVerified": true,
"ossifyingSince": 1725336741,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L1USDCGateway",
"address": "eth:0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B",
"isVerified": true,
"ossifyingSince": 1708590023,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2USDCGateway",
"address": "scr:0x33B60d5Dd260d453cAC3782b0bDC01ce84672142",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2CustomERC20Gateway",
"address": "scr:0x64CCBE37c9A82D85A1F2E74649b7A42923067988",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ETHGateway",
"address": "scr:0x6EA73e05AdC79974B931123675ea8F78FfdacDF0",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2WETHGateway",
"address": "scr:0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2ScrollMessenger",
"address": "scr:0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "L2GatewayRouter",
"address": "scr:0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A",
"isVerified": true,
"ossifyingSince": 1708589325,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "Scroll Multisig 2",
"address": "scr:0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc",
"isVerified": true,
"ossifyingSince": 1696921130,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DaiEscrow",
"address": "eth:0x67260A8B73C5B77B55c1805218A42A7A6F98F515",
"isVerified": true,
"ossifyingSince": 1696920095,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MasterMinter",
"address": "scr:0xb5cE5F2277CFc547F48aA8263838FAEd424ae4BE",
"isVerified": true,
"ossifyingSince": 1696919091,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Scroll USDC",
"address": "scr:0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
"isVerified": true,
"ossifyingSince": 1696919085,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockFast",
"address": "scr:0x2b14d0E4b042d11C7e3Fc653132a2c82EFa7d376",
"isVerified": true,
"ossifyingSince": 1696918064,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollOwner",
"address": "scr:0x13D24a7Ff6F5ec5ff0e9C40Fc3B8C9c01c65437B",
"isVerified": true,
"ossifyingSince": 1696918061,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollStandardERC20Factory",
"address": "scr:0x66e5312EDeEAef6e80759A0F789e7914Fb401484",
"isVerified": true,
"ossifyingSince": 1696917920,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollStandardERC20",
"address": "scr:0xC7d86908ccf644Db7C69437D5852CedBC1aD3f69",
"isVerified": true,
"ossifyingSince": 1696917920,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2GatewayRouter",
"address": "scr:0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79",
"isVerified": true,
"ossifyingSince": 1696917917,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026",
"isVerified": true,
"ossifyingSince": 1696917917,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2MessageQueue",
"address": "scr:0x5300000000000000000000000000000000000000",
"isVerified": true,
"ossifyingSince": 1696917614,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockFast",
"address": "eth:0x0e58939204eEDa84F796FBc86840A50af10eC4F4",
"isVerified": true,
"ossifyingSince": 1696782479,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ScrollOwner",
"address": "eth:0x798576400F7D662961BA15C6b3F3d813447a26a6",
"isVerified": true,
"ossifyingSince": 1696782479,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072",
"isVerified": true,
"ossifyingSince": 1696782311,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Scroll Multisig 2",
"address": "eth:0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc",
"isVerified": true,
"ossifyingSince": 1696661411,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1708589325,
1708689890,
1714341995,
1719915047,
1724196995,
1724412314,
1725376159,
1729119781,
1744728443,
1745301695,
1745564819,
1745836741,
1748243099,
1750248225,
1753093944,
1754391250,
1754761103,
1755485183,
1756488827,
1764490172,
1765784711,
1770602759,
1771825979,
1779270407,
1782371087,
1790041547
],
"criticalChangesPerYear": 8.721516402054528,
"criticalChangesPerYear": 8.721516030977542,
"criticalUpdates": [
{
"id": "54877ab0",
"type": "code"
},
{
"id": "ca551251",
"type": "code"
},
{
"id": "64f1e977",
"type": "state"
},
{
"id": "583fc831",
"type": "state"
},
{
"id": "3595ea64",
"type": "state"
},
{
"id": "2193d319",
"type": "state"
},
{
"id": "5133e1b1",
"type": "state"
},
{
"id": "19d658d4",
"type": "state"
},
{
"id": "b135acb2",
"type": "state"
},
{
"id": "9807e3db",
"type": "state"
},
{
"id": "6ed7fbd2",
"type": "state"
},
{
"id": "a0ae31ea",
"type": "state"
},
{
"id": "8d34a425",
"type": "state"
},
{
"id": "dd400141",
"type": "state"
},
{
"id": "316f6807",
"type": "state"
},
{
"id": "5986410f",
"type": "state"
},
{
"id": "3d076cfd",
"type": "state"
},
{
"id": "82e0b905",
"type": "state"
},
{
"id": "bc8d7ec1",
"type": "state"
},
{
"id": "555a0d79",
"type": "state"
}
],
"lastCriticalChange": 1790041547,
"maturity": 0.3191351454751506,
"maturity": 0.319135442049238,
"perimeterResets": [
1696660175,
1696782311,
1696917614,
1697113349,
1708589325,
1708689890,
1714341995,
1719915047,
1722833675,
1724196995,
1724412314,
1725336741,
1729119781,
1729781135,
1730294447,
1732607939,
1742476115,
1744728443,
1745301695,
1745564819,
1745836741,
1748243099,
1750248225,
1752663515,
1753067003,
1753339799,
1754391250,
1754694995,
1755485183,
1756488827,
1764490172,
1764678143,
1765784711,
1770602759,
1771825979,
1774419707,
1779270407,
1780317383,
1782371087,
1782469580,
1789438487,
1790041547
],
"projectClockStart": 1790041547,
"score": 32,
"windowSeconds": 94013009
"windowSeconds": 94013013
}
+399 -182
+28 -0
[
{
"address": "0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"sinceTimestamp": 1753380095,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x67B4de6FfA66EF201Ea6099A89cA397D56622E31#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"sinceTimestamp": 1733134751,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xeb9bf100225c214Efc3E7C651ebbaDcF85177607#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"sinceTimestamp": 1735038311,
"tokens": [
"USDC"
],
"contract": {
"name": "Custom USDC Escrow",
"isVerified": true,
"address": "eth:0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75"
],
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735038311,
"transactionHash": "0x7bff56936a70f2b482f4b32df6bcfcc5c76b64aae40f7e8a4c5c666c328fa44d",
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
}
],
"description": "Custom Circle governed escrow for USDC bridged to Soneium.",
"url": "https://etherscan.io/address/0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"sinceTimestamp": 1737366215,
"tokens": [
"stETH",
"wstETH"
],
"contract": {
"name": "Custom (w)stETH Escrow.",
"isVerified": true,
"address": "eth:0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737366215,
"transactionHash": "0xbd91ce5bc5a8c80796c11ac29b5aa78e37ad5f7b089c9a821d2ea6dbc6c60342",
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
}
],
"description": "Custom Lido-governed escrow for bridging (w)stETH via canonical messaging to Soneium.",
"url": "https://etherscan.io/address/0x2F543A7C9cc80Cc2427c892B96263098d23ee55a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+3 -9
{
"self": {
"stateValidation": {
"value": "Fraud proofs (INT)",
"description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. Only one entity is currently allowed to propose and submit challenges, as only permissioned games are currently allowed.",
"executionDelay": 302400,
"challengeDelay": 302400,
"value": "None",
"description": "State roots are proposed as super roots by a permissioned proposer. The respected game type exposes no challenger, VM or challenge clock, so proposals cannot be disputed by execution. Validity is governed by the AnchorStateRegistry, and the Guardian can blacklist games and change the respected game type.",
"sentiment": "bad",
"orderHint": null,
"initialBond": {
"value": "0.0"
},
"permissioned": true,
"defenderAdvantage": "not-applicable",
"secondLine": "3d 12h challenge period\n+ 3d 12h execution delay"
"defenderAdvantage": "not-applicable"
},
"exitWindow": {
"value": "None",
"description": "There is no exit window for users to exit in case of unwanted upgrades as they are initiated by the Security Council with instant upgrade power and without proper notice.",
"sentiment": "bad",
"orderHint": -604800
},
"proposerFailure": {
"value": "Cannot withdraw",
"description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.",
"sentiment": "bad",
"orderHint": null
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on Ethereum L1.",
"sentiment": "good",
"orderHint": null
},
"sequencerFailure": {
"value": "Self sequence",
"description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There can be up to a 12h delay on this operation.",
"sentiment": "good",
"orderHint": 43200,
"secondLine": "12h delay"
}
}
}
+10 -32
{
"architectureImage": "opstack-rollup-superchain-opfp",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "Derivation: Batch submission - OP Mainnet specs",
"url": "https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission"
},
{
"title": "BatchInbox - address",
"url": "https://etherscan.io/address/0x008dC74CecC9dedA8595B2Fe210cE5979F0BfA8e#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exits",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When a state root containing such transaction is settled, the funds become available for withdrawal on L1 after 3d 12h. Withdrawal inclusion can be proven before state root settlement, but a 7d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 12h to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When a state root containing such transaction is settled, the funds become available for withdrawal on L1 after 3d 12h. Withdrawal inclusion can be proven before state root settlement, but a 7d period has to pass before it becomes actionable. The respected game type carries no on-chain challenge process, so settlement waits only for the delays above. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"risks": [],
"references": [
{
"title": "OptimismPortal2.sol - Etherscan source code, proveWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.",
"risks": [],
"references": [
{
"title": "Introducing EVM Equivalence",
"url": "https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306"
}
]
}
],
"stateDerivation": {
"nodeSoftware": "The rollup node is composed of two software components: [op-node](https://github.com/ethereum-optimism/optimism/tree/develop/op-node), implementing consensus related logic, and [op-geth](https://github.com/ethereum-optimism/op-geth), implementing execution logic. The configuration file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/soneium.toml).",
"compressionScheme": "Data batches are compressed using the [zlib](https://github.com/madler/zlib) algorithm with best compression level.",
"genesisState": "The genesis file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/extra/genesis/mainnet/soneium.json.zst).",
"dataFormat": "The format specification of Sequencer's data batches can be found [here](https://optimism.io/blog/here-s-how-you-can-reproduce-op-mainnet-s-migration-to-bedrock)."
},
"stateValidation": {
"description": "Updates to the system state can be proposed and challenged by permissioned operators only. If a state root passes the challenge period, it is optimistically considered correct and made actionable for withdrawals.",
"description": "State roots are proposed as super roots by a permissioned proposer. The respected game type is the super permissioned game, which carries no bond and exposes no challenge mechanics: validity is governed by the AnchorStateRegistry, and the Guardian can blacklist games and change the respected game type.",
"categories": [
{
"title": "State root proposals",
"description": "Proposers submit state roots as children of the latest confirmed state root (called anchor state), by calling the `create` function in the DisputeGameFactory. A state root can have multiple conflicting children. Each proposal requires a stake, currently set to 0.0 ETH, that can be slashed if the proposal is proven incorrect via a fraud proof. Stakes can be withdrawn only after the proposal has been confirmed. A state root gets confirmed if the challenge period has passed and it is not countered.",
"references": [
{
"title": "OP stack specification: Fault Dispute Game",
"url": "https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#fault-dispute-game"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "no whitelisted challenger disputes an invalid state root before the challenge window expires.",
"isCritical": true
}
]
},
{
"title": "Challenges",
"description": "Challenges are opened to disprove invalid state roots using bisection games. Each bisection move requires a stake that increases expontentially with the depth of the bisection, with a factor of 1.09493. The maximum depth is 73, and reaching it therefore requires a cumulative stake of 0.00 ETH from depth 0. Actors can participate in any challenge by calling the `defend` or `attack` functions, depending whether they agree or disagree with the latest claim and want to move the bisection game forward. Actors that disagree with the top-level claim are called challengers, and actors that agree are called defenders. Each actor might be involved in multiple (sub-)challenges at the same time, meaning that the protocol operates with [full concurrency](https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a). Challengers and defenders alternate in the bisection game, and they pass each other a clock that starts with 3d 12h. If a clock expires, the claim is considered defeated if it was countered, or it gets confirmed if uncountered. Since honest parties can inherit clocks from malicious parties that play both as challengers and defenders (see [freeloader claims](https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#freeloader-claims)), an inherited clock with too little time remaining is generally extended by 3h. The extension is 6h when the next claim is immediately before split depth 30, and 1d 3h (the standard extension plus the 1d oracle challenge period) immediately before the last depth. Along a full-depth path, cumulative extensions can therefore add up to 10d 3h. Since unconfirmed state roots are independent of one another, users can decide to exit with a subsequent confirmed state root if the previous one is delayed. Winners get the entire losers' stake, meaning that sybils can potentially play against each other at no cost. The final instruction found via the bisection game is then executed onchain in the MIPS one step prover contract who determines the winner. The protocol does not enforce valid bisections, meaning that actors can propose correct initial claims and then provide incorrect midpoints. The protocol can be subject to resource exhaustion attacks ([Spearbit 5.1.3](https://github.com/ethereum-optimism/optimism/blob/develop/docs/security-reviews/2024_08_Fault-Proofs-No-MIPS_Spearbit.pdf)).",
"references": [
{
"title": "Fraud Proof Wars: OPFP",
"url": "https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a"
}
]
"description": "Only the permissioned proposer configured in the dispute game factory can create games of the respected type. Each proposal commits to a super root anchored to an L2 timestamp rather than an L2 block number.",
"references": [],
"risks": []
}
]
},
"stateValidationImage": "opfp",
"warning": "The fault proof system is deployed but is not functional. The permissioned dispute game commits to a placeholder absolute prestate (0xdead…) set by OP Stack Upgrade 19, so no dispute can be resolved by execution. Security relies entirely on the permissioned proposer and challenger."
"warning": "The fault proof system is deployed but is not functional. The respected game type is the super permissioned game, which runs no VM and exposes no challenger, bond or challenge clock, so no dispute can be resolved by execution. Security relies entirely on the permissioned proposer, with the Guardian able to blacklist games and change the respected game type."
}
+16 -91
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * ETHLockbox [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Soneium Multisig",
"name": "Soneium Multisig",
"description": "A Multisig with 3/6 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"description": "A Multisig with 3/5 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033",
"type": "Contract",
"isVerified": true,
"name": "0x5091…3033",
"url": "https://etherscan.io/address/0x509182eC226b3B71D36A3255A80EF0b1A9D43033"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba",
"address": "eth:0x0e22018D5D2E676aD5f72F0Ac435b001Eb6d07E0",
"type": "EOA",
"isVerified": true,
"name": "0xd45F…2cba",
"url": "https://etherscan.io/address/0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba"
"name": "0x0e22…07E0",
"url": "https://etherscan.io/address/0x0e22018D5D2E676aD5f72F0Ac435b001Eb6d07E0"
},
{
"address": "eth:0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E",
"address": "eth:0x9c60eE40a77f76E59D92C0F860FE22b581b70587",
"type": "EOA",
"isVerified": true,
"name": "0x94e9…AF7E",
"url": "https://etherscan.io/address/0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E"
"name": "0x9c60…0587",
"url": "https://etherscan.io/address/0x9c60eE40a77f76E59D92C0F860FE22b581b70587"
},
{
"address": "eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65",
"address": "eth:0x989a65FfBe51B22987c08F722Ba09cB3784e7DAd",
"type": "EOA",
"isVerified": true,
"name": "0x556E…7d65",
"url": "https://etherscan.io/address/0x556Eb1b888eF0a02be4360e960824fc5aC197d65"
"name": "0x989a…7DAd",
"url": "https://etherscan.io/address/0x989a65FfBe51B22987c08F722Ba09cB3784e7DAd"
},
{
"address": "eth:0xb9269f274E7Edc73bf3d923E347d0784e4a5e452",
"address": "eth:0xEFe58621C63620CF4d7F6027fD867455e2e8dBdD",
"type": "EOA",
"isVerified": true,
"name": "0xb926…e452",
"url": "https://etherscan.io/address/0xb9269f274E7Edc73bf3d923E347d0784e4a5e452"
"name": "0xEFe5…dBdD",
"url": "https://etherscan.io/address/0xEFe58621C63620CF4d7F6027fD867455e2e8dBdD"
},
{
"address": "eth:0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a",
"address": "eth:0x08968F6Ebf7bfd3987410d5dafd45d59B5537a0e",
"type": "EOA",
"isVerified": true,
"name": "0xD6db…F94a",
"url": "https://etherscan.io/address/0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a"
},
{
"address": "eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea",
"type": "EOA",
"isVerified": true,
"name": "0x1eda…F5ea",
"url": "https://etherscan.io/address/0x1edae2A7C9ECF37319D4E113588d946e9901F5ea"
"name": "0x0896…7a0e",
"url": "https://etherscan.io/address/0x08968F6Ebf7bfd3987410d5dafd45d59B5537a0e"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x6776BE80dBAda6A02B5F2095cF13734ac303B8d1",
"type": "EOA",
"isVerified": true,
"name": "0x6776…B8d1",
"url": "https://etherscan.io/address/0x6776BE80dBAda6A02B5F2095cF13734ac303B8d1",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
}
}
+327 -49
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
}
],
"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* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **owner**: SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1740754535,
"transactionHash": "0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1740754535,
"transactionHash": "0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: Soneium Multisig",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"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 SuperPermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x88e529A6ccd302c948689Cd5156C83D4614FAE92#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5933e323bE8896DfaCd1cD671442F27dAA10a053#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeb9bf100225c214Efc3E7C651ebbaDcF85177607#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737366215,
"transactionHash": "0xbd91ce5bc5a8c80796c11ac29b5aa78e37ad5f7b089c9a821d2ea6dbc6c60342",
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
}
],
"description": "Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2F543A7C9cc80Cc2427c892B96263098d23ee55a#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x4890928941e62e273dA359374b105F803329F473",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
}
],
"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* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4890928941e62e273dA359374b105F803329F473#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "SuperPermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C3eb47cB0174aea522a2a9Ae79487139A53D691#code"
},
{
"name": "ETHLockbox",
"isVerified": true,
"address": "eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x67B4de6FfA66EF201Ea6099A89cA397D56622E31#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCc005DCd857B401e4732E6F7837135A22825cfA#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F#code"
},
{
"name": "L1OpUSDCBridgeAdapter",
"isVerified": true,
"address": "eth:0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75"
],
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735038311,
"transactionHash": "0x7bff56936a70f2b482f4b32df6bcfcc5c76b64aae40f7e8a4c5c666c328fa44d",
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
}
],
"description": "Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e#code"
}
]
},
"escrows": [
{
"address": "0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"sinceTimestamp": 1753380095,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x67B4de6FfA66EF201Ea6099A89cA397D56622E31#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"sinceTimestamp": 1733134751,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xeb9bf100225c214Efc3E7C651ebbaDcF85177607#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"sinceTimestamp": 1735038311,
"tokens": [
"USDC"
],
"contract": {
"name": "Custom USDC Escrow",
"isVerified": true,
"address": "eth:0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75"
],
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735038311,
"transactionHash": "0x7bff56936a70f2b482f4b32df6bcfcc5c76b64aae40f7e8a4c5c666c328fa44d",
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
}
],
"description": "Custom Circle governed escrow for USDC bridged to Soneium.",
"url": "https://etherscan.io/address/0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"sinceTimestamp": 1737366215,
"tokens": [
"stETH",
"wstETH"
],
"contract": {
"name": "Custom (w)stETH Escrow.",
"isVerified": true,
"address": "eth:0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737366215,
"transactionHash": "0xbd91ce5bc5a8c80796c11ac29b5aa78e37ad5f7b089c9a821d2ea6dbc6c60342",
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
}
],
"description": "Custom Lido-governed escrow for bridging (w)stETH via canonical messaging to Soneium.",
"url": "https://etherscan.io/address/0x2F543A7C9cc80Cc2427c892B96263098d23ee55a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1789044630,
"baseTimestamp": 1790862358,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "21232ddf",
"date": "Thu, 01 Oct 2026 13:47:05 GMT",
"timestamp": 1790862358,
"description": "OP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3), executed 2026-09-24.\n\nState roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 5084269 to 1788848425. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 1 → 5, PERMISSIONED_CANNON to SUPER_PERMISSIONED. Game types 0, 1 and 8 were cleared and type 5 is the only type registered; no permissionless type is installed.\n\nThe type 5 game defines only a proposer and an anchor state registry. It carries no bond, runs no VM and has no challenger, so proposals cannot be disputed by execution and the OP Foundation Operations Safe no longer holds a challenger role. Validity is governed by the AnchorStateRegistry, and the Guardian can blacklist games and change the respected game type.\n\nSystemConfig v3.14.2 → v4.0.0 removes the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nThe Soneium Multisig moved from Safe 1.4.1 to Safe 1.5.0 and its signer set was replaced: 6 members reduced to 5, threshold unchanged at 3.\n\nVersion changes and implementation diffs:\n\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- Soneium Multisig implementation rotated: https://disco.l2beat.com/diff/eth:0x41675C099F32341bf84BFc5382aF534df5C7461a/eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b\n- SystemConfig 3.14.2 -> 4.0.0: https://disco.l2beat.com/diff/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- OptimismPortal2 5.6.1 -> 5.8.0: https://disco.l2beat.com/diff/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2/eth:0x1005217ad392DC64CEf501FA1777A27D42166748\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504",
"isHighSeverity": true,
"changeCount": 109,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DelayedWETH (eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47) [opstack/DelayedWETH] {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n values.$pastUpgrades.2:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xE440CC08A71694C8229323803F59024E3144630e\"]]\n values.$upgradeCount:\n- 2\n+ 6\n }\n```\n\n```diff\n- Status: DELETED\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 contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 5\n+ 9\n values.getStartingAnchorRoot.root:\n- \"0x17ce11194e3dd58b940485ebc70141f3654183ceb2700d590a6bc57c4cc7f68c\"\n+ \"0x08a53686fd0b1671ff7b89c3a994582503f15f7be00f0f2e7c9f0d3b187ab124\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 5084269\n+ 1788848425\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"SuperPermissionedDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 1\n+ 5\n }\n```\n\n```diff\n contract Soneium Multisig (eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033) [GnosisSafe] {\n +++ description: None\n sourceHashes.1:\n- \"0xe23c519b7324d6dc9132c8567ac55ae72bdf168c914d22825c7614d822364b0f\"\n+ \"0xb66849da6643e8cd188f73efe4edb32704a1540eda5b1aef77a2217ad2d81f78\"\n values.$implementation:\n- \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n+ \"eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b\"\n values.$members.0:\n- \"eth:0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba\"\n values.$members.1:\n- \"eth:0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n+ \"eth:0x0e22018D5D2E676aD5f72F0Ac435b001Eb6d07E0\"\n values.$members.2:\n- \"eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65\"\n+ \"eth:0x9c60eE40a77f76E59D92C0F860FE22b581b70587\"\n values.$members.3:\n- \"eth:0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n+ \"eth:0x989a65FfBe51B22987c08F722Ba09cB3784e7DAd\"\n values.$members.4:\n- \"eth:0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n+ \"eth:0xEFe58621C63620CF4d7F6027fD867455e2e8dBdD\"\n values.$members.5:\n- \"eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea\"\n+ \"eth:0x08968F6Ebf7bfd3987410d5dafd45d59B5537a0e\"\n values.getChainId:\n- 1\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"3 of 5 (60%)\"\n values.VERSION:\n- \"1.4.1\"\n+ \"1.5.0\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n- \"Safe\"\n implementationNames.eth:0xFf51A5898e281Db6DfC7855790607438dF2ca44b:\n+ \"Safe\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n 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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 8\n+ 12\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n- \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n- 1868\n+ \"UNRESOLVED\"\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game1:\n- \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n- \"UNRESOLVED\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n values.game5Args:\n- \"0x\"\n+ \"0x4890928941e62e273da359374b105f803329f473400c164c4a8ca84385b70eed6eb03ea847c8e1b8\"\n+++ severity: HIGH\n values.game5Proposer:\n- \"UNRESOLVED\"\n+ \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n values.permissionedGameArgs:\n- \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa4890928941e62e273da359374b105f803329f47318fbb58c366e21f395ddec7cba0510a2d9116b47000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.vmFromDGF:\n- \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n+ \"UNRESOLVED\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract ETHLockbox (eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 3\n+ 7\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.14:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.15:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 12\n+ 16\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0x008dC74CecC9dedA8595B2Fe210cE5979F0BfA8e\"\n values.getAddresses.opcm:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCM:\n- \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n- \"7.1.17\"\n+ \"8.0.1\"\n values.version:\n- \"3.14.2\"\n+ \"4.0.0\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperPermissionedDisputeGame.\n sourceHashes.1:\n- \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\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 SuperPermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 9\n+ 13\n values.RespectedGameString:\n- \"PermissionedDisputeGame\"\n+ \"SuperPermissionedDisputeGame\"\n values.respectedGameType:\n- 1\n+ 5\n values.version:\n- \"5.6.1\"\n+ \"5.8.0\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"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```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 9\n+ 13\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\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:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 6\n+ 10\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```"
}
]
},
{
"id": "b32adc2e",
"date": "Wed, 23 Sep 2026 05:49:46 GMT",
"timestamp": 1789044630,
"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": "1909b060",
"date": "Thu, 10 Sep 2026 12:51:56 GMT",
"timestamp": 1789044630,
"description": "Optimism Security Council: Member rotated.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```"
}
]
},
{
"id": "3721600c",
"date": "Fri, 17 Jul 2026 10:15:48 GMT",
"timestamp": 1784283256,
"description": "OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```"
}
]
},
{
"id": "128d1cfd",
"date": "Wed, 01 Jul 2026 09:39:21 GMT",
"timestamp": 1782898692,
"description": "Upgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA.",
"isHighSeverity": true,
"changeCount": 130,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0xdead000000000000000000000000000000000000000000000000000000000000acc005dcd857b401e4732e6f7837135a22825cfa4890928941e62e273da359374b105f803329f47318fbb58c366e21f395ddec7cba0510a2d9116b47000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract ETHLockbox (eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28\"\n+ \"0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f\"\n values.$implementation:\n- \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n+ \"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"\n values.$pastUpgrades.6:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550\"]]\n values.$upgradeCount:\n- 6\n+ 8\n values.version:\n- \"2.4.0\"\n+ \"2.4.2\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n- \"SuperchainConfig\"\n implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 9\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-06-25T23:05:47.000Z\",\"0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 6\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) [opstack/L1StandardBridge] {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d\"\n+ \"0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c\"\n values.$implementation:\n- \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n+ \"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x18fBb58C366e21F395DdEc7cBa0510a2D9116B47) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "fc8d2f1c",
"date": "Fri, 15 May 2026 13:11:06 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "bea2e1b9",
"date": "Tue, 05 May 2026 15:19:06 GMT",
"timestamp": 1777994278,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "f3346f20",
"date": "Wed, 25 Mar 2026 10:08:02 GMT",
"timestamp": 1774433216,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "f7cc47be",
"date": "Fri, 27 Feb 2026 13:25:30 GMT",
"timestamp": 1772198392,
"description": "Optimism Security Council: 2 members replaced.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.0:\n- \"eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073\"\n+ \"eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE\"\n values.$members.2:\n- \"eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e\"\n+ \"eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81\"\n }\n```"
}
]
},
{
"id": "cfa271f4",
"date": "Thu, 19 Feb 2026 10:12:44 GMT",
"timestamp": 1771495897,
"description": "Upgrade to op-contracts/v6.0.0-rc.1 (Upgrade 18 - \"Cannon + Kona and Custom Gas Token v2\"). Approved via Optimism governance.\n\nAnchorStateRegistry (v3.5.0 → v3.7.0): now the central authority for game validity and anchor state management. Adds granular game validation (isGameRegistered, isGameRespected, isGameBlacklisted, isGameRetired, isGameFinalized, isGameClaimValid). Stores disputeGameFactory directly, delegates pause logic to SystemConfig.\n[diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5)\n\nDisputeGameFactory (v1.3.0 → v1.4.0): adds the \"Creator Pattern\" refactor with new `gameArgs` storage mapping and overloaded `setImplementation()` accepting CWIA args. Enables a single dispute game implementation to serve multiple game types (e.g., CANNON and CANNON_KONA) with different configuration.\n[diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c)\n\nOptimismPortal2 (v5.1.1 → v5.2.0): adds Custom Gas Token mode enforcement (reverts on native ETH ops in CGT mode), ETHLockbox integration for ETH custody during deposits/withdrawals. Legacy getters (disputeGameFactory, disputeGameFinalityDelaySeconds, etc.) now proxy through AnchorStateRegistry.\n[diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n\nSystemConfig (v3.11.0 → v3.13.1): replaces hardcoded custom gas token logic with feature flag system (`isFeatureEnabled` mapping). New state variables: daFootprintGasScalar, minBaseFee, l2ChainId, superchainConfig reference. Updated `isCustomGasToken()` and `paused()` to read from feature flags.\n[diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2)\n\nOld PermissionedDisputeGame (v1.8.0) deleted, replaced by PermissionedDisputeGameV2 (v2.2.0) inheriting from FaultDisputeGameV2 with dual credit tracking (normalModeCredit/refundModeCredit), bond distribution mode system, and credit unlock mechanism.\n[diff](https://disco.l2beat.com/diff/eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n\nL1ERC721Bridge, L1CrossDomainMessenger, OptimismMintableERC20Factory also upgraded (implementation changes only).",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x17ce11194e3dd58b940485ebc70141f3654183ceb2700d590a6bc57c4cc7f68c\",\"l2SequenceNumber\":5084269}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9084890928941e62e273da359374b105f803329f47370277624cde90492231eb23309e1251beb18dff5000000000000000000000000000000000000000000000000000000000000074c400c164c4a8ca84385b70eed6eb03ea847c8e1b89ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}]}\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-17T19:11:11.000Z\",\"0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "fa0e13bf",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272398,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "8e9a85af",
"date": "Thu, 18 Dec 2025 09:00:21 GMT",
"timestamp": 1766048336,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "d71e9fdb",
"date": "Fri, 05 Dec 2025 11:25:37 GMT",
"timestamp": 1764933869,
"description": "Multisig member change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Soneium Multisig (eth:0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.2:\n- \"eth:0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"eth:0x556Eb1b888eF0a02be4360e960824fc5aC197d65\"\n values.$members.5:\n- \"eth:0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"eth:0x1edae2A7C9ECF37319D4E113588d946e9901F5ea\"\n }\n```"
}
]
},
{
"id": "14177f52",
"date": "Fri, 28 Nov 2025 10:11:10 GMT",
"timestamp": 1764324554,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 63,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n EOA (eth:0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n+ \"eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x0ddf929eeda8949CfE77b7e7e46e426E15A2D8f1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "977cb2fc",
"date": "Tue, 04 Nov 2025 17:13:36 GMT",
"timestamp": 1762276338,
"description": "gas market changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 9\n+ 10\n }\n```"
}
]
},
{
"id": "6913c543",
"date": "Thu, 23 Oct 2025 12:41:45 GMT",
"timestamp": 1761223197,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "41a013f9",
"date": "Fri, 03 Oct 2025 14:25:50 GMT",
"timestamp": 1759501481,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4/eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754/eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5",
"isHighSeverity": true,
"changeCount": 58,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x4890928941e62e273dA359374b105F803329F473) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n+ \"eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.7:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T16:35:23.000Z\",\"0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xB4343238bfC15aA0104276c00F88B54D2de3d6F1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "0f300c05",
"date": "Mon, 29 Sep 2025 14:50:42 GMT",
"timestamp": 1759157377,
"description": "Increase in EIP-1559 elasticity (from 8 to 9), meaning that in periods of high demand the block can expand up to 9x the block gas target.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Elasticity:\n- 8\n+ 9\n }\n```"
}
]
},
{
"id": "27698393",
"date": "Mon, 18 Aug 2025 09:03:38 GMT",
"timestamp": 1755507657,
"description": "Security council members rotation.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.4:\n- \"eth:0x51aCb8e1205De850D1b512584FeE9C29C3813dDa\"\n+ \"eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94\"\n values.$members.10:\n- \"eth:0x9Eb11A55132c851b9991F148b3Af791ca498fD7A\"\n+ \"eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6\"\n }\n```"
}
]
},
{
"id": "121c7f76",
"date": "Fri, 25 Jul 2025 17:48:25 GMT",
"timestamp": 1753465705,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 126,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n EOA Optimism EOA 1 (0x352f1defB49718e7Ea411687E850aA8d6299F7aC) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\",\"via\":[{\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"},{\"address\":\"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\",\"condition\":\"though restricted to the SuperchainConfig's `pause()` function\"}]}\n receivedPermissions.1.via.3.address:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n receivedPermissions.1.via.2:\n- {\"address\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"}\n receivedPermissions.1.via.1:\n- {\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}\n directlyReceivedPermissions.0.from:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n EOA (0x400c164C4a8cA84385B70EEd6eB03ea847c8E1b8) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n+ \"eth:0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.3.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"}]}\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.6:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 1868\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the PermissionedDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1733134751\n+ 1753380095\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n values.ethLockbox:\n+ \"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754\",\"role\":\"admin\"}\n directlyReceivedPermissions.1.from:\n- \"eth:0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n+ \"eth:0x4890928941e62e273dA359374b105F803329F473\"\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"challenge\",\"from\":\"eth:0x3D56d47b9E7E34A46612BadC70377F74051E6b17\",\"role\":\".challenger\"},{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:01:35.000Z\",\"0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.systemConfig:\n+ \"eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x372dC0B87b790D6e1308CF9e7f73F0F1fcbD3754)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3c12f1F4F0702CB7fC83e2e5594331c10b9e39b4)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x4890928941e62e273dA359374b105F803329F473)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x67B4de6FfA66EF201Ea6099A89cA397D56622E31)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "45a0bccb",
"date": "Mon, 14 Jul 2025 12:46:24 GMT",
"timestamp": 1752497184,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 30,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Soneium Multisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "290530b8",
"date": "Thu, 08 May 2025 08:50:59 GMT",
"timestamp": 1746694259,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```"
}
]
},
{
"id": "091522c5",
"date": "Fri, 25 Apr 2025 13:16:01 GMT",
"timestamp": 1745586961,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 61,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n+ \"0x3D56d47b9E7E34A46612BadC70377F74051E6b17\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n values.$pastUpgrades.1.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.1.0:\n- [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2.0:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.5:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.4.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.4.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.4.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$pastUpgrades.3.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n values.$pastUpgrades.3.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-02-28T14:55:35.000Z\"\n values.$pastUpgrades.3.0.0:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"\n values.$pastUpgrades.2.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.1:\n- \"2025-02-28T14:55:35.000Z\"\n+ \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"2024-12-02T10:19:11.000Z\"\n values.$pastUpgrades.0.2:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.1.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.0.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]\n values.$pastUpgrades.0.1:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.1.2:\n- \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n+ [\"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]\n values.$pastUpgrades.1.1:\n- [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n+ \"2025-04-24T16:16:23.000Z\"\n values.$pastUpgrades.1.0:\n- \"2025-04-02T16:50:23.000Z\"\n+ \"0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x3D56d47b9E7E34A46612BadC70377F74051E6b17)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "388a5c88",
"date": "Sun, 06 Apr 2025 08:10:27 GMT",
"timestamp": 1743927027,
"description": "eip 1559 gas conf added.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 7\n }\n```"
}
]
},
{
"id": "21bc44c3",
"date": "Fri, 04 Apr 2025 09:40:12 GMT",
"timestamp": 1743759612,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 78,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x42D15f045159Ce4adE9EDC7da5704eF36056c936\"\n+ \"0x1661af719956198628F7e67087F19f8A79524a1d\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) {\n +++ description: None\n receivedPermissions.8.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n receivedPermissions.7.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n receivedPermissions.6.permission:\n- \"upgrade\"\n+ \"interact\"\n receivedPermissions.6.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n receivedPermissions.6.via.0.address:\n- \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n+ \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n receivedPermissions.6.description:\n+ \"set and change address mappings.\"\n receivedPermissions.5.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.5.from:\n- \"0xdE1FCfB0851916CA5101820A69b13a4E276bd81F\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n receivedPermissions.5.description:\n- \"set and change address mappings.\"\n receivedPermissions.5.via.0.address:\n- \"0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n+ \"0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.4:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3.2:\n- \"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\"\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.3.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.3.0:\n- \"2025-02-28T14:55:35.000Z\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 4\n+ 5\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f\",\"l1ERC721Bridge\":\"0x5933e323bE8896DfaCd1cD671442F27dAA10a053\",\"l1StandardBridge\":\"0xeb9bf100225c214Efc3E7C651ebbaDcF85177607\",\"disputeGameFactory\":\"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\",\"optimismPortal\":\"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\",\"optimismMintableERC20Factory\":\"0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2024-12-02T10:19:11.000Z\",\"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.0.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\"\n values.$pastUpgrades.0.1:\n- \"0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb\"\n+ \"2025-04-02T16:50:23.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-12-02T10:19:11.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522\"\n+ \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n directlyReceivedPermissions.5.from:\n- \"0x88e529A6ccd302c948689Cd5156C83D4614FAE92\"\n+ \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n directlyReceivedPermissions.4.from:\n- \"0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0\"\n+ \"0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1\"\n }\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```\n\n```diff\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x1661af719956198628F7e67087F19f8A79524a1d)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x190B6ecEE5A2ddF39669288B9B8daEa4641ae8b1)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "561654de",
"date": "Fri, 07 Mar 2025 13:56:40 GMT",
"timestamp": 1741355800,
"description": "Single member added to SoneiumMultisig.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.5:\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.4:\n- \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.3:\n- \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.2:\n- \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.1:\n- \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$members.0:\n- \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n+ \"0xd45F9F3990C48AfA5C90404c7a748b4c23FB2cba\"\n values.multisigThreshold:\n- \"3 of 5 (60%)\"\n+ \"3 of 6 (50%)\"\n }\n```"
}
]
},
{
"id": "d9882500",
"date": "Mon, 03 Mar 2025 09:03:39 GMT",
"timestamp": 1740992619,
"description": "SystemConfig upgrade to known version:\n- libraries added (Constants, LibString, GasPayingToken)\n- minor changes",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.3:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2:\n+ [\"2025-02-28T14:55:35.000Z\",\"0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 9736\n values.blobbasefeeScalar:\n+ 1540079\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "16e985d9",
"date": "Wed, 26 Feb 2025 16:48:30 GMT",
"timestamp": 1740588510,
"description": "gasLimit raised a bit (60M->30M in last update).\n\nconfig related: added categories for all opstack, op stack and polygoncdk stack templates.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 40000000\n }\n```"
}
]
},
{
"id": "7e304e4a",
"date": "Tue, 18 Feb 2025 10:39:42 GMT",
"timestamp": 1739875182,
"description": "Soneium gas limit halved (checked on l2 block explorer since some op stacks have weird custom gas config).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 60000000\n+ 30000000\n }\n```"
}
]
},
{
"id": "a5169023",
"date": "Wed, 12 Feb 2025 10:00:33 GMT",
"timestamp": 1739354433,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "c5f0da11",
"date": "Sat, 08 Feb 2025 15:58:23 GMT",
"timestamp": 1739030303,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "01cba5d1",
"date": "Thu, 06 Feb 2025 09:17:21 GMT",
"timestamp": 1738833441,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "340dbb94",
"date": "Tue, 04 Feb 2025 14:08:55 GMT",
"timestamp": 1738678135,
"description": "Added standard lido external canonical escrow (shapes in stock).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1LidoTokensBridge (0x2F543A7C9cc80Cc2427c892B96263098d23ee55a)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "e2f22d1d",
"date": "Mon, 27 Jan 2025 12:04:05 GMT",
"timestamp": 1737979445,
"description": "Soneium external bridge gov change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.$admin:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n values.owner:\n- \"0x448dAe9299366ff611678fdA2f3a386791C95d41\"\n+ \"0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75\"\n }\n```"
}
]
},
{
"id": "3af4d993",
"date": "Wed, 22 Jan 2025 12:20:00 GMT",
"timestamp": 1737548400,
"description": "MS member changes.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033) {\n +++ description: None\n values.$members.4:\n- \"0x48FF760E582c3740336656349684b4FD4c6ED88F\"\n+ \"0xba1a565d2bF6D27F451a459308f423219478c5cB\"\n values.$members.3:\n- \"0x127Bae6Fc751dC92111a359500ae91EB437f3dCb\"\n+ \"0xD6db4b8aD9b8BD4665B968fab017ffEAb546F94a\"\n values.$members.2:\n- \"0x83cC8195856b0463dEd5f052021009b7985FDa2C\"\n+ \"0xb9269f274E7Edc73bf3d923E347d0784e4a5e452\"\n values.$members.1:\n- \"0xEc33045FA66cF43E9b5b9F332dc124dbc71c0917\"\n+ \"0x420537Ec5e82CDE86f04F3d61F3aD56F7c7dD32B\"\n values.$members.0:\n- \"0x2b3Aa0Dc0622eFb9426F5A44015aE9151Bd8224C\"\n+ \"0x94e9Ef16A9eF6C37164A7BCA6CFb03b52d23AF7E\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 5 (40%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "5829ccae",
"date": "Wed, 15 Jan 2025 17:33:42 GMT",
"timestamp": 1736962422,
"description": "First discovery of Soneium.",
"isHighSeverity": false,
"changeCount": 28,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x42D15f045159Ce4adE9EDC7da5704eF36056c936)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SoneiumMultisig (0x509182eC226b3B71D36A3255A80EF0b1A9D43033)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x5933e323bE8896DfaCd1cD671442F27dAA10a053)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x61f89A381E0BE13BD8Ab356cf4B7301BC97d7522)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3)\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x88e529A6ccd302c948689Cd5156C83D4614FAE92)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x9AEA1FD851b63d57Ba4Fc556B0e0c170126C9EAf)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xB24bFEeCE1B3b7A44559F4Cbc21BeD312b130b70)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F)\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0xeb9bf100225c214Efc3E7C651ebbaDcF85177607)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n```"
}
]
}
]
+1 -1
+1 -1
{
"clusteredEventCount": 35,
"contracts": [
{
"name": "SHARPVerifierCallProxy",
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"isVerified": true,
"ossifyingSince": 1788425939,
"codeChangeCount": 13,
"stateChangeCount": 10
},
{
"name": "Starknet",
"address": "eth:0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4",
"isVerified": true,
"ossifyingSince": 1783559567,
"codeChangeCount": 10,
"stateChangeCount": 12
},
{
"name": "SHARPVerifier",
"address": "eth:0x4956bda1d23F75B988644329c5B06BD1494a72b6",
"isVerified": true,
"ossifyingSince": 1782997607,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CairoBootloaderProgram",
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"isVerified": true,
"ossifyingSince": 1768486895,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x7ca0201319f98b5494d90d0f8dA9427C64AF135e",
"isVerified": true,
"ossifyingSince": 1759907651,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierRecursiveLargeOutput_2026_13",
"address": "eth:0xbe0F8F150Fd10798524B4de80eD75751658CAEF3",
"isVerified": true,
"ossifyingSince": 1759907651,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey1Column",
"address": "eth:0xECc282Dc2571E43696d3259490faFa3b98790e20",
"isVerified": true,
"ossifyingSince": 1759907651,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey0Column",
"address": "eth:0x21578B24F86AdF6f59C406f641F693745C31Ea8F",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x2c9726B081305F314A74D570F0FED8dd9fab01A1",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey2Column",
"address": "eth:0x4576bA889ddCb27738c4D3b8dF2FF2616650BA0b",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey0Column",
"address": "eth:0x5318edCfEcAF84EB5A3A4D364C2dCFF06083953E",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey2Column",
"address": "eth:0x69833933e59269aB062eAfDe074C059ce5DC7755",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierDexWithBitwise_2026_13",
"address": "eth:0x6a67796ee97700B5B5f5aFBCFFDCbc5F80803F11",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierStarknet_2026_13",
"address": "eth:0x71574057D12541ccDa98643aC56441838353A26D",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x9Ddb8A6E3B23B33CE685e6d9f89f0ca25510AE6F",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xa40115c39Dc257E5aAE39e2F311AF6a0247bb766",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey0Column",
"address": "eth:0xb45b87Ba49C64F79df0EF81043a57999af5Ea7A0",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonPartialRoundKey1Column",
"address": "eth:0xc1Cd710bB0d8A07A46Cc884a552091d1ED433Ccc",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0xC716C4E3f68ad6785524f65Df129fC090339dBD8",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xd67C6798df68b98f1ef10BEeF0f35De788014fAA",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey0Column",
"address": "eth:0xdf10757de64811df030cf88bB700B8CC63bAB090",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey1Column",
"address": "eth:0xe58327a05F21ab12AB33A4408003A87e571f810D",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PoseidonPoseidonFullRoundKey1Column",
"address": "eth:0xE5AC9312f30623EB20D435533A4205790aF68Fd0",
"isVerified": true,
"ossifyingSince": 1759907627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierAllSolidity_2026_13",
"address": "eth:0x015381651F240Ed6C44122dCba6Cf807c9442CD6",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierDex_2026_13",
"address": "eth:0x0cD0cDf0132c566db61B691BCEEBA2c4D8cA5CdC",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x1BdE14B50e7dAeD71eE14F7e8defaa3d8A7D4420",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierRecursive_2026_13",
"address": "eth:0x2867A4509B0969531641A42a3D4A9B0A07109B6B",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x35e9F63Efc97E008f3f9097eA3293b540483e7Cb",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x3E727f44Fd2c92bd960AAb86DaAcD1A831B16eba",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x8f3af16cF4eB89f256cDebeaDd46e1b982dC4775",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0x99480b7c32C4F8965fF1929a368Dd586C6DC3595",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0xE4937AC1Da4211c6E48cf41A7B298b74edA9B103",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierPerpetual_2026_13",
"address": "eth:0xFFC7974cd74b95f631f454cd787AAc28F0476b44",
"isVerified": true,
"ossifyingSince": 1759907615,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xaE325CE505AA13EDC30d48187B05c24A3BaC2707",
"isVerified": true,
"ossifyingSince": 1759907603,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuVerifierSmall_2026_13",
"address": "eth:0x30F3AB988Cb00fe3Fb5ab891F50c13684770419b",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0x9A62fa46D88697bBbEFAf5F9Ef1234E6502d31a9",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EcdsaPointsXColumn",
"address": "eth:0xa3da166aef05dBa08d67EA5b442dD9574274b9Ce",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuOods",
"address": "eth:0xa4D0Bb20c708262155378C9D14A5A6A863E15Dd4",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PedersenHashPointsYColumn",
"address": "eth:0xA55C0F91945958C40f7fa41EB650340245F4B6c2",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EcdsaPointsYColumn",
"address": "eth:0xCaea5002758D5B977680Fe65164B7fE6a062C771",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "CpuConstraintPoly",
"address": "eth:0xd8e47340bdC4fB06D37056b1725c653836Cc81E5",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PedersenHashPointsXColumn",
"address": "eth:0xDc596B881bD9e33d3A56AE86031417645d1d9E70",
"isVerified": true,
"ossifyingSince": 1759907591,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ETHBridge",
"address": "eth:0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"isVerified": true,
"ossifyingSince": 1746967799,
"codeChangeCount": 7,
"stateChangeCount": 1
},
{
"name": "STRKBridge",
"address": "eth:0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"isVerified": true,
"ossifyingSince": 1746967799,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "DelayedExecutor",
"address": "eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"isVerified": true,
"ossifyingSince": 1739989031,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Starkware Multisig 4",
"address": "eth:0x77Dd0cf03e1cCbDC750c9E5FDc34b8A3671f88c5",
"isVerified": true,
"ossifyingSince": 1739799179,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "Starkware Security Council",
"address": "eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361",
"isVerified": true,
"ossifyingSince": 1738762427,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Starkware SCMinority Multisig",
"address": "eth:0xF6b0B3e8f57396CecFD788D60499DB49Ee6AbC6B",
"isVerified": true,
"ossifyingSince": 1738599755,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "FriStatementContract",
"address": "eth:0x30EfaAA99f8eFe310D9FdC83072e2a04c093d400",
"isVerified": true,
"ossifyingSince": 1721828687,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MerkleStatementContract",
"address": "eth:0x32a91Ff604AB2aDCd832e91D68b2f3f25358FdAd",
"isVerified": true,
"ossifyingSince": 1721828687,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MemoryPageFactRegistry",
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"isVerified": true,
"ossifyingSince": 1721828687,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Starkware Multisig 1",
"address": "eth:0x83C0A700114101D1283D1405E2c8f21D3F03e988",
"isVerified": true,
"ossifyingSince": 1672699319,
"codeChangeCount": 0,
"stateChangeCount": 1
}
],
"criticalChanges": [
1643193921,
1647853574,
1649596101,
1651510161,
1655284858,
1659869409,
1662879548,
1668953231,
1672699319,
1678106063,
1680016103,
1684906283,
1702910664,
1703000047,
1705239263,
1707387203,
1707738959,
1708939523,
1709727321,
1710252923,
1710411335,
1710753100,
1713709115,
1722161267,
1722600046,
1724855579,
1728835151,
1732790039,
1738588637,
1738755599,
1739105903,
1739799179,
1742836319,
1743157821,
1746967799,
1747066175,
1756750079,
1760862467,
1765192091,
1765378643,
1769954759,
1776686015,
1777465247,
1782033359,
1783559567,
1783857227,
1788425939
],
"criticalChangesPerYear": 11.666666666666666,
"criticalUpdates": [
{
"id": "e399b73a",
"type": "state"
},
{
"id": "0fcca41a",
"type": "state"
},
{
"id": "b1da51ab",
"type": "state"
},
{
"id": "a1687a92",
"type": "state"
},
{
"id": "136742c7",
"type": "state"
},
{
"id": "403be4bd",
"type": "state"
},
{
"id": "bcac9b64",
"type": "state"
},
{
"id": "769dfe3d",
"type": "state"
},
{
"id": "5c0c724a",
"type": "state"
},
{
"id": "fb997882",
"type": "state"
},
{
"id": "71a58712",
"type": "state"
},
{
"id": "79f54597",
"type": "state"
},
{
"id": "c8776771",
"type": "state"
},
{
"id": "b57bb0df",
"type": "state"
},
{
"id": "2d6b1be9",
"type": "state"
},
{
"id": "df508c6c",
"type": "state"
},
{
"id": "10e44fc3",
"type": "state"
},
{
"id": "dfb011c3",
"type": "state"
},
{
"id": "f7adf9c0",
"type": "state"
},
{
"id": "83d55362",
"type": "state"
},
{
"id": "cee2be16",
"type": "state"
},
{
"id": "9d5a75e1",
"type": "state"
},
{
"id": "1ec6e472",
"type": "state"
},
{
"id": "770edbe2",
"type": "state"
}
],
"lastCriticalChange": 1788425939,
"maturity": 0.4548927057301026,
"maturity": 0.45489286366618126,
"perimeterResets": [
1635080785,
1636979180,
1643193921,
1647853574,
1649596101,
1651510161,
1655284858,
1659869409,
1662879548,
1668953231,
1672587635,
1672699319,
1678106063,
1680016103,
1684906283,
1702910664,
1703000047,
1704907283,
1705239263,
1707387203,
1707738959,
1708939523,
1709727321,
1710252923,
1710411335,
1710753100,
1713709115,
1721828687,
1722161267,
1722600046,
1724855579,
1727171111,
1727697611,
1728835151,
1732790039,
1738588637,
1738755371,
1739105903,
1739799179,
1739989031,
1742836319,
1743157821,
1746449747,
1746967799,
1747066175,
1756750079,
1759907591,
1760862467,
1765192091,
1765378643,
1768486895,
1769954759,
1776686015,
1777465247,
1782033359,
1782997607,
1783559567,
1783857227,
1788425939
],
"projectClockStart": 1788425939,
"score": 45,
"windowSeconds": 94608000
}
+3 -3
+3 -3
{
"clusteredEventCount": 69,
"contracts": [
{
"name": "TaikoRisc0Verifier",
"address": "eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 6
},
{
"name": "AutomataDcapV3Attestation",
"address": "eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 7
},
{
"name": "TaikoSP1Verifier",
"address": "eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "AutomataDcapV3Attestation",
"address": "eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3",
"isVerified": true,
"ossifyingSince": 1789952579,
"codeChangeCount": 0,
"stateChangeCount": 11
},
{
"name": "SignerList (Security Council)",
"address": "eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2",
"isVerified": true,
"ossifyingSince": 1789654379,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "EmergencyMultisig",
"address": "eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd",
"isVerified": true,
"ossifyingSince": 1789654379,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Multisig",
"address": "eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321",
"isVerified": true,
"ossifyingSince": 1789654379,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "MainnetInbox",
"address": "eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f",
"isVerified": true,
"ossifyingSince": 1785761183,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "ZkRequiredVerifier",
"address": "eth:0x7284aaC05555Ae6559bdAd8B4221eC9584254Eec",
"isVerified": true,
"ossifyingSince": 1783672091,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "QuotaManager",
"address": "eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC",
"isVerified": true,
"ossifyingSince": 1783141271,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "MainnetERC20Vault",
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"isVerified": true,
"ossifyingSince": 1782739115,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "SignalService",
"address": "eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C",
"isVerified": true,
"ossifyingSince": 1782739115,
"codeChangeCount": 9,
"stateChangeCount": 3
},
{
"name": "MainnetBridge",
"address": "eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"isVerified": true,
"ossifyingSince": 1782739115,
"codeChangeCount": 10,
"stateChangeCount": 1
},
{
"name": "SecureSgxVerifier",
"address": "eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee",
"isVerified": true,
"ossifyingSince": 1782357335,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SecureSgxVerifier",
"address": "eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8",
"isVerified": true,
"ossifyingSince": 1782357335,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SignalService",
"address": "taiko:0x1670000000000000000000000000000000000005",
"isVerified": true,
"ossifyingSince": 1777563432,
"codeChangeCount": 2,
"stateChangeCount": 2
},
{
"name": "Anchor",
"address": "taiko:0x1670000000000000000000000000000000010001",
"isVerified": true,
"ossifyingSince": 1777563432,
"codeChangeCount": 6,
"stateChangeCount": 2
},
{
"name": "SP1VerifierGateway",
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"isVerified": true,
"ossifyingSince": 1776370439,
"codeChangeCount": 0,
"stateChangeCount": 23
},
{
"name": "SP1Verifier",
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"isVerified": true,
"ossifyingSince": 1776172415,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreconfWhitelist",
"address": "eth:0xFD019460881e6EeC632258222393d5821029b2ac",
"isVerified": true,
"ossifyingSince": 1774964687,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "ProverWhitelist",
"address": "eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae",
"isVerified": true,
"ossifyingSince": 1772641607,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"isVerified": true,
"ossifyingSince": 1771084331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"isVerified": true,
"ossifyingSince": 1756842755,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroSetVerifier",
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"isVerified": true,
"ossifyingSince": 1756842743,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"isVerified": true,
"ossifyingSince": 1755283787,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"isVerified": true,
"ossifyingSince": 1755283775,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierEmergencyStop",
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"isVerified": true,
"ossifyingSince": 1751494343,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "RiscZeroGroth16Verifier",
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"isVerified": true,
"ossifyingSince": 1751494331,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SP1Verifier",
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"isVerified": true,
"ossifyingSince": 1748550023,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelegateController",
"address": "taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C",
"isVerified": true,
"ossifyingSince": 1748151239,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TaikoDAOController",
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"isVerified": true,
"ossifyingSince": 1748146475,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Taiko Token",
"address": "eth:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800",
"isVerified": true,
"ossifyingSince": 1747285931,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "DefaultResolver",
"address": "eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e",
"isVerified": true,
"ossifyingSince": 1747268711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "OptimisticTokenVotingPlugin",
"address": "eth:0x989E348275b659d36f8751ea1c10D146211650BE",
"isVerified": true,
"ossifyingSince": 1746111707,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DAO",
"address": "eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261",
"isVerified": true,
"ossifyingSince": 1746111707,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Bridge",
"address": "taiko:0x1670000000000000000000000000000000000001",
"isVerified": true,
"ossifyingSince": 1730452979,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "ERC20Vault",
"address": "taiko:0x1670000000000000000000000000000000000002",
"isVerified": true,
"ossifyingSince": 1730452979,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "RiscZeroVerifierRouter",
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"isVerified": true,
"ossifyingSince": 1718237375,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "TimelockController",
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"isVerified": true,
"ossifyingSince": 1718237363,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2AddressManager",
"address": "taiko:0x1670000000000000000000000000000000000006",
"isVerified": true,
"ossifyingSince": 1716620627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PEMCertChainLib",
"address": "eth:0x02772b7B3a5Bea0141C993Dbb8D0733C19F46169",
"isVerified": true,
"ossifyingSince": 1714550639,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SigVerifyLib",
"address": "eth:0x47bB416ee947fE4a4b655011aF7d6E3A1B80E6e9",
"isVerified": true,
"ossifyingSince": 1714550639,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1715408795,
1715746175,
1716300911,
1716634859,
1716722231,
1716827831,
1716958835,
1717148087,
1717481351,
1717663871,
1717750463,
1718023547,
1719502583,
1719806771,
1719903815,
1720099295,
1720874075,
1721133959,
1721270315,
1721356979,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729065323,
1729728863,
1730452835,
1730549099,
1731025967,
1731216107,
1734921911,
1735049951,
1735951931,
1736970023,
1739429867,
1740626843,
1747097243,
1747268747,
1747362983,
1747578311,
1748432039,
1748558771,
1748997623,
1749700235,
1749804049,
1750785371,
1752076931,
1752542435,
1753329371,
1754913371,
1755136523,
1756244927,
1764720995,
1764814439,
1768829555,
1770777907,
1771445567,
1772676527,
1774964687,
1775138543,
1776370439,
1777562051,
1780627823,
1782120275,
1782739115,
1783141271,
1785761183,
1789654379,
1789952579
],
"criticalChangesPerYear": 29.282526269485572,
"criticalChangesPerYear": 29.282524693249172,
"criticalUpdates": [
{
"id": "b287d48e",
"type": "code"
},
{
"id": "167b8dff",
"type": "code"
},
{
"id": "e2633393",
"type": "code"
},
{
"id": "1ede5389",
"type": "code"
},
{
"id": "6e2c88a0",
"type": "code"
},
{
"id": "d5817b5e",
"type": "code"
},
{
"id": "bf28d6a1",
"type": "code"
},
{
"id": "46dff8f0",
"type": "code"
},
{
"id": "a96fdad5",
"type": "code"
},
{
"id": "38328c2f",
"type": "code"
},
{
"id": "a83164a8",
"type": "code"
},
{
"id": "9326eb49",
"type": "code"
},
{
"id": "a66aba2e",
"type": "code"
},
{
"id": "2d84825c",
"type": "code"
},
{
"id": "4f615b6f",
"type": "code"
},
{
"id": "e32a44c7",
"type": "code"
},
{
"id": "136d39c0",
"type": "code"
},
{
"id": "e8c7b9d2",
"type": "code"
},
{
"id": "82d57b03",
"type": "state"
},
{
"id": "9c15da27",
"type": "code"
},
{
"id": "ca91bdf8",
"type": "code"
},
{
"id": "709bc2e7",
"type": "code"
},
{
"id": "c64c6e2d",
"type": "code"
},
{
"id": "c074de1f",
"type": "code"
},
{
"id": "6defe874",
"type": "state"
},
{
"id": "eeb61c0d",
"type": "state"
},
{
"id": "af40d70c",
"type": "state"
},
{
"id": "3bedf566",
"type": "code"
},
{
"id": "613479a6",
"type": "state"
},
{
"id": "13fde891",
"type": "state"
},
{
"id": "0b48d893",
"type": "state"
},
{
"id": "e91cf682",
"type": "state"
},
{
"id": "423dca4a",
"type": "state"
},
{
"id": "83beb47d",
"type": "state"
},
{
"id": "ebe21a45",
"type": "state"
},
{
"id": "1c35c2f8",
"type": "state"
}
],
"lastCriticalChange": 1789952579,
"maturity": 0.3329517588041963,
"maturity": 0.3329520197098572,
"perimeterResets": [
1714033799,
1714550603,
1715408795,
1715746175,
1716300911,
1716620627,
1716722231,
1716827831,
1716958835,
1717148087,
1717481351,
1717663871,
1717750463,
1718023547,
1718237363,
1719502583,
1719806771,
1719903815,
1720099223,
1720874075,
1721133959,
1721270315,
1721356979,
1721688299,
1722645791,
1724115575,
1724793467,
1725474371,
1726511747,
1726878323,
1729065323,
1729728863,
1730452835,
1730549099,
1731025967,
1731216107,
1734921911,
1735049951,
1735951931,
1736970023,
1739429867,
1740626843,
1746111707,
1747097243,
1747268711,
1747362983,
1747578311,
1748146475,
1748432039,
1748550023,
1748997623,
1749700235,
1749804049,
1750785371,
1751494331,
1752076931,
1752542435,
1753275179,
1754913371,
1755136523,
1755283775,
1756244927,
1756842743,
1764720995,
1764814439,
1768829555,
1770777907,
1771084331,
1771445567,
1772638115,
1774964687,
1775138543,
1776172415,
1776370439,
1777562051,
1780627823,
1782120275,
1782357335,
1782568835,
1782739115,
1783141271,
1783672091,
1785761183,
1789654379,
1789952579
],
"projectClockStart": 1789952579,
"score": 33,
"windowSeconds": 74309982
"windowSeconds": 74309986
}
+1 -1
+1 -1
{
"clusteredEventCount": 0,
"contracts": [
{
"name": "Pool_50K_cDAI",
"address": "eth:0x03893a7c7463AE47D46bc7f091665f1893656003",
"isVerified": true,
"ossifyingSince": 1616155055,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_500K_cDAI",
"address": "eth:0x2717c5e28cf931547B621a5dddb772Ab6A35B701",
"isVerified": true,
"ossifyingSince": 1616135923,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_10_WBTC",
"address": "eth:0xbB93e510BbCD0B7beb5A853875f9eC60275CF498",
"isVerified": true,
"ossifyingSince": 1616135758,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_0.1_WBTC",
"address": "eth:0x178169B423a011fff22B9e3F3abeA13414dDD0F1",
"isVerified": true,
"ossifyingSince": 1616134868,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_1_WBTC",
"address": "eth:0x610B717796ad172B316836AC95a2ffad065CeaB4",
"isVerified": true,
"ossifyingSince": 1616123193,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_5M_cDAI",
"address": "eth:0xD21be7248e0197Ee08E0c20D4a96DEBdaC3D20Af",
"isVerified": true,
"ossifyingSince": 1616115450,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_100K_DAI",
"address": "eth:0x23773E65ed146A459791799d01336DB287f25334",
"isVerified": true,
"ossifyingSince": 1616115387,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_10K_DAI",
"address": "eth:0x07687e702b410Fa43f4cB4Af7FA097918ffD2730",
"isVerified": true,
"ossifyingSince": 1616114822,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Pool_1000_DAI",
"address": "eth:0xFD8610d20aA15b7B2E3Be39B396a1bC3516c7144",
"isVerified": true,
"ossifyingSince": 1589828193,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_100_DAI",
"address": "eth:0xD4B88Df4D29F5CedD6857912842cff3b20C8Cfa3",
"isVerified": true,
"ossifyingSince": 1589828187,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_0.1_ETH",
"address": "eth:0x12D66f87A04A9E220743712cE6d9bB1B5616B8Fc",
"isVerified": true,
"ossifyingSince": 1589828161,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "Pool_100_ETH",
"address": "eth:0xA160cdAB225685dA1d56aa342Ad8841c3b53f291",
"isVerified": true,
"ossifyingSince": 1589828114,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_10_ETH",
"address": "eth:0x910Cbd523D972eb0a6f4cAe4618aD62622b39DbF",
"isVerified": true,
"ossifyingSince": 1589828075,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_1_ETH",
"address": "eth:0x47CE0C6eD5B0Ce3d3A51fdb1C52DC66a7c3c2936",
"isVerified": true,
"ossifyingSince": 1589828030,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_1000_USDT",
"address": "eth:0x0836222F2B2B24A3F36f98668Ed8F0B38D1a872f",
"isVerified": true,
"ossifyingSince": 1589828002,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_100_USDT",
"address": "eth:0x169AD27A470D064DEDE56a2D3ff727986b15D52B",
"isVerified": true,
"ossifyingSince": 1589827991,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_1000_USDC",
"address": "eth:0x4736dCf1b7A3d580672CcE6E7c65cd5cc9cFBa9D",
"isVerified": true,
"ossifyingSince": 1589827970,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_100_USDC",
"address": "eth:0xd96f2B1c14Db8458374d9Aca76E26c3D18364307",
"isVerified": true,
"ossifyingSince": 1589827926,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Pool_5K_cDAI",
"address": "eth:0x22aaA7720ddd5388A3c0A3333430953C68f1849b",
"isVerified": true,
"ossifyingSince": 1589827905,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "Verifier",
"address": "eth:0xce172ce1F20EC0B3728c9965470eaf994A03557A",
"isVerified": true,
"ossifyingSince": 1589278208,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MiMCHasher",
"address": "eth:0x83584f83f26aF4eDDA9CBe8C730bc87C364b28fe",
"isVerified": true,
"ossifyingSince": 1576523275,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1576528931,
1589351616,
1589827905
],
"criticalChangesPerYear": 0,
"criticalUpdates": [],
"lastCriticalChange": 1589828193,
"maturity": 0.9886904161356184,
"maturity": 0.988690416509097,
"perimeterResets": [
1576523275,
1577296976,
1589278208,
1589827905,
1616114822
],
"projectClockStart": 1616155055,
"score": 99,
"windowSeconds": 94608000
}
+967 -556
+44 -2
[
{
"address": "0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"sinceTimestamp": 1753380731,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"sinceTimestamp": 1730748227,
"tokens": "*",
"excludedTokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"sinceTimestamp": 1739519603,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739519603,
"transactionHash": "0x09f1292f517ff6453a28592ca3def9cfcc55d8738877af3b9830f0c457009c02",
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+4 -4
{
"architectureImage": "opstack-rollup-superchain-opfp-permissionless",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "Derivation: Batch submission - OP Mainnet specs",
"url": "https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission"
},
{
"title": "BatchInbox - address",
"url": "https://etherscan.io/address/0xFf00000000000000000000000000000000000130#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exits",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When a state root containing such transaction is settled, the funds become available for withdrawal on L1 after 3d 12h. Withdrawal inclusion can be proven before state root settlement, but a 7d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 12h to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"risks": [],
"references": [
{
"title": "OptimismPortal2.sol - Etherscan source code, proveWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
"url": "https://etherscan.io/address/0x1005217ad392DC64CEf501FA1777A27D42166748#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.",
"risks": [],
"references": [
{
"title": "Introducing EVM Equivalence",
"url": "https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306"
}
]
}
],
"stateDerivation": {
"nodeSoftware": "The rollup node is composed of two software components: [op-node](https://github.com/ethereum-optimism/optimism/tree/develop/op-node), implementing consensus related logic, and [op-geth](https://github.com/ethereum-optimism/op-geth), implementing execution logic. The configuration file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/unichain.toml).",
"compressionScheme": "Data batches are compressed using the [zlib](https://github.com/madler/zlib) algorithm with best compression level.",
"genesisState": "The genesis file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/extra/genesis/mainnet/unichain.json.zst).",
"dataFormat": "The format specification of Sequencer's data batches can be found [here](https://optimism.io/blog/here-s-how-you-can-reproduce-op-mainnet-s-migration-to-bedrock)."
},
"stateValidation": {
"description": "Updates to the system state can be proposed and challenged by anyone who has sufficient funds. If a state root passes the challenge period, it is optimistically considered correct and made actionable for withdrawals.",
"categories": [
{
"title": "State root proposals",
"description": "Proposers submit state roots as children of the latest confirmed state root (called anchor state), by calling the `create` function in the DisputeGameFactory. A state root can have multiple conflicting children. Each proposal requires a stake, currently set to 0.08 ETH, that can be slashed if the proposal is proven incorrect via a fraud proof. Stakes can be withdrawn only after the proposal has been confirmed. A state root gets confirmed if the challenge period has passed and it is not countered.",
"references": [
{
"title": "OP stack specification: Fault Dispute Game",
"url": "https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#fault-dispute-game"
}
],
"risks": []
},
{
"title": "Challenges",
"description": "Challenges are opened to disprove invalid state roots using bisection games. Each bisection move requires a stake that increases expontentially with the depth of the bisection, with a factor of 1.09493. The maximum depth is 73, and reaching it therefore requires a cumulative stake of 691.23 ETH from depth 0. Actors can participate in any challenge by calling the `defend` or `attack` functions, depending whether they agree or disagree with the latest claim and want to move the bisection game forward. Actors that disagree with the top-level claim are called challengers, and actors that agree are called defenders. Each actor might be involved in multiple (sub-)challenges at the same time, meaning that the protocol operates with [full concurrency](https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a). Challengers and defenders alternate in the bisection game, and they pass each other a clock that starts with 3d 12h. If a clock expires, the claim is considered defeated if it was countered, or it gets confirmed if uncountered. Since honest parties can inherit clocks from malicious parties that play both as challengers and defenders (see [freeloader claims](https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#freeloader-claims)), an inherited clock with too little time remaining is generally extended by 3h. The extension is 6h when the next claim is immediately before split depth 30, and 1d 3h (the standard extension plus the 1d oracle challenge period) immediately before the last depth. Along a full-depth path, cumulative extensions can therefore add up to 10d 3h. Since unconfirmed state roots are independent of one another, users can decide to exit with a subsequent confirmed state root if the previous one is delayed. Winners get the entire losers' stake, meaning that sybils can potentially play against each other at no cost. The final instruction found via the bisection game is then executed onchain in the MIPS one step prover contract who determines the winner. The protocol does not enforce valid bisections, meaning that actors can propose correct initial claims and then provide incorrect midpoints. The protocol can be subject to resource exhaustion attacks ([Spearbit 5.1.3](https://github.com/ethereum-optimism/optimism/blob/develop/docs/security-reviews/2024_08_Fault-Proofs-No-MIPS_Spearbit.pdf)).",
"references": [
{
"title": "Fraud Proof Wars: OPFP",
"url": "https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a"
}
]
}
]
},
"stateValidationImage": "opfp"
}
+26 -204
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "UnichainProxyAdminOwner",
"name": "UnichainProxyAdminOwner",
"description": "A Multisig with 3/3 threshold. \n* Can upgrade **with no delay**\n * ETHLockbox [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * ETHLockbox [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SuperchainConfig [via: SuperchainProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n* Can interact with DisputeGameFactory\n * set the dispute game implementation and initial bond for any game type \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833",
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x6d5B…5833",
"url": "https://etherscan.io/address/0x6d5B183F538ABB8572F5cD17109c617b994D5833"
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC",
"type": "Contract",
"isVerified": true,
"name": "Unichain Multisig 1",
"url": "#Unichain Multisig 1"
},
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Unichain Multisig 2",
"name": "Unichain Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1",
"type": "Contract",
"isVerified": true,
"name": "0x9245…a1b1",
"url": "https://etherscan.io/address/0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x5b5B0669De777AF0Eb7A73eD46AaEe9711ab01E4",
"type": "EOA",
"isVerified": true,
"name": "0x5b5B…01E4",
"url": "https://etherscan.io/address/0x5b5B0669De777AF0Eb7A73eD46AaEe9711ab01E4"
},
{
"address": "eth:0xc531e0368dc3928E11987D096558dEE7A22ECEE4",
"type": "EOA",
"isVerified": true,
"name": "0xc531…CEE4",
"url": "https://etherscan.io/address/0xc531e0368dc3928E11987D096558dEE7A22ECEE4"
},
{
"address": "eth:0x7D742aD88c6cE2D3dD1B4582b5180423b74cBc4c",
"type": "EOA",
"isVerified": true,
"name": "0x7D74…Bc4c",
"url": "https://etherscan.io/address/0x7D742aD88c6cE2D3dD1B4582b5180423b74cBc4c"
},
{
"address": "eth:0x31e5EDc2c4cC4AA25349339f96747B54d1624160",
"address": "eth:0x01Bc161F133d37Ed8624f77e1DCF1671b9423c92",
"type": "EOA",
"isVerified": true,
"name": "0x31e5…4160",
"url": "https://etherscan.io/address/0x31e5EDc2c4cC4AA25349339f96747B54d1624160"
"name": "0x01Bc…3c92",
"url": "https://etherscan.io/address/0x01Bc161F133d37Ed8624f77e1DCF1671b9423c92"
},
{
"address": "eth:0x34d19AC0a7B195359354DB4D5E8aDa7A1f2Cb27C",
"type": "EOA",
"isVerified": true,
"name": "0x34d1…b27C",
"url": "https://etherscan.io/address/0x34d19AC0a7B195359354DB4D5E8aDa7A1f2Cb27C"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner, UnichainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).\nMember of SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7",
"address": "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639",
"type": "EOA",
"isVerified": true,
"name": "0x6419…2cc7",
"url": "https://etherscan.io/address/0x6419F81580343DF023E68715C6e269aFb00a2cc7"
"name": "0xf1Ef…4639",
"url": "https://etherscan.io/address/0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8",
"address": "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27",
"type": "EOA",
"isVerified": true,
"name": "0xBF93…a2c8",
"url": "https://etherscan.io/address/0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8"
"name": "0x7F1D…9f27",
"url": "https://etherscan.io/address/0x7F1D4FE689B73B628285454667B93cfd09409f27"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "SaferSafes",
"name": "SaferSafes",
"accounts": [
{
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"type": "Contract",
"isVerified": true,
"name": "0xA844…483a",
"url": "https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a"
}
],
"chain": "ethereum",
"description": "A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig]",
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner, UnichainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig]",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE61F12136bA47De67D15a1D59fE2f383ec5176aE",
"type": "EOA",
"isVerified": true,
"name": "0xE61F…76aE",
"url": "https://etherscan.io/address/0xE61F12136bA47De67D15a1D59fE2f383ec5176aE"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81",
"type": "EOA",
"isVerified": true,
"name": "0x5c1f…7a81",
"url": "https://etherscan.io/address/0x5c1f9E9384Ca9fE0499277F6a015a2ac0A317a81"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"address": "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
"name": "0xd915…5930",
"url": "https://etherscan.io/address/0xd91530dB01c60C6B3b824707D33fb0771aB85930"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6",
"type": "EOA",
"isVerified": true,
"name": "0xcbC7…7eA6",
"url": "https://etherscan.io/address/0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6",
"type": "Contract",
"isVerified": true,
"name": "0x9343…51a6",
"url": "https://etherscan.io/address/0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6"
}
],
"chain": "ethereum",
"description": "* Can interact with LivenessModule\n * can remove members of Unichain Multisig 1 inactive for 2mo 10d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationOperationsSafe",
"name": "OpFoundationOperationsSafe",
"description": "A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling).",
"accounts": [
{
"address": "eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"type": "Contract",
"isVerified": true,
"name": "0x9BA6…6b3A",
"url": "https://etherscan.io/address/0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7",
"type": "EOA",
"isVerified": true,
"name": "0x6419…2cc7",
"url": "https://etherscan.io/address/0x6419F81580343DF023E68715C6e269aFb00a2cc7"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5",
"type": "EOA",
"isVerified": true,
"name": "0xC2Db…6dF5",
"url": "https://etherscan.io/address/0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5"
},
{
"address": "eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8",
"type": "EOA",
"isVerified": true,
"name": "0xBF93…a2c8",
"url": "https://etherscan.io/address/0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea",
"type": "EOA",
"isVerified": true,
"name": "0xa2A5…fDea",
"url": "https://etherscan.io/address/0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea"
}
],
"discoveryDrivenData": true
},
{
"id": "Unichain Multisig 1",
"name": "Unichain Multisig 1",
"description": "A Multisig with 3/5 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 2mo 10d while making sure that the threshold remains above 60%. If the number of members falls below 1, the 0x0000000000000000000000000000000000000000 takes ownership of the multisig).\nMember of UnichainProxyAdminOwner.\n",
"accounts": [
{
"address": "eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC",
"type": "Contract",
"isVerified": true,
"name": "0xb0c4…44EC",
"url": "https://etherscan.io/address/0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc8C31213545f32230E0327Db76df5538c2836081",
"type": "EOA",
"isVerified": true,
"name": "0xc8C3…6081",
"url": "https://etherscan.io/address/0xc8C31213545f32230E0327Db76df5538c2836081"
},
{
"address": "eth:0xAC68D69dC0FE6E00BcdABEe391b06d09098804bb",
"type": "EOA",
"isVerified": true,
"name": "0xAC68…04bb",
"url": "https://etherscan.io/address/0xAC68D69dC0FE6E00BcdABEe391b06d09098804bb"
},
{
"address": "eth:0x34154426ab842AAAeFda28F3f5d103Dd0b0FE37A",
"type": "EOA",
"isVerified": true,
"name": "0x3415…E37A",
"url": "https://etherscan.io/address/0x34154426ab842AAAeFda28F3f5d103Dd0b0FE37A"
},
{
"address": "eth:0xee1cCc7Abd01554d0bB26Cb4548954B57281697C",
"type": "EOA",
"isVerified": true,
"name": "0xee1c…697C",
"url": "https://etherscan.io/address/0xee1cCc7Abd01554d0bB26Cb4548954B57281697C"
},
{
"address": "eth:0xD930FbB04C315C90d0879FC8978BD9BDD57e8449",
"type": "EOA",
"isVerified": true,
"name": "0xD930…8449",
"url": "https://etherscan.io/address/0xD930FbB04C315C90d0879FC8978BD9BDD57e8449"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd",
"type": "EOA",
"isVerified": true,
"name": "0x2F60…f7Fd",
"url": "https://etherscan.io/address/0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"type": "EOA",
"isVerified": true,
"name": "0x2fA1…a87c",
"url": "https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c",
"displayName": "Optimism EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig]",
"discoveryDrivenData": true
}
]
},
"unichain": {
"roles": [],
"actors": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"accounts": [
{
"address": "unichain:0x7E6c183F538abb8572F5cd17109C617b994d6944",
"address": "unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"type": "EOA",
"isVerified": true,
"name": "0x7E6c…6944",
"url": "https://uniscan.xyz/address/0x7E6c183F538abb8572F5cd17109C617b994d6944",
"displayName": "UnichainProxyAdminOwner_L2Alias"
"name": "0x6B1B…4E3b",
"url": "https://uniscan.xyz/address/0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b",
"displayName": "SuperchainProxyAdminOwner_L2Alias"
}
],
"chain": "unichain",
"description": "* Can upgrade **with no delay**\n * DeployerWhitelist [via: L2ProxyAdmin]\n * L2CrossDomainMessenger [via: L2ProxyAdmin]\n * GasPriceOracle [via: L2ProxyAdmin]\n * L2StandardBridge [via: L2ProxyAdmin]\n * SequencerFeeVault [via: L2ProxyAdmin]\n * OptimismMintableERC20Factory [via: L2ProxyAdmin]\n * L1BlockNumber [via: L2ProxyAdmin]\n * L2ERC721Bridge [via: L2ProxyAdmin]\n * L1Block [via: L2ProxyAdmin]\n * L2ToL1MessagePasser [via: L2ProxyAdmin]\n * OptimismMintableERC721Factory [via: L2ProxyAdmin]\n * L2ProxyAdmin [via: L2ProxyAdmin]\n * BaseFeeVault [via: L2ProxyAdmin]\n * L1FeeVault [via: L2ProxyAdmin]\n * SchemaRegistry [via: L2ProxyAdmin]\n * EAS [via: L2ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+776 -222
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748347,
"transactionHash": "0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x1005217ad392DC64CEf501FA1777A27D42166748"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"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 SuperFaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x2F12d621a16e2d3285929C9996f478508951dFe4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748467,
"transactionHash": "0x742808a336fb214d362e781aae88a3f818ba00a363900e7ca1915f0996b2060a",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner\n * **owner**: UnichainProxyAdminOwner",
"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* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **owner**: SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2F12d621a16e2d3285929C9996f478508951dFe4#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748359,
"transactionHash": "0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1742397851,
"transactionHash": "0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1742397851,
"transactionHash": "0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: Unichain Multisig 2",
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: Unichain Multisig 2",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc407398d063f942feBbcC6F80a156b47F3f1BDA6#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748455,
"transactionHash": "0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748407,
"transactionHash": "0xb432a9b2f5b368a884c3a0d0708bf6949d38d8102b35bba9fa4d21c12865e601",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "ETHLockbox",
"isVerified": true,
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"upgradableBy": [
},
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c#code"
"url": "https://etherscan.io/address/0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5#code"
},
{
"name": "Escrow",
"isVerified": true,
"address": "eth:0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A#code"
},
{
"name": "SuperFaultDisputeGame",
"isVerified": true,
"address": "eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x19AF533Cc2A2A55786DCB8672aA5717e64213208#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
"url": "https://etherscan.io/address/0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"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* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UnichainProxyAdminOwner",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 2mo 10d while making sure that the threshold remains above 60%. If the number of members falls below 1, the 0x0000000000000000000000000000000000000000 takes ownership of the multisig\n* Roles:\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "PermissionedDisputeGame",
"name": "SuperPermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"address": "eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"description": "Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
"url": "https://etherscan.io/address/0x5C3eb47cB0174aea522a2a9Ae79487139A53D691#code"
},
{
"name": "MIPS",
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"address": "eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"pastUpgrades": [
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
"url": "https://etherscan.io/address/0x74ad145aC900F1DD5551F0C9E143314DC4022FCf#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739519603,
"transactionHash": "0x09f1292f517ff6453a28592ca3def9cfcc55d8738877af3b9830f0c457009c02",
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
}
],
"description": "Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748419,
"transactionHash": "0x14bd9cb3f3d081f9b569dfeccac4821a21e4fe65b0c1a1b1b80f0369cca63695",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad#code"
},
{
"name": "DelayedWETH",
"name": "MIPS",
"isVerified": true,
"address": "eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac#code"
"url": "https://etherscan.io/address/0xaCc005DCd857B401e4732E6F7837135A22825cfA#code"
}
],
"unichain": [
{
"name": "DeployerWhitelist",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000002",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0d3c0d3C0d3c0D3c0d3C0D3c0d3C0d3c0D30002"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"description": "Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000002#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
"unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96"
]
},
"chain": "unichain",
"pastUpgrades": [],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "GasPriceOracle",
"isVerified": true,
"address": "unichain:0x420000000000000000000000000000000000000F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
"unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152"
]
},
"chain": "unichain",
"references": [
{
"title": "Source Code",
"url": "https://unichain.blockscout.com/address/0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
}
],
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30",
"implementations": [
"unichain:0x93e57A196454CB919193fa9946f14943cf733845"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9",
"implementations": [
"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152"
]
}
],
"description": "Provides the current gas price for L2 transactions.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"description": "Provides the current gas price for L2 transactions.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x420000000000000000000000000000000000000F#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010"
"unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1"
]
},
"chain": "unichain",
"pastUpgrades": [],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011"
"unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA"
]
}
],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012"
"unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014"
"unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833"
]
},
"chain": "unichain",
"pastUpgrades": [],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
"unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56"
]
},
"chain": "unichain",
"references": [
{
"title": "Source Code",
"url": "https://unichain.blockscout.com/address/0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
}
],
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"unichain:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56"
]
}
],
"description": "* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
"unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124"
]
},
"chain": "unichain",
"pastUpgrades": [],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017"
"unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE"
]
}
],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Administration contract for other contract proxies.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias\n * **owner**: UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c",
"implementations": [
"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F"
]
}
],
"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* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias\n * **owner**: SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019"
"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
}
],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "unichain:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A"
"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914"
]
},
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7"
]
}
],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020"
"unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34"
]
}
],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021"
"unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"pastUpgrades": [
{
"timestamp": 1783526401,
"transactionHash": "0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e",
"implementations": [
"unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6"
]
}
],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000021#code"
},
{
"name": "FeeSplitter",
"isVerified": true,
"address": "unichain:0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001#code"
},
{
"name": "L1Splitter",
"isVerified": true,
"address": "unichain:0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa).\n",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002#code"
},
{
"name": "L1Splitter",
"isVerified": true,
"address": "unichain:0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15).\n",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003#code"
},
{
"name": "NetFeeSplitter",
"isVerified": true,
"address": "unichain:0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004#code"
}
]
},
"escrows": [
{
"address": "0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"sinceTimestamp": 1753380731,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1783362755,
"transactionHash": "0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"sinceTimestamp": 1730748227,
"tokens": "*",
"excludedTokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"sinceTimestamp": 1739519603,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739519603,
"transactionHash": "0x09f1292f517ff6453a28592ca3def9cfcc55d8738877af3b9830f0c457009c02",
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program/client",
"title": "OP Kona interop absolute prestate v1.7.0-rc.2 (cannon64-kona-interop)",
"description": "A commitment to the initial state of the OP stack fault proof program of Kona client, in the interop variant run by the super fault dispute game (respected game type 9).",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/kona-client/v1.7.0-rc.2/rust/kona",
"verificationStatus": "successful",
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-program/v1.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
"verificationSteps": "1. Install [just](https://just.systems).\n2. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n3. Check out the correct commit of the [optimism](https://github.com/ethereum-optimism/optimism) repo (tag `kona-client/v1.7.0-rc.2`): `git checkout 64b043ea5bbca9bc6e57e0f1c8df0404b4cf5f68`.\n4. From the monorepo root run `just reproducible-prestate`. A single docker build produces both variants and prints their hashes; this prestate is the `kona-client-int` (interop) one.",
"hash": "0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1783324564,
"baseTimestamp": 1790862365,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "cd925ce0",
"date": "Thu, 01 Oct 2026 13:47:11 GMT",
"timestamp": 1790862365,
"description": "OP Contracts Upgrade 19b \"Karst\" (op-contracts/v7.0.0) on 2026-07-06 upgraded the L1 contracts to their v7 implementations.\n\nThe Karst L2 hardfork activated on 2026-07-08 16:00:01 UTC. Every L2 predeploy was upgraded, and most now inherit `ProxyAdminOwnedBase`, which gates privileged functions to the proxy's ProxyAdmin or its owner.\n\nOP Contracts Upgrade 20 (op-contracts/v8.0.0-rc.3) followed on 2026-09-24. State roots are now proposed as super roots, which are addressed by an L2 timestamp rather than by a block number on this chain. The starting anchor sequence number is therefore a timestamp, changing from 22024228 to 1788848651. The format carries per-chain roots for a future interop set; today each game commits only to this chain. Proving a withdrawal now requires a game whose sequence number is at or after the timestamp of the initiating block rather than its block number; `proveWithdrawalTransaction` is unchanged, as the portal reads this chain's output root out of the super root.\n\nThe respected game type changed 0 → 9, CANNON to SUPER_CANNON_KONA. Proposing and challenging remain permissionless, with a 0.08 ETH bond, a 3.5 day clock, max game depth 73 and split depth 30. The fault proof program is the interop variant of kona v1.7.0-rc.2. Game types 0, 1 and 8 were cleared; the permissioned fallback is now type 5, SUPER_PERMISSIONED, which carries no bond, defines only a proposer and has no challenger.\n\nThe chain moved onto the shared Superchain MIPS, PreimageOracle and DelayedWETH instances, replacing its own, and the two previous DelayedWETH contracts were replaced by one.\n\nSystemConfig reached v4.0.0, removing the `batchInbox()` getter; the batch inbox address now lives only in the rollup config.\n\nThe ProxyAdmin owner moved from the UnichainProxyAdminOwner to the SuperchainProxyAdminOwner, on L1 and through its L2 alias. The Unichain-specific owner Safe, its LivenessModule and LivenessGuard are no longer part of the permission graph.\n\nVersion changes and implementation diffs:\n\n- FaultDisputeGame -> SuperFaultDisputeGame (type 0 -> 9): https://disco.l2beat.com/diff/eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499/eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\n- PermissionedDisputeGame -> SuperPermissionedDisputeGame (type 1 -> 5): https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\n- ETHLockbox 1.2.0 -> 1.3.1: https://disco.l2beat.com/diff/eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6/eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\n- OptimismPortal2 5.2.0 -> 5.8.0: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0x1005217ad392DC64CEf501FA1777A27D42166748\n- AnchorStateRegistry 3.7.0 -> 3.9.0: https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- DisputeGameFactory 1.4.0 -> 1.6.1: https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- L1StandardBridge 2.8.0 -> 2.8.2: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- SuperchainConfig 2.4.2 -> 2.4.3: https://disco.l2beat.com/diff/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550/eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504\n- L1CrossDomainMessenger 2.11.0 -> 2.11.1: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- OptimismMintableERC20Factory 1.10.2 -> 1.11.0: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- SystemConfig 3.13.1 -> 4.0.0: https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\n- L1ERC721Bridge 2.9.0 -> 2.9.1: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- L2CrossDomainMessenger 2.1.1-beta.1 -> 2.2.1: https://disco.l2beat.com/diff/unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007/unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\n- GasPriceOracle implementation rotated: https://disco.l2beat.com/diff/unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1/unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152\n- L2StandardBridge 1.11.1-beta.1 -> 1.13.2: https://disco.l2beat.com/diff/unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010/unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\n- SequencerFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011/unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\n- OptimismMintableERC20Factory 1.10.1-beta.2 -> 1.11.0: https://disco.l2beat.com/diff/unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012/unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\n- L2ERC721Bridge 1.7.1-beta.2 -> 1.10.1: https://disco.l2beat.com/diff/unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014/unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\n- L1Block implementation rotated: https://disco.l2beat.com/diff/unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C/unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\n- L2ToL1MessagePasser 1.1.1-beta.1 -> 1.2.0: https://disco.l2beat.com/diff/unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016/unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\n- OptimismMintableERC721Factory 1.4.1-beta.1 -> 1.5.1: https://disco.l2beat.com/diff/unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017/unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\n- L2ProxyAdmin implementation rotated: https://disco.l2beat.com/diff/unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018/unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\n- BaseFeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019/unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- L1FeeVault 1.5.0-beta.2 -> 1.6.1: https://disco.l2beat.com/diff/unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A/unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\n- SchemaRegistry 1.3.1-beta.1 -> 1.3.1-beta.2: https://disco.l2beat.com/diff/unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020/unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\n- EAS 1.4.1-beta.1 -> 1.4.1-beta.3: https://disco.l2beat.com/diff/unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021/unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6",
"isHighSeverity": true,
"changeCount": 413,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ETHLockbox (eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5) [opstack/ETHLockbox] {\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n sourceHashes.1:\n- \"0x330c0ee4ca969ca3a1deda35d8ce83d1861361088ef0b4b8efe0ec23b4f24c19\"\n+ \"0x99fabdfb3d8ef02962877763f6f3c7ec26d39e15e700fa854a040321a79f61ec\"\n values.$implementation:\n- \"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6\"\n+ \"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"\n values.$pastUpgrades.1:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.2:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.3:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad\"]]\n values.$upgradeCount:\n- 1\n+ 7\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.1\"\n implementationNames.eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6:\n- \"ETHLockbox\"\n implementationNames.eth:0xb3A24DB07038b51962026329B62E7a965d56A6ad:\n+ \"ETHLockbox\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0x5a3a97f72d46aaebbcbdba3783f7c5a8acfcd5ae928afe402abdb21acc0be49f\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the SuperFaultDisputeGame.\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x1005217ad392DC64CEf501FA1777A27D42166748\"]]\n values.$upgradeCount:\n- 7\n+ 13\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n values.respectedGameType:\n- 0\n+ 9\n values.version:\n- \"5.2.0\"\n+ \"5.8.0\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x1005217ad392DC64CEf501FA1777A27D42166748:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.3:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.4:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.5:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 3\n+ 9\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.getStartingAnchorRoot.root:\n- \"0x193781a056643321a32aacffcb9087a6e54a0f858d5ee06f29cd920ada6eeea9\"\n+ \"0xaf64a866304eb17696278d26290bb172aa941eac3370d9bc8bd313d492beb7d3\"\n values.getStartingAnchorRoot.l2SequenceNumber:\n- 22024228\n+ 1788848651\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.RespectedGameString:\n- \"FaultDisputeGame\"\n+ \"SuperFaultDisputeGame\"\n+++ severity: HIGH\n values.respectedGameType:\n- 0\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\"\n+++ severity: HIGH\n values.blacklistedGames:\n+ []\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFactory:\n- {\"severity\":\"HIGH\"}\n fieldMeta.systemConfig:\n- {\"severity\":\"HIGH\"}\n fieldMeta.blacklistedGames:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.6:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\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:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 6\n+ 12\n values.challengerFromDGF:\n- \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+ \"UNRESOLVED\"\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [\"80000000000000000\",\"80000000000000000\",0,0,0]\n values.owner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90827cf508e4e3aa8d30b3226ac3b5ea0e8bcacaff9e62b0279f6a466c5e1676f3ea955086300bcd0ac0000000000000000000000000000000000000000000000000000000000000082d5f0e2912c70771c589cd8bb087ede0dab4afa9a9ba6e03d8b90de867373db8cf1a58d2f7f006b3a\"\n+ \"0x\"\n values.proposerFromDGF:\n- \"eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A\"\n+ \"UNRESOLVED\"\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n+++ severity: HIGH\n values.wethFromDGF:\n- \"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\"\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.absolutePrestateFromDGF:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.anchorStateRegistryFromDGF:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.chainIdFromDGF:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game5:\n+ \"eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691\"\n+++ severity: HIGH\n values.game5AnchorStateRegistry:\n+ \"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\"\n values.game5Args:\n+ \"0x27cf508e4e3aa8d30b3226ac3b5ea0e8bcacaff9d5f0e2912c70771c589cd8bb087ede0dab4afa9a\"\n+++ severity: HIGH\n values.game5Proposer:\n+ \"eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8AbsolutePrestate:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8AnchorStateRegistry:\n+ \"UNRESOLVED\"\n values.game8Args:\n+ \"0x\"\n+++ severity: HIGH\n values.game8ChainId:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Vm:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game8Weth:\n+ \"UNRESOLVED\"\n+++ severity: HIGH\n values.game9:\n+ \"eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208\"\n+++ severity: HIGH\n values.game9AbsolutePrestate:\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df\"\n+++ severity: HIGH\n values.game9AnchorStateRegistry:\n+ \"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\"\n values.game9Args:\n+ \"0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1dfacc005dcd857b401e4732e6f7837135a22825cfa27cf508e4e3aa8d30b3226ac3b5ea0e8bcacaff974ad145ac900f1dd5551f0c9e143314dc4022fcf0000000000000000000000000000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game9Vm:\n+ \"eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA\"\n+++ severity: HIGH\n values.game9Weth:\n+ \"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame5:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n values.initBondGame9:\n+ \"80000000000000000\"\n+++ severity: HIGH\n values.vmFromDGF:\n+ \"UNRESOLVED\"\n fieldMeta.$admin:\n- {\"severity\":\"HIGH\"}\n fieldMeta.owner:\n- {\"severity\":\"HIGH\"}\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 fieldMeta.game9:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.absolutePrestateFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.vmFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8ChainId:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AbsolutePrestate:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Vm:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game9Weth:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5AnchorStateRegistry:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game5Proposer:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.anchorStateRegistryFromDGF:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.chainIdFromDGF:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceBytes32\",\"arg\":{\"offset\":0}}\n usedTypes.1:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.2:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n usedTypes.3:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":52}}\n usedTypes.4:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n usedTypes.5:\n+ {\"typeCaster\":\"SliceUint256\",\"arg\":{\"offset\":92}}\n usedTypes.6:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":0}}\n usedTypes.7:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":20}}\n usedTypes.2:\n- {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":72}}\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) [global/ProxyAdmin] {\n +++ description: None\n values.owner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n directlyReceivedPermissions.3:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\",\"role\":\"admin\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract LivenessModule (eth:0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2) [gnosisSafeModules/LivenessModule]\n +++ description: used to remove members inactive for 2mo 10d while making sure that the threshold remains above 60%. If the number of members falls below 1, the eth:0x0000000000000000000000000000000000000000 takes ownership of the multisig\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract SuperchainProxyAdminOwner (eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) [GnosisSafe] {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x2F12d621a16e2d3285929C9996f478508951dFe4\",\"description\":\"set the dispute game implementation and initial bond for any game type.\",\"role\":\".owner\"}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8098F676033A377b9Defe302e9fE6877cD63D575\",\"description\":\"set and change address mappings.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.5:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2F12d621a16e2d3285929C9996f478508951dFe4\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.13:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n directlyReceivedPermissions.0:\n+ {\"permission\":\"act\",\"from\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract UnichainProxyAdminOwner (eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499) [opstack/FaultDisputeGame]\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1StandardBridge (eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) [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.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"2.8.0\"\n+ \"2.8.2\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n- \"L1StandardBridge\"\n implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n- \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n+ \"eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639\"\n values.$members.3:\n- \"eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8\"\n+ \"eth:0x7F1D4FE689B73B628285454667B93cfd09409f27\"\n }\n```\n\n```diff\n contract Unichain Multisig 2 (eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1) [GnosisSafe] {\n +++ description: None\n values.$members.3:\n- \"eth:0x31e5EDc2c4cC4AA25349339f96747B54d1624160\"\n+ \"eth:0x01Bc161F133d37Ed8624f77e1DCF1671b9423c92\"\n }\n```\n\n```diff\n- Status: DELETED\n contract LivenessGuard (eth:0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6) [N/A]\n +++ description: None\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"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```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6\"\n+ \"0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806\"\n values.$implementation:\n- \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n+ \"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 7\n+ 13\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e\"\n+ \"0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0\"\n values.$implementation:\n- \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n+ \"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"\n values.$pastUpgrades.4:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.5:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$pastUpgrades.6:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.7:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\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:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 4\n+ 10\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) [gnosisSafeModules/SaferSafes] {\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n directlyReceivedPermissions.1:\n- {\"permission\":\"act\",\"from\":\"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\",\"role\":\".GnosisSafe_modules\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract Unichain Multisig 1 (eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x532730df835e1a130919ca2afe170505acde568abb77ed1f9a018e5019415ab6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"\n values.$pastUpgrades.9:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$pastUpgrades.13:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.14:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA\"]]\n values.$upgradeCount:\n- 9\n+ 15\n values.BATCH_INBOX_SLOT:\n- \"0x71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc597\"\n values.batchInbox:\n- \"eth:0xFf00000000000000000000000000000000000130\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf\"\n values.getAddresses.opcm:\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"3.13.1\"\n+ \"4.0.0\"\n values.lastUsedOPCM:\n+ \"eth:0x1951828Ce913DC4383a8A1695695D537a11D896a\"\n values.lastUsedOPCMVersion:\n+ \"8.0.1\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x670b850A235A6fA98cD7a195eB139D0277E471fA:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2\"\n+ \"0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b\"\n values.$implementation:\n- \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n+ \"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"\n values.$pastUpgrades.7:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.8:\n+ [\"2026-07-06T18:32:35.000Z\",\"0xb3c65cbf6285d4b32d576c866fffced1c77747c53163b604e20feb6aad121421\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.9:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.10:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$pastUpgrades.11:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.12:\n+ [\"2026-09-24T16:51:23.000Z\",\"0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 7\n+ 13\n values.proxyAdminOwner:\n- \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac) [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 L2CrossDomainMessenger (unichain: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- \"unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007\"\n+ \"unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain: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+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007:\n- \"L2CrossDomainMessenger\"\n implementationNames.unichain:0x250AF3f400cf8Aac8D410c90f1ba3968dD87DF96:\n+ \"L2CrossDomainMessenger\"\n }\n```\n\n```diff\n contract GasPriceOracle (unichain:0x420000000000000000000000000000000000000F) [opstack/Layer2/GasPriceOracle] {\n +++ description: Provides the current gas price for L2 transactions.\n values.$implementation:\n- \"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n+ \"unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n- \"GasPriceOracle\"\n implementationNames.unichain:0x547d0fba434877D7237d511cF87FABe2ee26b152:\n+ \"GasPriceOracle\"\n references:\n- [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"}]\n }\n```\n\n```diff\n contract L2StandardBridge (unichain: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- \"unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010\"\n+ \"unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain: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+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010:\n- \"L2StandardBridge\"\n implementationNames.unichain:0xAE9ed42f43a3ee45c3A9dEf8ae6B48cBb58Ed1a1:\n+ \"L2StandardBridge\"\n }\n```\n\n```diff\n contract SequencerFeeVault (unichain:0x4200000000000000000000000000000000000011) [opstack/Layer2/SequencerFeeVault] {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n sourceHashes.1:\n- \"0x509425b10b7bc736a2d76eb9fe3bc5951124e88ef3e4752a0a314d33690041d2\"\n+ \"0xb45389729a8fffa7650568cd2922e482d03d3ed57b35f4819650d11174d9237a\"\n values.$implementation:\n- \"unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011\"\n+ \"unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011:\n- \"SequencerFeeVault\"\n implementationNames.unichain:0xb178cdAa8336f25624A63C049EdB5AF7ca36C2dA:\n+ \"SequencerFeeVault\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (unichain: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- \"unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012\"\n+ \"unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain: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+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012:\n- \"OptimismMintableERC20Factory\"\n implementationNames.unichain:0xAF87f2Fd347aCb94656f9F715B4f2409B98e75b9:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract L2ERC721Bridge (unichain: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- \"unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014\"\n+ \"unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain: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+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014:\n- \"L2ERC721Bridge\"\n implementationNames.unichain:0x716eAd0Cf3e7FF86A02D4F8cb41a6D14922fA833:\n+ \"L2ERC721Bridge\"\n }\n```\n\n```diff\n contract L1Block (unichain: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- \"0xd8671cf61a7da63a2d77c745e213afbd37a88260d4ff2b5121e5e3c0b4711c93\"\n+ \"0xca6401a4032def95df36b0d432052526888ef8a396f7e4fc37cdda3690932646\"\n values.$implementation:\n- \"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n+ \"unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"\n values.$pastUpgrades.2:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.baseFeeScalar:\n+ 2000\n values.batcherHash:\n+ \"0x0000000000000000000000002f60a5184c63ca94f82a27100643dbabe4f3f7fd\"\n values.daFootprintGasScalar:\n+ 400\n values.DEPOSITOR_ACCOUNT:\n+ \"unichain:0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001\"\n values.gasPayingToken:\n+ {\"addr_\":\"unichain: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.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.version:\n+ \"1.9.0\"\n implementationNames.unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n- \"\"\n implementationNames.unichain:0x6a97C5D55A21265326150Efe12FC30Fb21cbff56:\n+ \"L1Block\"\n references:\n- [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"}]\n template:\n+ \"opstack/Layer2/L1Block\"\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 contract L2ToL1MessagePasser (unichain:0x4200000000000000000000000000000000000016) [opstack/Layer2/L2ToL1MessagePasser] {\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n sourceHashes.1:\n- \"0x1e27889ae9ce2358b6248afde8e8b6f7c4ccf0b308a9d9ecb629369ce110ea23\"\n+ \"0xb5be3cf9878e914d0b7feef281dbcc2b72d7c7e9106e44a7dfd516d48de8a62a\"\n values.$implementation:\n- \"unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016\"\n+ \"unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124\"]]\n values.$upgradeCount:\n- 0\n+ 1\n values.version:\n- \"1.1.1-beta.1\"\n+ \"1.2.0\"\n implementationNames.unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016:\n- \"L2ToL1MessagePasser\"\n implementationNames.unichain:0x27E51B2254433A3284D9ba73Ea551C397DB2a124:\n+ \"L2ToL1MessagePasser\"\n }\n```\n\n```diff\n contract OptimismMintableERC721Factory (unichain: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- \"unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017\"\n+ \"unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain: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+ \"unichain:0x4200000000000000000000000000000000000014\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.remoteChainID:\n+ 1\n implementationNames.unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017:\n- \"OptimismMintableERC721Factory\"\n implementationNames.unichain:0xf43862B9d814BB4504158CecCB0b74b31265e4eE:\n+ \"OptimismMintableERC721Factory\"\n }\n```\n\n```diff\n contract L2ProxyAdmin (unichain:0x4200000000000000000000000000000000000018) [opstack/Layer2/L2ProxyAdmin_karst] {\n +++ description: Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\n template:\n- \"opstack/Layer2/L2ProxyAdmin\"\n+ \"opstack/Layer2/L2ProxyAdmin_karst\"\n sourceHashes.1:\n- \"0x5685f6e3015a6b9a257228bb8ef3c33efb233627bc5c81b7005670a10a37bd47\"\n+ \"0xc9307181d90f9b86ff913d1c365245cfb8622929939cbff0389acf7f428ddc4b\"\n description:\n- \"Administration contract for other contract proxies.\"\n+ \"Administration contract for the L2 predeploy proxies. Adds upgradePredeploys(address), which can only be called by the system depositor account and delegatecalls an L2ContractsManager to upgrade every predeploy in a single network upgrade transaction.\"\n values.$implementation:\n- \"unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018\"\n+ \"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0x48aa8d6a9d281bf0eaa204e895acdfe0ba38640c34f6d133b2f4ecb879f5c72c\",[\"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.owner:\n- \"unichain:0x7E6c183F538abb8572F5cd17109C617b994d6944\"\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n values.version:\n+ \"1.0.0\"\n fieldMeta.owner:\n- {\"severity\":\"HIGH\"}\n fieldMeta.addressManager:\n+ {\"severity\":\"HIGH\"}\n implementationNames.unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018:\n- \"ProxyAdmin\"\n implementationNames.unichain:0x893c2CEEb71D38514daF67728d3Ff1b213FC4B5F:\n+ \"L2ProxyAdmin\"\n }\n```\n\n```diff\n contract BaseFeeVault (unichain:0x4200000000000000000000000000000000000019) [opstack/Layer2/BaseFeeVault_karst] {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/BaseFeeVault\"\n+ \"opstack/Layer2/BaseFeeVault_karst\"\n sourceHashes.1:\n- \"0x3d0a3be0a8f45817aa732f9e2f00e95db42726fa0335aa511b97c1a4cdecd4b7\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019\"\n+ \"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019:\n- \"BaseFeeVault\"\n implementationNames.unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract L1FeeVault (unichain:0x420000000000000000000000000000000000001A) [opstack/Layer2/L1FeeVault_karst] {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n template:\n- \"opstack/Layer2/L1FeeVault\"\n+ \"opstack/Layer2/L1FeeVault_karst\"\n sourceHashes.1:\n- \"0x7c20cecc6bd09d07904ca96f0b10f1b1106bb1b0910dadd959556c970f5b527e\"\n+ \"0xf7b9f825b6af20abb355da09822d54e6e3fa7243439293826bd7271f87747775\"\n values.$implementation:\n- \"unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A\"\n+ \"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0x2A5A3eabB9Fd571A3Af0299eebdF8EaafE29a914\"]]\n values.$pastUpgrades.1:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7\"]]\n values.$upgradeCount:\n- 0\n+ 2\n values.version:\n- \"1.5.0-beta.2\"\n+ \"1.6.1\"\n values.proxyAdmin:\n+ \"unichain:0x4200000000000000000000000000000000000018\"\n values.proxyAdminOwner:\n+ \"unichain:0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b\"\n implementationNames.unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A:\n- \"L1FeeVault\"\n implementationNames.unichain:0xf7bed7215EEF1003fac426682Cf2edeb958569f7:\n+ \"BaseFeeVault\"\n }\n```\n\n```diff\n contract SchemaRegistry (unichain: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- \"unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020\"\n+ \"unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain: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.unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020:\n- \"SchemaRegistry\"\n implementationNames.unichain:0x70DE55BC0bfBC52C5D0CCA1DA5816c2428886A34:\n+ \"SchemaRegistry\"\n }\n```\n\n```diff\n contract EAS (unichain:0x4200000000000000000000000000000000000021) [opstack/Layer2/EAS] {\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n sourceHashes.1:\n- \"0xa445fc3be07624967bd4cb9792e42018303744e20dc788527e19f17d83b6373d\"\n+ \"0x3f7d9db9a6d3d5d487930fcb808a16592e61fe97c3bbd86b63464273f81a6dd9\"\n values.$implementation:\n- \"unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021\"\n+ \"unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6\"\n values.$pastUpgrades.0:\n+ [\"2026-07-08T16:00:01.000Z\",\"0xd2e9eb2ba77098610e7dda134e70f741f7456f4ec49912d667860c40988dfd8e\",[\"unichain: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.unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021:\n- \"EAS\"\n implementationNames.unichain:0xbEc660b456B84A081E90aF29BE43385BDa5bF7b6:\n+ \"EAS\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SuperFaultDisputeGame (eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208) [opstack/SuperFaultDisputeGame]\n +++ description: Logic of the permissionless dispute game introduced in Upgrade 20. It proves a super root, a state commitment addressed by an L2 timestamp rather than by a block number. The format carries per-chain roots for a future interop set; today each game commits only to its own chain. When a state root is proposed, a game contract is cloned from this implementation; anyone posting the bond can challenge it.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SuperPermissionedDisputeGame (eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691) [opstack/SuperPermissionedDisputeGame]\n +++ description: Logic of the permissioned dispute game introduced in Upgrade 20. Only the proposer configured in the DisputeGameFactory can create games of this type, and each one commits to a super root anchored to an L2 timestamp. Unlike the permissioned game it replaces, it runs no VM and exposes no challenger, bond, clock or absolute prestate: validity is governed by the AnchorStateRegistry and the Guardian.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf) [opstack/DelayedWETH]\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "9e0b5854",
"date": "Mon, 06 Jul 2026 07:57:11 GMT",
"timestamp": 1783324564,
"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": "7d37c638",
"date": "Thu, 04 Jun 2026 17:46:04 GMT",
"timestamp": 1780397664,
"description": "Unichain Multisig 1 and Multisig 2 each rotated one signer.\n\nNew game name (aggregateVerifier) added to portal.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Unichain Multisig 2 (eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x5b5B0669De777AF0Eb7A73eD46AaEe9711ab01E4\"\n values.$members.2:\n- \"eth:0xFA361ece9724d75B7EdF08B9A238706EAe270d3f\"\n }\n```\n\n```diff\n contract Unichain Multisig 1 (eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0xc8C31213545f32230E0327Db76df5538c2836081\"\n values.$members.2:\n- \"eth:0xf89C1b6e5D65e97c69fbc792f1BcdcB56DcCde91\"\n }\n```"
}
]
},
{
"id": "c83035d4",
"date": "Fri, 15 May 2026 13:11:11 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe and OpFoundationOperationsSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "f85a58de",
"date": "Tue, 05 May 2026 15:19:38 GMT",
"timestamp": 1777994306,
"description": "Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb`. Shared multisig (referenced by multiple Superchain projects).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "0efbe3fa",
"date": "Wed, 25 Mar 2026 10:08:16 GMT",
"timestamp": 1774433230,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe and OpFoundationOperationsSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "ff91f6d8",
"date": "Fri, 27 Feb 2026 13:29:34 GMT",
"timestamp": 1772198394,
"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": "8f84154a",
"date": "Fri, 13 Feb 2026 14:50:29 GMT",
"timestamp": 1770994162,
"description": "OP Contracts Upgrade 18 (op-contracts/v6.0.0). Same implementations as OP Mainnet.\n\nOptimismPortal2 v5.1.1→v5.2.0: adds Custom Gas Token safety guards preventing ETH value operations in CGT mode. ([diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B))\n\nAnchorStateRegistry v3.5.0→v3.7.0: adds safe re-initialization guard for retirementTimestamp and a new getStartingAnchorRoot() getter. ([diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5))\n\nSystemConfig v3.11.0→v3.13.1: adds DelayedWETH storage slot, setBatcherHash(address) convenience setter, and isCustomGasToken() legacy getter. ([diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2))\n\nDisputeGameFactory v1.3.0→v1.4.0: cloning logic now embeds gameType in clone bytecode when gameArgs are present. ([diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c))\n\nNew PermissionedDisputeGameV2 and FaultDisputeGameV2 move game parameters (VM, WETH, anchor registry, etc.) from constructor immutables into clone bytecode, allowing the factory to configure per-clone without separate implementations.",
"isHighSeverity": true,
"changeCount": 48,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n+ \"0x3410684a7a8c16c4f87db990b834ce7c3be33136857c103791b132b824bfd951\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.6:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x1601463fd2e47d8994c28a90b556c6933f38e8685214f702dc41a5ae08d9787c\"\n+ \"0xa1c629e3a86e4cba49482956c04d921b52551c4ee9833ddda7e44ca155bc6cab\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.2:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x193781a056643321a32aacffcb9087a6e54a0f858d5ee06f29cd920ada6eeea9\",\"l2SequenceNumber\":22024228}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n+ \"0x0fdb3ea7873ad716dd0f5f9d2fdbab989f3b308066977be182ddc31d150e12f5\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.5:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A\"\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x6D0462850F7B87403660CC9f4F89346483108512\"\n+ \"eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x6D0462850F7B87403660CC9f4F89346483108512)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.6:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.3:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n }\n```\n\n```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n+ \"0x86dc9ef5cbf4cc436d50678ad7b2abbf9cc1905641ebbeccddbf1adf9b724403\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.8:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.6:\n+ [\"2026-02-10T17:30:23.000Z\",\"0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```"
}
]
},
{
"id": "58eb42e4",
"date": "Mon, 26 Jan 2026 09:08:14 GMT",
"timestamp": 1769272161,
"description": "SaferSafes module (LivenessModule + TimelockGuard) added to OpFoundationUpgradeSafe and OpFoundationOperationsSafe. Timelock delays currently 0.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.GnosisSafe_modules.0:\n+ \"eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract SaferSafes (eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a)\n +++ description: A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.\n```"
}
]
},
{
"id": "9971669c",
"date": "Wed, 21 Jan 2026 10:14:46 GMT",
"timestamp": 1768990397,
"description": "SystemConfig minBaseFee changed from 0 to 500000 (0.0005 gwei).",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\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+ 500000\n }\n```"
}
]
},
{
"id": "c2e1f7e7",
"date": "Fri, 09 Jan 2026 14:57:53 GMT",
"timestamp": 1767970592,
"description": "SystemConfig updated: gas limit doubled from 30M to 60M, and EIP-1559 parameters configured (denominator: 250, elasticity: 12).",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\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+ 12\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 60000000\n }\n```"
}
]
},
{
"id": "23946144",
"date": "Wed, 07 Jan 2026 16:08:15 GMT",
"timestamp": 1767802030,
"description": "L1Splitter recipient changed to a Drippie contract as part of the UNIfication proposal, routing sequencer fees to the UNI burn mechanism instead of treasury.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1Splitter (unichain:0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003) {\n +++ description: Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15).\n description:\n- \"Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd).\"\n+ \"Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15).\"\n values.l1Recipient:\n- \"unichain:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd\"\n+ \"unichain:0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15\"\n }\n```"
}
]
},
{
"id": "86db7e3e",
"date": "Thu, 18 Dec 2025 09:01:59 GMT",
"timestamp": 1766048397,
"description": "upgrade to safe 1.4.1",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n sourceHashes.1:\n- \"0xd42bbf9f7dcd3720a7fc6bdc6edfdfae8800a37d6dd4decfa0ef6ca4a2e88940\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.VERSION:\n- \"1.3.0\"\n+ \"1.4.1\"\n implementationNames.eth:0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n sourceHashes.1:\n- \"0x263aadde480629cd3ca5704cc7d4e7df809d437e68f8d9864039801ddf820367\"\n+ \"0x7d388119a66f3eae147d748f86136f073d907d6b36f7e87e9363c4c7a2899a8a\"\n values.$implementation:\n- \"eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n+ \"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a\"\n values.domainSeparator:\n- \"0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890\"\n+ \"0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76\"\n values.getModules:\n- []\n values.NAME:\n- \"Gnosis Safe\"\n values.VERSION:\n- \"1.1.1\"\n+ \"1.4.1\"\n values.getChainId:\n+ 1\n implementationNames.eth:0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F:\n- \"GnosisSafe\"\n implementationNames.eth:0x41675C099F32341bf84BFc5382aF534df5C7461a:\n+ \"Safe\"\n }\n```"
}
]
},
{
"id": "756e1fb4",
"date": "Wed, 10 Dec 2025 10:27:14 GMT",
"timestamp": 1765362369,
"description": "L1Block contract from Jovian. Starting in Jovian, every non-deposit L2 tx gets a DA usage estimate and the block sums those up into a new resource called DA footprint. Each non-deposit tx compute daUsageEstimate using the Fjord linear model using the tx fastlzSize, and then multiply by the scalar (daFootprintGasScalar). The scalar essentially is a bytes-to-gas conversion factor, e.g. higher daFootprintGasScalar -> each estimated DA byte costs more footprint-gas -> stricter DA-per-block cap. In practice:\n- blocks can become “DA-full” before they are “gas-full” (daFootprint(block) <= gasLimit)\n- base fee now responds to DA-heavy blocks - base fee update uses gasMetered := max(gasUsed, blobGasUsed)\nand Jovian repurposes blobGasUsed to store daFootprint\n- DA-heavy transactions become pricier to include (DA-heavy blocks push gasMetered up, which pushes EIP-1559 base fee up, which feeds back into tx pricing)",
"isHighSeverity": true,
"changeCount": 49,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (unichain:0x420000000000000000000000000000000000000F) {\n +++ description: None\n template:\n- \"opstack/Layer2/GasPriceOracle\"\n sourceHashes.1:\n- \"0x1cb14befaee4fe093cdeeaab8c4a2d125540a0790929ca046c8193a094a88a4f\"\n+ \"0x29ddf164485b42ede998cb6aa971e4178dffbc3247ff52a55177ef43123c2e70\"\n description:\n- \"Provides the current gas price for L2 transactions.\"\n values.$implementation:\n- \"unichain:0x93e57A196454CB919193fa9946f14943cf733845\"\n+ \"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9\",[\"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.baseFee:\n- 0\n values.baseFeeScalar:\n- 2000\n values.blobBaseFee:\n- 1\n values.blobBaseFeeScalar:\n- 900000\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.l1BaseFee:\n- 50173681\n values.version:\n- \"1.4.0\"\n implementationNames.unichain:0x93e57A196454CB919193fa9946f14943cf733845:\n- \"GasPriceOracle\"\n implementationNames.unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1:\n+ \"\"\n references:\n+ [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1\"}]\n }\n```\n\n```diff\n contract L1Block (unichain:0x4200000000000000000000000000000000000015) {\n +++ description: None\n template:\n- \"opstack/Layer2/L1Block\"\n sourceHashes.1:\n- \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n+ \"0xd8671cf61a7da63a2d77c745e213afbd37a88260d4ff2b5121e5e3c0b4711c93\"\n description:\n- \"Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\"\n values.$implementation:\n- \"unichain:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n+ \"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"\n values.$pastUpgrades.1:\n+ [\"2025-12-02T16:00:01.000Z\",\"0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a\",[\"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.basefee:\n- 50173681\n values.baseFeeScalar:\n- 2000\n values.batcherHash:\n- \"0x0000000000000000000000002f60a5184c63ca94f82a27100643dbabe4f3f7fd\"\n values.blobBaseFee:\n- 1\n values.blobBaseFeeScalar:\n- 900000\n values.DEPOSITOR_ACCOUNT:\n- \"unichain:0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001\"\n values.gasPayingToken:\n- {\"addr_\":\"unichain:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.hash:\n- \"0xc866d5b728164337e8302b6d5d0fedeadd05939d021640d1b58a824aa2a69162\"\n values.isCustomGasToken:\n- false\n values.l1FeeOverhead:\n- 0\n values.l1FeeScalar:\n- 0\n values.number:\n- 23896506\n values.operatorFeeConstant:\n- 0\n values.operatorFeeScalar:\n- 0\n values.sequenceNumber:\n- 7\n values.timestamp:\n- 1764324815\n values.version:\n- \"1.6.0\"\n implementationNames.unichain:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n- \"L1Block\"\n implementationNames.unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C:\n+ \"\"\n references:\n+ [{\"text\":\"Source Code\",\"href\":\"https://unichain.blockscout.com/address/0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C\"}]\n }\n```"
}
]
},
{
"id": "7ac95a79",
"date": "Fri, 28 Nov 2025 10:16:25 GMT",
"timestamp": 1764324881,
"description": "'Jovian' Upgrade + Fusaka Readiness: https://gov.optimism.io/t/upgrade-17-jovian-hardfork-and-fusaka-readiness/10400\n\n[OptimismPortal2](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202), [System Config](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\n- Jovian block values\n- fee updates `MIN_BASE_FEE`, `DA_FOOTPRINT_GAS_SCALAR` and operator fee\n\n[L1StandardBridge](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A), [SuperchainConfig](https://disco.l2beat.com/diff/eth:0xCe28685EB204186b557133766eCA00334EB441E4/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957), [OptimismMintableERC20Factory](https://disco.l2beat.com/diff/eth:0x5493f4677A186f64805fe7317D6993ba4863988F/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB), [DisputeGameFactory](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50), [L1ERC721Bridge](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9),[L1CrossDomainMessenger](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0), [MIPS](https://disco.l2beat.com/diff/eth:0x07BABE08EE4D07dBA236530183B24055535A7011/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908), [PermissionedDisputeGame](https://disco.l2beat.com/diff/eth:0x5562D33B68fa20572FC58fA36aB19CCFeDD6eE8f/eth:0x467E6a8D6916E7394F9715b4DE9339ee36887382)\n- minimal diff",
"isHighSeverity": true,
"changeCount": 66,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.4:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603\"\n+ \"eth:0x6D0462850F7B87403660CC9f4F89346483108512\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n+ \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1StandardBridge (eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n+ \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.2:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"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:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.7:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T21:35:35.000Z\",\"0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0xD5F0E2912C70771C589CD8bB087EDE0Dab4AFA9A) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n+ \"eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x6D0462850F7B87403660CC9f4F89346483108512)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0xFc38CE38042f7eA61001DE8815ef8825E277fe02)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "1c035776",
"date": "Mon, 27 Oct 2025 18:10:54 GMT",
"timestamp": 1761588582,
"description": "old rpc problem, ignore.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\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- 1837\n+ 1865\n }\n```"
}
]
},
{
"id": "789b3ea9",
"date": "Thu, 23 Oct 2025 12:43:13 GMT",
"timestamp": 1761223312,
"description": "msig change.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "cbee75ee",
"date": "Fri, 03 Oct 2025 14:35:54 GMT",
"timestamp": 1759502087,
"description": "This is upgrade 16a (https://gov.optimism.io/t/maintenance-upgrade-proposal-u16a/10288)\n\nOptimismPortal2 - removed unused superchain withdrawal code, ETH lockbox feature moved out to its own contract.\nhttps://disco.l2beat.com/diff/eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\n\nSystemConfig - setFeature function to activate/deactivate features (currently used for the ETHLockbox feature).\nhttps://disco.l2beat.com/diff/eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\n\nL1ERC721Bridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F/eth:0x7f1d12fB2911EB095278085f721e644C1f675696\n\nL1CrossDomainMessenger - minor changes.\nhttps://disco.l2beat.com/diff/eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\n\nL1StandardBridge - minor changes.\nhttps://disco.l2beat.com/diff/eth:0x44AfB7722AF276A601D524F429016A18B6923df0/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\n\nFaultDisputeGame (via DisputeGameFactory gameImpls[0]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772/eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603\n\nPermissionedDisputeGame (via DisputeGameFactory gameImpls[1]) - no code changes; constructor variables updated (e.g., DelayedWETH, VM).\nhttps://disco.l2beat.com/diff/eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1/eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\n\nMIPS → MIPS64 - added function for pseudorandomness generation.\nhttps://disco.l2beat.com/diff/eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a/eth:0x07BABE08EE4D07dBA236530183B24055535A7011\n\nDelayedWETH (replacement 1) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23/eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\n\nDelayedWETH (replacement 2) - same code, same admin; only diff is totalSupply.\nhttps://disco.l2beat.com/diff/eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB/eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac",
"isHighSeverity": true,
"changeCount": 67,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2_post13\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.superRootsActive:\n- false\n values.version:\n- \"4.6.0\"\n+ \"5.0.0\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9) {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n values.$pastUpgrades.1:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n contract DisputeGameFactory (eth:0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.$pastUpgrades.3:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772\"\n+ \"eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1\"\n+ \"eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) {\n +++ description: None\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772)\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 UnichainProxyAdminOwner (eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833) {\n +++ description: None\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.9:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.6.0\"\n+ \"2.7.0\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.9.0\"\n+ \"2.10.0\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB)\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:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig_pauseId\"\n+ \"opstack/SystemConfig\"\n sourceHashes.1:\n- \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.6:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"3.4.0\"\n+ \"3.7.0\"\n fieldMeta.paused:\n- {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.4:\n+ [\"2025-10-02T20:45:59.000Z\",\"0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.initVersion:\n- 2\n+ 3\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (eth:0x42891199E6abD6A346E26B7d187EF5657FDfF603)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x5581F65C63B8CCbBe4A06626C336531160E2D8B5)\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:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac)\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": "87fecbac",
"date": "Mon, 29 Sep 2025 14:57:58 GMT",
"timestamp": 1759157813,
"description": "Key rotation.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Unichain Multisig 2 (eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xc531e0368dc3928E11987D096558dEE7A22ECEE4\"\n values.$members.1:\n- \"eth:0x7f781194ACF0d3Ae519A5aB0D0597e3831d62237\"\n }\n```\n\n```diff\n contract Unichain Multisig 1 (eth:0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC) {\n +++ description: None\n values.$members.0:\n+ \"eth:0xAC68D69dC0FE6E00BcdABEe391b06d09098804bb\"\n values.$members.1:\n- \"eth:0x19b175a56C52e14944a3D37b33C0Bcb7A2091779\"\n }\n```"
}
]
},
{
"id": "db899f84",
"date": "Mon, 18 Aug 2025 14:06:46 GMT",
"timestamp": 1755525939,
"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": "ababb0b2",
"date": "Fri, 25 Jul 2025 17:48:26 GMT",
"timestamp": 1753465706,
"description": "Check optimism diffhistory for [the upgrade 16 breakdown](https://gov.optimism.io/t/upgrade-16-proposal-interop-contracts-stage-1-and-go-1-23-support-in-cannon/10037).",
"isHighSeverity": true,
"changeCount": 139,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) {\n +++ description: None\n values.GnosisSafe_modules.0:\n- \"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\"\n+ \"eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\n template:\n- \"opstack/OptimismPortal2\"\n+ \"opstack/OptimismPortal2_post13\"\n sourceHashes.1:\n- \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n+ \"0x025be6415d31a7c8f475bf94e05a8288787b4adb41562108a42d0574c9af9543\"\n description:\n- \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. The state root respected for withdrawals comnes from the FaultDisputeGame.\"\n values.$implementation:\n- \"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n+ \"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.respectedGameTypeUpdatedAt:\n- 1737658703\n+ 1753380731\n values.version:\n- \"3.14.0\"\n+ \"4.6.0\"\n values.anchorStateRegistry:\n+ \"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\"\n values.ethLockbox:\n+ \"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.superRootsActive:\n+ false\n implementationNames.eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4:\n- \"OptimismPortal2\"\n implementationNames.eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n- Status: DELETED\n contract 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 contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.2:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.gameImpls.0:\n- \"eth:0x57a3B42698DC1e4Fb905c9ab970154e178296991\"\n+ \"eth:0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x485272c0703020e1354328A1aBa3ca767997BEd3\"\n+ \"eth:0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1\"\n values.version:\n- \"1.0.1\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n implementationNames.eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\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 ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) {\n +++ description: None\n directlyReceivedPermissions.1:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\",\"role\":\"admin\"}\n directlyReceivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\",\"role\":\"admin\"}\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x84B268A4101A8c8e3CcB33004F81eD08202bA124\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\"}\n directlyReceivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xc9edb4E340f4E9683B4557bD9db8f9d932177C86\",\"role\":\"admin\"}\n directlyReceivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x485272c0703020e1354328A1aBa3ca767997BEd3)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x57a3B42698DC1e4Fb905c9ab970154e178296991)\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 UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"eth:0x84B268A4101A8c8e3CcB33004F81eD08202bA124\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n receivedPermissions.2.via:\n+ [{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]\n receivedPermissions.2.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.2.description:\n- \"can pull funds from the contract in case of emergency.\"\n receivedPermissions.2.from:\n- \"eth:0xc9edb4E340f4E9683B4557bD9db8f9d932177C86\"\n+ \"eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5\"\n receivedPermissions.2.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.3:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.6:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x84B268A4101A8c8e3CcB33004F81eD08202bA124\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.9:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xBcEA39a1F75D7AC8004982efBA85F92A693386CB\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.10:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xc9edb4E340f4E9683B4557bD9db8f9d932177C86\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n receivedPermissions.12:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"}]}\n }\n```\n\n```diff\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n+ \"0x7ca93e9b7ebe02b3a013eeb8b0db9c37bee9ffa1a9b47f52dc52b8d5594afcb5\"\n values.$implementation:\n- \"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n+ \"eth:0x44AfB7722AF276A601D524F429016A18B6923df0\"\n values.version:\n- \"2.3.0\"\n+ \"2.6.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.systemConfig:\n+ \"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\"\n implementationNames.eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A:\n- \"L1StandardBridge\"\n implementationNames.eth:0x44AfB7722AF276A601D524F429016A18B6923df0:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n template:\n- \"opstack/SuperchainConfig\"\n+ \"opstack/SuperchainConfig_expiry\"\n sourceHashes.1:\n- \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n+ \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n description:\n- \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\"\n+ \"Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\"\n values.$implementation:\n- \"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n+ \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n values.$pastUpgrades.4:\n+ [\"2025-07-24T17:47:23.000Z\",\"0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716\",[\"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.GUARDIAN_SLOT:\n- \"0xd30e835d3f35624761057ff5b27d558f97bd5be034621e62240e5c0b784abe68\"\n values.PAUSED_SLOT:\n- \"0x54176ff9944c4784e5857ec4e5ef560a462c483bf534eda43f91bb01a470b1b6\"\n values.version:\n- \"1.2.0\"\n+ \"2.3.0\"\n values.initVersion:\n+ 2\n values.pauseExpiry:\n+ 7884000\n values.pauseExpiryFmt:\n+ \"91d 6h\"\n values.proxyAdmin:\n+ \"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04\"\n values.proxyAdminOwner:\n+ \"eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A\"\n implementationNames.eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7:\n- \"SuperchainConfig\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n+ \"SuperchainConfig\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\"}}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n+ \"0x21cd6c80343ba49cbb9f3e96c5f4ca0bc77bc617825495fbaad1026ed9a42026\"\n values.$implementation:\n- \"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n+ \"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.6.0\"\n+ \"2.9.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.systemConfig:\n+ \"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\"\n implementationNames.eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n- \"eth:0x126a736B18E0a64fBA19D421647A530E327E112C\"\n receivedPermissions:\n- [{\"permission\":\"guard\",\"from\":\"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\",\"role\":\".guardian\",\"via\":[{\"address\":\"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"},{\"address\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"condition\":\"if not revoked by the Security Council\"}]}]\n directlyReceivedPermissions:\n- [{\"permission\":\"act\",\"from\":\"eth:0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B\",\"role\":\".deputyGuardian\",\"condition\":\"if not revoked by the Security Council\"}]\n }\n```\n\n```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n template:\n- \"opstack/SystemConfig\"\n+ \"opstack/SystemConfig_pauseId\"\n sourceHashes.1:\n- \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n+ \"0xbca9388c120780391489984ba6cb1ec20bc4b0cf9644579f960e0b3aee1282b5\"\n values.$implementation:\n- \"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n+ \"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"\n values.$pastUpgrades.5:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.getAddresses.disputeGameFactory:\n- \"eth:0x2F12d621a16e2d3285929C9996f478508951dFe4\"\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.5.0\"\n+ \"3.4.0\"\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 2\n values.l2ChainId:\n+ 130\n+++ description: `superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\n+++ severity: HIGH\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n fieldMeta.paused:\n+ {\"severity\":\"HIGH\",\"description\":\"`superchainConfig.paused(address(lockbox)) || superchainConfig.paused(address(0))`\"}\n implementationNames.eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647:\n- \"SystemConfig\"\n implementationNames.eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n- 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: DELETED\n contract DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n+ \"0x8ec2646e7ca57c49fef7769f200a751b7199526d590c9c43e6c7b134f43de630\"\n values.$implementation:\n- \"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n+ \"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"\n values.$pastUpgrades.3:\n+ [\"2025-07-24T18:12:11.000Z\",\"0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959\",[\"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"2.4.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 2\n values.proxyAdmin:\n+ \"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4\"\n values.proxyAdminOwner:\n+ \"eth:0x6d5B183F538ABB8572F5cD17109c617b994D5833\"\n values.systemConfig:\n+ \"eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6\"\n implementationNames.eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f)\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 MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract ETHLockbox (0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5)\n +++ description: A simple escrow contract storing ETH for the canonical bridge.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x4F0f6B7877A174A4fd41DF80dB80DeF8883bc772)\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 DeputyPauseModule (0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xa0157F0730Dea8d1a5c358Dc1d340a05D8796C23)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xA1B54D89e305bcd322Ba0C9C094093173C0d6b3a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0xBcEA39a1F75D7AC8004982efBA85F92A693386CB)\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 (0xC56EF9c3F3e9fD6713055b4577AC4AF8303E63e1)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "cb63c74f",
"date": "Mon, 14 Jul 2025 12:47:14 GMT",
"timestamp": 1752497234,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: Administration contract for other contract proxies.\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract FeeSplitter (0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002)\n +++ description: Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa).\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003)\n +++ description: Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (unichain:0x2F60A5184c63ca94f82a27100643DbAbe4F3f7Fd).\n```\n\n```diff\n+ Status: CREATED\n contract NetFeeSplitter (0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004)\n +++ description: None\n```"
}
]
},
{
"id": "e835b630",
"date": "Mon, 14 Jul 2025 12:47:14 GMT",
"timestamp": 1752497234,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 36,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Guardian Multisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract Escrow (0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A)\n +++ description: Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4)\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 ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4)\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 PermissionedDisputeGame (0x485272c0703020e1354328A1aBa3ca767997BEd3)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2)\n +++ description: used to remove members inactive for 70d while making sure that the threshold remains above 60%. If the number of members falls below 1, the eth:0x0000000000000000000000000000000000000000 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x57a3B42698DC1e4Fb905c9ab970154e178296991)\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 SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x8098F676033A377b9Defe302e9fE6877cD63D575)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA)\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 OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124)\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 Unichain Multisig 2 (0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad)\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 Unichain Multisig 1 (0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC)\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 SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6)\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 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 DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86)\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 L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0xF027F4A985560fb13324e943edf55ad6F1d15Dc1)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "2ec4fb61",
"date": "Fri, 06 Jun 2025 12:27:14 GMT",
"timestamp": 1749212834,
"description": "config: silent maker/sky escrow template added.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract Escrow (0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A)\n +++ description: Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n```"
}
]
},
{
"id": "8ad4a96b",
"date": "Fri, 30 May 2025 07:18:15 GMT",
"timestamp": 1748589495,
"description": "config: change comment about eip1559 fee val",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30\",[\"0x93e57A196454CB919193fa9946f14943cf733845\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011) {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n- [\"2024-12-05T19:19:37.000Z\",\"0x535fc15c66b384bf5f53847b4f1d5666a8a3a24f9e43f66854b1643b641312a8\",[\"0x95Fc06E1F6330F2829f0622d6158F5b1E21597B0\"]]\n values.$upgradeCount:\n- 1\n+ 0\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n values.$pastUpgrades.0:\n+ [\"2025-05-09T16:00:01.000Z\",\"0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd\",[\"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract BaseFeeVault (0x4200000000000000000000000000000000000019) {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n- [\"2024-12-05T19:19:37.000Z\",\"0xb16f95118e9269c5d7e0ee3a58e4cf22cb5a7e74c2ae7446b4419fd6855aa761\",[\"0xeb82050BB91e4879E256E0cF9a7C4bD58916aa6e\"]]\n values.$upgradeCount:\n- 1\n+ 0\n }\n```\n\n```diff\n contract L1FeeVault (0x420000000000000000000000000000000000001A) {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n- [\"2024-12-05T19:19:37.000Z\",\"0x66332072346a29a118b78491d791cb2abb2cea8f16e343b492e25f1ba9785406\",[\"0xc1fB143b9dF08eB0612ABCA237Dfe3726da2ED15\"]]\n values.$upgradeCount:\n- 1\n+ 0\n }\n```"
}
]
},
{
"id": "e62062ce",
"date": "Mon, 12 May 2025 08:22:46 GMT",
"timestamp": 1747038166,
"description": "Isthmus L2 contract upgrades, mainly focusing on support for the new operator fee (standard contracts).",
"isHighSeverity": true,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GasPriceOracle (0x420000000000000000000000000000000000000F) {\n +++ description: Provides the current gas price for L2 transactions.\n sourceHashes.1:\n- \"0x6e5bd465cdf07c7fc7de194833be336109be5aceaeb509643962096c772ec26a\"\n+ \"0x926a45849c8c68704718056d544ac26d7683a6b44a90a9590dda1a9bdd495962\"\n values.$implementation:\n- \"0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f\"\n+ \"0x93e57A196454CB919193fa9946f14943cf733845\"\n values.version:\n- \"1.3.1-beta.1\"\n+ \"1.4.0\"\n values.isIsthmus:\n+ true\n implementationNames.0xc0d3C0d3C0d3c0D3C0D3C0d3C0d3C0D3C0D3000f:\n- \"GasPriceOracle\"\n implementationNames.0x93e57A196454CB919193fa9946f14943cf733845:\n+ \"GasPriceOracle\"\n }\n```\n\n```diff\n contract L1Block (0x4200000000000000000000000000000000000015) {\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n sourceHashes.1:\n- \"0x936b7b7eb2a88a64e3eceaf897abfa2dc6e48b4c75eba2da34ff927b98413b6b\"\n+ \"0xb3745d52050d9a2c6bfa6e6e091bdfa43e7c87a22542aa276d323a29431ec108\"\n values.$implementation:\n- \"0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015\"\n+ \"0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12\"\n values.version:\n- \"1.5.1-beta.1\"\n+ \"1.6.0\"\n implementationNames.0xc0d3C0D3C0D3c0D3C0D3C0d3C0D3c0D3c0d30015:\n- \"L1Block\"\n implementationNames.0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12:\n+ \"L1Block\"\n }\n```"
}
]
},
{
"id": "2a2d7a74",
"date": "Thu, 08 May 2025 10:05:28 GMT",
"timestamp": 1746698728,
"description": "OP stack DeputyPauser upgrade (see op mainnet for more info).",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c\"\n+ \"0x57a3B42698DC1e4Fb905c9ab970154e178296991\"\n values.gameImpls.3:\n- \"0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x485272c0703020e1354328A1aBa3ca767997BEd3\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A) {\n +++ description: None\n values.getModules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n values.GnosisSafe_modules.0:\n+ \"0x126a736B18E0a64fBA19D421647A530E327E112C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DeputyPauseModule (0x126a736B18E0a64fBA19D421647A530E327E112C)\n +++ description: Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A if set as its Safe module.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x485272c0703020e1354328A1aBa3ca767997BEd3)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract FaultDisputeGame (0x57a3B42698DC1e4Fb905c9ab970154e178296991)\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": "290b6c6d",
"date": "Fri, 25 Apr 2025 13:15:30 GMT",
"timestamp": 1745586930,
"description": "[Isthmus upgrade](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841):\n- upgraded proof system VM: MIPS (MT-Cannon MIPS64)\n- operator fee (fee mechanism to improve fee config for zk proven and alt-DA systems)\n- pectra readiness",
"isHighSeverity": true,
"changeCount": 55,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n+ \"0xc483ef9e0a5ec2a0450732e743b3784de0cd3876b8fadfce14c0805a0846d26b\"\n values.$implementation:\n- \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.2:\n+ [\"2024-11-04T19:25:47.000Z\",\"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1.2.0:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"\n values.$pastUpgrades.1.1:\n- \"2024-11-04T19:25:47.000Z\"\n+ \"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\"\n values.$pastUpgrades.1.0:\n- \"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\"\n+ \"2025-04-25T01:12:11.000Z\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"3.13.0\"\n+ \"3.14.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.4:\n- \"0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450\"\n+ \"0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c\"\n values.gameImpls.3:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99\"\n values.gameImpls.0:\n- \"0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844\"\n+ \"0x0000000000000000000000000000000000000000\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n+ \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n sourceHashes.0:\n- \"0xbfb58685ff2f2f07eaa01a3c4e3c33c97686bfd3ae7c50c49f9da6ef5098cb31\"\n+ \"0x4e15d99844dc5a4304c2396a66c95ec41218ea311c8e524b118fad7beed0bb53\"\n values.$implementation:\n- \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n+ \"0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A\"\n values.version:\n- \"2.2.2\"\n+ \"2.3.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n+ \"0x03bcdc719cb7bd0a1377c01bb50b30a6122b308f673b7d7b15a3bb8628e6bd8c\"\n values.$implementation:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.2:\n+ [\"2024-11-04T19:27:35.000Z\",\"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1.2:\n- \"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.1.1:\n- \"2024-11-04T19:27:35.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.1.0:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$pastUpgrades.0.2.0:\n- \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n+ \"0x5D5a095665886119693F0B41d8DFeE78da033e8B\"\n values.$pastUpgrades.0.1:\n- \"2025-04-12T19:18:59.000Z\"\n+ \"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\"\n values.$pastUpgrades.0.0:\n- \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n+ \"2025-04-25T01:12:11.000Z\"\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.5.0\"\n+ \"2.6.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.TX_BASE_GAS:\n+ 21000\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0xaA59A0777648BC75cd10364083e878c1cCd6112a)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n+ \"0x921de6fc906d159fdcef862d2b9559063f5e7b9b7588fa5f33153360ddf296e7\"\n values.$implementation:\n- \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n+ \"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"\n values.$pastUpgrades.4:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-03-19T15:24:11.000Z\"\n values.$pastUpgrades.3.0:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.2.2:\n- \"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\"\n+ \"2024-11-04T19:25:59.000Z\"\n values.$pastUpgrades.2.1:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.2.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n values.$pastUpgrades.1.2:\n- \"2024-11-04T19:25:59.000Z\"\n+ \"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\"\n values.$pastUpgrades.1.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"2025-04-25T01:12:11.000Z\"\n values.$pastUpgrades.1.0:\n- \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n+ [\"0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]\n values.$upgradeCount:\n- 4\n+ 5\n values.version:\n- \"2.4.0\"\n+ \"2.5.0\"\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n+ \"0x28669b49da3effd51f0f9424ca9cdd455c5b9327c09a40c65fc06f114a6eb837\"\n values.$implementation:\n- \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n+ \"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"\n values.$pastUpgrades.2:\n+ [\"2025-04-25T01:12:11.000Z\",\"0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20\",[\"0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"2.3.1\"\n+ \"2.4.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract FaultDisputeGame (0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844)\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 FaultDisputeGame (0x56ebb9eaE4f33ceaED3672446E3812D77F8a8A2c)\n +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x67d59AC1166bA17612BE0Edf275187E38Cbf9B99)\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": "f5d3d3f4",
"date": "Mon, 14 Apr 2025 07:27:32 GMT",
"timestamp": 1744615652,
"description": "Upgrade to 1.4.0-unichain with known contracts. Add wstETH in canonical custom escrow.",
"isHighSeverity": true,
"changeCount": 90,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract FaultDisputeGame (0x08f0F8F4E792d21E16289dB7a80759323C446F61)\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 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x67ee16b5b6c32cdcc862bea390e45017908e6945cfaa01d3ef75dc9de7c9d946\"\n values.$implementation:\n- \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:25:47.000Z\",\"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.0.2:\n- [\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-11-04T19:25:47.000Z\"\n+ [\"0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]\n values.$pastUpgrades.0.0:\n- \"0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.10.0\"\n+ \"3.13.0\"\n }\n```\n\n```diff\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x85ca17941ef36ac6b28a4f8f89803d0d41ef419c47586dcd3acdb47ee9617285\"\n values.$implementation:\n- \"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:27:47.000Z\",\"0x742808a336fb214d362e781aae88a3f818ba00a363900e7ca1915f0996b2060a\",[\"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"]]\n values.$pastUpgrades.0.2:\n- \"2024-11-04T19:27:47.000Z\"\n+ [\"0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]\n values.$pastUpgrades.0.1:\n- [\"0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"]\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.0:\n- \"0x742808a336fb214d362e781aae88a3f818ba00a363900e7ca1915f0996b2060a\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.gameImpls.4:\n- \"0x08f0F8F4E792d21E16289dB7a80759323C446F61\"\n+ \"0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450\"\n values.gameImpls.3:\n- \"0xC457172937fFa9306099ec4F2317903254Bf7223\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.gameImpls.0:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844\"\n values.version:\n- \"1.0.0\"\n+ \"1.0.1\"\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (0x318A642db9e24A85318B8BF18eFd5287BA38643B)\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 ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4) {\n +++ description: None\n directlyReceivedPermissions.7.from:\n- \"0x318A642db9e24A85318B8BF18eFd5287BA38643B\"\n+ \"0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\"\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 UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833) {\n +++ description: None\n receivedPermissions.8.from:\n- \"0x318A642db9e24A85318B8BF18eFd5287BA38643B\"\n+ \"0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x4a2d83507f25be218f504b76815e4494138af88734cc54d34666c631aea88af5\"\n values.$implementation:\n- \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6\"\n values.version:\n- \"2.1.0\"\n+ \"2.2.2\"\n }\n```\n\n```diff\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-12T19:18:59.000Z\",\"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n+ \"0xfaa50769db48b1d2c04c06a8a0a4771b87b3c0ff20a508115bfdb2b576fdb454\"\n sourceHashes.0:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x20a2eb4d3677fc8a15e944f7b1843acd01b2e92acdc4c7a7f7a35b07b891149b\"\n values.$implementation:\n- \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:27:35.000Z\",\"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.0.2:\n- \"0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef\"\n+ [\"0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]\n values.$pastUpgrades.0.1:\n- \"2024-11-04T19:27:35.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.0:\n- [\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.3.0\"\n+ \"2.5.0\"\n }\n```\n\n```diff\n- Status: DELETED\n contract 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 (0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:26:59.000Z\",\"0x14bd9cb3f3d081f9b569dfeccac4821a21e4fe65b0c1a1b1b80f0369cca63695\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$pastUpgrades.0.2:\n- \"2024-11-04T19:26:59.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1.0:\n- \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.0.0:\n- \"0x14bd9cb3f3d081f9b569dfeccac4821a21e4fe65b0c1a1b1b80f0369cca63695\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n }\n```\n\n```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n+ \"0x6e293d82eb36a83fb5d8b06268cd4fbf46027b87eea77fcc68f78e4b010a3774\"\n values.$implementation:\n- \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"\n values.$pastUpgrades.3:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.2.1:\n- [\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]\n+ \"2025-03-19T15:24:11.000Z\"\n values.$pastUpgrades.2.0:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n values.$pastUpgrades.1.2:\n- \"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\"\n+ \"2024-11-04T19:25:59.000Z\"\n values.$pastUpgrades.1.1:\n- \"2025-03-19T15:24:11.000Z\"\n+ [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n values.$pastUpgrades.1.0:\n- [\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]\n+ \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n values.$pastUpgrades.0.2:\n- \"2024-11-04T19:25:59.000Z\"\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1:\n- [\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$pastUpgrades.0.0:\n- \"0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9\"\n+ [\"0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]\n values.$upgradeCount:\n- 3\n+ 4\n values.gasPayingToken:\n- {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6\",\"l1ERC721Bridge\":\"0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf\",\"l1StandardBridge\":\"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA\",\"disputeGameFactory\":\"0x2F12d621a16e2d3285929C9996f478508951dFe4\",\"optimismPortal\":\"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2\",\"optimismMintableERC20Factory\":\"0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0xC457172937fFa9306099ec4F2317903254Bf7223)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86) {\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n sourceHashes.1:\n- \"0xfff6f4cca21febd4323222e2ca87ec8b78edfdeeca942468fbf331e537815484\"\n+ \"0x1c7d0fda5ed6d8fc7f5b5f7df5e307f0fcfd173fa5833ea9fce8875d5d44d86a\"\n values.$implementation:\n- \"0x71e966Ae981d1ce531a7b6d23DC0f27B38409087\"\n+ \"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"\n values.$pastUpgrades.1:\n+ [\"2025-04-12T19:18:59.000Z\",\"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\",[\"0x5e40B9231B86984b5150507046e354dbFbeD3d9e\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.delay:\n- 604800\n+ 302400\n values.version:\n- \"1.1.0\"\n+ \"1.3.0\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0x9de28f19e0d1200bf0afda5ab90c9d2dffa44a775e71cfe9232ee1808338996c\"\n values.$implementation:\n- \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"0x276d3730f219f7ec22274f7263180b8452B46d47\"\n values.$pastUpgrades.1:\n+ [\"2024-11-04T19:26:47.000Z\",\"0xb432a9b2f5b368a884c3a0d0708bf6949d38d8102b35bba9fa4d21c12865e601\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.0.2:\n- [\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]\n+ \"2025-04-12T19:18:59.000Z\"\n values.$pastUpgrades.0.1:\n- \"2024-11-04T19:26:47.000Z\"\n+ [\"0x276d3730f219f7ec22274f7263180b8452B46d47\"]\n values.$pastUpgrades.0.0:\n- \"0xb432a9b2f5b368a884c3a0d0708bf6949d38d8102b35bba9fa4d21c12865e601\"\n+ \"0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159\"\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"2.1.0\"\n+ \"2.3.1\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x5FE2BECc3dec340d3df04351DB8E728CbE4c7450)\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 (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 (0xd2C3C6f4A4c5AA777bD6c476AEa58439Db0dD844)\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 AnchorStateRegistry (0xD5D0e176be44E61eaB3Cf1FA8153758dF603376f)\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract L1ERC20TokenBridge (0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877)\n +++ description: Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n```"
}
]
},
{
"id": "394f53c5",
"date": "Fri, 04 Apr 2025 09:41:45 GMT",
"timestamp": 1743759705,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "e9affcfd",
"date": "Fri, 21 Mar 2025 10:29:19 GMT",
"timestamp": 1742552959,
"description": "Standard SystemConfig upgrade to v2.3.0.",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.2:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.1:\n+ [\"2025-03-19T15:24:11.000Z\",\"0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 2000\n values.blobbasefeeScalar:\n+ 900000\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "0a877b4a",
"date": "Thu, 27 Feb 2025 13:53:22 GMT",
"timestamp": 1740664402,
"description": "Config related: Add L2 contracts as templates with source.",
"isHighSeverity": false,
"changeCount": 6,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011) {\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n+ [\"2024-12-05T19:19:37.000Z\",\"0x535fc15c66b384bf5f53847b4f1d5666a8a3a24f9e43f66854b1643b641312a8\",[\"0x95Fc06E1F6330F2829f0622d6158F5b1E21597B0\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract BaseFeeVault (0x4200000000000000000000000000000000000019) {\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n+ [\"2024-12-05T19:19:37.000Z\",\"0xb16f95118e9269c5d7e0ee3a58e4cf22cb5a7e74c2ae7446b4419fd6855aa761\",[\"0xeb82050BB91e4879E256E0cF9a7C4bD58916aa6e\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```\n\n```diff\n contract L1FeeVault (0x420000000000000000000000000000000000001A) {\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n values.$pastUpgrades.0:\n+ [\"2024-12-05T19:19:37.000Z\",\"0x66332072346a29a118b78491d791cb2abb2cea8f16e343b492e25f1ba9785406\",[\"0xc1fB143b9dF08eB0612ABCA237Dfe3726da2ED15\"]]\n values.$upgradeCount:\n- 0\n+ 1\n }\n```"
}
]
},
{
"id": "0715ce32",
"date": "Tue, 11 Feb 2025 14:21:47 GMT",
"timestamp": 1739283707,
"description": "Initial discovery.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract DeployerWhitelist (0x4200000000000000000000000000000000000002)\n +++ description: Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n```\n\n```diff\n+ Status: CREATED\n contract L2CrossDomainMessenger (0x4200000000000000000000000000000000000007)\n +++ description: The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n```\n\n```diff\n+ Status: CREATED\n contract GasPriceOracle (0x420000000000000000000000000000000000000F)\n +++ description: Provides the current gas price for L2 transactions.\n```\n\n```diff\n+ Status: CREATED\n contract L2StandardBridge (0x4200000000000000000000000000000000000010)\n +++ description: The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerFeeVault (0x4200000000000000000000000000000000000011)\n +++ description: Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0x4200000000000000000000000000000000000012)\n +++ description: Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L1BlockNumber (0x4200000000000000000000000000000000000013)\n +++ description: Simple contract that returns the latest L1 block number.\n```\n\n```diff\n+ Status: CREATED\n contract L2ERC721Bridge (0x4200000000000000000000000000000000000014)\n +++ description: The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract L1Block (0x4200000000000000000000000000000000000015)\n +++ description: Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n```\n\n```diff\n+ Status: CREATED\n contract L2ToL1MessagePasser (0x4200000000000000000000000000000000000016)\n +++ description: Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC721Factory (0x4200000000000000000000000000000000000017)\n +++ description: Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n```\n\n```diff\n+ Status: CREATED\n contract L2ProxyAdmin (0x4200000000000000000000000000000000000018)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract BaseFeeVault (0x4200000000000000000000000000000000000019)\n +++ description: Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract L1FeeVault (0x420000000000000000000000000000000000001A)\n +++ description: Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n```\n\n```diff\n+ Status: CREATED\n contract SchemaRegistry (0x4200000000000000000000000000000000000020)\n +++ description: Contracts to register schemas for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract EAS (0x4200000000000000000000000000000000000021)\n +++ description: Contract containing the main logic for the Ethereum Attestation Service (EAS).\n```\n\n```diff\n+ Status: CREATED\n contract FeeSplitter (0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1Splitter (0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract NetFeeSplitter (0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004)\n +++ description: None\n```"
}
]
},
{
"id": "c3d3f314",
"date": "Tue, 11 Feb 2025 10:58:49 GMT",
"timestamp": 1739271529,
"description": "Initial discovery.",
"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 FaultDisputeGame (0x08f0F8F4E792d21E16289dB7a80759323C446F61)\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 SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal2 (0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the FaultDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x2F12d621a16e2d3285929C9996f478508951dFe4)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0x318A642db9e24A85318B8BF18eFd5287BA38643B)\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 ProxyAdmin (0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4)\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 LivenessModule (0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2)\n +++ description: used to remove members inactive for 70d while making sure that the threshold remains above 60%. If the number of members falls below 1, the 0x0000000000000000000000000000000000000000 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract UnichainProxyAdminOwner (0x6d5B183F538ABB8572F5cD17109c617b994D5833)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x8098F676033A377b9Defe302e9fE6877cD63D575)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA)\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 OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x84B268A4101A8c8e3CcB33004F81eD08202bA124)\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 UnichainMultisig2 (0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6)\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract OptimismMintableERC20Factory (0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad)\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 UnichainMultisig1 (0xb0c4C487C5cf6d67807Bc2008c66fa7e2cE744EC)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SystemConfig (0xc407398d063f942feBbcC6F80a156b47F3f1BDA6)\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 PermissionedDisputeGame (0xC457172937fFa9306099ec4F2317903254Bf7223)\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 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 DelayedWETH (0xc9edb4E340f4E9683B4557bD9db8f9d932177C86)\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 L1ERC721Bridge (0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
}
]
+102 -123
{
"clusteredEventCount": 20,
"clusteredEventCount": 21,
"contracts": [
{
"name": "DisputeGameFactory",
"address": "eth:0x2F12d621a16e2d3285929C9996f478508951dFe4",
"isVerified": true,
"ossifyingSince": 1783362755,
"codeChangeCount": 5,
"stateChangeCount": 9
},
{
"name": "L1StandardBridge",
"address": "eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"isVerified": true,
"ossifyingSince": 1783362755,
"codeChangeCount": 6,
"ossifyingSince": 1790862365,
"codeChangeCount": 7,
"stateChangeCount": 0
},
{
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"name": "ETHLockbox",
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"isVerified": true,
"ossifyingSince": 1782428747,
"codeChangeCount": 4,
"ossifyingSince": 1790268683,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "OptimismPortal2",
"address": "eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2",
"isVerified": true,
"ossifyingSince": 1770744623,
"codeChangeCount": 6,
"ossifyingSince": 1790268683,
"codeChangeCount": 8,
"stateChangeCount": 2
},
{
"name": "AnchorStateRegistry",
"address": "eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9",
"isVerified": true,
"ossifyingSince": 1770744623,
"codeChangeCount": 2,
"ossifyingSince": 1790268683,
"codeChangeCount": 4,
"stateChangeCount": 0
},
{
"name": "L1CrossDomainMessenger",
"address": "eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6",
"name": "DisputeGameFactory",
"address": "eth:0x2F12d621a16e2d3285929C9996f478508951dFe4",
"isVerified": true,
"ossifyingSince": 1770744623,
"ossifyingSince": 1790268683,
"codeChangeCount": 6,
"stateChangeCount": 0
"stateChangeCount": 3
},
{
"name": "SystemConfig",
"address": "eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6",
"name": "DelayedWETH",
"address": "eth:0x74ad145aC900F1DD5551F0C9E143314DC4022FCf",
"isVerified": true,
"ossifyingSince": 1770744623,
"codeChangeCount": 7,
"ossifyingSince": 1790268683,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "OpFoundationUpgradeSafe",
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"name": "SuperchainConfig",
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 1,
"stateChangeCount": 1
"ossifyingSince": 1790268683,
"codeChangeCount": 5,
"stateChangeCount": 0
},
{
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"name": "L1CrossDomainMessenger",
"address": "eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6",
"isVerified": true,
"ossifyingSince": 1769109083,
"codeChangeCount": 0,
"stateChangeCount": 1
"ossifyingSince": 1790268683,
"codeChangeCount": 8,
"stateChangeCount": 0
},
{
"name": "PermissionedDisputeGame",
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"name": "SystemConfig",
"address": "eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6",
"isVerified": true,
"ossifyingSince": 1766424179,
"codeChangeCount": 0,
"ossifyingSince": 1790268683,
"codeChangeCount": 9,
"stateChangeCount": 0
},
{
"name": "FaultDisputeGame",
"address": "eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499",
"name": "SuperPermissionedDisputeGame",
"address": "eth:0x5C3eb47cB0174aea522a2a9Ae79487139A53D691",
"isVerified": true,
"ossifyingSince": 1766424179,
"ossifyingSince": 1788049691,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "MIPS",
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"name": "SuperFaultDisputeGame",
"address": "eth:0x19AF533Cc2A2A55786DCB8672aA5717e64213208",
"isVerified": true,
"ossifyingSince": 1762212215,
"ossifyingSince": 1788049679,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c",
"name": "L2CrossDomainMessenger",
"address": "unichain:0x4200000000000000000000000000000000000007",
"isVerified": true,
"ossifyingSince": 1759437959,
"ossifyingSince": 1783526401,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "DelayedWETH",
"address": "eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac",
"name": "L2StandardBridge",
"address": "unichain:0x4200000000000000000000000000000000000010",
"isVerified": true,
"ossifyingSince": 1759437959,
"ossifyingSince": 1783526401,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Guardian Multisig",
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"name": "L2ToL1MessagePasser",
"address": "unichain:0x4200000000000000000000000000000000000016",
"isVerified": true,
"ossifyingSince": 1753465706,
"ossifyingSince": 1783526401,
"codeChangeCount": 0,
"stateChangeCount": 3
"stateChangeCount": 0
},
{
"name": "ETHLockbox",
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"name": "L2ProxyAdmin",
"address": "unichain:0x4200000000000000000000000000000000000018",
"isVerified": true,
"ossifyingSince": 1753380731,
"codeChangeCount": 0,
"ossifyingSince": 1783526401,
"codeChangeCount": 1,
"stateChangeCount": 0
},
{
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"name": "PreimageOracle",
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"isVerified": true,
"ossifyingSince": 1748963099,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "PreimageOracle",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"name": "MIPS",
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"isVerified": true,
"ossifyingSince": 1740762647,
"ossifyingSince": 1778190599,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Unichain Multisig 2",
"address": "eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1",
"name": "OpFoundationUpgradeSafe",
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"isVerified": true,
"ossifyingSince": 1738953155,
"codeChangeCount": 0,
"stateChangeCount": 2
"ossifyingSince": 1769109083,
"codeChangeCount": 1,
"stateChangeCount": 1
},
{
"name": "L2CrossDomainMessenger",
"address": "unichain:0x4200000000000000000000000000000000000007",
"name": "SaferSafes",
"address": "eth:0xA8447329e52F64AED2bFc9E7a2506F7D369f483a",
"isVerified": true,
"ossifyingSince": 1730748360,
"ossifyingSince": 1769109083,
"codeChangeCount": 0,
"stateChangeCount": 0
"stateChangeCount": 1
},
{
"name": "L2StandardBridge",
"address": "unichain:0x4200000000000000000000000000000000000010",
"name": "Optimism Guardian Multisig",
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"isVerified": true,
"ossifyingSince": 1730748360,
"ossifyingSince": 1753465706,
"codeChangeCount": 0,
"stateChangeCount": 0
"stateChangeCount": 3
},
{
"name": "L2ToL1MessagePasser",
"address": "unichain:0x4200000000000000000000000000000000000016",
"name": "DeputyPauseModule",
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"isVerified": true,
"ossifyingSince": 1730748360,
"ossifyingSince": 1748963099,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "L2ProxyAdmin",
"address": "unichain:0x4200000000000000000000000000000000000018",
"name": "Unichain Multisig 2",
"address": "eth:0x9245d5D10AA8a842B31530De71EA86c0760Ca1b1",
"isVerified": true,
"ossifyingSince": 1730748360,
"ossifyingSince": 1738953155,
"codeChangeCount": 0,
"stateChangeCount": 0
"stateChangeCount": 2
},
{
"name": "ProxyAdmin",
"address": "eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4",
"isVerified": true,
"ossifyingSince": 1730748179,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "AddressManager",
"address": "eth:0x8098F676033A377b9Defe302e9fE6877cD63D575",
"isVerified": true,
"ossifyingSince": 1730748167,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2",
"isVerified": true,
"ossifyingSince": 1730141711,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x9343c452dec3251fe99D9Fd29b74c5b9CD1751a6",
"isVerified": true,
"ossifyingSince": 1730141663,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessModule",
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "LivenessGuard",
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"isVerified": true,
"ossifyingSince": 1717149791,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdminOwner",
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"isVerified": true,
"ossifyingSince": 1707420875,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Optimism Security Council",
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"isVerified": true,
"ossifyingSince": 1707420419,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SuperchainProxyAdmin",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"isVerified": true,
"ossifyingSince": 1685377355,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1730748467,
1734645071,
1737130811,
1737658703,
1738943723,
1742397851,
1743612623,
1744485539,
1744615652,
1745543531,
1746698728,
1753378247,
1753465706,
1759437959,
1764092795,
1765898063,
1769109083,
1770744623,
1782428747,
1783362755
1783362755,
1783526401,
1790268683,
1790862365
],
"criticalChangesPerYear": 10.480166494273643,
"criticalChangesPerYear": 11.004174087597317,
"criticalUpdates": [
{
"id": "f5d3d3f4",
"type": "code"
},
{
"id": "290b6c6d",
"type": "code"
},
{
"id": "2a2d7a74",
"type": "state"
},
{
"id": "ababb0b2",
"type": "code"
},
{
"id": "cbee75ee",
"type": "code"
},
{
"id": "7ac95a79",
"type": "code"
},
{
"id": "86db7e3e",
"type": "code"
},
{
"id": "58eb42e4",
"type": "state"
},
{
"id": "8f84154a",
"type": "state"
},
{
"id": "cd925ce0",
"type": "code"
}
],
"lastCriticalChange": 1783362755,
"maturity": 0.6185773067437084,
"lastCriticalChange": 1790862365,
"maturity": 0.08863989027529974,
"perimeterResets": [
1685377355,
1705954799,
1707420419,
1716902219,
1717149791,
1729728743,
1730141663,
1730143223,
1730748167,
1734645071,
1737130811,
1737658703,
1738943723,
1740762647,
1742397851,
1743612623,
1744485539,
1744615652,
1745543531,
1746698728,
1748963099,
1753378247,
1753465706,
1759437959,
1762212215,
1764092795,
1764324881,
1764596735,
1765898063,
1766424179,
1769109083,
1770744623,
1770994162,
1778190599,
1782428747,
1783362755
1783362755,
1783526401,
1788049679,
1790268683,
1790862365
],
"projectClockStart": 1783362755,
"score": 62,
"windowSeconds": 60182250
"projectClockStart": 1790862365,
"score": 9,
"windowSeconds": 60182254
}
+1 -1
+1 -1
{
"clusteredEventCount": 3,
"contracts": [
{
"name": "UniswapV3Factory",
"address": "eth:0x1F98431c8aD98523631AE4a59f267346ea31F984",
"isVerified": true,
"ossifyingSince": 1772781599,
"codeChangeCount": 0,
"stateChangeCount": 2
},
{
"name": "V3OpenFeeAdapter",
"address": "eth:0xf2371551Fe3937Db7c750f4DfABe5c2fFFdcBf5A",
"isVerified": true,
"ossifyingSince": 1771859579,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UniswapV3Pool_USDC_WETH_005",
"address": "eth:0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640",
"isVerified": true,
"ossifyingSince": 1766868719,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "UniswapV3Pool_WBTC_WETH_03",
"address": "eth:0xCBCdF9626bC03E24f779434178A73a0B4bad62eD",
"isVerified": true,
"ossifyingSince": 1766867915,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "GovernorBravo",
"address": "eth:0x408ED6354d4973f66138C91495F2f2FCbd8724C3",
"isVerified": true,
"ossifyingSince": 1706556011,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "Timelock",
"address": "eth:0x1a9C8182C09F50C8318d769245beA52c32BE35BC",
"isVerified": true,
"ossifyingSince": 1630165176,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "NonfungiblePositionManager",
"address": "eth:0xC36442b4a4522E871399CD717aBDD847Ab11FE88",
"isVerified": true,
"ossifyingSince": 1620156913,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "UNIToken",
"address": "eth:0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
"isVerified": true,
"ossifyingSince": 1600107086,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1623463819,
1630165176,
1706556011,
1766867591,
1772781599
],
"criticalChangesPerYear": 1,
"criticalUpdates": [],
"lastCriticalChange": 1772781599,
"maturity": 0.7361507521826467,
"maturity": 0.7361507649554108,
"perimeterResets": [
1600107086,
1620156420,
1620250931,
1623463819,
1629421922,
1630165176,
1706556011,
1766867591,
1771859579,
1772781599
],
"projectClockStart": 1772781599,
"score": 74,
"windowSeconds": 94608000
}
+44 -2
+29 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1736166371,
"transactionHash": "0xcc9d17067d603d8ee067f484671969420fdec797d9db4eca3e5439eb6b771895",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1777015403,
"transactionHash": "0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
]
}
],
"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* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1\n * **owner**: Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x069c4c579671f8c120b1327a73217D01Ea2EC5ea#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433235,
"transactionHash": "0x64c1939afb2e6f113ac5b917c740569ebb33001a3aa63eb912c97b1decd90f10",
"implementations": [
"eth:0x18fffcb31850795D919B6aDD4b16bEB3a5f5ECFB"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1738699391,
"transactionHash": "0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738699391,
"transactionHash": "0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1777015403,
"transactionHash": "0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433463,
"transactionHash": "0x9a74ce3bc48c7eeee3d5f36f4ebc628ca02aa9f392351bb4e98e06d6cf2b6044",
"implementations": [
"eth:0xB4BA75C87A48a233BC22678EfDa7d49CfD89ea5F"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777015403,
"transactionHash": "0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1782428747,
"transactionHash": "0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1790268683,
"transactionHash": "0x0a0fe86f7b1a3d3d2d0be990e3f8b15628b885363ae527fa9548cb2c2375741a",
"implementations": [
"eth:0x5570b1f2b97B1E35b5C6f9Ee76f6cf02c9917504"
]
}
],
"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* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433271,
"transactionHash": "0x537a94f0aa146c63d9a65519e85b55f8c276349e9b6f2457fd0eb66331214e87",
"implementations": [
"eth:0x3c5bC88Fad9D35072213cD1FB5e83f9D150B3144"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1777015403,
"transactionHash": "0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x470458C91978D2d929704489Ad730DC3E3001113",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x470458C91978D2d929704489Ad730DC3E3001113#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433331,
"transactionHash": "0xe6ded05b39b296df87dfd33578f9dd897082d080120302622ba8ca158ad6bd38",
"implementations": [
"eth:0xE187FEF3AAe13137e6062B2634cCE43B599156F6"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1777015403,
"transactionHash": "0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf931a81D18B1766d15695ffc7c1920a62b7e710a#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "L1OpUSDCBridgeAdapter",
"isVerified": true,
"address": "eth:0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x28fAb3A5b69711cc64B09240d2694d9F0f07eBf6"
],
"implementations": [
"eth:0x62d45660505D7457e3ce9Cd87C0a0cf890fB38ff"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1724427575,
"transactionHash": "0xbcd8e7e264c743a567f2f034945e8c9d1e4d5583f9efd0dbf2d89bbefe6cfd60",
"implementations": [
"eth:0x62d45660505D7457e3ce9Cd87C0a0cf890fB38ff"
]
}
],
"description": "Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0xE440CC08A71694C8229323803F59024E3144630e"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433283,
"transactionHash": "0x5acb4bebe868d4883d26a6417436d21d856a1d3bd807b6c7eb02668390208a54",
"implementations": [
"eth:0x73A793CdcF6F0f20e14e1835Eb1462b0376727cF"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1777015403,
"transactionHash": "0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x82Cb528466cF22412d89bdBE9bCF04856790dD0e#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x90BB48fe3310499Db36437dCAE642F721e32d094",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
]
}
],
"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* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x90BB48fe3310499Db36437dCAE642F721e32d094#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCc005DCd857B401e4732E6F7837135A22825cfA#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Alchemy Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e#code"
}
]
},
"escrows": [
{
"address": "0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"sinceTimestamp": 1719432935,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433463,
"transactionHash": "0x9a74ce3bc48c7eeee3d5f36f4ebc628ca02aa9f392351bb4e98e06d6cf2b6044",
"implementations": [
"eth:0xB4BA75C87A48a233BC22678EfDa7d49CfD89ea5F"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1777015403,
"transactionHash": "0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1779126323,
"transactionHash": "0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1787641991,
"transactionHash": "0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf",
"implementations": [
"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x470458C91978D2d929704489Ad730DC3E3001113",
"sinceTimestamp": 1719432959,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x470458C91978D2d929704489Ad730DC3E3001113",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x470458C91978D2d929704489Ad730DC3E3001113#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program/client",
"verificationStatus": "successful",
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-program/v1.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1789571490,
"baseTimestamp": 1790808280,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "053b50ea",
"date": "Wed, 30 Sep 2026 22:47:42 GMT",
"timestamp": 1790808280,
"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": "598634a3",
"date": "Wed, 23 Sep 2026 05:50:17 GMT",
"timestamp": 1789571490,
"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": "425aa639",
"date": "Wed, 16 Sep 2026 15:12:49 GMT",
"timestamp": 1789571490,
"description": "Alchemy Multisig 1: threshold lowered from `5 of 8` to `3 of 8`. Same change on settlus, shape and worldchain.\n\nUpgrade 19b \"Karst\" (op-contracts/v7.0.0): core L1 contracts upgraded to their v7 implementations (OptimismPortal2, SystemConfig, DisputeGameFactory, AnchorStateRegistry, bridges, etc.), executed on 2026-08-25 by Alchemy Multisig 1 via the shared OPContractsManagerV2 (v7.1.17). The chain remains on permissioned fault proofs (respected game type 1); it did not move to CANNON_KONA. SystemConfig `batchInbox()` was re-initialized to the OPCM-derived `0x0000…21f6` (`0x00` ++ `keccak256(chainId)[0:19]`); batches are still posted to `0xff00…0480`.\n\nVersion changes and implementation diffs:\n\n- OptimismPortal2 5.2.0 -> 5.6.1: https://disco.l2beat.com/diff/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B/eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\n- SystemConfig 3.13.1 -> 3.14.2: https://disco.l2beat.com/diff/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\n- DisputeGameFactory 1.4.0 -> 1.6.1: https://disco.l2beat.com/diff/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\n- AnchorStateRegistry 3.7.0 -> 3.9.0: https://disco.l2beat.com/diff/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\n- L1StandardBridge 2.8.0 -> 2.8.2: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891\n- L1CrossDomainMessenger 2.11.0 -> 2.11.1: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\n- L1ERC721Bridge 2.9.0 -> 2.9.1: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\n- OptimismMintableERC20Factory 1.10.2 -> 1.11.0: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\n- PermissionedDisputeGame 2.2.0 -> 2.4.0 (new game implementation `0xe1dF…b87e`): https://disco.l2beat.com/diff/eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\n- DelayedWETH 1.5.0 -> 1.5.1 (new proxy `0x19f4…9498`): https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e\n\nOptimism Security Council: Member rotated.",
"isHighSeverity": true,
"changeCount": 118,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) [opstack/DisputeGameFactory_v2] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n template:\n- \"opstack/DisputeGameFactory\"\n+ \"opstack/DisputeGameFactory_v2\"\n sourceHashes.1:\n- \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n+ \"0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78\"\n description:\n- \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\"\n+ \"The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\"\n values.$implementation:\n- \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n+ \"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"\n values.$pastUpgrades.5:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b\"]]\n values.$upgradeCount:\n- 5\n+ 7\n values.game2000:\n- \"eth:0x0000000000000000000000000000000000000000\"\n values.gameImpls:\n- [\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\",\"eth:0x0000000000000000000000000000000000000000\"]\n values.initBonds:\n- [0,0,0,0,0]\n values.permissionedGameArgs:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90890bb48fe3310499db36437dcae642f721e32d094b705030703bf8ff4300bd6fbd8de63ce8492f57500000000000000000000000000000000000000000000000000000000000001e02307278fc8ab0005974a6ded2fa6d1187333a223a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6eacc005dcd857b401e4732e6f7837135a22825cfa90bb48fe3310499db36437dcae642f721e32d09419f4ef9dde39a50a2ef948b7d55aa19f60d9949800000000000000000000000000000000000000000000000000000000000001e02307278fc8ab0005974a6ded2fa6d1187333a223a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.version:\n- \"1.4.0\"\n+ \"1.6.1\"\n values.wethFromDGF:\n- \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n+ \"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\"\n+++ severity: HIGH\n values.game0:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game1:\n+ \"eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e\"\n+++ severity: HIGH\n values.game621:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.game8:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.game8Args:\n+ \"0x\"\n values.game8Vm:\n+ \"UNRESOLVED\"\n values.initBondGame0:\n+ 0\n values.initBondGame1:\n+ 0\n values.initBondGame621:\n+ 0\n values.initBondGame8:\n+ 0\n fieldMeta.gameImpls:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game2000:\n- {\"severity\":\"HIGH\"}\n fieldMeta.game621:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game0:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game1:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.game8:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:\n+ \"DisputeGameFactory\"\n usedTypes.0:\n+ {\"typeCaster\":\"SliceAddress\",\"arg\":{\"offset\":32}}\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) [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.8:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"2.9.0\"\n+ \"2.9.1\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract L1StandardBridge (eth:0x470458C91978D2d929704489Ad730DC3E3001113) [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:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth: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 SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n+ \"0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6\"\n values.$implementation:\n- \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n+ \"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"\n values.$pastUpgrades.10:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.11:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x42Ad0173051225Ac784100e9acD43349707F4db9\"]]\n values.$upgradeCount:\n- 10\n+ 12\n values.batchInbox:\n- \"eth:0xff00000000000000000000000000000000000480\"\n+ \"eth:0x00005761DEE20A44BAAf17dcbE34055177c421f6\"\n values.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\"\n values.getAddresses.delayedWETH:\n- \"eth:0x0000000000000000000000000000000000000000\"\n+ \"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\"\n values.getAddresses.opcm:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.version:\n- \"3.13.1\"\n+ \"3.14.2\"\n values.lastUsedOPCM:\n+ \"eth:0x9Ce712Ff84E02659846dc6450BB9b7642fE8bE5D\"\n values.lastUsedOPCMVersion:\n+ \"7.1.17\"\n values.OPCM_SLOT:\n+ \"0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n- \"SystemConfig\"\n implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) [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.5:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.6:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12\"]]\n values.$upgradeCount:\n- 5\n+ 7\n values.version:\n- \"1.10.2\"\n+ \"1.11.0\"\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x90BB48fe3310499Db36437dCAE642F721e32d094) [opstack/AnchorStateRegistry_post20] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n template:\n- \"opstack/AnchorStateRegistry_post13\"\n+ \"opstack/AnchorStateRegistry_post20\"\n sourceHashes.1:\n- \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n+ \"0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122\"\n description:\n- \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n+ \"Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\"\n values.$implementation:\n- \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n+ \"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"\n values.$pastUpgrades.2:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.3:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281\"]]\n values.$upgradeCount:\n- 2\n+ 4\n values.absolutePrestateFromGame:\n- \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e\"\n values.challengePeriodFromOracle:\n- 86400\n values.oracleFromVm:\n- \"eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3\"\n values.version:\n- \"3.7.0\"\n+ \"3.9.0\"\n values.vmFromGame:\n- \"eth:0x6463dEE3828677F6270d83d45408044fc5eDB908\"\n values.wethFromGame:\n- \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n fieldMeta.retirementTimestamp:\n+ {\"severity\":\"HIGH\"}\n fieldMeta.disputeGameFinalityDelaySeconds:\n+ {\"severity\":\"HIGH\"}\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:\n+ \"AnchorStateRegistry\"\n usedTypes.0.arg.621:\n+ \"AggregateVerifier\"\n usedTypes.0.arg.8:\n+ \"FaultDisputeGame\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) [GnosisSafe] {\n +++ description: None\n values.$threshold:\n- 5\n+ 3\n values.multisigThreshold:\n- \"5 of 8 (63%)\"\n+ \"3 of 8 (38%)\"\n receivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575) [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 Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] {\n +++ description: None\n values.$members.9:\n- \"eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n+ \"eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930\"\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n+ \"0xe1df4caf26d9a0735bd53eeb020546840bd2f2fd4d0d9e2519f873306b5e19b1\"\n values.$implementation:\n- \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n+ \"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"\n values.$pastUpgrades.8:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"5.2.0\"\n+ \"5.6.1\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n- \"OptimismPortal2\"\n implementationNames.eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.2:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498\",\"role\":\"admin\"}\n directlyReceivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) [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.8:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8\"]]\n values.$pastUpgrades.9:\n+ [\"2026-08-25T07:13:11.000Z\",\"0x3f6f4122d21807d82d176c92da0b7c9586821e97dbf54126ad9dfa0ec31618cf\",[\"eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0\"]]\n values.$upgradeCount:\n- 8\n+ 10\n values.version:\n- \"2.11.0\"\n+ \"2.11.1\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (eth:0x19f4eF9dDE39a50a2EF948B7d55AA19F60d99498) [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": "30e05778",
"date": "Fri, 17 Jul 2026 10:17:35 GMT",
"timestamp": 1784283341,
"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": "630be762",
"date": "Mon, 06 Jul 2026 07:56:03 GMT",
"timestamp": 1783324481,
"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": "eb24dfbf",
"date": "Tue, 23 Jun 2026 10:18:22 GMT",
"timestamp": 1782209813,
"description": "Increased 1559 elasticity.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [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.eip1559Elasticity:\n- 16\n+ 22\n }\n```"
}
]
},
{
"id": "08796448",
"date": "Mon, 08 Jun 2026 13:32:42 GMT",
"timestamp": 1780925494,
"description": "SystemConfig `eip1559Denominator` 250 → 100 and `eip1559Elasticity` 2 → 16 — faster L2 base-fee response, higher per-block gas elasticity.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\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+ 100\n values.eip1559Elasticity:\n- 2\n+ 16\n }\n```"
}
]
},
{
"id": "9c2ab739",
"date": "Mon, 25 May 2026 08:57:59 GMT",
"timestamp": 1779699385,
"description": "**OP Contracts v5.2 upgrade**: `PermissionedDisputeGame` migrated to a shared implementation via CWIA clones. No permissions change.\n\nExecuted 2026-05-18 by Alchemy Multisig 1 (chain operator); same upgrade applied to `settlus` and `shape`.\n\nImplementation rotations:\n- **OptimismPortal2** `5.1.1` → `5.2.0` — [diff](https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B)\n- **SystemConfig** `3.11.0` → `3.13.1` — [diff](https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2) — adds `DELAYED_WETH_SLOT` (zero, not active) and `isCustomGasToken()` getter.\n- **DisputeGameFactory** `1.3.0` → `1.4.0` — [diff](https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c) — clone bytecode now embeds gameType + chain-specific args; `*FromDGF` getters expose existing challenger/proposer/weth (new visibility, not new permissions).\n- **AnchorStateRegistry** `3.5.0` → `3.7.0` — [diff](https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5) — adds `getStartingAnchorRoot`.\n\n`gameImpls[1]` now points to shared **PermissionedDisputeGameV2** `eth:0x58bf355C…` (deployed 2025-12-22). Shared **MIPS** FPVM `eth:0x6463dEE3…` appears in discovery because the new V2 references it.\n\n`L1CrossDomainMessenger`, `L1StandardBridge`, `L1ERC721Bridge`, `OptimismMintableERC20Factory`, `DelayedWETH`: `upgradeToAndCall` re-init only, no rotation.",
"isHighSeverity": true,
"changeCount": 46,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) [opstack/DisputeGameFactory] {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6\"\n+ \"0x8f21dbc160582c568a2a925ddad1b2bb889a9f72bac2067c6e72d43b662ef538\"\n values.$implementation:\n- \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n+ \"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.challengerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0xb42Dc014FD85994eCeD29430a5eFe887f4228398\"\n+ \"eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A\"\n values.permissionedGameArgs:\n- \"0x\"\n+ \"0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb90890bb48fe3310499db36437dcae642f721e32d094b705030703bf8ff4300bd6fbd8de63ce8492f57500000000000000000000000000000000000000000000000000000000000001e02307278fc8ab0005974a6ded2fa6d1187333a223a4fb12d15eb85dc9284a7df0adbc8b696edbbf1d\"\n values.proposerFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0x2307278fC8aB0005974A6DeD2FA6d1187333a223\"\n values.version:\n- \"1.3.0\"\n+ \"1.4.0\"\n values.wethFromDGF:\n- \"UNRESOLVED\"\n+ \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n- \"DisputeGameFactory\"\n implementationNames.eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) [opstack/L1ERC721Bridge] {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [opstack/SystemConfig] {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc\"\n+ \"0x703fe68eeb3d5454a8ef012933846f1ff1433fc2df39c0c94f2a550d8325f085\"\n values.$implementation:\n- \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n+ \"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"\n values.$pastUpgrades.9:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2\"]]\n values.$upgradeCount:\n- 9\n+ 10\n values.getAddresses.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.version:\n- \"3.11.0\"\n+ \"3.13.1\"\n values.DELAYED_WETH_SLOT:\n+ \"0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff\"\n values.delayedWETH:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.isCustomGasToken:\n+ false\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n- \"SystemConfig\"\n implementationNames.eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) [opstack/OptimismMintableERC20Factory] {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$pastUpgrades.4:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 4\n+ 5\n }\n```\n\n```diff\n contract AnchorStateRegistry (eth:0x90BB48fe3310499Db36437dCAE642F721e32d094) [opstack/AnchorStateRegistry_post13] {\n +++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5\"\n+ \"0xfdabc8b9b4db9b7aa78227b26e936abaf24f058502b96e8d9a293d49b1e89b47\"\n values.$implementation:\n- \"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E\"\n+ \"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"\n values.$pastUpgrades.1:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.version:\n- \"3.5.0\"\n+ \"3.7.0\"\n values.getStartingAnchorRoot:\n+ {\"root\":\"0x38aaaf5c7910fd15e77a8e4ba903896b55bf5562770ca1268b666a01ba5cfb6b\",\"l2SequenceNumber\":22046345}\n implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:\n- \"AnchorStateRegistry\"\n implementationNames.eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5:\n+ \"AnchorStateRegistry\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0xb42Dc014FD85994eCeD29430a5eFe887f4228398) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) [opstack/OptimismPortal2] {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x3e7e2cb08ba995795937c9c2e8ea9d0e4d2e2de852f389055073384d5f79c59d\"\n+ \"0x7883f2d27d696b1fa6259a97c561d651493c2c1324e9646e04dba10adcfd8a21\"\n values.$implementation:\n- \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n+ \"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B\"]]\n values.$upgradeCount:\n- 7\n+ 8\n values.version:\n- \"5.1.1\"\n+ \"5.2.0\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n- \"OptimismPortal2\"\n implementationNames.eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) [opstack/L1CrossDomainMessenger] {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$pastUpgrades.7:\n+ [\"2026-05-18T17:45:23.000Z\",\"0x06b2e41f133e2a063365960d69efd4fddfc30acbe63f903dc19ab2b1c47fa78b\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 7\n+ 8\n }\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A) [opstack/PermissionedDisputeGame]\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "bc137cee",
"date": "Fri, 15 May 2026 13:11:07 GMT",
"timestamp": 1778850530,
"description": "Scheduled signer-key rotation on shared OP Stack governance contracts (no threshold or permission changes):\n- DeputyPauseModule (`0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754`): `deputy` rotated from `0x352f1defB49718e7Ea411687E850aA8d6299F7aC` to `0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c`. Executed via [superchain-ops eth/052](https://github.com/ethereum-optimism/superchain-ops/pull/1399); the [DeputyPauseModule spec](https://specs.optimism.io/protocol/deputy-pause-module.html) specifies that this is a regular rotation.\n- OpFoundationUpgradeSafe: Member rotated.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] {\n +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\n description:\n- \"Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n+ \"Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module.\"\n values.deputy:\n- \"eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC\"\n+ \"eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c\"\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] {\n +++ description: None\n values.$members.6:\n- \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n+ \"eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea\"\n }\n```"
}
]
},
{
"id": "4e5f9a33",
"date": "Fri, 08 May 2026 09:38:32 GMT",
"timestamp": 1778233046,
"description": "SystemConfig (`eth:0x6ab0777f...`) — `minBaseFee` doubled from 250,000 → 500,000 wei (0.00025 → 0.0005 gwei). Continued ramp from the 0 → 250,000 wei increase seen on 2026-05-05.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) [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- 250000\n+ 500000\n }\n```"
}
]
},
{
"id": "2d1f4c22",
"date": "Tue, 05 May 2026 15:19:50 GMT",
"timestamp": 1777994321,
"description": "Two changes:\n\n1. SystemConfig (`eth:0x6ab0777f...`) — `minBaseFee` raised from 0 to 250,000 wei (0.00025 gwei).\n2. Optimism Security Council (`eth:0xc2819DC7...`) — member 12 swap: `0x92827223` → `0xcbC7dCeb` (shared multisig).",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\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+ 250000\n }\n```\n\n```diff\n contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"eth:0x92827223f6b397CE9F208eE352bacA710765cACb\"\n+ \"eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6\"\n }\n```"
}
]
},
{
"id": "b0a44be3",
"date": "Fri, 24 Apr 2026 14:59:22 GMT",
"timestamp": 1777042663,
"description": "Standard OP-contracts v5.1.1 upgrade (same pattern as Celo's v5 hop merged previously). All implementations moved to the canonical Optimism v5.1.1 deployments:\n\n- SystemConfig v3.7.0 → v3.11.0 (impl 0x2fA28989)\n- OptimismPortal2 v5.0.0 → v5.1.1 (impl 0x7Cf80329)\n- L1CrossDomainMessenger v2.10.0 → v2.11.0 (impl 0xb686F13A)\n- L1ERC721Bridge v2.8.0 → v2.9.0 (impl 0x74f1aC50)\n- L1StandardBridge v2.7.0 → v2.8.0 (impl 0x61525EaA)\n- DisputeGameFactory v1.2.0 → v1.3.0 (impl 0x74Fac1D4)\n- OptimismMintableERC20Factory v1.10.1 → v1.10.2\n- New MIPS (0x6463dEE3) + new PermissionedDisputeGame (0xb42Dc014) redeployed. Old MIPS + PermissionedDisputeGame deleted.\n\nAll 27 contracts remain templatized. SystemConfig gains `daFootprintGasScalar` and `minBaseFee` fields (both zero).\n\nOptimismPortal2: [diff](https://disco.l2beat.com/diff/eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202)\nSystemConfig: [diff](https://disco.l2beat.com/diff/eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED)\nL1CrossDomainMessenger: [diff](https://disco.l2beat.com/diff/eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0)\nL1StandardBridge: [diff](https://disco.l2beat.com/diff/eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A)\nL1ERC721Bridge: [diff](https://disco.l2beat.com/diff/eth:0x7f1d12fB2911EB095278085f721e644C1f675696/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9)\nDisputeGameFactory: [diff](https://disco.l2beat.com/diff/eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50)",
"isHighSeverity": true,
"changeCount": 57,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n+ \"0x19f3f7c7ee3977705261bfb86f826d5f97b885796f2246be7cc3e815c3e95dca\"\n values.$implementation:\n- \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n+ \"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"\n values.$pastUpgrades.3:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n+ \"eth:0xb42Dc014FD85994eCeD29430a5eFe887f4228398\"\n values.permissionedGameArgs:\n- \"EXPECT_REVERT\"\n+ \"0x\"\n values.version:\n- \"1.2.0\"\n+ \"1.3.0\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n+ \"0x75cd470a9d1c1afc343b599b1c14731f55bb36fe8a4e844ddb88a0b791918795\"\n values.$implementation:\n- \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n+ \"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"\n values.$pastUpgrades.6:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.8.0\"\n+ \"2.9.0\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0x2307278fC8aB0005974A6DeD2FA6d1187333a223) {\n +++ description: None\n receivedPermissions:\n- [{\"permission\":\"propose\",\"from\":\"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\",\"role\":\".proposer\"}]\n }\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n contract L1StandardBridge (eth:0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n+ \"0x0114d3af66179d6404d14360203dc6bcf404f23e2db4ee1b5848e923e131bc00\"\n values.$implementation:\n- \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n+ \"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A\"\n values.version:\n- \"2.7.0\"\n+ \"2.8.0\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n- \"L1StandardBridge\"\n implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n+ \"0x09e12b8c0307a4da75a8b84ed7c88ced81e386ec09025ec5b36873b4f69614d0\"\n values.$implementation:\n- \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n+ \"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"\n values.$pastUpgrades.8:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED\"]]\n values.$upgradeCount:\n- 8\n+ 9\n values.version:\n- \"3.7.0\"\n+ \"3.11.0\"\n values.daFootprintGasScalar:\n+ 0\n values.minBaseFee:\n+ 0\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n- \"SystemConfig\"\n implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n+ \"0x25bad2bdb7df4347412a48e271dea1489299460192b43b8ca52ed191b4940992\"\n values.$implementation:\n- \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n+ \"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"\n values.$pastUpgrades.3:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.10.1\"\n+ \"1.10.2\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"challenge\",\"from\":\"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\",\"role\":\".challenger\"}\n }\n```\n\n```diff\n contract OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n+ \"0xec3fef2865ee3bd465fea37851bfc490f143eba36d1e45d220832d39770aa8f2\"\n values.$implementation:\n- \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n+ \"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"\n values.$pastUpgrades.6:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"5.0.0\"\n+ \"5.1.1\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n- \"OptimismPortal2\"\n implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n+ \"0xfa9c986019a03bd66efb7584a7064e708f6fb71956643a9d4daa2c0972a29c03\"\n values.$implementation:\n- \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n+ \"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"\n values.$pastUpgrades.6:\n+ [\"2026-04-24T07:23:23.000Z\",\"0x8b453bb66c7e5d9531ed46b23c51a3e1210a466238b1cea6a17c2d6ac0dbca0c\",[\"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0\"]]\n values.$upgradeCount:\n- 6\n+ 7\n values.version:\n- \"2.10.0\"\n+ \"2.11.0\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ 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:0xb42Dc014FD85994eCeD29430a5eFe887f4228398)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```"
}
]
},
{
"id": "1c65c34d",
"date": "Wed, 25 Mar 2026 10:08:27 GMT",
"timestamp": 1774433236,
"description": "Three signers of the shared OpFoundation multisigs (OpFoundationUpgradeSafe) were rotated. The old signer at position 0 was a GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64) which was replaced by a new EOA.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract GnosisSafe (eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.0:\n- \"eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64\"\n+ \"eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7\"\n values.$members.2:\n- \"eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e\"\n+ \"eth:0xC2Db495f5a1F91172A361AAFA6FdE47c41de6dF5\"\n values.$members.6:\n- \"eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa\"\n+ \"eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5\"\n }\n```"
}
]
},
{
"id": "9f9f2d68",
"date": "Mon, 09 Mar 2026 10:47:26 GMT",
"timestamp": 1773053150,
"description": "Increase L2 gas limit from 200M to 280M on SystemConfig.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 200000000\n+ 280000000\n }\n```"
}
]
},
{
"id": "67a7793d",
"date": "Wed, 04 Mar 2026 20:37:52 GMT",
"timestamp": 1772656605,
"description": "One member of the Alchemy Multisig 1 (5/8 threshold) was rotated: 0xA351...700a replaced by 0x04a2...7Bd.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"eth:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n+ \"eth:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd\"\n }\n```"
}
]
},
{
"id": "a552dac3",
"date": "Fri, 27 Feb 2026 13:25:17 GMT",
"timestamp": 1772198395,
"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": "55bbaed8",
"date": "Thu, 19 Feb 2026 10:12:53 GMT",
"timestamp": 1771495907,
"description": "L2 gas limit increased from 175M to 200M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 175000000\n+ 200000000\n }\n```"
}
]
},
{
"id": "4131b6c2",
"date": "Tue, 10 Feb 2026 15:08:42 GMT",
"timestamp": 1770736053,
"description": "SystemConfig gas limit increased from 150M to 175M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 150000000\n+ 175000000\n }\n```"
}
]
},
{
"id": "170cce4b",
"date": "Thu, 05 Feb 2026 22:18:57 GMT",
"timestamp": 1770329871,
"description": "SystemConfig gas limit increase from 130M to 150M (+15%), raising the maximum gas available per L2 block.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 130000000\n+ 150000000\n }\n```"
}
]
},
{
"id": "3b91c6c7",
"date": "Tue, 27 Jan 2026 11:38:10 GMT",
"timestamp": 1769513822,
"description": "Gas limit increased from 100M to 130M on L2.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 100000000\n+ 130000000\n }\n```"
}
]
},
{
"id": "88dab759",
"date": "Mon, 26 Jan 2026 09:08:13 GMT",
"timestamp": 1769272413,
"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": "e7c16e8d",
"date": "Thu, 18 Dec 2025 09:02:23 GMT",
"timestamp": 1766048460,
"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": "eb4d59e8",
"date": "Fri, 28 Nov 2025 10:20:36 GMT",
"timestamp": 1764325163,
"description": "Jovian SuperchainConfig upgrade.",
"isHighSeverity": true,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.\n sourceHashes.1:\n- \"0x5a0e73c7d129cc83e1c387b55df0141890c02d2cb4111b8a1b6376d737d88f6b\"\n+ \"0x53a6b3db7f270298025bbfef7f6c77b420a9808341212fa9cf54a5e157a18567\"\n values.$implementation:\n- \"eth:0xCe28685EB204186b557133766eCA00334EB441E4\"\n+ \"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"\n values.$pastUpgrades.5:\n+ [\"2025-11-25T17:46:35.000Z\",\"0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5\",[\"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957\"]]\n values.$upgradeCount:\n- 5\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.4.0\"\n implementationNames.eth:0xCe28685EB204186b557133766eCA00334EB441E4:\n- \"SuperchainConfig\"\n implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:\n+ \"SuperchainConfig\"\n }\n```"
}
]
},
{
"id": "c8be3945",
"date": "Tue, 25 Nov 2025 08:01:24 GMT",
"timestamp": 1764057561,
"description": "Upgrade to standard contracts, permissioned disputes.\n\nnew cannon absolute prestate: https://github.com/ethereum-optimism/superchain-registry/blob/ccd0b9a6967e7b50b4a0d7a0cea7a73836968897/validation/standard/standard-prestates.toml#L78",
"isHighSeverity": true,
"changeCount": 116,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n sourceHashes.1:\n- \"0x7f307d6191215a72b6c24c01b3c2fc87c84f7fb346790132e58736caa2d1dd14\"\n+ \"0x93342e3d1e616bd6c727a5f73b09c0811bdab764dc9ad7346278593fb66b3689\"\n values.$implementation:\n- \"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B\"\n+ \"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"\n values.$pastUpgrades.1:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0\"]]\n values.$pastUpgrades.2:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D\"]]\n values.$upgradeCount:\n- 1\n+ 3\n+++ severity: HIGH\n values.gameImpls.1:\n- \"eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n+ \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n values.version:\n- \"1.0.0\"\n+ \"1.2.0\"\n values.initVersion:\n+ 1\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B:\n- \"DisputeGameFactory\"\n implementationNames.eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D:\n+ \"DisputeGameFactory\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x482ec6e91304ac39a3fb4505634427bddfddee23b8e93a4f7f995ca5083ae3c3\"\n+ \"0xab560cdc633c64552a47cd693ebc9aaab91fe80bec99e9e89b9d13d89a994c22\"\n values.$implementation:\n- \"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n+ \"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"\n values.$pastUpgrades.3:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x276d3730f219f7ec22274f7263180b8452B46d47\"]]\n values.$pastUpgrades.4:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013\"]]\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x7f1d12fB2911EB095278085f721e644C1f675696\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"2.1.0\"\n+ \"2.8.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n implementationNames.eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d:\n- \"L1ERC721Bridge\"\n implementationNames.eth:0x7f1d12fB2911EB095278085f721e644C1f675696:\n+ \"L1ERC721Bridge\"\n }\n```\n\n```diff\n EOA (eth:0x2307278fC8aB0005974A6DeD2FA6d1187333a223) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n+ \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n }\n```\n\n```diff\n contract L1StandardBridge (eth:0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n sourceHashes.1:\n- \"0x1010ff7f40ab4d53e6d9996aefa04423dabe9d0e22fac2d02b330ed3aa2c5740\"\n+ \"0x29b630d028d2dfddff75dc128b41ae51836c874dcd31a62c9d7313599e6261fb\"\n values.$implementation:\n- \"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n+ \"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb\"\n values.version:\n- \"2.1.0\"\n+ \"2.7.0\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n implementationNames.eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF:\n- \"L1StandardBridge\"\n implementationNames.eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb:\n+ \"L1StandardBridge\"\n }\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract MIPS (eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xf2ca03f1fb80fdb3c1281ea41b46245c8e6811a03a9ad7129f60cfedaac0e231\"\n+ \"0xc64176b1425d9639f5082ecef5e30b3b365111e2be71596ab1bd831edba65bd9\"\n values.$implementation:\n- \"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n+ \"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc\"]]\n values.$pastUpgrades.6:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647\"]]\n values.$pastUpgrades.7:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557\"]]\n values.$upgradeCount:\n- 5\n+ 8\n values.DISPUTE_GAME_FACTORY_SLOT:\n- \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.gasPayingToken:\n- {\"addr_\":\"eth:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n- \"Ether\"\n values.gasPayingTokenSymbol:\n- \"ETH\"\n values.isCustomGasToken:\n- false\n values.maximumGasLimit:\n- 200000000\n+ 500000000\n values.version:\n- \"2.3.0\"\n+ \"3.7.0\"\n values.getAddresses:\n+ {\"l1CrossDomainMessenger\":\"eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a\",\"l1ERC721Bridge\":\"eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9\",\"l1StandardBridge\":\"eth:0x470458C91978D2d929704489Ad730DC3E3001113\",\"optimismPortal\":\"eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\",\"optimismMintableERC20Factory\":\"eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"}\n values.guardian:\n+ \"eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.initVersion:\n+ 3\n values.l2ChainId:\n+ 480\n values.operatorFeeConstant:\n+ 0\n values.operatorFeeScalar:\n+ 0\n values.paused:\n+ false\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.superchainConfig:\n+ \"eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n implementationNames.eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375:\n- \"SystemConfig\"\n implementationNames.eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557:\n+ \"SystemConfig\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n sourceHashes.1:\n- \"0x4c5ac4e53576924cabbd2a471f368a541bc3f4b1f53fa41a389692fcc62f6176\"\n+ \"0x9650b4bba6299e410f01a369a95a2c57e1c3ca35f0d80c13f4f59fc468f370e5\"\n values.$implementation:\n- \"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n+ \"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"\n values.$pastUpgrades.2:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x5493f4677A186f64805fe7317D6993ba4863988F\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.version:\n- \"1.9.0\"\n+ \"1.10.1\"\n implementationNames.eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846:\n- \"OptimismMintableERC20Factory\"\n implementationNames.eth:0x5493f4677A186f64805fe7317D6993ba4863988F:\n+ \"OptimismMintableERC20Factory\"\n }\n```\n\n```diff\n- Status: DELETED\n contract PreimageOracle (eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.0.from:\n- \"eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n+ \"eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033\"\n receivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.7:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x90BB48fe3310499Db36437dCAE642F721e32d094\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.8.from:\n- \"eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n+ \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n }\n```\n\n```diff\n EOA (eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\",\"description\":\"can pull funds from the contract in case of emergency.\",\"role\":\".owner\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract AnchorStateRegistry (eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099)\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 OptimismPortal2 (eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n sourceHashes.1:\n- \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n+ \"0x8ca0818fc584e81a5cead0efc1c32f3273182323dcbd08a60779d55cb0aa90c9\"\n values.$implementation:\n- \"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n+ \"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"\n values.$pastUpgrades.3:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd\"]]\n values.$pastUpgrades.4:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4\"]]\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.respectedGameTypeUpdatedAt:\n- 1737641243\n+ 1763733803\n values.version:\n- \"3.10.0\"\n+ \"5.0.0\"\n values.anchorStateRegistry:\n+ \"eth:0x90BB48fe3310499Db36437dCAE642F721e32d094\"\n values.ethLockbox:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n implementationNames.eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B:\n- \"OptimismPortal2\"\n implementationNames.eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999:\n+ \"OptimismPortal2\"\n }\n```\n\n```diff\n contract ProxyAdmin (eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) {\n +++ description: None\n directlyReceivedPermissions.4:\n- {\"permission\":\"upgrade\",\"from\":\"eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x90BB48fe3310499Db36437dCAE642F721e32d094\",\"role\":\"admin\"}\n directlyReceivedPermissions.7.from:\n- \"eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n+ \"eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n sourceHashes.1:\n- \"0x1cc8a3b7de3d2c54c4706bb3f3015714d3b56647fc9fbfd6f8b068f5f63c1c25\"\n+ \"0x12cf78bcfa479caaee8133c0f935dcdcc333cdc116805f6b81bd80f6ba52128c\"\n values.$implementation:\n- \"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n+ \"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"\n values.$pastUpgrades.3:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231\"]]\n values.$pastUpgrades.4:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B\"]]\n values.$pastUpgrades.5:\n+ [\"2025-11-21T14:03:23.000Z\",\"0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9\",[\"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6\"]]\n values.$upgradeCount:\n- 3\n+ 6\n values.version:\n- \"2.3.0\"\n+ \"2.10.0\"\n values.ENCODING_OVERHEAD:\n+ 260\n values.FLOOR_CALLDATA_OVERHEAD:\n+ 40\n values.initVersion:\n+ 3\n values.proxyAdmin:\n+ \"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n values.proxyAdminOwner:\n+ \"eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n values.systemConfig:\n+ \"eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n values.TX_BASE_GAS:\n+ 21000\n implementationNames.eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65:\n- \"L1CrossDomainMessenger\"\n implementationNames.eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6:\n+ \"L1CrossDomainMessenger\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (eth:0x07BABE08EE4D07dBA236530183B24055535A7011)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033)\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:0x90BB48fe3310499Db36437dCAE642F721e32d094)\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:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575)\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": "8906b7c6",
"date": "Mon, 17 Nov 2025 11:36:35 GMT",
"timestamp": 1763379307,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 95000000\n+ 100000000\n }\n```"
}
]
},
{
"id": "0a5009d5",
"date": "Fri, 07 Nov 2025 12:12:19 GMT",
"timestamp": 1762517461,
"description": "gas limit change.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 90000000\n+ 95000000\n }\n```"
}
]
},
{
"id": "b70dfff9",
"date": "Tue, 04 Nov 2025 17:13:54 GMT",
"timestamp": 1762276356,
"description": "gas limit changes.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 85000000\n+ 90000000\n }\n```"
}
]
},
{
"id": "77ad1565",
"date": "Thu, 23 Oct 2025 12:44:48 GMT",
"timestamp": 1761223334,
"description": "msig change and higher gas limit.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 80000000\n+ 85000000\n }\n```\n\n```diff\n contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) {\n +++ description: None\n values.$members.5:\n- \"eth:0x7cB07FE039a92B3D784f284D919503A381BEC54f\"\n+ \"eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02\"\n }\n```"
}
]
},
{
"id": "45a77f5d",
"date": "Mon, 29 Sep 2025 14:58:54 GMT",
"timestamp": 1759157870,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 70000000\n+ 80000000\n }\n```"
}
]
},
{
"id": "7ccc1a06",
"date": "Fri, 19 Sep 2025 13:07:59 GMT",
"timestamp": 1758287214,
"description": "Multisig key rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.0:\n- \"eth:0xCA730AFfb87935E70E5889418C731eb196237476\"\n+ \"eth:0xa3353Ae4458F663f1F888705b044269bd30cd110\"\n }\n```"
}
]
},
{
"id": "5c9f45e9",
"date": "Mon, 15 Sep 2025 12:32:21 GMT",
"timestamp": 1757939471,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 50000000\n+ 70000000\n }\n```"
}
]
},
{
"id": "a11e3e3e",
"date": "Mon, 08 Sep 2025 14:40:31 GMT",
"timestamp": 1757342364,
"description": "gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 48000000\n+ 50000000\n }\n```"
}
]
},
{
"id": "f5a89412",
"date": "Fri, 29 Aug 2025 07:39:38 GMT",
"timestamp": 1756453110,
"description": "Increased gas limit.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 46000000\n+ 48000000\n }\n```"
}
]
},
{
"id": "6473de75",
"date": "Fri, 22 Aug 2025 07:19:22 GMT",
"timestamp": 1755847065,
"description": "Gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 44000000\n+ 46000000\n }\n```"
}
]
},
{
"id": "981f2076",
"date": "Mon, 18 Aug 2025 09:04:16 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": "7c1ed944",
"date": "Thu, 14 Aug 2025 09:10:53 GMT",
"timestamp": 1755162644,
"description": "gas limit 42M->44M.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 42000000\n+ 44000000\n }\n```"
}
]
},
{
"id": "785e3b5d",
"date": "Mon, 28 Jul 2025 05:49:59 GMT",
"timestamp": 1753681799,
"description": "Op stack gov upgrade: SuperchainConfig with pause expiry and DeputyPausModule. See optimism diffHistory for details.\n\nlil gas limit increase.",
"isHighSeverity": true,
"changeCount": 27,
"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 SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 39000000\n+ 42000000\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": "1be062d1",
"date": "Thu, 24 Jul 2025 11:38:51 GMT",
"timestamp": 1753357131,
"description": "block gas limit increase.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 36000000\n+ 39000000\n }\n```"
}
]
},
{
"id": "f12247e6",
"date": "Mon, 14 Jul 2025 12:46:42 GMT",
"timestamp": 1752497202,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 29,
"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 DisputeGameFactory (0x069c4c579671f8c120b1327a73217D01Ea2EC5ea)\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n```\n\n```diff\n+ Status: CREATED\n contract Optimism 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 L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB)\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113)\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 DelayedWETH (0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53)\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 SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9)\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 AddressManager (0x5891090d5085679714cb0e62f74950a3c19146a8)\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 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 SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A)\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 OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e)\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 OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Optimism Security Council (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the eth:0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xD4D7A57DCC563756DeD99e224E144A6Bf0327099)\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 OptimismPortal2 (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C)\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D)\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 L1CrossDomainMessenger (0xf931a81D18B1766d15695ffc7c1920a62b7e710a)\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```"
}
]
},
{
"id": "d8afcc5a",
"date": "Wed, 18 Jun 2025 11:38:22 GMT",
"timestamp": 1750246702,
"description": "MS signer changed.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.4:\n- \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n+ \"0xCA730AFfb87935E70E5889418C731eb196237476\"\n }\n```"
}
]
},
{
"id": "e23626c4",
"date": "Fri, 30 May 2025 05:49:21 GMT",
"timestamp": 1748584161,
"description": "burncaller burns all USDC and is then removed. USDC is now native (adjusted tvs conf).\n\nhttps://world.org/blog/announcements/world-integrates-circles-usdc-and-cctp",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.burnCaller:\n- \"0x2ba529D229FDc1DA08e67F536588aE45932d030A\"\n+ \"0x0000000000000000000000000000000000000000\"\n values.messengerStatus:\n- 2\n+ 3\n }\n```\n\n```diff\n- Status: DELETED\n contract Burn Caller (0x2ba529D229FDc1DA08e67F536588aE45932d030A)\n +++ description: None\n```\n\n```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 33000000\n+ 36000000\n }\n```"
}
]
},
{
"id": "649781a9",
"date": "Mon, 26 May 2025 16:02:09 GMT",
"timestamp": 1748275329,
"description": "Burncaller (unverified contract) added to external usdc escrow.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB) {\n +++ description: Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n values.burnCaller:\n- \"0x0000000000000000000000000000000000000000\"\n+ \"0x2ba529D229FDc1DA08e67F536588aE45932d030A\"\n values.messengerStatus:\n- 0\n+ 2\n }\n```\n\n```diff\n+ Status: CREATED\n contract Burn Caller (0x2ba529D229FDc1DA08e67F536588aE45932d030A)\n +++ description: None\n```"
}
]
},
{
"id": "f0efcf1d",
"date": "Wed, 14 May 2025 14:05:07 GMT",
"timestamp": 1747231507,
"description": "gas limit bumped.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 30000000\n+ 33000000\n }\n```"
}
]
},
{
"id": "8f78595f",
"date": "Thu, 08 May 2025 08:51:52 GMT",
"timestamp": 1746694312,
"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": "4bb34896",
"date": "Fri, 04 Apr 2025 09:39:36 GMT",
"timestamp": 1743759576,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": true,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C) {\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n sourceHashes.1:\n- \"0x3ac96c9c95e25f689f65a50f24b325e3f891029cb1cea96dc642418bbb535b1d\"\n+ \"0x03dba37173051b02bc81487e181c791bcf1aef664c249e5d035f11f488bdd686\"\n values.$implementation:\n- \"0x53c165169401764778F780a69701385eb0FF19B7\"\n+ \"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"\n values.$pastUpgrades.3:\n+ [\"2025-04-02T16:50:23.000Z\",\"0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29\",[\"0x4da82a327773965b8d4D85Fa3dB8249b387458E7\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.version:\n- \"1.1.0\"\n+ \"1.2.0\"\n }\n```"
}
]
},
{
"id": "4694c4cb",
"date": "Mon, 31 Mar 2025 11:27:29 GMT",
"timestamp": 1743420449,
"description": "ms signer changes.",
"isHighSeverity": false,
"changeCount": 10,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Alchemy Multisig 1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.7:\n+ \"0x001271c57AeC639952B5201D052767c316755512\"\n values.$members.6:\n+ \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n values.$members.5:\n- \"0x5EABE7f6673311EdD1Ad17A76ce148c2Bb56aF01\"\n+ \"0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca\"\n values.$members.4:\n- \"0x39CF304731099e756204219BF0a8cCc4738dE9dD\"\n+ \"0x0a214444613E3970049BD74a8d72d5bF9EF0094c\"\n values.$members.3:\n- \"0xaCEF7482b54a57F50b1CD8c99d1dC1964202A063\"\n+ \"0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n values.$members.2:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xeD9919D57162D518014C391a687AA8fb9DB55654\"\n values.$members.1:\n- \"0x3f0030b9Ca695Abd41b2B619F3298e172e4FCAD6\"\n+ \"0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7\"\n values.$members.0:\n- \"0x2e42cEfC761e64Bf4442694220d31C2464a6EE21\"\n+ \"0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670\"\n values.$threshold:\n- 3\n+ 5\n values.multisigThreshold:\n- \"3 of 6 (50%)\"\n+ \"5 of 8 (63%)\"\n }\n```"
}
]
},
{
"id": "a6dfa75c",
"date": "Fri, 21 Feb 2025 13:28:43 GMT",
"timestamp": 1740144523,
"description": "Worldchain does what is assumed to be a switch to the latest config. gasLimit per block should be the same.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n values.eip1559Denominator:\n- 0\n+ 250\n values.eip1559Elasticity:\n- 0\n+ 2\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 150000000\n+ 30000000\n }\n```"
}
]
},
{
"id": "6d27ab7e",
"date": "Wed, 12 Feb 2025 10:01:28 GMT",
"timestamp": 1739354488,
"description": "Optimism SecurityCouncil rotates signers.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.7:\n- \"0x74FAE9a9fbe31d1F69b95f59CaF12736a8b6B310\"\n+ \"0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90\"\n values.$members.5:\n- \"0x5C0F529d5B025540c54f71d2BcbB4c78F368C47e\"\n+ \"0xEF9A98511939eEe6Ec69af62082E3F2ff606877c\"\n }\n```"
}
]
},
{
"id": "75eff7b6",
"date": "Sat, 08 Feb 2025 15:58:48 GMT",
"timestamp": 1739030328,
"description": "Single SC member rotated.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.12:\n- \"0xE895076cD050F1f042d1040E47b5929bE989E514\"\n+ \"0x92827223f6b397CE9F208eE352bacA710765cACb\"\n values.$members.1:\n- \"0x0a122d8aA40758FBAFf0360BFB391EdFfD9758b8\"\n+ \"0x652BC529E171847E2fFddCeA13567643C84ccB5f\"\n }\n```"
}
]
},
{
"id": "6fd3dd8d",
"date": "Thu, 06 Feb 2025 09:17:48 GMT",
"timestamp": 1738833468,
"description": "OP Stack SC signer rotation.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) {\n +++ description: None\n values.$members.9:\n- \"0x8Afe777B5A4D1e156435ab44Ad4b73A318cE0EA4\"\n+ \"0x0aA384EB2fedD2741277A0f72909A0d7275575D7\"\n }\n```"
}
]
},
{
"id": "c8de902d",
"date": "Wed, 05 Feb 2025 06:39:38 GMT",
"timestamp": 1738737578,
"description": "Upgrade to new SystemConfig (known implementation).",
"isHighSeverity": true,
"changeCount": 14,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n+ \"0xc7135dbd2a53312d36df3f3ee91ce0a5a459ab8fc7725880a3a9c55a5fa0ed6c\"\n values.$implementation:\n- \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n+ \"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"\n values.$pastUpgrades.4:\n+ [\"2025-02-04T20:03:11.000Z\",\"0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045\",[\"0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375\"]]\n values.$pastUpgrades.3:\n+ [\"2025-02-04T20:03:11.000Z\",\"0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 3\n+ 5\n values.version:\n- \"2.2.0\"\n+ \"2.3.0\"\n values.basefeeScalar:\n+ 8697\n values.blobbasefeeScalar:\n+ 906223\n values.eip1559Denominator:\n+ 0\n values.eip1559Elasticity:\n+ 0\n values.gasPayingToken:\n+ {\"addr_\":\"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\"decimals_\":18}\n values.gasPayingTokenName:\n+ \"Ether\"\n values.gasPayingTokenSymbol:\n+ \"ETH\"\n values.isCustomGasToken:\n+ false\n }\n```"
}
]
},
{
"id": "a2032468",
"date": "Thu, 30 Jan 2025 10:52:50 GMT",
"timestamp": 1738234370,
"description": "Permissioned dispute game upgraded to known contracts.",
"isHighSeverity": false,
"changeCount": 13,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract DisputeGameFactory (0x069c4c579671f8c120b1327a73217D01Ea2EC5ea) {\n +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n values.gameImpls.1:\n- \"0x48cf980849a7eEA03180f7dea4E21C112097b03E\"\n+ \"0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9\"\n }\n```\n\n```diff\n- Status: DELETED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n- Status: DELETED\n contract PermissionedDisputeGame (0x48cf980849a7eEA03180f7dea4E21C112097b03E)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n- Status: DELETED\n contract DelayedWETH (0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n contract AlchemyMultisig1 (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.6.from:\n- \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n+ \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n receivedPermissions.5.from:\n- \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n+ \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n receivedPermissions.4.from:\n- \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n+ \"0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\"\n }\n```\n\n```diff\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) {\n +++ description: None\n directlyReceivedPermissions.6.from:\n- \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n+ \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n directlyReceivedPermissions.5.from:\n- \"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\"\n+ \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n directlyReceivedPermissions.4.from:\n- \"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\"\n+ \"0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53)\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 (0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9)\n +++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```"
}
]
},
{
"id": "cd7a2e57",
"date": "Thu, 23 Jan 2025 15:30:29 GMT",
"timestamp": 1737646229,
"description": "Upgrade to known op stack contracts post-OPFP. Permissioned games are the respected gameType.",
"isHighSeverity": true,
"changeCount": 79,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract L2OutputOracle (0x19A6d1E9034596196295CF148509796978343c5D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n values.$implementation:\n- \"0x3c5bC88Fad9D35072213cD1FB5e83f9D150B3144\"\n+ \"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.\n values.$implementation:\n- \"0xf1b86d4ec73E17AeD218153278653D0f53220776\"\n+ \"0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF\"\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n sourceHashes.1:\n- \"0xdf9a11b46747139bfe0135df8a65a2728a2dbd60a689e2398c45627915cdd752\"\n+ \"0xbbb92920a096eced30e3ce67bbc443f134b217e8847433fbb192ecb9fdddcbc2\"\n values.$implementation:\n- \"0x18fffcb31850795D919B6aDD4b16bEB3a5f5ECFB\"\n+ \"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xF56D96B2535B932656d3c04Ebf51baBff241D886\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.L2_OUTPUT_ORACLE_SLOT:\n- \"0xe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871815\"\n values.l2OutputOracle:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n values.version:\n- \"1.12.0\"\n+ \"2.2.0\"\n values.DISPUTE_GAME_FACTORY_SLOT:\n+ \"0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906\"\n values.disputeGameFactory:\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n values.maximumGasLimit:\n+ 200000000\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n values.$implementation:\n- \"0x73A793CdcF6F0f20e14e1835Eb1462b0376727cF\"\n+ \"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846\"]]\n values.$upgradeCount:\n- 1\n+ 2\n }\n```\n\n```diff\n- Status: DELETED\n contract SuperchainConfig (0xa231f8be37e583f276f93dF516D88a043bfe47E3)\n +++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n contract AlchemyMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n receivedPermissions.7.from:\n- \"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\"\n+ \"0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n receivedPermissions.6.from:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n receivedPermissions.1.from:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n }\n```\n\n```diff\n contract OptimismPortal2 (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n name:\n- \"OptimismPortal\"\n+ \"OptimismPortal2\"\n template:\n- \"opstack/OptimismPortal\"\n+ \"opstack/OptimismPortal2\"\n sourceHashes.1:\n- \"0x90ab8a3636fafa5cb0ab4305b2d912546ceb47ebc3abed324bfa1727a9c74acc\"\n+ \"0x41be46bdb67af1b7af90e1bd70a1fcd31a3352282beb83b846a5189675c37ac1\"\n description:\n- \"The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\"\n+ \"The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\"\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"to\":\"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}\n issuedPermissions.0.permission:\n- \"guard\"\n+ \"upgrade\"\n issuedPermissions.0.to:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.0:\n+ {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}\n values.$implementation:\n- \"0xB4BA75C87A48a233BC22678EfDa7d49CfD89ea5F\"\n+ \"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xe2F826324b2faf99E513D16D266c3F80aE87832B\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.guardian:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2\"\n values.l2Oracle:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n values.version:\n- \"2.6.0\"\n+ \"3.10.0\"\n values.disputeGameFactory:\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n values.disputeGameFinalityDelaySeconds:\n+ 302400\n values.proofMaturityDelaySeconds:\n+ 604800\n values.RespectedGameString:\n+ \"PermissionedDisputeGame\"\n values.respectedGameType:\n+ 1\n values.respectedGameTypeUpdatedAt:\n+ 1737641243\n displayName:\n+ \"OptimismPortal\"\n fieldMeta:\n+ {\"paused\":{\"severity\":\"HIGH\",\"description\":\"Whether the contract is paused or not. Determined by the SuperchainConfig contract PAUSED_SLOT. Here it pauses withdrawals. If this is paused, also the L1CrossDomainMessenger and ERC-20, ERC-721 deposits are paused.\"}}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0\":\"FaultDisputeGame\",\"1\":\"PermissionedDisputeGame\"}}]\n }\n```\n\n```diff\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D) {\n +++ description: None\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\"}\n directlyReceivedPermissions.7.from:\n- \"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\"\n+ \"0xD4D7A57DCC563756DeD99e224E144A6Bf0327099\"\n directlyReceivedPermissions.6.from:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A\"\n directlyReceivedPermissions.1.from:\n- \"0x19A6d1E9034596196295CF148509796978343c5D\"\n+ \"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea\"\n }\n```\n\n```diff\n contract L1CrossDomainMessenger (0xf931a81D18B1766d15695ffc7c1920a62b7e710a) {\n +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n values.$implementation:\n- \"0xE187FEF3AAe13137e6062B2634cCE43B599156F6\"\n+ \"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"\n values.$pastUpgrades.2:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65\"]]\n values.$pastUpgrades.1:\n+ [\"2025-01-23T14:07:23.000Z\",\"0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39\",[\"0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC\"]]\n values.$upgradeCount:\n- 1\n+ 3\n values.superchainConfig:\n- \"0xa231f8be37e583f276f93dF516D88a043bfe47E3\"\n+ \"0x95703e0982140D16f8ebA6d158FccEde42f04a4C\"\n }\n```\n\n```diff\n+ Status: CREATED\n contract LivenessModule (0x0454092516c9A4d636d3CAfA1e82161376C8a748)\n +++ description: used to remove members inactive for 98d while making sure that the threshold remains above 75%. If the number of members falls below 8, the 0x847B5c174615B1B7fDF770882256e2D3E95b9D92 takes ownership of the multisig\n```\n\n```diff\n+ Status: CREATED\n contract DisputeGameFactory (0x069c4c579671f8c120b1327a73217D01Ea2EC5ea)\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 SuperchainGuardianMultisig (0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract MIPS (0x16e83cE5Ce29BF90AD9Da06D2fE6a15d5f344ce4)\n +++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n```\n\n```diff\n+ Status: CREATED\n contract LivenessGuard (0x24424336F04440b1c28685a38303aC33C9D14a25)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafe (0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PermissionedDisputeGame (0x48cf980849a7eEA03180f7dea4E21C112097b03E)\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 SuperchainProxyAdmin (0x543bA4AADBAb8f9025686Bd03993043599c6fB04)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainProxyAdminOwner (0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationUpgradeSafe (0x847B5c174615B1B7fDF770882256e2D3E95b9D92)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DelayedWETH (0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A)\n +++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n```\n\n```diff\n+ Status: CREATED\n contract SuperchainConfig (0x95703e0982140D16f8ebA6d158FccEde42f04a4C)\n +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the Superchain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract OpFoundationOperationsSafe (0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract PreimageOracle (0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277)\n +++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n```\n\n```diff\n+ Status: CREATED\n contract SecurityCouncilMultisig (0xc2819DC788505Aac350142A7A707BF9D03E3Bd03)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract DeputyGuardianModule (0xc6901F65369FC59fC1B4D6D6bE7A2318Ff38dB5B)\n +++ description: allows the 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A, called the deputy guardian, to act on behalf of the Gnosis Safe.\n```\n\n```diff\n+ Status: CREATED\n contract AnchorStateRegistry (0xD4D7A57DCC563756DeD99e224E144A6Bf0327099)\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 Lib_AddressManager (0xdE1FCfB0851916CA5101820A69b13a4E276bd81F)\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n```"
}
]
},
{
"id": "e90a705e",
"date": "Fri, 08 Nov 2024 08:27:24 GMT",
"timestamp": 1731054444,
"description": "Worldchain raises gasLimit to 150M. With 10x elasticity the block gas target is 15M. Current *daily* gas use on Worldchain is 160B, making the average block about 25% of the target.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n+++ description: Gas limit for blocks on L2.\n+++ severity: LOW\n values.gasLimit:\n- 100000000\n+ 150000000\n }\n```"
}
]
},
{
"id": "7d7e554f",
"date": "Fri, 18 Oct 2024 21:53:59 GMT",
"timestamp": 1729288439,
"description": "Discovery refresh, multisig updated.",
"isHighSeverity": false,
"changeCount": 35,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract L2OutputOracle (0x19A6d1E9034596196295CF148509796978343c5D) {\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n issuedPermissions.2.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9) {\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113) {\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0,\"description\":\"upgrading bridge implementation allows to access all funds and change every system component.\"}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n issuedPermissions.0.via.0.description:\n+ \"upgrading bridge implementation allows to access all funds and change every system component.\"\n }\n```\n\n```diff\n contract AddressManager (0x5891090d5085679714cb0e62f74950a3c19146a8) {\n +++ description: Legacy contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0,\"description\":\"set and change address mappings.\"}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n issuedPermissions.0.via.0.description:\n+ \"set and change address mappings.\"\n }\n```\n\n```diff\n contract SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A) {\n +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n issuedPermissions.2.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.2.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.2.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e) {\n +++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintablERC20 as this chain's representation of a token on the host chain, or vice-versa.\n issuedPermissions.0.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.0.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.0.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract SuperchainConfig (0xa231f8be37e583f276f93dF516D88a043bfe47E3) {\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n issuedPermissions.1.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```\n\n```diff\n contract WorldchainMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d) {\n +++ description: None\n values.$members.5:\n+ \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n values.$members.4:\n+ \"0x39CF304731099e756204219BF0a8cCc4738dE9dD\"\n values.$members.3:\n+ \"0x3f0030b9Ca695Abd41b2B619F3298e172e4FCAD6\"\n values.$members.2:\n+ \"0x2e42cEfC761e64Bf4442694220d31C2464a6EE21\"\n values.$members.1:\n+ \"0x5EABE7f6673311EdD1Ad17A76ce148c2Bb56aF01\"\n values.$members.0:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xaCEF7482b54a57F50b1CD8c99d1dC1964202A063\"\n values.$threshold:\n- 1\n+ 3\n values.multisigThreshold:\n- \"1 of 1 (100%)\"\n+ \"3 of 6 (50%)\"\n receivedPermissions:\n+ [{\"permission\":\"configure\",\"target\":\"0x5891090d5085679714cb0e62f74950a3c19146a8\",\"description\":\"set and change address mappings.\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x19A6d1E9034596196295CF148509796978343c5D\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x470458C91978D2d929704489Ad730DC3E3001113\",\"description\":\"upgrading bridge implementation allows to access all funds and change every system component.\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0x82Cb528466cF22412d89bdBE9bCF04856790dD0e\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0xa231f8be37e583f276f93dF516D88a043bfe47E3\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]},{\"permission\":\"upgrade\",\"target\":\"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C\",\"via\":[{\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"}]}]\n }\n```\n\n```diff\n contract OptimismPortal (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C) {\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n issuedPermissions.1.target:\n- \"0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d\"\n+ \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\",\"delay\":0}\n issuedPermissions.1.via.0.address:\n- \"0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d\"\n+ \"0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D\"\n }\n```"
}
]
},
{
"id": "23f7e7b6",
"date": "Thu, 17 Oct 2024 18:07:57 GMT",
"timestamp": 1729188477,
"description": "Initial discovery: OP stack with old L2OutputOracle and unused, but deployed DisputeGame contracts. Two EOA admins: One for the USDC bridge, one for the Rollup.",
"isHighSeverity": false,
"changeCount": 12,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract L1OpUSDCBridgeAdapter (0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB)\n +++ description: Custom external escrow for USDC bridged to Worldchain.\n```\n\n```diff\n+ Status: CREATED\n contract L2OutputOracle (0x19A6d1E9034596196295CF148509796978343c5D)\n +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n```\n\n```diff\n+ Status: CREATED\n contract L1ERC721Bridge (0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9)\n +++ description: Used to bridge ERC-721 tokens from host chain to this chain.\n```\n\n```diff\n+ Status: CREATED\n contract L1StandardBridge (0x470458C91978D2d929704489Ad730DC3E3001113)\n +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. This contract can store any token.\n```\n\n```diff\n+ Status: CREATED\n contract AddressManager (0x5891090d5085679714cb0e62f74950a3c19146a8)\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 SystemConfig (0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A)\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 OptimismMintableERC20Factory (0x82Cb528466cF22412d89bdBE9bCF04856790dD0e)\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 SuperchainConfig (0xa231f8be37e583f276f93dF516D88a043bfe47E3)\n +++ description: This is NOT the shared SuperchainConfig of the OP stack Superchain. This SuperchainConfig contract manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n```\n\n```diff\n+ Status: CREATED\n contract WorldchainMultisig (0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OptimismPortal (0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C)\n +++ description: The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract L1CrossDomainMessenger (0xf931a81D18B1766d15695ffc7c1920a62b7e710a)\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```"
}
]
}
]
+1 -1
+1 -1
{
"clusteredEventCount": 46,
"contracts": [
{
"name": "Diamond",
"address": "eth:0x32400084C286CF3E17e7B677ea9583e60a000324",
"isVerified": true,
"ossifyingSince": 1786873007,
"codeChangeCount": 27,
"stateChangeCount": 26
},
{
"name": "EraDualVerifier",
"address": "eth:0xCeF0218c0C6dB0768e48debeE26E41B8DAdE7081",
"isVerified": true,
"ossifyingSince": 1786713431,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EraVerifierPlonk",
"address": "eth:0x0DAAB2B7b38ab48712996E760152c569FA356DbF",
"isVerified": true,
"ossifyingSince": 1786713407,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EraVerifierFflonk",
"address": "eth:0x8470d6B3fd71B5fE3906B4ea04498d18F721eDe9",
"isVerified": true,
"ossifyingSince": 1786713395,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProtocolUpgradeHandler",
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"isVerified": true,
"ossifyingSince": 1779262271,
"codeChangeCount": 2,
"stateChangeCount": 1
},
{
"name": "EraMultisigValidator",
"address": "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d",
"isVerified": true,
"ossifyingSince": 1777553063,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "EmergencyUpgradeBoard",
"address": "eth:0xF73a7dCfa68E52030ec39E41a23DCA51F3aAa111",
"isVerified": true,
"ossifyingSince": 1776678563,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "SecurityCouncil",
"address": "eth:0x59195219d1176E42f8e607e9AC114926D47f9035",
"isVerified": true,
"ossifyingSince": 1776678539,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x0D8d1be440f997bDB9CA44C0140fD12551f99BBB",
"isVerified": true,
"ossifyingSince": 1775666447,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkTokenGovernor",
"address": "zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746",
"isVerified": true,
"ossifyingSince": 1765211471,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "ZkToken",
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"isVerified": true,
"ossifyingSince": 1765195612,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "RollupDAManager",
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"isVerified": true,
"ossifyingSince": 1760604460,
"codeChangeCount": 0,
"stateChangeCount": 3
},
{
"name": "L1ERC20Bridge",
"address": "eth:0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 10,
"stateChangeCount": 0
},
{
"name": "BridgeHub",
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 6,
"stateChangeCount": 6
},
{
"name": "MessageRoot",
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 2,
"stateChangeCount": 0
},
{
"name": "L1AssetRouter",
"address": "eth:0x8829AD80E425C646DAB305381ff105169FeEcE56",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "L1NativeTokenVault",
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 3,
"stateChangeCount": 0
},
{
"name": "ChainTypeManager",
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 6,
"stateChangeCount": 5
},
{
"name": "L1Nullifier",
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"isVerified": true,
"ossifyingSince": 1760519351,
"codeChangeCount": 6,
"stateChangeCount": 3
},
{
"name": "ValidatorTimelock",
"address": "eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776",
"isVerified": true,
"ossifyingSince": 1758289595,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ChainAssetHandler",
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"isVerified": true,
"ossifyingSince": 1758286391,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkProtocolGovernor",
"address": "zksync:0x76705327e682F2d96943280D99464Ab61219e34f",
"isVerified": true,
"ossifyingSince": 1740742654,
"codeChangeCount": 0,
"stateChangeCount": 1
},
{
"name": "RollupL1DAValidator",
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"isVerified": true,
"ossifyingSince": 1739108915,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkTokenTimelockController",
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"isVerified": true,
"ossifyingSince": 1739000122,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "Guardians",
"address": "eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8",
"isVerified": true,
"ossifyingSince": 1738855979,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"isVerified": true,
"ossifyingSince": 1738855967,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProtocolTimelockController",
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"isVerified": true,
"ossifyingSince": 1738853604,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "EraChainAdminProxy",
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"isVerified": true,
"ossifyingSince": 1722434735,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ProxyAdmin",
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"isVerified": true,
"ossifyingSince": 1717520627,
"codeChangeCount": 0,
"stateChangeCount": 0
},
{
"name": "ZkTokenProxyAdmin",
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"isVerified": true,
"ossifyingSince": 1716317321,
"codeChangeCount": 0,
"stateChangeCount": 0
}
],
"criticalChanges": [
1679594519,
1682366591,
1692180911,
1693297691,
1694083991,
1695403367,
1695724036,
1697818535,
1698402394,
1698856895,
1701721751,
1702029961,
1703159495,
1704797043,
1707143447,
1707380016,
1710167531,
1710285383,
1717520639,
1717674923,
1718011538,
1722934619,
1724658671,
1725887363,
1726227640,
1736352035,
1736520959,
1740742654,
1741679757,
1741779799,
1743408047,
1744806793,
1745001594,
1745588211,
1745843591,
1746028164,
1746446579,
1749803535,
1750343219,
1750722695,
1753709927,
1754091731,
1760519351,
1761146555,
1765195612,
1769183903,
1769897051,
1770391415,
1777553063,
1779262271,
1784915471,
1786208627,
1786873007
],
"criticalChangesPerYear": 15.333333333333334,
"criticalUpdates": [
{
"id": "0d60433d",
"type": "state"
},
{
"id": "8c1eeeb8",
"type": "state"
},
{
"id": "469b08ac",
"type": "state"
},
{
"id": "81da15da",
"type": "state"
},
{
"id": "77994965",
"type": "state"
},
{
"id": "cdbb5dce",
"type": "state"
},
{
"id": "54f097de",
"type": "state"
},
{
"id": "2f064657",
"type": "state"
},
{
"id": "e467f488",
"type": "state"
},
{
"id": "9dbc9655",
"type": "state"
},
{
"id": "ec59e2ee",
"type": "state"
},
{
"id": "6a5eae28",
"type": "state"
},
{
"id": "2ed0a950",
"type": "state"
},
{
"id": "3347bf90",
"type": "state"
},
{
"id": "88d8f58d",
"type": "state"
},
{
"id": "59f451bc",
"type": "state"
},
{
"id": "d7262d25",
"type": "state"
},
{
"id": "0819e8b8",
"type": "state"
},
{
"id": "42eff026",
"type": "state"
},
{
"id": "5a8ad8b1",
"type": "state"
},
{
"id": "6fa1ad76",
"type": "state"
},
{
"id": "0dff75a3",
"type": "state"
},
{
"id": "bff2a528",
"type": "state"
},
{
"id": "73803b6d",
"type": "state"
},
{
"id": "e4053ebe",
"type": "state"
},
{
"id": "702e5f55",
"type": "state"
},
{
"id": "8cabc948",
"type": "state"
},
{
"id": "70c29b00",
"type": "state"
},
{
"id": "5531704d",
"type": "state"
},
{
"id": "b0d171bf",
"type": "state"
},
{
"id": "7fc79d40",
"type": "state"
},
{
"id": "591f6152",
"type": "state"
},
{
"id": "35e6a989",
"type": "state"
},
{
"id": "fdc9ffaa",
"type": "state"
},
{
"id": "af5012ae",
"type": "state"
},
{
"id": "ee77660f",
"type": "state"
},
{
"id": "98f55b94",
"type": "state"
},
{
"id": "ded67cd2",
"type": "state"
},
{
"id": "61cc8b2a",
"type": "state"
}
],
"lastCriticalChange": 1786873007,
"maturity": 0.5382052097381242,
"maturity": 0.5382052430430402,
"perimeterResets": [
1676315375,
1679594519,
1682366591,
1692180911,
1693297691,
1694083991,
1695403367,
1695724036,
1697818535,
1698402394,
1698856895,
1701721751,
1702029961,
1703159495,
1704797043,
1707143447,
1707380016,
1710167531,
1710285383,
1716317321,
1717520627,
1717674923,
1718011538,
1722434735,
1722934619,
1723144920,
1724658671,
1725887363,
1726227640,
1736352035,
1736520959,
1738853604,
1739000122,
1739108879,
1740742654,
1741679757,
1741779799,
1743408047,
1744806793,
1745001594,
1745588211,
1745843591,
1746028164,
1746446579,
1749803535,
1750343219,
1750722695,
1753709927,
1754091731,
1758286391,
1760519351,
1761146555,
1765195612,
1769183903,
1769897051,
1770391415,
1770639008,
1775666447,
1776678539,
1777553063,
1779262271,
1784915471,
1785170172,
1786208627,
1786353960,
1786713395,
1786873007
],
"projectClockStart": 1786873007,
"score": 54,
"windowSeconds": 94608000
}